Sergey Lipskiy
2b87c0e131
Correct horisontal bounds for input and output buffers in FrameBufferList::renderBuffer
...
Fixed wrong right bound in Mario Tennis and other games.
2015-05-13 10:18:30 +06:00
Sergey Lipskiy
b085593d2a
Major fixes in RDRAMtoFrameBuffer::CopyFromRDRAM.
...
Fixed Dr.Mario pills
2015-05-13 10:18:28 +06:00
Sergey Lipskiy
d0073fe3a3
Don't clear frame buffer area when copyFromRDRAM option is on.
2015-05-13 10:18:28 +06:00
Sergey Lipskiy
6f40fa430b
Fix frame buffer content check in CheckForFrameBufferTexture.
...
Frame buffer area is cleared in FrameBufferList::saveBuffer.
If scissor does not equal to frame buffer size, clear is incorrect.
Solution: clear frame buffer area without scissoring.
Fixed background in Dr.Mario
2015-05-13 10:18:26 +06:00
Sergey Lipskiy
f946a82e38
Fix replay in Mario Golf:
...
replay is copied to a area, which is used for depth buffer.
Added check that found frame buffer is not depth buffer.
2015-05-13 10:18:24 +06:00
Sergey Lipskiy
0efce8bb17
Fix FrameBufferToRDRAM::CopyToRDRAM when multisampling is on.
2015-05-13 10:18:23 +06:00
Sergey Lipskiy
67e26af187
Revert "Use VI.real_height to make copy to RDRAM more safe."
...
Wrong solution - causes bottom black line when copied image is used as
background.
This reverts commit 2186d12c9230be48b1824aaabbee56f135f54d4d.
2015-05-13 10:18:21 +06:00
Sergey Lipskiy
bbeb149df4
Correct FrameBufferList::removeBuffer - set m_pCurrent to NULL if current color buffer isd removed.
2015-05-13 10:18:19 +06:00
Sergey Lipskiy
907a29e313
Fix division by zero in FrameBufferList::renderBuffer
...
Fixed crash with FB enabled in Top Gear Hyperbike
2015-05-13 10:18:17 +06:00
Sergey Lipskiy
975b54810f
Emulate VI manipulations with REG.VI_H_START register.
...
This emulates horizontal slide effect in Top Gear Overdrive menu.
Fixed issue #17
2015-05-13 10:18:17 +06:00
Sergey Lipskiy
db649b5341
Fix FrameBufferToRDRAM::CopyToRDRAM:
...
copy to provided address, not to the cached one.
Fixed Top Gear Hyper Bike with FB to RDRAM on.
2015-05-13 10:18:15 +06:00
Sergey Lipskiy
bb6a9b3549
Correct frame buffer end address calculation in FrameBufferList::saveBuffer.
...
Fixed gfx not showing with fb emulation on in Top Gear Hyper Bike #45
2015-05-13 10:18:15 +06:00
Sergey Lipskiy
34d638a0a3
Don't copy depth buffer if it was not cleared.
...
Uncleared depth buffer most likely is used as auxilary color buffer.
Fix pause screen in Mickey USA when copy depth to RDRAM is enabled, issue #85 .
2015-05-13 10:18:14 +06:00
Sergey Lipskiy
b9257e33b1
Fix RDRAMtoFrameBuffer::CopyFromRDRAM.
...
Fixed flicker in StarCraft64 logos.
2015-05-13 10:18:12 +06:00
Sergey Lipskiy
47e4f4e8e4
Switch from shader based pseudo-random simplex noise to texture based one.
2015-05-13 10:18:09 +06:00
Sergey Lipskiy
7ed2ed1365
Use VI.real_height to make copy to RDRAM more safe.
...
VI.height can be larger than actual buffer height. Example: The New Tetris.
2015-05-13 10:18:06 +06:00
Sergey Lipskiy
8c0aa1c804
Fix FrameBufferToRDRAM::CopyToRDRAM when multisampling is enabled.
2015-05-13 10:18:00 +06:00
Sergey Lipskiy
06c7877208
Fix vOffset calculation in FrameBufferList.
2015-05-13 10:17:57 +06:00
Sergey Lipskiy
17b2db7031
Workaround for Mupen64Plus issue with initialization
2015-05-13 10:17:54 +06:00
Sergey Lipskiy
8b570cb273
Fix multisampling.
2015-05-13 10:17:48 +06:00
Sergey Lipskiy
10c4fb801c
Implement FBO multisampling.
2015-05-13 10:17:47 +06:00
Sergey Lipskiy
501e8a44b0
Fix FBO in DepthBufferToRDRAM.
2015-05-13 10:17:26 +06:00
Sergey Lipskiy
5af3ed1197
Implement multi-pass bloom post-processing effect.
2015-05-13 10:17:23 +06:00
Sergey Lipskiy
4f1a636c20
Implement PostProcessor class for image post processing effects.
2015-05-13 10:17:22 +06:00
Sergey Lipskiy
fca44abb5f
Do not create DepthImageTexture when N64DepthCompare option is off.
2015-05-13 10:17:20 +06:00
Sergey Lipskiy
6ab92eac4f
Move zLUT initialization to DepthBufferList::init().
2015-05-13 10:17:18 +06:00
Sergey Lipskiy
cd758aed08
Rewrite DepthBufferToRDRAM
2015-05-13 10:17:18 +06:00
Sergey Lipskiy
afe91d47d9
Switch to depth texture
2015-05-13 10:17:17 +06:00
Sergey Lipskiy
5460cb32f6
Don't allocate frame buffer with zero height.
2015-05-13 10:17:10 +06:00
Sergey Lipskiy
99b0bc1e59
Fix fb texture offsetS.
...
Fixed IR scanner in Perfect Dark.
2015-05-13 10:17:08 +06:00
Sergey Lipskiy
17f2195801
Remove combiner update from FrameBufferList::attachDepthBuffer().
...
WEIRD:
If new combiner is created on CombinerInfo::get().update(), it than
works incorrect. Example: pause screen in Banjo Tooie.
!!!
2015-05-13 10:17:06 +06:00
Sergey Lipskiy
ac5159fe68
Fix RDRAMtoFrameBuffer::CopyFromRDRAM :
...
restore CHANGED_CPU_FB_WRITE flag after the draw.
Fixed CFB mode.
2015-05-13 10:17:04 +06:00
Sergey Lipskiy
3f6e52b62a
Fix flicker in interlaced mode.
2015-05-13 10:16:01 +06:00
Sergey Lipskiy
887504c301
Switch to non-POT textures.
2015-05-13 10:15:25 +06:00
Sergey Lipskiy
99e3869056
Fix drawTexturedRect usage for alternative FrameBufferList::renderBuffer
2015-05-13 10:15:01 +06:00
Sergey Lipskiy
6e01ed9a34
Pass parameters to OGLRender::drawTexturedRect via special structure TexturedRectParams.
2015-05-13 10:14:21 +06:00
Sergey Lipskiy
bc1a5a1f1f
Fix frame buffer allocation again.
...
Check for all possible intersections of frame buffers address space,
remove all buffers, intersected with the new one.
2015-05-13 10:14:18 +06:00
Sergey Lipskiy
ea713f8e0c
Remove assync depth copy functionality.
...
It is important to copy current depth buffer to RDRAM.
Otherwise coronas in PD does not work when in movement.
2015-05-13 10:14:12 +06:00
Sergey Lipskiy
a3d702a4dd
Fix detection of frame buffers address space intersection.
...
Fixed problem of growing frame buffers number.
2015-05-13 10:14:11 +06:00
Sergey Lipskiy
efdfa31eda
Make FrameBuffer_CopyDepthBuffer() return bool.
2015-05-13 10:14:09 +06:00
Sergey Lipskiy
c3a8148d0e
Fix DepthBufferToRDRAM::CopyToRDRAM - limit max value by 0xfffc.
2015-05-13 10:14:08 +06:00
Sergey Lipskiy
39cbd870ff
Add check for NULL pointers in FrameBuffer_ActivateBufferTexture.
2015-05-13 10:14:07 +06:00
Sergey Lipskiy
a6a8d810fb
Fix CopyToRDRAM.
...
Need to set scissor off before using glBlitFramebuffer.
2015-05-13 10:14:05 +06:00
Sergey Lipskiy
7835cfb180
Fix color image height detection for height = 1.
2015-05-13 10:14:02 +06:00
Sergey Lipskiy
3a27056759
Don't write buffer address to RDRAM for CFB buffers.
2015-05-13 10:14:01 +06:00
Sergey Lipskiy
09eea95270
Add separate define for ImageTextures.
...
Set it on for platforms, which support this functionality.
2015-05-13 10:13:55 +06:00
Sergey Lipskiy
94c381f734
Fix code duplication in FrameBuffer.cpp
2015-05-13 10:13:54 +06:00
Sergey Lipskiy
72ce00157b
Code cleanup: Fix class members initialization order in ctors.
2015-05-13 10:13:54 +06:00
Sergey Lipskiy
17479ccbe4
Rewrite FrameBufferList::renderBuffer
...
Use new method for destination coordinates calculation.
2015-05-13 10:13:47 +06:00
Sergey Lipskiy
0d35f461df
Fix integer-float mismatch in FrameBuffer.cpp
2015-05-13 10:13:46 +06:00