ryujinx/Ryujinx.Graphics.Shader
riperiperi 1623ab524f
Improve Buffer Textures and flush Image Stores (#2088)
* Improve Buffer Textures and flush Image Stores

Fixes a number of issues with buffer textures:

- Reworked Buffer Textures to create their buffers in the TextureManager, then bind them with the BufferManager later.
  - Fixes an issue where a buffer texture's buffer could be invalidated after it is bound, but before use.
- Fixed width unpacking for large buffer textures. The width is now 32-bit rather than 16.
- Force buffer textures to be rebound whenever any buffer is created, as using the handle id wasn't reliable, and the cost of binding isn't too high.

Fixes vertex explosions and flickering animations in UE4 games.

* Set ImageStore flag... for ImageStore.

* Check the offset and size.
2021-03-08 18:43:39 -03:00
..
CodeGen Improve Buffer Textures and flush Image Stores (#2088) 2021-03-08 18:43:39 -03:00
Decoders Fix shader LOP3 predicate write condition (#1910) 2021-01-14 01:07:50 +01:00
Instructions Support multiple destination operands on shader IR and shuffle predicates (#1964) 2021-01-28 10:59:47 +11:00
IntermediateRepresentation Use multiple dest operands for shader call instructions (#1975) 2021-02-01 11:13:38 +11:00
StructuredIr Use multiple dest operands for shader call instructions (#1975) 2021-02-01 11:13:38 +11:00
Translation Simplify handling of shader vertex A (#1999) 2021-02-08 10:42:17 +11:00
BufferDescriptor.cs Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790) 2021-01-17 17:08:06 -03:00
BufferUsageFlags.cs Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790) 2021-01-17 17:08:06 -03:00
IGpuAccessor.cs Implement Force Early Z Register (#1755) 2020-12-02 00:13:27 +01:00
InputTopology.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
OutputTopology.cs Support texture rectangle targets (non-normalized coords) 2020-01-09 02:13:00 +01:00
Ryujinx.Graphics.Shader.csproj Add support for shader atomic min/max (S32) (#1948) 2021-01-26 17:38:33 +11:00
SamplerType.cs Avoid sampler conflicts on bindless samplers with the same name (#1642) 2020-10-28 21:20:43 +01:00
ShaderProgram.cs Simplify handling of shader vertex A (#1999) 2021-02-08 10:42:17 +11:00
ShaderProgramInfo.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
ShaderStage.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
TextureDescriptor.cs Salieri: shader cache (#1701) 2020-11-13 00:15:34 +01:00
TextureFormat.cs Implement SULD shader instruction (#1117) 2020-04-22 09:35:28 +10:00
TextureUsageFlags.cs Improve Buffer Textures and flush Image Stores (#2088) 2021-03-08 18:43:39 -03:00