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
Sergey Lipskiy
4499a6f966
Fix *BufferToRDRAM destroy().
...
Fixed run 4mb games after 8mb ones.
2015-05-13 10:13:04 +06:00
Sergey Lipskiy
86cde946e9
Refactor: replace C style OGL_* functions by OGLRender and OGLVideo classes.
...
OGLRender performs rendering operations.
OGLVideo initializes OpenGL and performes operations with graphics context.
It has platform-dependent implementations.
2015-05-13 10:13:00 +06:00
Sergey Lipskiy
8719d245a4
Fix frame buffer endAddress calculation.
2015-05-13 10:12:58 +06:00
Sergey Lipskiy
604d290fec
Fix FrameBufferList::attachDepthBuffer() :
...
fixed GL_INVALID_ENUM error in glDrawBuffers call.
2015-05-13 10:12:54 +06:00
Sergey Lipskiy
f6ebb311a1
Massive refactoring: move API or OS dependent code to separate files.
...
Include/enable necessary source files in project files.
2015-05-13 10:12:51 +06:00
Sergey Lipskiy
3352193632
Depth buffer refactor
2015-05-13 10:12:48 +06:00
Sergey Lipskiy
fbf660d4ec
Refactor: Make DepthBufferList singleton.
2015-05-13 10:12:48 +06:00
Sergey Lipskiy
d7f4e44674
Frame buffer refactor.
...
Use std::list as container for frame buffers.
2015-05-13 10:12:46 +06:00
Sergey Lipskiy
bd8b73d5b5
Refactor: Make frame buffer singleton
2015-05-13 10:12:45 +06:00
Sergey Lipskiy
7f6d7e2772
Refactor: rewrite TextureCache.
...
Store normal textures and frame buffer textures in separate maps.
Replace TextureCache_* functions by methods of TextureCache.
2015-05-13 10:12:44 +06:00
Sergey Lipskiy
23f7f24d35
Refactor: replace CombinerInfo::get().getCurrent() by inline function currentCombiner()
2015-05-13 10:12:39 +06:00
Sergey Lipskiy
0f176dcc4c
Refactor: rename ShaderCombiner methods - name starts from lower case letter.
2015-05-13 10:12:37 +06:00
Sergey Lipskiy
7b3423d7de
Code cleanup: fix idents for FrameBuffer.cpp
2015-05-13 10:12:35 +06:00
Sergey Lipskiy
2e5ad21ddd
Refactor: remove combiner update methods from CombinerInfo and call them
...
directly for ShaderCombiner object.
2015-05-13 10:12:34 +06:00
Sergey Lipskiy
709f631cbf
Refactor: Make Combiner_* functions as members of CombinerInfo.
2015-05-13 10:12:32 +06:00
Sergey Lipskiy
92eb61572e
Fix scissor related problems:
...
- scissor dissable/enable in FrameBuffer_RenderBuffer()
- scissor height in OGL_UpdateStates()
2015-05-13 10:12:20 +06:00
Sergey Lipskiy
a3f9fe2186
Disable scissor in FrameBuffer_RenderBuffer().
2015-05-13 10:12:09 +06:00
Sergey Lipskiy
e784ea7205
GLES2 fixes in frame/depth buffer initialization.
2015-05-13 10:12:05 +06:00
Sergey Lipskiy
898a189f89
Fixed Combiner_UpdateCombineFBInfo() call.
2015-05-13 10:12:03 +06:00
Sergey Lipskiy
7166d0aacf
Fix hardware lighting.
2015-05-13 10:11:41 +06:00
Sergey Lipskiy
3d9e48230a
Fix FrameBuffer_RenderBuffer for GLES2.
2015-05-13 10:11:39 +06:00
Sergey Lipskiy
caf4353295
Guard GLES2 incompatible code in FrameBuffer.cpp and gSP.cpp
2015-05-13 10:11:39 +06:00
Sergey Lipskiy
889b889847
Replace GL_DRAW_FRAMEBUFFER by GL_FRAMEBUFFER in GLES2 compatible code.
2015-05-13 10:11:38 +06:00
Sergey Lipskiy
90f8e4c2f3
Remove glDisable( GL_FOG ).
2015-05-13 10:11:37 +06:00
Sergey Lipskiy
6219ee02bf
Rewrite RDRAMtoFrameBuffer::CopyFromRDRAM
...
Use OGL_DrawTexturedRect to render the texture.
2015-05-13 10:11:37 +06:00
Sergey Lipskiy
2b0d6e8f1d
Make FrameBuffer_AttachDepthBuffer() GLES2 compatible.
2015-05-13 10:11:35 +06:00
Sergey Lipskiy
f00ca5f0a1
Replace glFramebufferTexture by GLES2 compatible glFramebufferTexture2D.
2015-05-13 10:11:35 +06:00
Sergey Lipskiy
ee57f6ef47
Move frame buffer emulation options to Config.
2015-05-13 10:11:30 +06:00
Sergey Lipskiy
8018ba0aea
Move user-defined settings to Config structure.
2015-05-13 10:11:27 +06:00
Sergey Lipskiy
2708b2abeb
Remove FrameBufferExt functions usage.
2015-05-13 10:11:21 +06:00
Sergey Lipskiy
6bac605fe2
Make frame buffer GLES2 compatible.
2015-05-13 10:11:20 +06:00
Sergey Lipskiy
b2a260a055
Set READ_FRAMEBUFFER back to zero after CopyToRDRAM.
...
Fixed OGL_ReadScreen with CopyToRDRAM enabled.
2015-05-13 10:11:13 +06:00
Sergey Lipskiy
cc3446c4d6
BindImageTexture fixes
2015-05-13 10:11:09 +06:00
Sergey Lipskiy
344df93374
Rewrite depth texture clear.
2015-05-13 10:11:07 +06:00
Sergey Lipskiy
314b9098f4
Implement N64 depth compare.
...
Removed integer-based variant of depth texture.
2015-05-13 10:11:06 +06:00
Sergey Lipskiy
7f49dd39c2
Replace frameBuffer.drawBuffer from GL_DRAW_FRAMEBUFFER
...
to gles compatible GL_FRAMEBUFFER
2015-05-13 10:11:03 +06:00
Sergey Lipskiy
73890d4354
(R): Remove unused includes from FrameBuffer.cpp
2015-05-13 10:10:54 +06:00
Sergey Lipskiy
3b06773f43
(R): Rewrite OGL_SwapBuffers() and use it for all platforms.
2015-05-13 10:10:53 +06:00
Sergey Lipskiy
32892a2236
Fix #include dependences.
2015-05-13 10:10:47 +06:00
Sergey Lipskiy
0a1499caed
Fix compilation errors when MUPENPLUSAPI enabled
2015-05-13 10:10:43 +06:00
Sergey Lipskiy
fd3fe0b7b7
Fix DepthBufferToRDRAM::CopyToRDRAM :
...
return if depth buffer is null
2015-05-13 10:10:41 +06:00