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

61 Commits

Author SHA1 Message Date
Sergey Lipskiy
23348b474d Fixed PrimDepth load: only 15 bits must be used.
Fixed backgrounds in Space Station Silicon Valley.
2015-05-13 10:14:26 +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
fa5d2ce544 Correct auxiliary buffers height in gDPSetColorImage. 2015-05-13 10:14:18 +06:00
Sergey Lipskiy
cdf168e469 Correct gDP.colorImage.height calculation again.
Fixed frame buffers overflow in V-Rally 99.
2015-05-13 10:14:17 +06:00
Sergey Lipskiy
3eb40fd30a Fix texturedRectTextureCopy. Renamed it to texturedRectDepthBufferCopy. 2015-05-13 10:14:06 +06:00
Sergey Lipskiy
7835cfb180 Fix color image height detection for height = 1. 2015-05-13 10:14:02 +06:00
Sergey Lipskiy
268278a6b0 Implement load texture by dma offset.
Fixed menu in JFG.
2015-05-13 10:13:48 +06:00
Sergey Lipskiy
a8021084f2 Implement LLE triangles. 2015-05-13 10:13:43 +06:00
Sergey Lipskiy
d8a93a3aa3 Correct frame buffer height calculation.
Fixed Mario Tennis (E).
The RDP frame buffer height is 256, VI buffer height is 221.
The actual height of the picture is 221, so with frame buffer height 256
viewport settings becomes wrong and the picture moves atop.
2015-05-13 10:13:29 +06:00
Sergey Lipskiy
b6771dcf0a Correct gDP.colorImage.height calculation for gDPFillRectangle.
Fixed SCARS.
2015-05-13 10:13:18 +06:00
Sergey Lipskiy
4aa7528915 Correct buffer's height calculation in gDPSetColorImage. 2015-05-13 10:13:16 +06:00
Sergey Lipskiy
2cfee3bc51 Revert "Fix gDP.colorImage.height in gDPTextureRectangle."
This reverts commit bb8800cbb163e7498b6558d8c6e059a6985edafd.
2015-05-13 10:13:15 +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
f829a0d727 Fix gDP.colorImage.height in gDPTextureRectangle. 2015-05-13 10:13:06 +06:00
Sergey Lipskiy
2bf5c83be1 gDPFillRectangle: gDP.colorImage.height calculation for interlaced modes in G_CYC_FILL mode.
Fixed Turok 2, which set lry=VI.height. With lry++ frame buffer height becomes
wrong and can be deleted wrongly. That cause image flicker.
2015-05-13 10:13:06 +06:00
Sergey Lipskiy
560f1d8118 Code cleanup in gDP. 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
ee4dabbfbb Fix gDPFillRDRAM out of bounds writes. 2015-05-13 10:12:59 +06:00
Sergey Lipskiy
3352193632 Depth buffer refactor 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
389a46c394 Code cleaup: fix idents, replace spaces by tabs. 2015-05-13 10:12:31 +06:00
Sergey Lipskiy
4d93ddac4f Use std min and max 2015-05-13 10:12:30 +06:00
Sergey Lipskiy
9fda06ffa4 Fix CheckForFrameBufferTexture: don't test frame buffer content if
copyToRDRAM is on
or copyDepthToRDRAM is on and frame buffer was cleared by depth buffer clear value.
2015-05-13 10:12:23 +06:00
Sergey Lipskiy
4d3df31a56 Fix CheckForFrameBufferTexture(...) for depth buffer:
don't test frame buffer content if frame buffer is depth buffer,
because of DepthCopyToRDRAM
2015-05-13 10:12:22 +06:00
Sergey Lipskiy
4ab3c1e1ed Fix adress correction condition in gDPSetTile. 2015-05-13 10:12:19 +06:00
Sergey Lipskiy
47d322741d Correct condition for calling Combiner_UpdateAlphaTestInfo(). 2015-05-13 10:12:08 +06:00
Sergey Lipskiy
c95bb33216 Correct frame buffer height calculation in FillRect.
It was broken in commit a9064e14f3a40

Mario Tennis works again.
2015-05-13 10:12:03 +06:00
Sergey Lipskiy
28133f2387 Create frameBufferEmulation section in 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
7c0b58cb25 Rewrite gDPTextureRectangle.
Code is the same for texrect and texrectFlip.
Taken from gles2n64.
2015-05-13 10:11:14 +06:00
Sergey Lipskiy
bf99ef2079 Fix colorImage.height calculation in FillRect 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
c7c36ce54a Correct frame buffer valideness check. 2015-05-13 10:10:41 +06:00
Sergey Lipskiy
5070a1aa82 Correct palette load for shadow map. 2015-05-13 10:10:34 +06:00
Sergey Lipskiy
f151ef36ca Add shadow map shader 2015-05-13 10:10:28 +06:00
Sergey Lipskiy
ae91daa5ca Remove unused gDPUpdateColorImage() function. 2015-05-13 10:10:03 +06:00
Sergey Lipskiy
72e7d41673 Remove unused function FrameBuffer_RestoreBuffer() 2015-05-13 10:10:02 +06:00
Sergey Lipskiy
0c9c9d4e27 Fix bufEndAddress check in CheckForFrameBufferTexture 2015-05-13 10:10:00 +06:00
Sergey Lipskiy
971bd9d0ec Frame buffer fixes for Mario Tennis.
Implemented various methods for testing buffer validity.
2015-05-13 10:09:58 +06:00
Sergey Lipskiy
53d5b994f5 Fix depth buffer clear when it is used as an auxilary color buffer. 2015-05-13 10:09:55 +06:00
Sergey Lipskiy
1e4870e6b9 Change way of color buffer address range calculation:
on buffers swap use actual color image height to re-calculate end address.
2015-05-13 10:09:53 +06:00
Sergey Lipskiy
1341f7bf15 Frame buffer emulation fixes:
save pointer to the load tile in the frame buffer.

Game: Mario Tennis
2015-05-13 10:09:52 +06:00
Sergey Lipskiy
7418f76968 Frame buffer emulation fixes:
clear color buffer when size is changed but address is the same.
2015-05-13 10:09:52 +06:00
Sergey Lipskiy
b33f643905 Tuned condition for correctness of found frame buffer. 2015-05-13 10:09:50 +06:00
Sergey Lipskiy
620c809727 Fixed frame buffer height calculation. 2015-05-13 10:09:49 +06:00
Sergey Lipskiy
562612a21a Texture load status is now set per tile. 2015-05-13 10:09:47 +06:00
Sergey Lipskiy
03dfe205f8 Texrect hack for 512 width.
Fixed motion blur in Rally Challenge 2000.

Need to find a proper solution.
2015-05-13 10:09:43 +06:00
Sergey Lipskiy
f5bcc81414 Correct color buffer height calculation. 2015-05-13 10:09:41 +06:00