Henrik Rydgård
2097a9c39b
Merge pull request #16114 from unknownbrackets/mpeg-fix
...
Mpeg: Correct Au update size
2022-09-26 17:02:56 +02:00
Unknown W. Brackets
4e31a469f0
Mpeg: Correct Au update size.
2022-09-26 07:40:17 -07:00
Henrik Rydgård
51ec3eba4f
Merge pull request #16112 from hrydgard/dynamic-matupdate
...
Fold the "materialUpdate" flag into the light-ubershader
2022-09-26 12:35:57 +02:00
Henrik Rydgård
07ca9e4656
Fold the "materialUpdate" flag into the light ubershader part.
...
This reduces the number of vertex shaders and thus pipelines by quite a
bit more in a few games, like Tekken and GoW, continuing the fight
against shader compile stutter.
The perf impact should be minimal if not positive due to less pipeline
changes.
GLES fixes
Make the vertex input declarations match (always declare fog input). Fixes D3D11 validation
Tess fix
2022-09-26 12:06:16 +02:00
Henrik Rydgård
ad1021ea4b
Add some recent flags to FragmentShaderDesc
2022-09-26 12:06:16 +02:00
Henrik Rydgård
76f03d30bf
Remove suspicious dirty flag
2022-09-26 11:21:40 +02:00
Henrik Rydgård
196f8e3461
Prepare for dynamic mat update
2022-09-26 11:21:40 +02:00
Henrik Rydgård
9c63973c9a
Minor debugger fix
2022-09-26 11:21:40 +02:00
Henrik Rydgård
94e439280e
Merge pull request #16111 from hrydgard/always-compute-fog-in-vs
...
Always do the vertex shader part of the fog computation.
2022-09-26 11:20:06 +02:00
Henrik Rydgård
970998479b
Merge pull request #16110 from unknownbrackets/sse4-normalize
...
GPU: Fix SSE4 Vec3f normalize
2022-09-26 09:46:50 +02:00
Henrik Rydgård
9d1355e137
Always do the vertex shader part of the fog computation.
...
In #16104 , we drastically reduced the number of shader variants for
games that use flexible lighting setups. I looked at a few games and it
seems that a lot of games have the same shaders with fog on/off, while
fog is super cheap to compute. So let's just always do it, reducing
vertex shader variants further (though the amount of pipelines will probably
remain the same, since we still specialize the fragment shader).
Might also be worth adding a dynamic bool for the fragment shader, but
if so, doing it separately.
2022-09-26 09:30:54 +02:00
Unknown W. Brackets
c80f325912
GPU: Fix SSE4 Vec3f normalize.
...
Was sometimes adding in garbage data, which could create NANs.
2022-09-26 00:24:12 -07:00
Unknown W. Brackets
391320db52
Merge pull request #16104 from hrydgard/light-ubershader
...
Generate "Ubershaders" that can handle all lighting configurations
2022-09-25 14:52:01 -07:00
Unknown W. Brackets
c8c25dbbf3
Merge pull request #16108 from hrydgard/fix-vulkan-pretransition-bug
...
Vulkan: Fix bug setting up pretransitions for both color and depth of the same framebuffer
2022-09-25 14:41:35 -07:00
Henrik Rydgård
f30252f8d5
Oops! Also, testfix
2022-09-25 23:35:08 +02:00
Henrik Rydgård
96f054f098
Fix light ubershader for D3D11 and OpenGL, GLES unsigned/signed stuff
2022-09-25 23:35:08 +02:00
Henrik Rydgård
7adba20fac
Experiment: Generate "Ubershaders" that can handle all lighting configurations
...
This drastically reduces the shader compile stutter that happens when a lot of new
light setups are created, like on the first punch in Tekken 6.
There's more stuff that might benefit from being made dynamic like this.
These branches are very cheap on modern GPUs since they're branching on
a uniform variable, so no divergence.
Only tested on Vulkan. I think we'll need to keep the old path too for
gpus like Mali-450...
2022-09-25 23:35:01 +02:00
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