Henrik Rydgård
a8939f456a
Remove dead code, validation fix in GE debugger
...
See #16490
2022-12-04 00:49:48 +01:00
Unknown W. Brackets
59431de823
Merge pull request #16494 from hrydgard/force-lower-res-for-effects-off
...
Force "Lower resolution for effects" off in Ratchet & Clank and a few other games
2022-12-03 15:25:57 -08:00
Henrik Rydgård
8567416be6
Force "Lower resolution for effects" off in Ratchet & Clank and a few other games
...
It breaks or just makes things look terrible in these games, so no
reason to allow it.
An alternative for this would be to remove the option entirely, and only
use it though the ForceLowerResolutionForEffectsOn flag instead.
2022-12-03 23:35:54 +01:00
Henrik Rydgård
c310d1471e
Merge pull request #16493 from unknownbrackets/softgpu-opt
...
softgpu: Check CLUT alpha to optimize out blend/alpha test
2022-12-03 22:55:53 +01:00
Unknown W. Brackets
0aba5ff3c1
TexCache: Correct alpha mask checks for SSE2.
...
Should have been shifts by byte (4/8), but let's just switch to shuffles
anyway. These were always shifting in zeros and failing.
2022-12-03 12:38:01 -08:00
Henrik Rydgård
6acbd1f9e3
Fix loading of texture shaders
2022-12-03 20:37:58 +01:00
Henrik Rydgård
f3ba8fb334
Address feedback, also sort texture shaders
2022-12-03 19:30:50 +01:00
Henrik Rydgård
f5c0dc717a
Sort post-shaders alphabetically in the list.
2022-12-03 18:58:47 +01:00
Henrik Rydgård
02b8bf33fb
Merge pull request #16458 from hrydgard/desktop-friendly-msaa
...
Implement MSAA support for desktop GPUs in Vulkan
2022-12-03 11:22:41 +01:00
Henrik Rydgård
d6b9f39215
Merge pull request #16483 from lvonasek/hotfix_simpsons_crash
...
Simpsons crash on GLES fixed
2022-12-03 10:40:02 +01:00
Henrik Rydgård
116bc9d59a
Merge pull request #16485 from unknownbrackets/softgpu-fog-nan
...
softgpu: Handle infnan fog coefficients better
2022-12-02 19:49:32 +01:00
Unknown W. Brackets
c5844c4174
GE Debugger: Add breakpoint symbol for prim count.
...
This way you can break when a register is changed and prim count is in a
certain range, which can be convenient.
2022-12-02 10:14:36 -08:00
Henrik Rydgård
35777d5eef
Use proper copies for depth blits between multisampled framebuffers. Needed to keep all the information.
2022-12-02 15:26:29 +01:00
Lubos
b41a782fcd
Revert "Centralize ClearCacheNextFrame"
...
This reverts commit cbfa4bfc8e .
2022-12-02 14:32:27 +01:00
Unknown W. Brackets
106d730a20
GPU: Optimize out common case texture proj.
...
NFS Most Wanted 5-1-0 uses this when it could use uv scale/offset.
2022-12-01 23:20:25 -08:00
Henrik Rydgård
8a3e92aa38
Not pretty, but with this, you can switch MSAA level at runtime.
2022-12-01 23:41:31 +01:00
Henrik Rydgård
7950a00c14
Headless buildfix. Crashfix in shader generator test.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
b9ea8de135
Use raster copies to work around lack of working copy support in MSAA mode.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
8208768c15
Add a pipeline flag for USES_DISCARD. Will be used for the MSAA quality setting.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
e3679df6cf
Fix switching between MSAA levels
2022-12-01 22:49:00 +01:00
Henrik Rydgård
4dfce4f6bc
Basically working MSAA on desktop GPUs! Some glitches remain.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
06af304c8d
Multisampling groundwork
2022-12-01 22:49:00 +01:00
Unknown W. Brackets
4866518b84
Merge pull request #16477 from hrydgard/invalidation-refactor
...
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
2022-12-01 11:05:04 -08:00
Henrik Rydgård
331d024a8c
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
...
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård
e6f0f84a45
SSE optimize Float4ToUint8x4, some uses
2022-12-01 16:32:23 +01:00
Henrik Rydgård
d02f46cb27
Minor VertexReader optimizations
2022-12-01 16:00:47 +01:00
Unknown W. Brackets
fc5dcd0c16
GLES: Correct unit tests for framebuffer fetch.
2022-12-01 00:59:22 -08:00
Unknown W. Brackets
d763dca024
GPU: Correct fetch assert.
2022-12-01 00:17:14 -08:00
Henrik Rydgård
d72ad3b3f4
Fragment shader generator: Move the framebuffer fetch bit to the shader ID.
...
Will resolve a future issue in the multisampling PR, where the
GPU_USE_FRAMEBUFFER_FETCH flag changes at runtime if you switch between no AA and MSAA.
Just figured I'd get it in separately for safety.
2022-11-30 00:26:15 +01:00
Henrik Rydgård
390bf3e912
Fix Burnout Dominator lens flare on OpenGL ES
...
Not the prettiest solution, but works: Use R8_UNORM as a fallback
if R16_UNORM is not available.
2022-11-29 13:05:18 +01:00
Lubos
d466ae161a
OpenXR - HUD max scale fixed
2022-11-28 19:46:46 +01:00
Lubos
164c27f5ec
OpenXR - Screen stretching fixed
2022-11-28 19:25:13 +01:00
Henrik Rydgård
9bb0c91a75
Sneak in a minor software transform optimization
2022-11-28 11:10:50 +01:00
Henrik Rydgård
ed151473c2
Merge pull request #16454 from unknownbrackets/fb-depal-fb
...
GPU: Support framebuf depal from rendered CLUT
2022-11-28 09:47:22 +01:00
Unknown W. Brackets
9425d0670a
GPU: Prevent decimating CLUT framebuffers.
...
Fixes color changing after a few moments in Kurohyo.
2022-11-27 21:24:02 -08:00
Unknown W. Brackets
a7c4258e9f
GPU: Support framebuf depal from rendered CLUT.
...
Using a temporary always for simplicity.
2022-11-27 21:16:24 -08:00
Unknown W. Brackets
194c4b0286
TexCache: Support offset in rendered CLUTs.
...
We already copy to a temp, so just use that copy to normalize out the
offset. Should even get RECT2LIN correct, but most cases are 1 pixel high
anyway.
2022-11-27 21:15:15 -08:00
Henrik Rydgård
72029b678a
Empirical attempt at fixing #15661
...
Basically, software culling fails in some configuration, like the one we
end up with on Mali.
As noted by unknownbrackets in #15661 , the viewport Z scale, offset is -0.0, 0.0.
We end up with CalcCullParams computing minZValue == maxZValue == 1.0f,
and with the vertices ending up with z,w == 1.0, 1.0.
and as a result, the inside/outside calculations will always decide that
it's outside.
Changing the comparisons from >= / <= to > / < fixes the problem, but I
don't know if this might break something else.
Anyhow, here's the simple way to repro on PC:
Change the ending of GPU_Vulkan::CheckFeatures to:
```c
return GPU_USE_LIGHT_UBERSHADER | GPU_USE_BLEND_MINMAX | GPU_USE_TEXTURE_NPOT | GPU_USE_INSTANCE_RENDERING |
GPU_USE_VERTEX_TEXTURE_FETCH | GPU_USE_TEXTURE_FLOAT | GPU_USE_16BIT_FORMATS | GPU_USE_TEXTURE_LOD_CONTROL |
GPU_USE_DEPTH_TEXTURE | GPU_USE_ACCURATE_DEPTH;
```
2022-11-27 23:16:16 +01:00
Henrik Rydgård
200e2f26c4
OffsetY fix for non-vulkan backends
2022-11-27 22:58:49 +01:00
Henrik Rydgård
d667bd84a3
Add back the old stretch-if-close-to-16:9 hack
2022-11-27 16:16:18 +01:00
Henrik Rydgård
bdfde4cbac
Implement the new screen sizing parameters
2022-11-27 16:16:04 +01:00
Henrik Rydgård
0b375bb357
Colin McRae: Use compat flag to avoid GPU readbacks for VRAM->VRAM copies.
...
Improves performance when the sun is visible, see #7810
2022-11-26 18:53:13 +01:00
Henrik Rydgård
d97035fffc
Merge pull request #16434 from unknownbrackets/stencil-opt
...
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Unknown W. Brackets
b33662550f
Vulkan: Use stencil export when available.
...
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Unknown W. Brackets
d243d45741
GPU: Upload stencil to latest buffer.
...
Just being safe.
2022-11-24 16:33:31 -08:00
Henrik Rydgård
7b154d6895
Don't forget to rebind the framebuffer after copying a framebuffer to CLUT.
2022-11-24 10:12:12 +01:00
Henrik Rydgård
7eee7f2573
Fix shader debug description issue.
2022-11-23 15:41:20 +01:00
Henrik Rydgård
6d9bb1b29e
Move post-processing settings to DisplayLayoutScreen
2022-11-22 23:29:50 +01:00
Lubos
70d30d1cf6
OpenXR - Aspect ratio of menu background fixed
2022-11-22 21:49:52 +01:00
Henrik Rydgård
ddd2c6e343
Merge pull request #16409 from hrydgard/preserve-framebuffers
...
Preserve framebuffer on pause screen even if render resolution is changed
2022-11-22 10:03:47 +01:00