Commit Graph

32994 Commits

Author SHA1 Message Date
Henrik Rydgård
fd863beb96
Merge pull request #15930 from sum2012/kernel-minor
Fix sceKernelUnlockMutex timing
2022-08-30 15:34:59 +02:00
sum2012
75390be142 Fix sceKernelUnlockMutex timing
Fix https://github.com/hrydgard/ppsspp/issues/6557
2022-08-30 20:46:43 +08:00
Henrik Rydgård
59813fff6d
Merge pull request #15929 from hrydgard/fix-tex-replace-race
Fix race condition in replacement texture loading
2022-08-30 13:17:19 +02:00
Henrik Rydgård
340c75a2d9 Remove "DisableReadbacks" compat flag. MotoGP no longer needs it after BlockTransferAllowCreateFB was added. 2022-08-30 13:16:36 +02:00
Henrik Rydgård
ead833561b
Merge pull request #15926 from hrydgard/fix-framebuffer-read-dx9
Implement shader blending for D3D9
2022-08-30 13:01:04 +02:00
Henrik Rydgård
08eaf7665c Fix race condition in replacement texture loading
The texture could become valid during the load, causing an inconsistent
state within the texture loading. So can only check for valid-ness once.
2022-08-30 12:52:31 +02:00
Henrik Rydgård
a3287e07be
Merge pull request #15928 from hrydgard/texture-size-calc-fix
Clean up mip size calculations
2022-08-30 12:34:44 +02:00
Henrik Rydgård
4da2ca0935 Implement shader blending for D3D9
This was easy, dunno why I never got around to it before..
I guess I didn't know about VPOS.

This does raise our minimum shader model requirement to ps_3_0.
2022-08-30 12:19:56 +02:00
Henrik Rydgård
6f2966f502 Clean up mip size calculations
Calculating the same thing in multiple places is a recipe for bugs, so
let's not.
2022-08-30 12:05:57 +02:00
Henrik Rydgård
30dc831fc4
Merge pull request #15924 from hrydgard/prepare-depth-readback
Add support for reading depth buffers to the PackFramebufferSync function
2022-08-30 10:09:38 +02:00
Henrik Rydgård
ec00e8069a
Merge pull request #15925 from unknownbrackets/ge-disasm
GE Debugger: Improve display list disasm
2022-08-30 08:12:57 +02:00
Unknown W. Brackets
a569921716 GE Debugger: Improve display list disasm.
This makes many registers clearer, and corrects some that were totally
wrong like minz/maxz.
2022-08-29 22:58:13 -07:00
Henrik Rydgård
44d822be3b Address feedback 2022-08-30 06:41:37 +02:00
Henrik Rydgård
670c31e746 Add support for reading depth buffers to the PackFramebufferSync function.
Also adds D16 conversion code (though, could probably get away with just
creating a 16-bit depth buffer on the GPU and blit to it, where depth
blit is available).

Not yet used, just getting it in separately.
2022-08-30 00:00:59 +02:00
Henrik Rydgård
dee6ba0c1e
Merge pull request #15922 from hrydgard/remove-reinterpret-compat-flag
Remove reinterpret compat flag
2022-08-29 17:41:52 +02:00
Henrik Rydgård
847e05140b Add another stat, for self-tex 2022-08-29 17:41:29 +02:00
Henrik Rydgård
333df62691 Remove the reinterpret compat flag, now always on
Remove ini entries
2022-08-29 17:41:29 +02:00
Henrik Rydgård
2b1b9e5eb9
Merge pull request #15921 from hrydgard/more-gpu-stats
Fix OpenGL bug when framebuffer fetch is available. Add two new GPU stats.
2022-08-29 16:30:16 +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
59cb7a075f
Merge pull request #15920 from hrydgard/replace-get-vfb-at
Better framebuffer checks, remove all ways that framebuffer formats can change
2022-08-29 11:37:12 +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
34ed960a72 Use better pattern for enum switches 2022-08-28 23:57:01 +02:00
Unknown W. Brackets
3e865abae6
Merge pull request #15917 from hrydgard/vulkan-bandwidth-opt
Vulkan bandwidth optimizations (configure renderpass load/store better)
2022-08-28 14:42:55 -07:00
Henrik Rydgård
b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00
Henrik Rydgård
9b4e94c4ae Depal: Set scissor tightly around processed area. 2022-08-28 23:14:30 +02:00
Henrik Rydgård
fa1d2cfe8e
Merge pull request #15916 from unknownbrackets/ui-scissor
UI: Validate UI scissor inside bounds
2022-08-28 18:36:02 +02:00
Henrik Rydgård
e87b1c9ba8
Merge pull request #15915 from unknownbrackets/gpu-minor
GPU: Add a way to defer dirty rechecks
2022-08-28 18:10:02 +02:00
Unknown W. Brackets
da53ab8ef9 UI: Validate UI scissor inside bounds. 2022-08-28 09:01:35 -07:00
Unknown W. Brackets
f5efc1aa56 GPU: Make Spongebob hack checks more readable.
Multiline clauses are just a lie programmers tell themselves to make them
think they've written readable code, just because it's better than a
single line.

Also add comments while there, in case this causes problems.
2022-08-28 08:50:16 -07:00
Unknown W. Brackets
a8190f3eb4 GPU: Recheck depth/stencil after Spongebob hack.
Since we swap the compare, we should at least recheck it later.
2022-08-28 08:39:05 -07:00
Unknown W. Brackets
18e1efece1 GPU: Add a way to defer dirty rechecks.
These are situations where we have temporary state which will require
recalc again later.
2022-08-28 08:34:48 -07:00
Unknown W. Brackets
77c834ba5c GPU: Fix possible shift truncation.
Also, add algorithm for std::max.
2022-08-28 08:32:00 -07:00
Henrik Rydgård
5247ffa0af
Merge pull request #15910 from unknownbrackets/riscv-emitter
Add LI and compressed instructions for RISC-V
2022-08-28 15:57:03 +02:00
Henrik Rydgård
c75b0235e1 Update the Spongebob workaround check to work with MX vs ATV: Reflex. See #15907
Not ideal to not check the verts :(
2022-08-28 15:09:58 +02:00
Unknown W. Brackets
216fcb228c riscv: Add a simple unit test.
Since I haven't tried running these yet, at least best to validate...
2022-08-28 06:03:31 -07:00
Henrik Rydgård
1653dcdc1a
Merge pull request #15907 from hrydgard/reinterpret-between-32-and-16
Reinterpret between 32 and 16 bit texture formats
2022-08-28 09:49:18 +02:00
Henrik Rydgård
e63c14b45a More spongebob check tweaks, assert fix 2022-08-28 09:13:43 +02:00
Henrik Rydgård
98f2e2a370 Remove irrelevant stencil state checks 2022-08-28 07:35:26 +02:00
Henrik Rydgård
39f6621442 Address additional feedback, thanks! 2022-08-28 07:31:50 +02:00
Henrik Rydgård
dae92b41fb Safer spongebob depth inverse check, includes color check and depth func 2022-08-28 07:25:08 +02:00
Henrik Rydgård
df92f72ac3 Unify the spongebob depth inverse check 2022-08-28 07:11:00 +02:00
Unknown W. Brackets
08d82ec15b riscv: Emit compressed instructions.
Includes automatically using compressed, optionally.
2022-08-27 15:44:19 -07:00
Unknown W. Brackets
946080206d riscv: Improve sign reduce/immediate readability. 2022-08-27 15:44:18 -07:00
Unknown W. Brackets
c807d459f6 riscv: Emit ADD/SUB/etc. for ADDW/SUBW/etc. on R32.
No need to complicate code, we can just write ADDW() and expect it to work
on R32 (if ever motivated to support it.)
2022-08-27 15:44:18 -07:00
Unknown W. Brackets
c81d887a86 riscv: Include an LI helper in the emitter.
Can be used for integers and floats.
2022-08-27 15:44:18 -07:00
Henrik Rydgård
322f29ce80 Comments and fixes 2022-08-27 23:37:02 +02:00
Henrik Rydgård
6cedf34e9c Block transfer bug fix 2022-08-27 23:20:26 +02:00
Henrik Rydgård
c80245af91 OpenGL graphics fixes 2022-08-27 19:37:28 +02:00
Henrik Rydgård
a74d2ec185 Comment fixes 2022-08-27 19:24:25 +02:00
Henrik Rydgård
8bf1b2be53 Reinterpret is the proper fix for God of War's shadows. 2022-08-27 19:23:17 +02:00