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

148 Commits

Author SHA1 Message Date
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