Sergey Lipskiy
85a5ae8ea1
Implement performance counter.
...
Implement drawing performance info on screen.
2016-10-08 14:53:33 +07:00
Sergey Lipskiy
aab6726117
Implement crop image feature.
2016-10-08 14:53:21 +07:00
Sergey Lipskiy
ce5abcb21b
Correct FrameBuffer::isValid - do not update m_validityChecked when isValid called from VI_UpdateScreen
...
Fixed Broken Pokemon stadium 2 in-game portraits #1149
2016-10-05 15:39:41 +07:00
Sergey Lipskiy
0a52dae80c
Set texture level in LLE mode.
...
Fixed map-mapping in LLE mode. #1135
2016-09-29 20:53:05 +07:00
Sergey Lipskiy
39da91bb93
Move gDPFillRDRAM to FrameBufferList::fillRDRAM
...
Correct FrameBuffer::isValid()
Code cleanup.
Fixed Mickey Speedway USA is broken again. #1132
2016-09-27 21:43:28 +07:00
Sergey Lipskiy
16406bb1b0
Fixed Majora's mask in-game pictures look incorrect with software depth buffer #1131
2016-09-23 12:05:48 +07:00
Sergey Lipskiy
91f03c70bc
Use dmaVertices when draw with drawScreenSpaceTriangle.
2016-09-21 15:24:15 +07:00
Sergey Lipskiy
77d0c9aada
Code refactor: rename drawLLETriangle to drawScreenSpaceTriangle.
2016-09-20 16:21:54 +07:00
Sergey Lipskiy
e28bebd17e
Add validity check for background fb textures.
...
Fixed Nushi Zuri 64: fb background doesn't work anymore #1115
Problem: The game normally uses color and depth buffers.
When it needs to show rectangle with text, CPU copies current color buffer
by depth buffer address. This buffer rendered as background, text rendered over.
Plugin detects buffer usage and tries to use depth buffer as background texture.
That buffer in video memory has no color information, because data copied by CPU and contained in RDRAM.
Solution: check that found frame buffer is valid.
In this case validity check will fail because RDRAM content modified by CPU,
and background will be read from RDRAM.
2016-09-16 17:09:25 +07:00
Sergey Lipskiy
32172d30af
Fix depth buffer clear for aux buffers.
2016-09-11 18:08:03 +07:00
Sergey Lipskiy
d289d4c65a
Correct conditions when render to depth buffer can be enabled.
2016-09-07 21:11:31 +07:00
Sergey Lipskiy
27cdae1e33
Correct condition for depth buffer clear again.
...
Fixed Body Harvest graphics missing (Regression) #1107
2016-09-05 12:14:51 +07:00
Sergey Lipskiy
669337f5ab
Correct condition for depth buffer rendering:
...
games may draw in depth buffer in fill mode too.
Correct condition for depth buffer clear.
Fixed Mario Tennis 64's Versus Screen Issue #771
2016-09-04 20:26:41 +07:00
Sergey Lipskiy
5efd89ccd2
Fix input texture checksum calculation.
2016-07-03 00:09:26 +06:00
Sergey Lipskiy
42f3643865
Implement software depth buffer render.
2016-06-20 15:12:31 +06:00
Sergey Lipskiy
2fbee3661f
Move TextureFilterHandler class to separate files.
2016-06-10 17:58:47 +06:00
Sergey Lipskiy
86fbea9edc
Code refactor: replace NULL by nullptr.
2016-06-10 12:40:18 +06:00
Sergey Lipskiy
99a075eae7
Add config option enableNativeResTexrects.
...
Support in GUI and mupen64plus settings.
2016-06-03 11:06:33 +06:00
Sergey Lipskiy
baa8b28056
Fix TexrectDrawer work with AA enabled.
2016-06-03 11:05:39 +06:00
Sergey Lipskiy
00b9de68e0
Implement TexrectDrawer.
2016-06-03 10:44:23 +06:00
Sergey Lipskiy
37cb9ef9b8
gDPLoadTile: check for frame buffer texture before check for RDRAM bound crossing.
...
Fixed Banjo-Tooie Framebuffer not working properly #651
2016-05-19 22:50:43 +06:00
Sergey Lipskiy
87f307c3ff
FrameBuffer: replace m_pLoadTile by m_loadTileOrigin and m_loadType.
2016-05-10 20:29:21 +06:00
MaximeMorel
caadac1a7c
Fix Linux compilation
2016-05-10 08:54:19 +01:00
Sergey Lipskiy
773e95382e
gDPLoadTile: skip tile load if tile coordinates are incorrect.
...
Fixed FIFA - Road to World Cup 98: black line in menu #952
2016-05-04 22:41:49 +06:00
Sergey Lipskiy
bb4c572c88
Code cleanup: remove debug code from gDPFillRDRAM.
2016-04-26 15:11:26 +06:00
Sergey Lipskiy
5f7cdb4cb4
gDPFullSync(): add check, that buffer copied to RDRAM is not auxiliary one.
...
Fixed shadows in JFG.
2016-04-17 15:31:59 +06:00
Sergey Lipskiy
269b3c19e9
Add correctTexrectCoords option: make texrect coordinates continuous to avoid black lines between them.
2016-04-16 12:28:39 +06:00
Sergey Lipskiy
dad7fcb687
gDPSetColorImage: use VI.height instead of gDP.scissor.lry as fallback value for buffer height.
...
Fixed nfl quaterback 98 #316 in LLE mode
2016-04-14 16:51:07 +06:00
Sergey Lipskiy
bc80ff446a
Code refactor: add TexturedRectParams::texrectCmd parameter
...
to distinguish calls to OGLRender::drawTexturedRect from texrect commands
and from other places.
2016-04-14 13:41:38 +06:00
Sergey Lipskiy
c095fea58a
Code refactor: replace gDPTextureRectangleFlip by flip parameter in gDPTextureRectangle
2016-04-14 13:21:06 +06:00
Sergey Lipskiy
4484bb5623
Correct texture coordinates calculation in OGLRender::drawTexturedRect :
...
add dsdx/dtdy instead of 1.0f
Fixed issues #27 , #128 , #209
2016-04-09 10:56:15 +06:00
Sergey Lipskiy
6d29070c57
gDPFillRectangle: set gDP.colorImage.height only when lrx == gDP.colorImage.width
2016-04-02 13:59:04 +06:00
Sergey Lipskiy
1db0c7a75e
Fixed bug in gDPFillRectangle, caused by commit bcde07a978
2016-04-02 13:56:43 +06:00
Sergey Lipskiy
06c99ad30f
Rewrite LoadBlock.
2016-03-26 21:14:42 +06:00
Sergey Lipskiy
85101a5d67
Yet another fix for gDPLoadBlock line calculation.
...
Fixed pilotwings: text issues (regression) #927
2016-03-24 10:33:40 +06:00
Sergey Lipskiy
bcde07a978
Don't skip buffer height calculation in gDPFillRectangle.
...
Fixed regression in Super Robot Spirits: Crash rankings option in HLE. #909
2016-03-20 13:24:26 +06:00
Sergey Lipskiy
04b1f3f9f9
Correct gDPLoadBlock line calculation again:
...
fixed regression caused by commit f6be5fd39
Fixed regression in Racing Simulation 2 #167
2016-03-19 19:20:58 +06:00
Sergey Lipskiy
f6be5fd39f
Fix bug with line calculation in gDPLoadBlock.
...
Fixed South Park Rally (All) - Gfx Issue #391
and probably other similar issues.
2016-03-17 09:29:57 +06:00
Sergey Lipskiy
ff67350c8c
Revert "Increase only y coordinate of rect in COPY or FILL mode."
...
because it causes regression in Mischief Makers.
This reverts commit 143a68bc07
.
2016-03-12 20:09:34 +06:00
Sergey Lipskiy
fbbbe147c6
Correct hack for texrect textures.
...
Fixed texture coordinates for backgrounds in Dark Rift, issue #648
2016-03-05 20:23:00 +06:00
Sergey Lipskiy
143a68bc07
Increase only y coordinate of rect in COPY or FILL mode.
2016-03-05 20:06:41 +06:00
Sergey Lipskiy
024c48218a
Fix frame buffer texture detection when load tile is not 7.
...
Fixed wrong frame buffer detection in Tetrispere intro, issue #681
Terisphere uses tile 2 as load-tile and as base tile.
2016-03-05 17:55:30 +06:00
Sergey Lipskiy
f06b2d823a
Code rafactor to fix compilation errors with mupen64plus build.
2016-02-27 11:58:56 +06:00
Sergey Lipskiy
c4b0e9999e
Fix copy from RDRAM in widescreen mode.
2016-02-27 10:52:12 +06:00
Sergey Lipskiy
8b3d53f4e5
Pass destination frame buffer to OGLRender::drawTexturedRect.
...
Fixed RDRAMtoFrameBuffer::CopyFromRDRAM, when FBWrite writes to a buffer,
which is not current displayed buffer.
Example: JFG crosshair.
2016-02-27 10:52:10 +06:00
Sergey Lipskiy
ac8a9a9d5d
Add FBInfo config options.
2016-02-27 10:52:08 +06:00
Sergey Lipskiy
170a072deb
Remove gamma correction code from gDPFillRectangle.
...
Forgot to remove it when gamma correction was moved to post-processor.
Fixed green background in Superman.
2016-02-06 00:09:00 +06:00
purplemarshmallow
142ad0bc3c
code refactoring to support async buffer reads
...
Copy of color buffers is now always done in gDPFullSync. There are no
known disadvantages only advantages. Quake 2 will run faster
2015-11-09 21:54:07 +06:00
purplemarshmallow
15611a7731
Copy auxiliary buffers at fullsync
...
Do not use fingerprint
2015-11-09 21:33:13 +06:00
purplemarshmallow
c661ace24e
Replace RSP.DList by OGLVideo::getBuffersSwapCount()
...
RSP.DList does not count the dlists, it counts the buffer swaps.
Thus it is replaced by counter in OGLVideo.
2015-10-17 21:20:50 +06:00
Sergey Lipskiy
2483f03159
Add CopyToRDRAM modes to Config: disable, sync, async.
...
copyToRDRAM option can take 'async' value.
copyDepthToRDRAM is still sync mode only.
2015-10-09 23:08:21 +06:00
Sergey Lipskiy
16136b04e9
Do not set buffer's height to VI.height if it is zero.
...
WARNING: potentially dangerous!
2015-09-27 10:54:19 +06:00
Sergey Lipskiy
a365afdf7f
Correct buffer height detection in gDPSetColorImage:
...
don't use viewport height in LLE mode, since LLE does not use viewport.
2015-09-27 10:49:21 +06:00
Sergey Lipskiy
bff19580eb
Code refactor: CheckForFrameBufferTexture - use fbList variable instead of calls to frameBufferList()
2015-09-26 22:11:31 +06:00
Sergey Lipskiy
c6988bb963
Fig regression with frame/depth buffer copy in HLE mode caused by commit 77f342f
.
2015-08-27 19:39:29 +06:00
purplemarshmallow
77f342fc63
fix depth buffer copy in LLE
...
in LLE it works well for Star Wars Episode I - Racer but for most games
it does not work correctly
2015-07-25 17:32:21 +06:00
purplemarshmallow
dbfbeb1b13
fix copy color to RDRAM in LLE
...
fixes #554
2015-07-25 17:32:20 +06:00
Sergey Lipskiy
5f42da74cd
Correct min_lod load.
2015-06-17 16:02:09 +06:00
Sergey Lipskiy
27149064e0
Correct load to TMEM functions: wrap tmem address in case of overflow.
...
Necessary for issue #571
2015-06-17 16:02:06 +06:00
Sergey Lipskiy
48959f0702
Revert "Correct coronas emulation in Perfect Dark."
...
This reverts commit 36fbcd5eac
.
Reverted commits causes issues in CBFD. Need another approach.
2015-06-14 22:57:53 +06:00
Sergey Lipskiy
36fbcd5eac
Correct coronas emulation in Perfect Dark.
...
Fixed issue #563 .
2015-06-04 22:17:04 +06:00
Sergey Lipskiy
d46ed98804
Fix wrong set of CHANGED_TEXTURE flag.
2015-05-13 10:22:32 +06:00
Sergey Lipskiy
13d53a0dde
Set CHANGED_TILE flag in gDPSetTile.
...
Fixed Banjo Tooie: certain textures change/shift #499
2015-05-13 10:22:31 +06:00
Sergey Lipskiy
0c886e26c3
Limit depth buffer copy to RDRAM with top and bottom bounds of fillrect command.
...
Fixed regression issues #436 and #437
Issue #330 with Roadsters is fixed too.
2015-05-13 10:21:52 +06:00
Sergey Lipskiy
b205529aec
Revert "Don't copy depth buffer to RDRAM if it was not cleared completly."
...
This commit causes 2 regressions: #436 , #437
Better solution needed.
This reverts commit 8b551549e0ca5ece29c5322cb062e8a9bc11e48e.
2015-05-13 10:21:51 +06:00
Sergey Lipskiy
4d87fb6833
Impelent new fb validity check method:
...
copy RDRAM content to a buffer and compare by content.
2015-05-13 10:21:50 +06:00
Sergey Lipskiy
94a4f7c411
Code cleanup: remove redundant code in gDPLoadBlock
2015-05-13 10:21:48 +06:00
Sergey Lipskiy
b56ca89553
Code cleanup: remove unused TEXTUREMODE_TEXRECT
2015-05-13 10:21:48 +06:00
Sergey Lipskiy
52d68d1389
Move all sources to src folder.
2015-05-13 10:21:32 +06:00