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

135 Commits

Author SHA1 Message Date
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
Sergey Lipskiy
b31b4cc3f6 Correct renderBuffer usage in FrameBuffer_ActivateBufferTexture. 2015-05-13 10:13:34 +06:00
Sergey Lipskiy
f637e91f22 Replace _SHIFTR( *REG.VI_H_START, 0, 10 ) == 0 check by VI.width == 0 one
Fixed glError in Knockout Kings 2000. The game sets h_start==h_end at start,
thus VI.width is zero but *REG.VI_H_START is not.
2015-05-13 10:13:32 +06:00
Sergey Lipskiy
e21f455686 Don't call glBindImageTexture if it is not supported. 2015-05-13 10:13:28 +06:00
Sergey Lipskiy
768430a234 Implement screen aspect ratio support. 2015-05-13 10:13:26 +06:00
Sergey Lipskiy
6bf0302f19 Fix errors found by code analizer. 2015-05-13 10:13:19 +06:00
Sergey Lipskiy
7548922cfd Add CombinerInfo::update().
Call it in FrameBufferList::attachDepthBuffer() before currentCombiner()->updateDepthInfo
to avoid glError caused by wrong shader program set.

Fixed glError with MarioTennis character selection.
2015-05-13 10:13:18 +06:00
Sergey Lipskiy
805cef4225 Correct isLowerField calculation in FrameBufferList::renderBuffer.
It did not work correct for Donkey Kong (E).
2015-05-13 10:13:14 +06:00
Sergey Lipskiy
2454f70568 Don't call gDPFillRDRAM for frame buffers created in VI_UpdateScreen(),
because VI_ORIGIN is not correct address of frame buffer start.
2015-05-13 10:13:12 +06:00
Sergey Lipskiy
5eac0797f0 Remove VI emulation code, which can't be tested for now.
Star Wars Ep. 1 Racer (E) is fixed.
2015-05-13 10:13:11 +06:00
Sergey Lipskiy
8733c2b3e7 Set m_drawBuffer = GL_BACK in FrameBufferList::destroy().
Fixed crash on rom reset.
2015-05-13 10:13:10 +06:00
Sergey Lipskiy
d121144760 Disable frame buffer activiti when H width is zero. 2015-05-13 10:13:08 +06:00
Sergey Lipskiy
de5c0120ed Fix FrameBufferList::renderBuffer for interlaced modes. 2015-05-13 10:13:08 +06:00
Sergey Lipskiy
5ac57395e9 Fix FrameBufferList::renderBuffer compilation errors. 2015-05-13 10:13:07 +06:00