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 and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
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
Henrik Rydgård
8f103f3f47
Extract the Vulkan descriptor binding cleanup from #16345
2022-11-21 20:30:20 +01:00
Henrik Rydgård
cbfa4bfc8e
Centralize ClearCacheNextFrame
2022-11-21 18:13:13 +01:00
Henrik Rydgård
eff4118769
One more refactoring step
2022-11-21 14:54:48 +01:00
Henrik Rydgård
7596713059
Refactor: Split up updating the display and render size.
2022-11-21 14:35:12 +01:00
Henrik Rydgård and GitHub
250ea5e592
Merge pull request #16407 from unknownbrackets/jit-wx
...
In jits, protect and unprotect using better estimates
2022-11-20 20:39:04 +01:00
Unknown W. Brackets
b2798c7ada
jit: Add more reasonable estimates for RX protect.
2022-11-20 10:55:35 -08:00
Henrik Rydgård and GitHub
56a879bbd6
Merge pull request #16395 from unknownbrackets/blit-prefer-raster
...
GPU: Prefer raster for depth blit if supported
2022-11-18 16:50:35 +01:00
Unknown W. Brackets
47e5df3844
GPU: Prefer raster for depth blit if supported.
...
This seems to work around an apparent NVIDIA driver bug.
2022-11-17 18:32:38 -08:00
Lubos
db8b159d9e
OpenXR - Force PSP menu aspect ratio
2022-11-17 17:30:29 +01:00
Unknown W. Brackets
aac2faa674
GPU: Automatically reduce depth range on == test.
...
Fixes graphic issues in Blade Dancer, possibly other games.
2022-11-13 08:13:22 -08:00
Henrik Rydgård and GitHub
1ae6047da9
Merge pull request #16379 from unknownbrackets/stencil-android
...
Fix alpha/stencil replace on Adreno when color masked
2022-11-13 10:12:39 +01:00