ryujinx/Ryujinx.Graphics.Shader
riperiperi f92650fcff
SPIR-V: Initialize undefined variables with 0 (#3526)
* SPIR-V: Initialize undefined variables with a value

Changes undefined values on spir-v shaders (caused by phi nodes) to be initialized instead of truly undefined.

Fixes an issue with NVIDIA gpus seemingly not liking when a variable is _potentially_ undefined. Not sure about the details at the moment.

Fixes:
- Tilt shift blur effect in Link's Awakening (bottom of the screen)
- Potentially block flickering on newer NVIDIA gpus in Splatoon 2? Needs testing.

Testing is welcome.

* Update Ryujinx.Graphics.Shader/CodeGen/Spirv/CodeGenContext.cs

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2022-08-02 08:11:10 +02:00
..
CodeGen SPIR-V: Initialize undefined variables with 0 (#3526) 2022-08-02 08:11:10 +02:00
Decoders Fix decoding of block after shader BRA.CC instructions without predicate (#3472) 2022-07-23 11:53:14 -03:00
Instructions Add support for conditional (with CC) shader Exit instructions (#3470) 2022-07-24 15:33:30 -03:00
IntermediateRepresentation Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
StructuredIr Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Translation Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AlphaTestOp.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AttributeType.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
BufferDescriptor.cs New shader cache implementation (#3194) 2022-04-10 10:49:44 -03:00
BufferUsageFlags.cs Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790) 2021-01-17 17:08:06 -03:00
Constants.cs Initial support for shader attribute indexing (#2546) 2021-08-27 01:44:47 +02:00
IGpuAccessor.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
InputTopology.cs Implement VMAD shader instruction and improve InvocationInfo and ISBERD handling (#3251) 2022-04-08 12:42:39 +02:00
OutputTopology.cs Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
Ryujinx.Graphics.Shader.csproj Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
SamplerType.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ShaderProgram.cs New shader cache implementation (#3194) 2022-04-10 10:49:44 -03:00
ShaderProgramInfo.cs New shader cache implementation (#3194) 2022-04-10 10:49:44 -03:00
ShaderStage.cs Add support for render scale to vertex stage. (#2763) 2022-01-08 14:48:48 -03:00
SupportBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TessPatchType.cs Initial tessellation shader support (#2534) 2021-10-18 18:38:04 -03:00
TessSpacing.cs Initial tessellation shader support (#2534) 2021-10-18 18:38:04 -03:00
TextureDescriptor.cs New shader cache implementation (#3194) 2022-04-10 10:49:44 -03:00
TextureFormat.cs Implement SULD shader instruction (#1117) 2020-04-22 09:35:28 +10:00
TextureHandle.cs Bindless elimination for constant sampler handle (#3424) 2022-07-02 15:03:35 -03:00
TextureUsageFlags.cs Add support for fragment shader interlock (#2768) 2021-10-28 19:53:12 -03:00