1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00
Commit Graph

318 Commits

Author SHA1 Message Date
Sergey Lipskiy
dd11326115 Rewrite buffer height calculation. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
e6811b4d4f Move gDP.colorImage.height update to FrameBufferList::setBufferChanged. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
bca21ed071 Invert y coordinate to align image origin with frame origin. 2017-03-16 18:50:14 +07:00
Sergey Lipskiy
5d5bfcc147 Correct read from RDRAM in FrameBuffer::isValid
Fixed out of bounds read in Pokemon Stadium 2.
2017-03-11 13:07:24 +07:00
Sergey Lipskiy
0671ea1b02 Code cleanup: correct aux buffer detection in FrameBufferList::copyAux() and FrameBufferList::removeAux() 2017-02-27 21:04:40 +07:00
Sergey Lipskiy
5a0344aa02 Code cleanup: remove redundant parameter from FrameBuffer::init. 2017-02-27 21:00:27 +07:00
Sergey Lipskiy
873a830d88 Always render to FBO, even when frame buffer emulation is disabled. 2017-02-25 14:08:26 +07:00
Sergey Lipskiy
4b040304bb Code cleanup in FrameBufferList::renderBuffer: remove redundant casts to ObjectHandle. 2017-02-25 14:08:24 +07:00
Sergey Lipskiy
827b6bb9cd Code refactor: replace graphics::ObjectHandle() by graphics::ObjectHandle::null 2017-02-22 16:45:27 +07:00
Sergey Lipskiy
d7407d58f9 Minor code cleanup. 2017-02-12 16:10:58 +07:00
Sergey Lipskiy
b9453474b6 Fix initialization of multisample textures. 2017-02-12 16:05:02 +07:00
Logan McNaughton
1f74b9c821 Disable N64 Depth Compare if Image Textures are unsupported
Also disable fragment depth writing in GLES2
2017-02-09 21:54:44 +07:00
Sergey Lipskiy
7fe2b40cad Remove rudiments of old code for RPI. 2017-02-04 22:51:54 +07:00
Sergey Lipskiy
210c9ea64a Do not attach depth buffer to frame buffer if same depth buffer already attached. 2017-02-03 21:28:06 +07:00
Sergey Lipskiy
4756b1eb74 Correct FrameBufferList::renderBuffer 2017-01-29 22:16:01 +07:00
Sergey Lipskiy
df4a81bfea Add special Parameter classes to make parametrs usage more safe. 2017-01-28 16:52:09 +07:00
Sergey Lipskiy
ea4d174e5c Correct texture initialization. 2017-01-26 21:36:54 +07:00
Sergey Lipskiy
c9f98d175c Fix some TODO issues in FrameBuffer.cpp 2017-01-25 21:01:32 +07:00
Sergey Lipskiy
5ba4588752 Rewrite ColorBufferToRDRAM 2017-01-25 20:58:05 +07:00
Sergey Lipskiy
80ed169e24 Remove use of OpenGL.h 2017-01-22 20:43:05 +07:00
Sergey Lipskiy
4e459c7645 Change type of CachedTexture name to graphics::ObjectHandle 2017-01-21 19:48:02 +07:00
Sergey Lipskiy
f64136ff3b Remove OpenGL from DepthBuffer. 2017-01-21 18:55:14 +07:00
Sergey Lipskiy
f147927af9 Remove OpenGL use from FrameBuffer 2017-01-21 16:35:00 +07:00
Sergey Lipskiy
ba2847fda7 FrameBufferList::renderBuffer : replace glBindFramebuffer by gfxContext.bindFramebuffer 2017-01-18 22:40:01 +07:00
Sergey Lipskiy
c5e2575722 Fixes 2017-01-16 20:56:13 +07:00
Sergey Lipskiy
e83c3489a3 Replace OGLVideo by DisplayWindow
Replace OGLRender by GraphicsDrawer
2017-01-16 20:56:11 +07:00
Sergey Lipskiy
09a5b414c4 Remove FBOTextureFormats usage 2017-01-16 20:56:01 +07:00
Sergey Lipskiy
43e8aef6ea Remove old-style code. 2017-01-09 11:21:06 +07:00
Sergey Lipskiy
c39b639d7c Remove unused shaders related files. 2017-01-08 20:31:38 +07:00
Sergey Lipskiy
dcf1065957 Add textureIndices parameters 2017-01-08 17:49:47 +07:00
Sergey Lipskiy
daf6646b97 BufferManipulationObjects 2: createRenderbuffer, initRenderbuffer 2017-01-02 22:40:41 +07:00
Sergey Lipskiy
cf5e9d8ed2 BufferManipulationObjects WIP 2017-01-02 21:00:49 +07:00
Sergey Lipskiy
7fdf97cf29 Use gfxContext in FrameBuffer 2017-01-02 00:09:19 +07:00
Sergey Lipskiy
3eb11aac82 setTextureParameters WIP 2017-01-01 21:59:54 +07:00
Sergey Lipskiy
737442b1eb Correct depth buffer clear for aux buffers.
Fixed regression in NFL Quarterback Club 98
2016-12-08 23:29:08 +07:00
purplemarshmallow
d43148bc9e add hack for framebuffer emulation in Pokemon Snap 2016-11-30 22:00:58 +07:00
Sergey Lipskiy
807622f7bf Fix image jitter in interlaced mode.
Fixed regression caused by commit f2b9883
2016-11-30 20:47:32 +07:00
Sergey Lipskiy
b32d8020bb Add black column in output as solution for "Last column problem." #1246 2016-11-24 14:38:02 +07:00
Francisco Zurita
20e4f972aa Use glTexStorage2D for textures being attached to FBOs
But only for GLES 3.0 and 3.1, with OpenGL it causes issues for older
versions.
2016-11-23 00:23:19 -05:00
Francisco Zurita
b3b8eeb83e Use configured FBO texture formats in more places. 2016-11-23 00:14:15 -05:00
Logan McNaughton
ad77e3db52 Remove some GLES3_1 ifdefs 2016-11-22 12:59:15 +07:00
Sergey Lipskiy
f2b9883681 Correct only dstY0 for lower field.
Fixed image jitter in topgear hyperbike
2016-11-20 19:24:34 +07:00
Sergey Lipskiy
1f5bde610a Another correction for Xoffset
Fixed topgear hyperbike heavily flickering (regression) #1240

Hyper Bike has *REG.VI_WIDTH == 1152
ColorImage.width == VI.width == 576
addrOffset is multiple of ColorImage.width,
so addrOffset % (*REG.VI_WIDTH) can be equal to ColorImage.width
and image shifted out of screen.
2016-11-20 19:22:31 +07:00
Sergey Lipskiy
be6179cbcc Revert 263ddf4 because it does not work properly on old PC cards. 2016-11-14 20:45:32 +07:00
Francisco Zurita
16262e52ad Fix some differences between GLES2 and GLES3 code. 2016-11-14 14:01:43 +07:00
Sergey Lipskiy
263ddf4baa Use glTexStorage2DMultisample instead of glTexImage2DMultisample for OpenGL.
The same code with GLES3X.
2016-11-13 11:42:14 +07:00
Francisco Zurita
7ca4d0430b Workaround for devices where glBlitFrameBuffer produces output upside
down.
2016-11-04 20:27:55 +07:00
Francisco Zurita
478344ab5f Fix some issues with multisampling which were causing GL errors 2016-11-04 20:05:23 +07:00
Sergey Lipskiy
1d87a92c72 Do not use frame buffer as texture if the buffer is just allocated.
Fixed tripleplay2000: black background in game #346

Problem: The game allocates auxiliary buffer with the same width
as the main one. Plugin detects it as main buffer and set its width
and height as of main buffer. Actual buffer height is half of main
buffer height, but it became known only when game switches to the
main buffer. Wrong buffer height leads to wrong calculation of
buffer address space. Game uses textures with addresses behind
the actual buffer’s address space but within calculated one.
Plugin tries to use buffer texture instead and, as the result,
everything is black.

Solution: The situation is bad. Plugin cannot detect that
allocated buffer is an aux one. I decided to forbid buffer usage
as texture if buffer is new. New buffer is blank, so reading from
it is strange. N64 games do lots of strange stuff, so this solution
is potentially dangerous.
2016-10-29 23:46:39 +07:00
Francisco Zurita
df366f0f6b Fix verious GL errors in GLES 3.1 mode and Mario tennis. 2016-10-29 19:50:44 +07:00
Sergey Lipskiy
57dbfb5145 Revert changes in FrameBuffer::getTexture made by commit 6942083
These changes are incorrect and cause regression in Paper Mario fortune teller.
2016-10-25 12:27:49 +07:00
Sergey Lipskiy
85a5ae8ea1 Implement performance counter.
Implement drawing performance info on screen.
2016-10-08 14:53:33 +07:00
Sergey Lipskiy
aab6726117 Implement crop image feature. 2016-10-08 14:53:21 +07:00
Sergey Lipskiy
ce5abcb21b Correct FrameBuffer::isValid - do not update m_validityChecked when isValid called from VI_UpdateScreen
Fixed Broken Pokemon stadium 2 in-game portraits #1149
2016-10-05 15:39:41 +07:00
Sergey Lipskiy
ff55e5bea9 Apply scissor to all input coordinates in FrameBufferList::fillRDRAM.
Fixed Super Smash Bros Intro not playing with Framebuffer Emulation enabled #1154
2016-10-04 21:22:20 +07:00
Sergey Lipskiy
6942083612 Disable FrameBuffer::_getSubTexture for GLES2 because GLES2 implementation of OGLRender::copyTexturedRect can't be safely used here. 2016-09-29 19:58:56 +07:00
Sergey Lipskiy
39da91bb93 Move gDPFillRDRAM to FrameBufferList::fillRDRAM
Correct FrameBuffer::isValid()
Code cleanup.

Fixed Mickey Speedway USA is broken again. #1132
2016-09-27 21:43:28 +07:00
Sergey Lipskiy
b5163ca048 Drop cfb flag when buffer changed. 2016-09-19 15:32:24 +07:00
Sergey Lipskiy
e28bebd17e Add validity check for background fb textures.
Fixed Nushi Zuri 64: fb background doesn't work anymore #1115

Problem: The game normally uses color and depth buffers.
When it needs to show rectangle with text, CPU copies current color buffer
by depth buffer address. This buffer rendered as background, text rendered over.
Plugin detects buffer usage and tries to use depth buffer as background texture.
That buffer in video memory has no color information, because data copied by CPU and contained in RDRAM.

Solution: check that found frame buffer is valid.
In this case validity check will fail because RDRAM content modified by CPU,
and background will be read from RDRAM.
2016-09-16 17:09:25 +07:00
Sergey Lipskiy
5a296525ea FrameBufferList::renderBuffer : correct condition for Xoffset. 2016-09-12 21:26:37 +07:00
Sergey Lipskiy
32172d30af Fix depth buffer clear for aux buffers. 2016-09-11 18:08:03 +07:00
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
Sergey Lipskiy
ede0a046c2 Fix DepthBufferToRDRAM::_prepareCopy for Native Resolution mode.
Fixed issue #888.
2016-03-13 17:02:10 +06:00
Sergey Lipskiy
a2c39afc19 Fixed crash in RDRAMtoFrameBuffer::CopyFromRDRAM in GLES2 mode. 2016-03-12 20:39:54 +06:00
Sergey Lipskiy
c504b9b216 Correct depth buffer removal:
if depth buffer removed, clear pointers on it for all frame buffers.
2016-03-06 21:12:23 +06:00
Sergey Lipskiy
d9d6d4530a FrameBuffer::init - clear buffer texture after allocation.
Fixed garbage on screen in some games on Linix, e.g. Tsumi To Batsu.
2016-03-04 10:58:52 +06:00
Sergey Lipskiy
235530cec8 Fix out of range read/write in _copyPixelsFromRdram when address in input array is outside of current frame buffer. 2016-03-01 16:49:54 +06:00
Sergey Lipskiy
3215a8ad5d Correct main bufer height calculation.
Fixed flicker in Bomberman Hero (E) , issue #305
2016-02-28 17:45:53 +06:00
Sergey Lipskiy
54d486371a Add "UseNativeResolutionFactor" option. 2016-02-27 12:43:20 +06:00
Sergey Lipskiy
f06b2d823a Code rafactor to fix compilation errors with mupen64plus build. 2016-02-27 11:58:56 +06:00
Sergey Lipskiy
c4b0e9999e Fix copy from RDRAM in widescreen mode. 2016-02-27 10:52:12 +06:00
Sergey Lipskiy
2a01d47df4 Fix copy to RDRAM in widescreen mode. 2016-02-27 10:52:11 +06:00
Sergey Lipskiy
8b3d53f4e5 Pass destination frame buffer to OGLRender::drawTexturedRect.
Fixed RDRAMtoFrameBuffer::CopyFromRDRAM, when FBWrite writes to a buffer,
which is not current displayed buffer.
Example: JFG crosshair.
2016-02-27 10:52:10 +06:00
Sergey Lipskiy
e8d76d21f0 Minor code cleanup: add RDRAMtoFrameBuffer::Reset() 2016-02-27 10:52:10 +06:00
Sergey Lipskiy
dca42610a8 Add FBInfo::isSupported() to know that emulator provides FBInfo support.
Correct frame buffer write detection hack (idea by purplemarshmallow).
2016-02-27 10:52:07 +06:00
Sergey Lipskiy
ce7526eaf5 Rewrite RDRAMtoFrameBuffer::CopyFromRDRAM:
copy from RDRAM only those pixels, which were provided with FBWrite.
2016-02-27 10:52:07 +06:00
Sergey Lipskiy
dcf32d0c5d Fix issues with FrameBufferToRDRAM::copyToRDRAM 2016-02-27 10:52:06 +06:00
Sergey Lipskiy
e62ce067e8 Fix FrameBufferToRDRAM::copyToRDRAM : pass correct end_address to _copy 2016-02-27 10:52:05 +06:00
Sergey Lipskiy
52dac34b98 Fix _cutHeight. 2016-02-27 10:52:05 +06:00
Sergey Lipskiy
8202638a7a Correct FrameBufferList::fillBufferInfo - do not add depth buffer. 2016-02-27 10:52:04 +06:00
Sergey Lipskiy
1ec14d0f8b Rename ShaderCombiner::updateFBInfo to ShaderCombiner::updateFrameBufferInfo 2016-02-27 10:52:03 +06:00
Sergey Lipskiy
857ae8a360 FBWrite draft implementation. 2016-02-27 10:52:02 +06:00
Sergey Lipskiy
646a88139c Fixing FBInfo build on gcc (5.2.1)
There was a conflict between signed and unsigned types to std::min.
Explicitly setting the literal as unsigned keeps all math as unsigned,
which I think is the best case here (assuming that 1 + y0 - y1 will never
be negative).
Also adding std:: prefix to make it clearer where these functions come from.
2016-02-27 10:52:02 +06:00
Sergey Lipskiy
148349a00a Fix FrameBufferToRDRAM::_prepareCopy
Wrong buffer could be used when several buffers copied per frame
2016-02-27 10:52:01 +06:00
Sergey Lipskiy
0b12d3b26e Correct height calculation on buffer copy. 2016-02-27 10:52:00 +06:00
Sergey Lipskiy
dde54b238f Fix mistakes in buffer copy. 2016-02-27 10:52:00 +06:00
Sergey Lipskiy
53e638bf47 Increase _numPixels if chunkStart is not even. 2016-02-27 10:51:59 +06:00
Sergey Lipskiy
1e376d641b Fix usage of FrameBufferToRDRAM::m_frameCount 2016-02-27 10:51:59 +06:00
Sergey Lipskiy
b9ee15bfb6 FrameBufferInfo API extension. Initial dummy implementation. 2016-02-27 10:51:56 +06:00
Sergey Lipskiy
5d8ea5dda1 Implement partial buffer copy. 2016-02-27 10:51:56 +06:00
gonetz
a9d1df5694 Move gamma correction to post processor. 2016-01-16 19:48:19 +06:00
gonetz
330603e2b6 PostProcessor refactor: - rename process() to doBlur(). - move Blur() init and destroy to separate functions. 2016-01-16 19:48:18 +06:00
Sergey Lipskiy
da36e88862 Merge pull request #828 from purplemarshmallow/24
remove Lego racers hack
2016-01-12 15:00:27 +05:00
purplemarshmallow
ca6d6c720f remove Lego racers hack
it's no longer needed because of commit
1466e162f3
2016-01-02 13:42:50 +01:00
purplemarshmallow
f49258e86a typo fix 2015-12-14 19:27:53 +01:00
purplemarshmallow
84611502c6 copy only modified pixels to RDRAM
0 is used as test color. If pixels are 0 they are not copied. This fixes
the crash in Donkey Kong 64 (E) issue #355
2015-11-19 22:46:08 +06:00
purplemarshmallow
2b95cc4037 fix copying 32bit framebuffers to RDRAM
this fixes issue #348
2015-11-17 16:59:12 +06:00
Sergey Lipskiy
93f659c8af Correct _cutHeight() function.
Fixed detectCFB causes crash in Pokemon Stadium 2 #548
2015-11-15 15:26:03 +06:00
purplemarshmallow
142ad0bc3c code refactoring to support async buffer reads
Copy of color buffers is now always done in gDPFullSync. There are no
known disadvantages only advantages. Quake 2 will run faster
2015-11-09 21:54:07 +06:00
purplemarshmallow
dc3da06a68 as suggested by gonetz buffers are now also copied after the buffer changed in SetColorImage command
now the copy auxiliary option also works if a buffer is used in the
current frame
2015-11-09 21:35:11 +06:00
purplemarshmallow
15611a7731 Copy auxiliary buffers at fullsync
Do not use fingerprint
2015-11-09 21:33:13 +06:00