Sergey Lipskiy
21ef068f2a
Fix typo in FrameBuffer::getTexture
2016-09-11 15:27:59 +07:00
Sergey Lipskiy
9faeb2bfb9
Force clear depth buffer for aux buffers.
...
Fixed uncleaned depth buffer problem when depth buffer cleared partially via fillrect.
2016-09-08 22:29:12 +07:00
Sergey Lipskiy
d289d4c65a
Correct conditions when render to depth buffer can be enabled.
2016-09-07 21:11:31 +07:00
Sergey Lipskiy
7dca7f8f4d
Implement depth buffer copy for Mario Golf.
...
Fix Mario Golf: Animated effects render in front of course #312
2016-09-06 19:37:11 +07:00
Sergey Lipskiy
4c226bcc95
Do not show rightmost pixels in frame buffer when AA and divots elimination enabled in VI.
...
Problem: Some games have strange glitch, which looks like vertical line of
pixels outside of right bound of the image. Examples: JFG title screen,
both Zelda games when new game started. Software plugin has the same issue,
but when image passes VI stage, the problem disappears. Most likely
VI filters somehow eat the rightmost pixels. I suspect that it is result of
divots elimination. Thus, the fix works like this:
when divot flag is set the rightmost column of pixels is not shown.
2016-08-29 18:32:16 +07:00
Sergey Lipskiy
d80bd636e2
Emulate crazy way of shifting image horizontally, which bottom of the 9th uses.
...
Fixed bottom of the 9th: screen not centered #862
2016-08-28 18:22:44 +07:00
Sergey Lipskiy
3bfebd0910
Remove allocated frame buffer if its color depth is less then necessary.
...
Fixed Majora's Mask screen turns red #790
Problem description:
the game allocates 8bit aux frame buffer when enter to subscreen.
When screen shrink effect started, the game allocates 16bit buffer on the same address.
Since plugin already had buffer allocated, it reused that buffer. Since the buffer's
texture had only red component, whole screen turned red.
Fix: create new buffer if color depth of existing buffer is less than necessary.
2016-08-28 16:00:50 +07:00
Logan McNaughton
e0d8830b2a
Another fix for FBE on Raspberry Pi
2016-07-21 10:57:17 +06:00
Logan McNaughton
a20dc97a5a
Fixes menu on Castlevania and Rayman 2 with FBE enabled on Raspberry Pi
...
Probably fixes other FBE issues as well
2016-07-11 10:05:52 +06:00
Logan McNaughton
f2babed36d
Fix some more graphical glitches with FBE on the Raspberry Pi
...
See https://github.com/RetroPie/RetroPie-Setup/pull/1563
2016-07-08 16:42:22 +06:00
Logan McNaughton
1cbbea8183
Enable Framebuffer Emulation on the Raspberry Pi
...
renderbuffer code was written by gonetz, not me
2016-06-26 17:40:14 +06:00
Sergey Lipskiy
07854d3857
Use OGLRender::copyTexturedRect in ColorBufferToRDRAM::_prepareCopy.
...
Enable color buffer copy for GLES2.
2016-06-23 16:15:27 +06:00
Sergey Lipskiy
7ad11627d6
Use OGLRender::copyTexturedRect in FrameBuffer::renderBuffer
...
Remove GLES2-specific code.
2016-06-23 16:14:04 +06:00
Sergey Lipskiy
4cb53d9675
Use OGLRender::copyTexturedRect in FrameBuffer::_getSubTexture
...
Remove GLES2-specific code.
2016-06-23 16:12:50 +06:00
Sergey Lipskiy
4c4b1bf57d
Code refactor: move struct FBOTextureFormats to separate files.
2016-06-20 15:16:15 +06:00
Sergey Lipskiy
86fbea9edc
Code refactor: replace NULL by nullptr.
2016-06-10 12:40:18 +06:00
Sergey Lipskiy
2834fa1780
Code refactor: move classes FrameBufferToRDRAM, DepthBufferToRDRAM and RDRAMtoFrameBuffer from FrameBuffer.cpp to separate files.
2016-05-30 11:11:15 +06:00
Francisco Zurita
dca2c29edf
When in CopyColorToRDRAM async mode, we will now use the
...
OES_EGL_image_external OpenGL ES extension to copy the color buffer into
system memory. This provides large performance improvements in many
Android devices.
2016-05-30 11:10:57 +06:00
matto
04e90bee85
Fix multisampling when the VI origin is not 0
...
This happens with Beetle Adventure Racing when the movie reel
effect is at work. It threw up a whole bunch of errors without
taking into account whether or not the framebuffer is multi-sampled.
2016-05-23 15:26:45 +06:00
Francisco Zurita
5d45a45282
Framebuffer copy performance improvements
2016-05-18 14:24:12 +06:00
Sergey Lipskiy
020144d6fd
Disable scissoring when blit internal buffers.
2016-05-14 18:15:54 +06:00
Sergey Lipskiy
88656c9059
Correct multisample texture resolving in FrameBufferList::renderBuffer.
2016-05-14 18:13:18 +06:00
Sergey Lipskiy
d571587531
Fix postprocessor when native resolution factor is used.
2016-05-13 23:29:35 +06:00
Sergey Lipskiy
de388cbc56
Remove FrameBuffer::m_postProcessed field since it became useless after PostProcessor modifications.
...
Fixed pga european tour: gauge not working properly (fb effect) #325
2016-05-13 00:06:25 +06:00
Sergey Lipskiy
fc0b0df0b6
Fix FrameBuffer::_getSubTexture : disable scissor before glBlitFramebuffer
...
Fixed rear mirror in Roadsters, #741
2016-05-10 20:29:27 +06:00
Sergey Lipskiy
87f307c3ff
FrameBuffer: replace m_pLoadTile by m_loadTileOrigin and m_loadType.
2016-05-10 20:29:21 +06:00
Sergey Lipskiy
f61293fe2b
Disable scissor for RDRAMtoFrameBuffer::CopyFromRDRAM
...
Fixed copy buffer from RDRAM in native resolution.
2016-05-09 18:27:51 +06:00
Sergey Lipskiy
f9a8ff7087
Fix texture scale in FrameBuffer::getTextureBG
2016-05-09 17:37:23 +06:00
Sergey Lipskiy
45d9d63564
Implement frame buffer subimage copy.
...
When N64 game needs to apply frame buffer texture to a polygon, it
copies part of frame buffer data to texture memory. The plugin
does not copy frame buffer texture, since frame buffer texture already in video memory
and thus can be used directly.
However, sometimes polygons with frame buffer texture use texture coordinates wrap.
Wrap can't be done correct when whole frame buffer texture is used.
Thus, frame buffer subimage copy is implemented. Part of texture copied to
a new texture, which can be correctly wrapped.
Fixed PD cloacking effect, #839
2016-05-08 15:58:19 +06:00
Sergey Lipskiy
ef5af03aaa
Code refactor: replace
...
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, frameBufferList().getCurrent()->m_FBO)
by
frameBufferList().setCurrentDrawBuffer()
2016-05-08 13:35:17 +06:00
Sergey Lipskiy
8a9ec948d7
Minor code refactor and cleanup in FrameBuffer_ActivateBufferTexture.
2016-05-07 23:23:14 +06:00
Sergey Lipskiy
298b22a9dc
Fix frame buffer texture offsetS for LOADTYPE_TILE.
...
Fixed Banjo-Tooie Framebuffer not working properly #651
2016-05-07 23:21:42 +06:00
Sergey Lipskiy
2054d9d689
Fix FrameBuffer::copyRdram(): fingerprint size must be not less than 4.
...
Fixed validity check for PD cloacking effect, #839
2016-05-07 23:20:10 +06:00
Sergey Lipskiy
0e24e6d1e8
Fix post-processing with GLES2
2016-05-05 16:40:16 +06:00
Sergey Lipskiy
0ad53ad0e8
Rewrite blending emulation:
...
- remove hardcoded mapping of N64 blend modes to GL blending
- add blending stage(s) to pixel shaders.
2016-05-05 16:38:59 +06:00
Sergey Lipskiy
f5310c4ba7
OGLRender::drawTexturedRect : call _updateStates only for texrect command.
2016-05-05 16:29:31 +06:00
Sergey Lipskiy
92beef8b35
Correct FrameBufferToRDRAM::_prepareCopy
...
Fixed banjo kazoiie: puzzle in intro doesn't work anymore (regression) #966
2016-04-23 18:29:29 +06:00
Sergey Lipskiy
bc80ff446a
Code refactor: add TexturedRectParams::texrectCmd parameter
...
to distinguish calls to OGLRender::drawTexturedRect from texrect commands
and from other places.
2016-04-14 13:41:38 +06:00
Francisco Zurita
1611e8dd61
fix zelda subscreen crash
2016-04-12 07:39:00 -04:00
Sergey Lipskiy
b75d661b04
Fix FrameBufferToRDRAM::_prepareCopy: do not copy more than one buffer per frame.
...
Fixed ogre battle 64: wrong background jpeg (regression) #957
2016-04-10 20:16:49 +06:00
Sergey Lipskiy
4484bb5623
Correct texture coordinates calculation in OGLRender::drawTexturedRect :
...
add dsdx/dtdy instead of 1.0f
Fixed issues #27 , #128 , #209
2016-04-09 10:56:15 +06:00
Sergey Lipskiy
427806ac23
Rewrite PostProcessor: do not modify original buffer, use special frame buffer instead.
...
Fixed dual heroes: incorrect colors in menu #926
2016-04-02 18:56:07 +06:00
Sergey Lipskiy
046493e7d3
Revert "remove Lego racers hack"
...
This reverts commit ca6d6c720f
.
Fixed lego racers: map doesn't appear anymore (regression) #935
2016-04-02 14:16:50 +06:00
Sergey Lipskiy
d69f722539
Fix Mario Tennis scoreboard.
2016-04-02 12:53:06 +06:00
Sergey Lipskiy
a4e5d58459
Fix scissor for post-processor.
...
Fixed buck bumble: bars on top and bottom of the screen (regression) #919
2016-03-31 17:52:01 +06:00
Sergey Lipskiy
f3677db0a7
Fix copy to RDRAM for native resolution factors above 1.
...
Fixed Broken monitor in MK64 #929
2016-03-24 17:50:51 +06:00
Sergey Lipskiy
3cfb377155
Fixed scissor in FrameBufferList::renderBuffer when AA enabled.
...
Fixed cut image in fullscreen mode with AA enabled in some games, e.g Mario Party 3
2016-03-19 20:36:56 +06:00
Sergey Lipskiy
ea62a778fa
Force resolve multisampled buffer in FrameBufferList::renderBuffer.
...
Fixed Mario Party 3 - Missing characters and textbox in intro #901
2016-03-19 20:36:54 +06:00
Sergey Lipskiy
05466632af
Correct main bufer height calculation again:
...
fix regression caused by commit 3215a8ad5d
Fixed regression issue #902
2016-03-19 19:21:05 +06:00
Sergey Lipskiy
444aa8320a
Fix depth buffer copy for Perfect Dark.
2016-03-13 17:05:25 +06:00