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
Unknown W. Brackets
511c822312
GPU: Allow relative jumps and calls.
...
These are tested in gpu/signals/jumps, so they ought to work.
Doesn't seem like games generally use them, though.
2022-01-23 23:03:30 -08:00
Unknown W. Brackets
76f9103e97
softgpu: Add a table and initial dirty flags.
...
Not actually using the dirty flags to skip state, but have moved to
Execute_* functions and everything else like other graphics backends.
2022-01-23 08:08:40 -08:00
Unknown W. Brackets
eb95b99523
GE Debugger: Add option to auto flush.
...
This makes it easier to see what's happening in each draw.
2022-01-22 13:12:59 -08:00
Unknown W. Brackets
0ad4502dd2
GPU: Fix bone matrix CALL opt corruption.
...
If the matrix number is high and we have extra CALLs, we can't load it
into the memory after the bone matrixes.
2022-01-01 16:40:01 -08:00
Unknown W. Brackets
7edfdd2cdd
GPU: Rename pos/uv w for clarity.
2021-10-30 21:04:00 -07:00
Unknown W. Brackets
b4715e4d88
GPU: Correct w on immediate prim.
2021-10-30 21:01:07 -07:00
Henrik Rydgård
5dab9994b6
Bezier/Spline: Fix logical error (must flush buffered data before we modify submitType).
...
Should fix #14774
2021-09-07 23:52:06 +02:00
Henrik Rydgård
928bc88b01
Rename Unthrottle to Fast-forward globally
2021-08-18 09:28:13 +02:00
Unknown W. Brackets
8a8328c431
Common: Move ColorConv to a more appropriate place.
2021-05-01 11:20:05 -07:00