Henrik Rydgård
f399e3c7e6
Disable BlueToAlpha mode when logic op is present. Re-enable for Outrun and DiRT.
2022-09-05 09:51:17 +02:00
Henrik Rydgård
ecb84987ef
Remove allocation from the heaviest MemBlockInfo path (BlockTransfer). Required some refactoring.
2022-09-01 11:59:35 +02:00
Henrik Rydgård
437d6d30a0
KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect.
...
See #6207 comments
2022-08-31 11:40:42 +02:00
Henrik Rydgård
70f7f74a05
Check X coordinate of through-mode drawcalls to figure out which of the splits to render to
2022-08-31 01:09:23 +02:00
Henrik Rydgård
44d822be3b
Address feedback
2022-08-30 06:41:37 +02:00
Henrik Rydgård
847e05140b
Add another stat, for self-tex
2022-08-29 17:41:29 +02:00
Henrik Rydgård
f228de76ef
Fix OpenGL bug when framebuffer fetch is available. Add two new stats.
2022-08-29 15:39:29 +02:00
Henrik Rydgård
cd37bffdaa
Better framebuffer checks, remove all ways that framebuffer formats can change.
2022-08-29 11:06:45 +02:00
Henrik Rydgård
f79acd651d
Comment updates
2022-08-25 00:29:44 +02:00
Henrik Rydgård
99404f0a15
Fix BlueToAlpha together with reinterpret. Add back fake reinterpret for now.
2022-08-24 14:40:37 +02:00
Henrik Rydgård
5d50d02227
Merge pull request #15894 from unknownbrackets/debugger
...
GE Debugger: Record only one flip if display framebuf not changed, step on vsync
2022-08-24 06:27:31 +02:00
Unknown W. Brackets
27d00199c8
GE Debugger: Fix bad read on step at start of VRAM.
2022-08-23 19:50:19 -07:00
Unknown W. Brackets
a901fa4315
GE Debugger: Add separate step based on vsync.
...
I think there were some games where this would step in the middle of a
frame, but not seeing it commonly now. So make it the default, but allow
both methods in the menu.
Fixes #15893 .
2022-08-23 19:48:34 -07:00
Unknown W. Brackets
c581a83896
GPU: Centralize SetDisplayFramebuffer().
2022-08-23 19:29:06 -07:00
Unknown W. Brackets
86085335ca
GE Debugger: Record 1 flip if no display calls.
...
Before we were waiting 4 flips before ending recording.
2022-08-23 19:20:14 -07:00
Henrik Rydgård
51686f4936
Copy color from overlapping framebuffers on bind, under certain conditions.
...
Leads to much faster performance in Juiced 2.
This will later be expanded to handle more things in a more elegant way,
like the framebuffer overlap in God of War for the shadows and
color reinterpretation in a generic way.
Fixes #15728
2022-08-22 16:06:55 +02:00
Henrik Rydgård
29ea3ffe0c
Restore the clearing optimization, avoiding unnecessary depth copies
2022-08-20 09:46:15 +02:00
Henrik Rydgård
12db0e52d4
Fix deferred-depth for bezier/spline. Move updating of last_frame_depth_render to GPUCommon.
2022-08-20 08:29:33 +02:00
Henrik Rydgård
a0ac2dffc7
Defer depth copies until depth buffer is actually used.
...
Fixes
2022-08-20 08:29:33 +02:00
Henrik Rydgård
9f2447c0b4
Assorted minor cleanup
2022-08-16 10:55:44 +02:00
Unknown W. Brackets
710abcc288
GPU: Write stencil fail to alpha is RGB masked.
...
See #15813 (Hunter x Hunter) which does this for shadows.
2022-08-09 18:45:49 -07:00
Unknown W. Brackets
20c2ec1392
GPU: Skip alpha stencil upload when safe.
...
Otherwise, let's not do things that give different behavior at 1x or are
inconsistent.
2022-08-06 21:12:59 -07:00
Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +02:00
Henrik Rydgård
c158414858
Give the mip bias its own uniform flag.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
0caaa74be9
Possible flicker fix for Macross
2022-07-31 10:43:48 +02:00
Henrik Rydgård
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Unknown W. Brackets
1233d1d376
Reporting: Disable when debugger methods used.
...
This won't catch all means of hacking memory, but will catch some.
Trying to reduce noise in reporting from debugging.
2022-07-30 18:21:32 -07:00
Henrik Rydgård
89845eae7a
Add GPU stat for number of depth copies per frame
...
Will be useful for evaluating #15700
2022-07-24 17:12:43 +02:00
Henrik Rydgård
e6403d7157
Split GetPointer into two versions, to help with const correctness
2022-07-24 13:26:19 +02:00
Unknown W. Brackets
c15c4a6967
UI: Add analog speed limit mapping.
...
Only shows up as a setting if mapped, to avoid cluttering settings.
2022-07-04 19:14:05 -07:00
Unknown W. Brackets
a60d27a4f3
GPU: Fix skip buffer effects rendering.
...
Broken by blue-to-alpha changes. Without calling SetRenderFramebuffer, we
were never reconsidering the initial SKIPDRAW_NON_DISPLAYED_FB flag and
all drawing was getting skipped.
2022-05-22 12:24:03 -07:00
Henrik Rydgård
62808b89ef
Fix discrepancy in how the LMODE flag is calculated between VS and FS
2022-05-03 00:06:42 +02:00
Henrik Rydgård
5868cf0f1c
Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret.
2022-04-30 18:17:29 +02:00
Henrik Rydgård
f5e519ed4b
Oops, gotta update the cached framebuffer format in the other drawing paths too
2022-04-30 18:17:17 +02:00
Henrik Rydgård
462972f7ea
Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF.
...
This is used by several games to render to the alpha channel of RGBA4444
images, which cannot normally be done directly on the PSP.
Can be used as a far more efficient replacement for
ReinterpretFramebuffers/ShaderColorBitmask
2022-04-30 18:17:16 +02:00
Henrik Rydgård
7be86264d0
Move framebufFormat to gstate_c, so we can override it
2022-04-30 18:16:09 +02:00
Henrik Rydgård
1bbaba4103
Fix some NEON code that had bad compile-time checks (and some didn't compile)
2022-04-15 00:54:44 +02:00
Henrik Rydgård
a68ddd0a8d
Merge separate NEON functions into the normal functions.
...
We no longer support non-NEON ARM.
It's nice also to have the NEON and SSE implementations "close" to each
other, easier to port optimizations back and forth etc.
2022-04-12 23:43:21 +02:00
Henrik Rydgård
d50da7dc55
Don't track small wide-stride block transfers
2022-03-08 19:46:00 +01:00
Unknown W. Brackets
539e2bbbf8
Debugger: Track unchanged VRAM to avoid copy.
...
See #15251 , the framedump here reused a VRAM texture for many draws, and
this caused it to recopy the texture over and over again. Use a flag to
skip if possible.
2022-02-20 13:51:40 -08:00
Henrik Rydgård
50350e13ac
Merge pull request #15378 from unknownbrackets/gedebugger-skip
...
GE Debugger: Add filter to skip prim calls
2022-02-07 08:52:57 +01:00
Unknown W. Brackets
c66619f7c9
GE Debugger: Add filter to skip prim calls.
...
This allows you to cut prims from the scene as desired.
2022-02-06 21:25:33 -08:00
Unknown W. Brackets
80e054b797
Debugger: Avoid write tag lookup on small alloc.
2022-02-06 09:28:48 -08:00
Unknown W. Brackets
459bb83c23
GE Debugger: Allow modify/breakpoint on matrix.
2022-02-06 00:16:35 -08:00
Unknown W. Brackets
4a8d320479
GE Debugger: Flush downcount when changing lists.
...
In case you step ahead or similar.
2022-02-05 19:27:25 -08:00
Unknown W. Brackets
be8c74cabe
softgpu: Avoid flush on END.
...
We only, but always, flush when exiting list interp in FinishDeferred.
It's not necessary at END, and hurts for simple signals that don't stop
list processing.
2022-01-31 19:32:46 -08:00
Henrik Rydgård
2a82d392e3
Remove double flush in GE_CMD_END
2022-02-01 00:05:32 +01:00
Henrik Rydgård
6d31562ea7
GPUCommon: Remove misleading flag FLUSHBEFORE.
...
Fixes the new problem in #13967
Though of course doesn't fix the vertical lines.
2022-01-31 23:57:56 +01:00
Unknown W. Brackets
129a603832
Display: Account for stepping time in graphs.
...
Frame times should count that as sleep too.
2022-01-30 11:53:48 -08:00
Henrik Rydgård
1c18c172a1
Merge pull request #15339 from unknownbrackets/softgpu-flags
...
Use dirty flags for softgpu state updates
2022-01-24 09:17:37 +01:00