Commit graph

33608 commits

Author SHA1 Message Date
Henrik Rydgård
a7642bac15 Replace faulty layout transition deduplication algorithm. 2022-09-25 23:24:54 +02:00
Henrik Rydgård
894ab45677 Vulkan: Add debug names to our command buffers, so you can see which one errored in validation 2022-09-25 23:24:29 +02:00
Henrik Rydgård
e30e45fa26 Minor cleanup in TinySet 2022-09-25 23:23:53 +02:00
Henrik Rydgård
b1afeeaf43
Merge pull request #16100 from unknownbrackets/d3d9-debugger
D3D9: Allow INTZ depth buffers more correctly
2022-09-25 17:37:56 +02:00
Unknown W. Brackets
e6db0bef2d
Merge pull request #16099 from hrydgard/vulkan-dont-always-alloc-depth
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
2022-09-25 08:05:50 -07:00
Henrik Rydgård
788e80b2fc
Merge pull request #16105 from GABO1423/master
(UWP) Remove expandedResources
2022-09-25 16:33:59 +02:00
GABO1423
212598fc27
(UWP) Remove expandedResources 2022-09-25 10:04:56 -04:00
Henrik Rydgård
a26a353c25
Merge pull request #16102 from unknownbrackets/softgpu-bin-tweaks
softgpu: Avoid waiting for a thread to drain
2022-09-25 10:01:44 +02:00
Henrik Rydgård
70c5ca62e6 Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts. 2022-09-25 09:56:39 +02:00
Henrik Rydgård
8a4147c042
Merge pull request #16101 from unknownbrackets/softgpu-fixes
softgpu: Avoid fast path in another wrong case
2022-09-25 09:52:29 +02:00
Henrik Rydgård
a76dcf0e76
Merge pull request #16098 from hrydgard/dont-compile-incompatible-shader-variants
Vulkan: Don't compile shader variants for incompatible render pass types
2022-09-25 09:48:39 +02:00
Unknown W. Brackets
24560eef5c softgpu: Avoid waiting for a thread to drain.
If we can, we want to keep the thread queues healthy, but not full.
Reduce the amount we push on a typical drain to avoid the Wait().
2022-09-24 20:01:00 -07:00
Unknown W. Brackets
1aa6841759 softgpu: Increase queued prims.
We made them smaller, so we can queue more of them in the same space.
Helps a little bit.
2022-09-24 20:01:00 -07:00
Unknown W. Brackets
444781c7b0 softgpu: Fix triangle strip with partial rects.
Seen in Wild Arms XF shop menu.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
c47d7eab38 softgpu: Simply 5551 blending fast path.
Since it only supports multiply and add, let's just stick with that.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
1eeb4f0bcf softpu: Refactor out 5551 fast path checks.
They were duplicated, and better to organize them according to state.
2022-09-24 18:55:45 -07:00
Unknown W. Brackets
f30b1d048d softgpu: Avoid fast path in another wrong case.
Seen in Kurohyo.  Missed that the alpha blend check essentially means only
standard blending can work.
2022-09-24 17:53:09 -07:00
Unknown W. Brackets
81e8336985 D3D9: Allow INTZ depth buffers more correctly.
The FBO check was wrong and just always failed.
2022-09-24 15:17:18 -07:00
Henrik Rydgård
753fd13494 Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
Pretty small impact, but good to do.

An interesting extension of this would upconvert framebuffers in the
FramebufferManager to have a depth buffer the first time depth is used on them,
but this doesn't do that yet.
2022-09-24 23:21:48 +02:00
Henrik Rydgård
08d2cb4486 Bump the shader cache version 2022-09-24 22:40:42 +02:00
Henrik Rydgård
9f3dfe7ebe Vulkan: Don't compile pipeline variants that don't make sense given their flags.
Ran into this with cache files from previous version of my change.

Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Henrik Rydgård
ef99a27e9f
Merge pull request #16096 from unknownbrackets/ge-debugger
GE Debugger: Add option to track pixel in preview
2022-09-24 22:38:58 +02:00
Unknown W. Brackets
19970df430 GE Debugger: Add option to track pixel in preview. 2022-09-24 12:23:02 -07:00
Unknown W. Brackets
3cc628beb4 GE Debugger: Copy images optionally with alpha.
Although, lots of apps don't support this.
2022-09-24 11:43:52 -07:00
Unknown W. Brackets
f3722faef4 GE Debugger: Add a direct copy for preview images. 2022-09-24 10:05:41 -07:00
Henrik Rydgård
c3b4caa30b
Merge pull request #15984 from lvonasek/compat_openxr_gta
OpenXR - Sky fix for GTA games
2022-09-24 17:16:28 +02:00
Lubos
5b334a7945 OpenXR - PreprocessStep function implemented 2022-09-24 16:32:55 +02:00
Lubos
09bf5f507b OpenXR - Simplify skyplane detection in GTA 2022-09-24 11:35:51 +02:00
Henrik Rydgård
895b916a12
Merge pull request #16094 from unknownbrackets/softgpu-bloom
softgpu: Optimize rectangle sampling/blending used in bloom
2022-09-24 11:25:05 +02:00
Lubos
84b7485798 OpenXR - Get rid of an ugly if condition 2022-09-24 11:14:20 +02:00
Unknown W. Brackets
c76d31dfa8 GPU: Cleanup unused CheckAlpha() funcs. 2022-09-24 02:00:03 -07:00
Unknown W. Brackets
6e6535c263 softjit: Skip reading dst pixel where blended out.
Sometimes used by blends used purely to multiply the source color by
something, usually prep for bloom.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
a4c3718431 softgpu: Optimize rectangle sampling/blending.
Sometimes the vertex color or alpha can allow us to optimize away some
multiplication.
2022-09-24 02:00:03 -07:00
Unknown W. Brackets
794a5c07ad softgpu: Ignore a needless color test case.
This happens in Ridge Racer, and we can entirely skip the color test.
2022-09-24 02:00:03 -07:00
Henrik Rydgård
7aee1f2bfb
Merge pull request #16092 from unknownbrackets/vulkan-debugger
Vulkan: Avoid crash on two backbuffer steps
2022-09-24 07:59:07 +02:00
Henrik Rydgård
0ce4e1be9d
Merge pull request #16093 from unknownbrackets/ge-frame-dump
GE Debugger: Fix small tex/clut recopying
2022-09-24 07:53:03 +02:00
Unknown W. Brackets
7ff5434968 GE Debugger: Tag frame dump replay VRAM writes.
Just for debugging, it's helpful especially paired with softgpu tagging.
2022-09-23 21:20:14 -07:00
Unknown W. Brackets
c3c5450b8f GE Debugger: Fix small tex/clut recopying.
If it's less than 256 bytes, we can't mark the entire VRAM area copied.
This still helps frame dumps avoid excessively slow VRAM recopying
situations, but fixes issues like missing trees in #12738.
2022-09-23 21:18:39 -07:00
Unknown W. Brackets
cc447aa868 HLE: Fix bad logging without latestSyscall. 2022-09-23 18:47:51 -07:00
Unknown W. Brackets
7b1ec28c30 Vulkan: Avoid crash on two backbuffer steps.
Happens when resuming from stepping, sometimes: first
EmuScreen_BackBuffer, which is done so UI is functional during stepping,
and then the actual blit.

Since this is an uncommon case, let's just allow it by reusing the
presentCmd instead of submitting it early.  Otherwise it ends up in a
pending state.
2022-09-23 18:47:51 -07:00
Unknown W. Brackets
b56bd0d0fc
Merge pull request #16090 from hrydgard/more-vulkan-cleanup-work
Simplify synchronization in VulkanRenderManager
2022-09-23 17:24:34 -07:00
Henrik Rydgård
d743bfac93
Merge pull request #16085 from unknownbrackets/softgpu-vert
softgpu: Cache reused indexed verts
2022-09-24 00:00:26 +02:00
Henrik Rydgård
3393d47e92 Remove ill-formed asserts 2022-09-23 23:14:36 +02:00
Henrik Rydgård
1259283c2e More tweaks, fix crash on exit (double-join thread) 2022-09-23 22:10:29 +02:00
Henrik Rydgård
df1297bccf Small tweak 2022-09-23 20:51:46 +02:00
Henrik Rydgård
c671b3f413 Can't seem to get around this condition variable... Oh well. 2022-09-23 20:45:52 +02:00
Henrik Rydgård
f6c78584f6 Readback fix 2022-09-23 19:45:50 +02:00
Henrik Rydgård
ef7c8844f8 Greatly simplify the thread synchronization. 2022-09-23 19:40:50 +02:00
Henrik Rydgård
f784112814 Flatten the Run function, to make it easier to reorganize. 2022-09-23 19:40:50 +02:00
Henrik Rydgård
5e63cdbcc4 Make functions private that should be private 2022-09-23 19:40:50 +02:00