1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
Commit Graph

48 Commits

Author SHA1 Message Date
Sergey Lipskiy
5eddea5baf Add workaround for Adreno issue with glBlitFramebuffer.
Thanks fzurita for problem investigation and found solution.
2015-08-27 19:20:26 +06:00
purplemarshmallow
de32176303 Don't discard frame buffers creation when _height == 0 2015-08-26 20:43:09 +06:00
purplemarshmallow
97468d8e2a enable validity checking if copyFromRDRAM option is on 2015-08-26 19:42:43 +06:00
Sergey Lipskiy
57e88cb800 Remove unused code. Fix code formatting. 2015-08-17 21:57:01 +06:00
purplemarshmallow
8463c0347f fix regression in Mario Tennis 2015-08-17 21:57:00 +06:00
purplemarshmallow
0735bd0372 modify fingerprint validity checking method
In Zelda OOT the CPU applies a filter on the framebuffer texture. If we
write a small amount of data at the beginning the CPU won't change our
specific values
2015-08-17 21:56:59 +06:00
purplemarshmallow
e0face5f86 use unique values as fingerprint
this works much better
But sometimes Zelda writes values not only under but also over the
fingerprint, Link's model is lost again
2015-08-17 21:56:58 +06:00
purplemarshmallow
e617177958 fix problem with validity ckecking in Zelda OOT
problem: the game writes data below our fingerprint
solution: just check if the fingerprint is still there and ignore the
data below
2015-08-17 21:56:58 +06:00
Sergey Lipskiy
cbbd5d17de Fix crash when fb emulation enabled/disabled during gameplay, issue #601 2015-07-23 21:55:30 +06:00
Gillou68310
40da41d953 Fix framebuffer texture rectangle coordinate in GLES2 2015-07-02 10:45:52 +06:00
Sergey Lipskiy
7936e02066 Enable hack_subscreen for GLES2. 2015-06-26 19:20:44 +06:00
Sergey Lipskiy
b897c449a1 Fix shader texture uniforms update for GLES2.
Fixed issue #586.
Thanks Gillou68310 for the hint.
2015-06-23 22:19:11 +06:00
Sergey Lipskiy
68941f6cbe Optimize frame buffer copy to RDRAM:
read from pixel buffer one time per pixel.
Old code does 4 reads from the pixel buffer per pixel.

The optimization makes color buffer read circa 4 times faster.

Thanks Lars Bishop for finding the sources of the problem and for suggested solution.
2015-06-16 19:43:15 +06:00
Sergey Lipskiy
7ee974f213 Remove debug calls of isGLError() from FrameBufferToRDRAM::CopyToRDRAM. 2015-06-16 19:40:56 +06:00
Sergey Lipskiy
eb23f38934 New fix for issue #563. It does not break CBFD work. 2015-06-14 23:29:33 +06:00
Sergey Lipskiy
48959f0702 Revert "Correct coronas emulation in Perfect Dark."
This reverts commit 36fbcd5eac.

Reverted commits causes issues in CBFD. Need another approach.
2015-06-14 22:57:53 +06:00
Sergey Lipskiy
36fbcd5eac Correct coronas emulation in Perfect Dark.
Fixed issue #563.
2015-06-04 22:17:04 +06:00
Sergey Lipskiy
a25c85b3f2 Hack depth buffer attachment for GLES2. Need proper fix. 2015-06-02 18:57:54 +06:00
Sergey Lipskiy
1653069329 Correct FBO texture formats for different GL versions. 2015-06-02 18:57:24 +06:00
Sergey Lipskiy
9a991ba550 Correct FrameBufferList::renderBuffer for GLES2 2015-06-01 23:58:57 +06:00
Sergey Lipskiy
6b67ba3a57 Fix 3point texture filtering for GLES2. 2015-05-31 14:13:27 +06:00
Sergey Lipskiy
910c5de1bf Enable post-processor for GLES2. 2015-05-30 22:40:14 +06:00
Sergey Lipskiy
19c9e80b70 Correct frame buffer texture format for GLES2. 2015-05-18 13:51:16 +06:00
Sergey Lipskiy
b16dedd3f9 Fix compilation error in FrameBufferList::renderBuffer. 2015-05-18 13:51:10 +06:00
Sergey Lipskiy
7cbca30197 Disable resolveMultisampledTexture() for system without GL_MULTISAMPLING_SUPPORT 2015-05-18 13:51:10 +06:00
Sergey Lipskiy
b219997c80 Always show cfb until first dlist:
- move flag CHANGED_CPU_FB_WRITE from gSP to gDP (code refactor)
- enable CHANGED_CPU_FB_WRITE on video init.
- disable CHANGED_CPU_FB_WRITE in process display list.

many pd roms and demos use cpu rendering only
now they are supported with default settings
also detectCFB=1 now isn't needed anymore for some games

Commit is based on changes made by purplemarshmallow in #536
2015-05-18 12:55:42 +06:00
Sergey Lipskiy
d46ed98804 Fix wrong set of CHANGED_TEXTURE flag. 2015-05-13 10:22:32 +06:00
Sergey Lipskiy
49efba0ce6 Correct RDRAMtoFrameBuffer::CopyFromRDRAM -
need to update combiner's FBInfo before use.
2015-05-13 10:22:28 +06:00
Sergey Lipskiy
eabbd252f8 Change CachedTexture::frameBufferTexture type to enum.
Need to separate one-sampled frame buffer textures from multosampled ones.
2015-05-13 10:22:27 +06:00
Sergey Lipskiy
dbbb7da427 Move _isMarioTennisScoreboard() from FrameBufferList to FrameBuffer. 2015-05-13 10:22:26 +06:00
Sergey Lipskiy
663a0d76f1 Implement multisampled textures fetch in shaders.
Thanks mudlord for the idea.

Fixed Perfect Dark frame buffer effects do not work when FSAA is on. #244
2015-05-13 10:22:26 +06:00
Sergey Lipskiy
b728ab97a7 Disable multisampling related code for GLES below 3.1 2015-05-13 10:22:25 +06:00
Sergey Lipskiy
09b78ea577 Replace define GLES3 by GLES3_1 since current code is GLES3.1 compatible.
GLES3 is different.
2015-05-13 10:22:18 +06:00
Sergey Lipskiy
243e186ba2 Correct internal format for DepthBufferToRDRAM color texture. 2015-05-13 10:22:17 +06:00
Sergey Lipskiy
d3f6754cff Correct depth texture intarnal format for GLES3 2015-05-13 10:22:16 +06:00
Sergey Lipskiy
107a81d079 Don't init from/to RDRAM objects when frame buffer emulation is off. 2015-05-13 10:22:14 +06:00
Sergey Lipskiy
01807a0499 Fix FrameBuffer_CopyDepthBuffer: return false for GLES2 case. 2015-05-13 10:22:10 +06:00
Sergey Lipskiy
a02d284645 Use glTexStorage2DMultisample instead of glTexImage2DMultisample in case of GLSE3 2015-05-13 10:22:05 +06:00
Sergey Lipskiy
70b1b9ad03 Replace glMapBuffer by GLES3 compatible glMapBufferRange. 2015-05-13 10:22:04 +06:00
Sergey Lipskiy
bbc71c3f0a Fix crash in FrameBufferToRDRAM::CopyToRDRAM when current buffer is NULL.
Fixed Snowboard Kids causes segmentation fault #477
2015-05-13 10:22:01 +06:00
Sergey Lipskiy
29ab85fcc2 Fix frame buffer being bloomed twice. 2015-05-13 10:21:56 +06:00
Sergey Lipskiy
05b92c11bb Apply scissor for post-processed frame buffer area.
Fixed overexposed areas for games with black boarders.
2015-05-13 10:21:55 +06:00
Sergey Lipskiy
0c886e26c3 Limit depth buffer copy to RDRAM with top and bottom bounds of fillrect command.
Fixed regression issues #436 and #437
Issue #330 with Roadsters is fixed too.
2015-05-13 10:21:52 +06:00
Sergey Lipskiy
4d87fb6833 Impelent new fb validity check method:
copy RDRAM content to a buffer and compare by content.
2015-05-13 10:21:50 +06:00
Sergey Lipskiy
e3d8905984 Fix _isMarioTennisScoreboard() hack for (E) version. 2015-05-13 10:21:46 +06:00
Sergey Lipskiy
08513ded89 Correct Mario Tennis scoreboard hack. 2015-05-13 10:21:45 +06:00
Sergey Lipskiy
96aab6c9ad Correct Mario Tennis scoreboard hack for (J) rom.
Fixed issue #424
2015-05-13 10:21:44 +06:00
Sergey Lipskiy
52d68d1389 Move all sources to src folder. 2015-05-13 10:21:32 +06:00