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

3551 Commits

Author SHA1 Message Date
Sergey Lipskiy
407edd8ea8 Rewrite LOD calculation using dFdx and dFdy functions to get texture coordinates diff.
Many code became useless and thus removed.
2015-05-13 10:10:12 +06:00
Sergey Lipskiy
5cedc0e6e7 Implement VI emulation: treat main frame buffer as TV screen and render
FBO buffers on it according to VI registers values.
2015-05-13 10:10:11 +06:00
Sergey Lipskiy
4e39f37a34 Increase CFB mode frames limit 2015-05-13 10:10:10 +06:00
Sergey Lipskiy
62e3f2404e Copy whole frame buffer to RDRAM, without offset. 2015-05-13 10:10:09 +06:00
Sergey Lipskiy
95acb76460 Render RDRAM buffer only when it is not blank. 2015-05-13 10:10:09 +06:00
Sergey Lipskiy
fb0ba864d1 Force CFB mode if current frame is shown more than 4 times in succession (<15 fps) 2015-05-13 10:10:08 +06:00
Sergey Lipskiy
d6a3b265a5 Cosmetic changes in VI_UpdateScreen(). 2015-05-13 10:10:08 +06:00
Sergey Lipskiy
e788b638b7 Don't copy to RDRAM in CFB mode. 2015-05-13 10:10:07 +06:00
Sergey Lipskiy
a7b5127743 FrameBufferToRDRAM cosmetic changes 2015-05-13 10:10:06 +06:00
Sergey Lipskiy
5f57aa5c48 Implement copy RDRAM to frame buffer. 2015-05-13 10:10:05 +06:00
Sergey Lipskiy
35ab89d379 Fix bug in FrameBuffer_SaveBuffer:
don't use removed buffer
2015-05-13 10:10:05 +06:00
Sergey Lipskiy
31d236f59b Rewrite FrameBuffer_CopyToRDRAM.
Use Pixel Buffer Object for async read from video memory.
2015-05-13 10:10:04 +06:00
Sergey Lipskiy
ae91daa5ca Remove unused gDPUpdateColorImage() function. 2015-05-13 10:10:03 +06:00
Sergey Lipskiy
ca99c49bc7 Remove duplicated code from FrameBuffer functions. 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
fead6f6ad7 Add list of frame buffer emulation issues. 2015-05-13 10:10:01 +06:00
Sergey Lipskiy
bd51edec41 Temporal hackish solution for scoreboard problem in Mario Tennis:
copy aux frame buffer content to RDRAM and delete the buffer.

Need to implement proper solution.
2015-05-13 10:10:01 +06:00
Sergey Lipskiy
0c9c9d4e27 Fix bufEndAddress check in CheckForFrameBufferTexture 2015-05-13 10:10:00 +06:00
Sergey Lipskiy
a93923cbff Add support for Mario Kart microcode 2015-05-13 10:09:59 +06:00
Sergey Lipskiy
efee40c2c7 Implement copy texture frame buffer to RDRAM. 2015-05-13 10:09:59 +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
7056d29c0f Fix screen shot capture. 2015-05-13 10:09:57 +06:00
Sergey Lipskiy
d27daf1009 Correct LOD test shader 2015-05-13 10:09:57 +06:00
Sergey Lipskiy
758e0efbff Correct LOD calculation. Not sure, that it is correct. 2015-05-13 10:09:56 +06:00
Sergey Lipskiy
1ac9e4e696 Fix min_lod and lod_frac read in RDP_SetPrimColor. 2015-05-13 10:09:55 +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
c8f83889a8 Fix vertex st scaling, when gSPModifyVertex is used.
Fix st scaling when otherMode.texturePersp is off.
2015-05-13 10:09:54 +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
4fa08bd906 Fix mask calculation in SetOtherMode_L functions.
Need other corrections/optimizations. Functions inside switch look useless now.
2015-05-13 10:09:51 +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
f66c03d2e7 Fix FillRect in Fill mode.
Fixed frame buffer clear in Lego Racers, broken after previous commit.
2015-05-13 10:09:49 +06:00
Sergey Lipskiy
de6aa21d11 Fix combiner for FILL mode. 2015-05-13 10:09:48 +06:00
Sergey Lipskiy
c9ddb8e1a6 Fix read alpha from frame buffer textures.
When gDP.otherMode.imageRead is off, alpha is replaced by the fixed value.
2015-05-13 10:09:47 +06:00
Sergey Lipskiy
562612a21a Texture load status is now set per tile. 2015-05-13 10:09:47 +06:00
Sergey Lipskiy
fe550b7b6b Code cleanup: remove duplicated code in OGL_UpdateStates(). 2015-05-13 10:09:46 +06:00
Sergey Lipskiy
70417de37c Fix viewport set for texture buffer in OGL_DrawRect(). 2015-05-13 10:09:45 +06:00
Sergey Lipskiy
cfc85d2c92 Fix frame buffer texture coordinates calculation for T1. 2015-05-13 10:09:44 +06:00
Sergey Lipskiy
5092cf5891 Code cleanup: Remove duplicated code in FrameBuffer_ActivateBufferTexture(). 2015-05-13 10:09:43 +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
ad9e3d3bee Correct texture buffer shift in loadblock mode. 2015-05-13 10:09:42 +06:00
Sergey Lipskiy
f5bcc81414 Correct color buffer height calculation. 2015-05-13 10:09:41 +06:00
Sergey Lipskiy
aec5094967 Add support for 8bit frame buffers.
Fixed dynamic shadow in Banjo-Tooie
2015-05-13 10:09:41 +06:00
Sergey Lipskiy
c38958f12c Don't clear gDP.colorImage.changed flag in gDPSetColorImage.
Fixed Zelda MM motion blur.
2015-05-13 10:09:40 +06:00
Sergey Lipskiy
3f98553ad2 Correct background images usage in frame buffer emulation. 2015-05-13 10:09:39 +06:00
Sergey Lipskiy
e3c77c7b8e Don's set RSP.PCi to zero in gSPLoadUcodeEx. 2015-05-13 10:09:38 +06:00
Sergey Lipskiy
42e6208f25 Correct gSPBgRect* functions. 2015-05-13 10:09:38 +06:00
Sergey Lipskiy
58728b954c Optimize FrameBuffer_SaveBuffer code. 2015-05-13 10:09:37 +06:00