Sergey Lipskiy
757c3c4f8f
Calc FPS as number of color buffer origin changes per second.
...
Fixed FPS counter not reporting correctly #1510
2017-10-30 15:33:38 +07:00
Sergey Lipskiy
bd10c7a788
Do not use aux depth buffer as hwfbe texture.
...
Fixed black polygons in vigilante 8, #1639
2017-10-24 20:36:14 +07:00
Sergey Lipskiy
35cc66bad4
Code cleanup:
...
* make RSPInfo::busy and RSPInfo::halt boolean
* remove RSPInfo::close
* rename RSPInfo::bLLE to RSPInfo::LLE
2017-10-24 15:44:37 +07:00
Sergey Lipskiy
70c540b073
Rewrite fix for #1539 : keep in tile descriptor start address of frame buffer, not pointer on it.
...
Should be more safe.
2017-09-29 22:25:56 +07:00
Sergey Lipskiy
a2eefed0a3
Add hack for rect color alpha.
...
Details in commit d506d6134
Fixed Foresaken 64: wrong intro (regression) #1585
2017-09-26 22:58:05 +07:00
Francisco Zurita
8fbd1d030b
Fix memory corruption in Banjo-Tooie
2017-09-11 10:26:49 +07:00
Sergey Lipskiy
84cf648089
Always call frameBufferList().saveBuffer() from gDPSetColorImage, even if buffer data not changed.
...
Fixed fb-related issues with Star Wars - Rogue Squadron
2017-08-11 12:23:39 +07:00
Sergey Lipskiy
c907c3013a
Implement Debugger.
2017-06-25 15:35:48 +07:00
Sergey Lipskiy
08f2b8be31
Improve log quality
2017-06-25 15:06:50 +07:00
Sergey Lipskiy
ee60040a78
Rewrite debug logging
2017-06-25 15:02:36 +07:00
Sergey Lipskiy
952769a671
Always call frameBufferList().setBufferChanged in gDPFillRectangle.
2017-03-16 18:50:14 +07:00
Sergey Lipskiy
dd11326115
Rewrite buffer height calculation.
2017-03-16 18:50:14 +07:00
Sergey Lipskiy
e6811b4d4f
Move gDP.colorImage.height update to FrameBufferList::setBufferChanged.
2017-03-16 18:50:14 +07:00
Sergey Lipskiy
c8e6644bd7
Use software render to calculate frame buffer height.
2017-03-16 18:50:14 +07:00
Sergey Lipskiy
1c72ef16fd
Code refactor: move gDP.rectColor initialization to gDP.cpp
2017-03-01 11:49:58 +07:00
Sergey Lipskiy
873a830d88
Always render to FBO, even when frame buffer emulation is disabled.
2017-02-25 14:08:26 +07:00
Sergey Lipskiy
151fdf5ecc
Remove code to clear depth image textures.
...
Depth image textures cleared by GraphicsDrawer::drawRect, as on N64.
2017-02-17 15:54:16 +07:00
Logan McNaughton
1f74b9c821
Disable N64 Depth Compare if Image Textures are unsupported
...
Also disable fragment depth writing in GLES2
2017-02-09 21:54:44 +07:00
Logan McNaughton
acff19e66c
Force disable fragment depth writing in GLES2
2017-02-08 12:33:31 +07:00
Sergey Lipskiy
80ed169e24
Remove use of OpenGL.h
2017-01-22 20:43:05 +07:00
Sergey Lipskiy
e83c3489a3
Replace OGLVideo by DisplayWindow
...
Replace OGLRender by GraphicsDrawer
2017-01-16 20:56:11 +07:00
Sergey Lipskiy
41d0a9ade5
Replace ShaderCombiner 2
2017-01-08 17:49:39 +07:00
Sergey Lipskiy
1d87a92c72
Do not use frame buffer as texture if the buffer is just allocated.
...
Fixed tripleplay2000: black background in game #346
Problem: The game allocates auxiliary buffer with the same width
as the main one. Plugin detects it as main buffer and set its width
and height as of main buffer. Actual buffer height is half of main
buffer height, but it became known only when game switches to the
main buffer. Wrong buffer height leads to wrong calculation of
buffer address space. Game uses textures with addresses behind
the actual buffer’s address space but within calculated one.
Plugin tries to use buffer texture instead and, as the result,
everything is black.
Solution: The situation is bad. Plugin cannot detect that
allocated buffer is an aux one. I decided to forbid buffer usage
as texture if buffer is new. New buffer is blank, so reading from
it is strange. N64 games do lots of strange stuff, so this solution
is potentially dangerous.
2016-10-29 23:46:39 +07:00
Francisco Zurita
e5f89406b7
Zelda subscreen hack always enables copy color to RDRAM
2016-10-19 00:05:30 -04:00
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