Commit Graph
9567 Commits
Author SHA1 Message Date
Unknown W. Brackets 06045b9459 GLES: Cache equal flag, load from cache. 2023-01-05 18:24:29 -08:00
Unknown W. Brackets 5749b5a825 GPU: Clear shaders on use flag change. 2023-01-05 18:24:29 -08:00
Unknown W. Brackets de3c2783f4 Vulkan: Reload shaders if use flags change. 2023-01-05 18:24:29 -08:00
Unknown W. Brackets 23d254ec21 Vulkan: Clear items as they're loaded from cache.
It's possible we could hit a double insert assert since we're on a
background thread.
2023-01-05 18:24:29 -08:00
Unknown W. Brackets 3f20562b9f Vulkan: Store saw equal depth flag in cache. 2023-01-05 18:24:29 -08:00
Unknown W. Brackets c3530e63ed GPU: Buildfix fast matrix load. 2023-01-05 18:23:02 -08:00
Unknown W. BracketsandGitHub 346d1a4089 Merge pull request #16696 from hrydgard/account-for-fast-bone-matrices
Account for the GPU cycle cost of loading bone matrices.
2023-01-05 18:01:38 -08:00
Unknown W. Brackets e5d67119a8 GPU: Avoid bloom hack on buffers used for depth.
If a buffer even has depth transferred to it, let's avoid lowering its
resolution.
2023-01-05 18:00:43 -08:00
Unknown W. Brackets f3acdb9da8 GLES: Avoid a shader constant error.
Some Adreno drivers interpret 0u as an integer.
2023-01-05 17:56:58 -08:00
Lubos cd8d28cc5a OpenXR - Fix postprocess effect in 3rd birthday EU variant 2023-01-05 22:38:50 +01:00
Lubos c77a5d37a7 OpenXR - Disable HUD when it is on max scale 2023-01-05 22:04:20 +01:00
Henrik Rydgård 5f10cabe5a Fix minor state dirtying issue with FOGCOEFENABLE 2023-01-05 16:56:13 +01:00
Henrik Rydgård 13d07f6ff4 Bump shader cache version 2023-01-05 13:12:11 +01:00
Henrik Rydgård a58bf45540 Removes LM flag from vshader in the common case, if ubershader is enabled. 2023-01-05 13:09:49 +01:00
Henrik Rydgård 389c7bf44c FragmentShaderDesc improvement (debugging) 2023-01-05 11:49:03 +01:00
Henrik Rydgård a73ccd77e3 Add FOGCOEFENABLE to the list of base uniforms.
Spotted by Unknown in #16628 comments.
2023-01-05 08:34:54 +01:00
Henrik Rydgård 85e6b4e592 Increment numFlushes near the other stat increments
Might be better for the cache, heh.
2023-01-04 17:10:56 +01:00
Henrik Rydgård d49b39e422 Remove gpuCommandsAtCallLevel stats, compute another stat more efficiently
These stats have proven rather useless since we don't plan to cache and
optimize display lists.
2023-01-04 17:07:45 +01:00
Henrik Rydgård 4e30c5c0c6 Unbreak fog, oops.
Fixes #16722
2023-01-04 13:01:00 +01:00
Henrik Rydgård 06d69e9953 Bump shader cache version 2023-01-04 11:10:38 +01:00
Henrik Rydgård b84e24cb89 Invert the nesting of specularIsZero and lmode conditions in VS. 2023-01-04 11:04:24 +01:00
Henrik Rydgård ae383147db Minor simplification in VS 2023-01-04 11:04:24 +01:00
Henrik Rydgård 18d00b0718 Remove lmode flag bit from fragment and geometry shaders 2023-01-04 11:04:23 +01:00
Henrik RydgårdandGitHub 10dee90c83 Merge pull request #16628 from hrydgard/remove-fog-fshader-flag
Make fog-enable driven by uniform instead of fragment shader flag bit
2023-01-04 11:01:19 +01:00
Henrik RydgårdandGitHub 34c11c8acf Merge pull request #16584 from hrydgard/vertex-format-vshader-id
Pass in the vertex decoder to the shader ID computation
2023-01-04 10:26:18 +01:00
Henrik Rydgård 3dbe69f585 Cache version 2023-01-04 10:17:59 +01:00
Henrik Rydgård 5cae5615ea Use more unusual values as "fog-disabled". 2023-01-04 10:14:12 +01:00
Henrik Rydgård 26c748f959 Make fog-enable driven by uniform instead of fragment shader flag bit 2023-01-04 10:14:11 +01:00
Henrik RydgårdandGitHub 830f1064e6 Merge pull request #16676 from unknownbrackets/riscv-disasm
Add disassembler for RISC-V
2023-01-04 09:52:56 +01:00
Unknown W. Brackets d45142ebaa GPU: Avoid uint by int shifts in reinterpret. 2023-01-03 23:00:17 -08:00
Unknown W. Brackets 0b6635c2dc GLES: Avoid switch-case on older glsl. 2023-01-02 14:57:06 -08:00
Unknown W. Brackets 86d748fa0c GLES: Use uint for uint shift amounts.
This seems to cause trouble for some Adreno drivers as well.
2023-01-02 14:37:38 -08:00
Unknown W. BracketsandGitHub 26dc773b2a Merge pull request #16709 from unknownbrackets/shader-errors
Correct some shader errors in reporting
2023-01-02 13:51:23 -08:00
Henrik Rydgård ae99b797d7 Remove some bad float suffixes 2023-01-02 22:30:01 +01:00
Unknown W. Brackets c8728a12d0 GLES: Use mod() not fmod() in depal shaders. 2023-01-02 13:25:40 -08:00
Henrik Rydgård 6b95ed2e2e Prevent name clash from redefining packUnorm4x8 if the driver "lies" about having it 2023-01-02 22:24:00 +01:00
Henrik Rydgård a5747d53b3 Fix some report spam 2023-01-02 22:23:50 +01:00
Unknown W. Brackets 5180486ded GLES: Force frag test cache on for Intel.
Seeing drivers report errors trying to shift the alpha value in the test.
Only seeing these errors in fragment shaders, though.
2023-01-02 13:21:47 -08:00
Unknown W. Brackets 2b4a182b46 GLES: Use hex for uint constants.
Apparently some Adreno drivers have issues (fixed in 2014):
https://developer.qualcomm.com/forum/qdn-forums/maximize-hardware/mobile-gaming-graphics-adreno/27945
2023-01-02 13:13:48 -08:00
Henrik Rydgård d8136adbed GPUCommon::FastRunLoop: Try not to crash 2023-01-02 22:01:20 +01:00
Unknown W. Brackets 761fdd353f GPU: Avoid large constant in depal shader. 2023-01-02 12:59:19 -08:00
Unknown W. Brackets f1b5cbf993 softgpu: Fix lighting with 0 exp.
Broken in #15317.  Fixes Kratos scene demo.
2023-01-02 11:42:52 -08:00
Henrik Rydgård 2951a6494f Check for valid memory range when doing fast bone matrix loads
In reality, this is probably very rarely a real concern but we do get a
measurable amount of crash reports here. Though if that first access
crashes, which it seems to, we'd probably likely crash soon after this
anyway...
2023-01-01 20:45:02 +01:00
Henrik Rydgård ee997d1353 Account for the GPU cycle cost of loading bone matrices.
This could change timing slightly in games that use many of these, like
maybe God of War for example. We should probably get it in for 1.15 and
just handle any fallout.
2023-01-01 20:35:04 +01:00
Unknown W. Brackets 77849d3eed riscv: Add disassembler.
From https://github.com/anthony-coulter/riscv-disassembler.
Modified slightly to pull in less headers in the h, prefix funcs.
2023-01-01 10:28:53 -08:00
Henrik RydgårdandGitHub 71aa4c318d Merge pull request #16690 from unknownbrackets/softgpu-init
softgpu: Detect binner alloc fail and bail
2023-01-01 16:53:58 +01:00
Unknown W. Brackets be84bc9934 softgpu: Detect binner alloc fail and bail. 2023-01-01 06:59:14 -08:00
Henrik Rydgård 9ceffa284d Vulkan: Add robustness against bad shader module compiles 2022-12-31 12:21:53 +01:00
Henrik Rydgård d2feb444b7 Bunch of defensive programming around shaders 2022-12-31 12:21:51 +01:00
Henrik Rydgård f069de2dd2 Pass the vertex decoder into the vertex shader IDs generator
Instead of just the vertex type.

This will allow things like the vertex decoder supplying defaults, in
order to reduce the number of unique vertex shaders at the cost of
slightly larger vertex data.

This doesn't actually do that yet though, it's just a refactor that can
be done separately.

Part of #16567
2022-12-30 22:57:05 +01:00