Ryujinx/Ryujinx.Graphics.Gpu/Engine
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
..
GPFifo Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790) 2021-01-17 17:08:06 -03:00
MME Fix MacroJit SubtractWithBorrow Alu Reg Operation. (#1473) 2020-08-13 12:08:48 -03:00
Compute.cs Improve Buffer Textures and flush Image Stores (#2088) 2021-03-08 18:43:39 -03:00
ComputeQmd.cs Use correct shader local memory size instead of a hardcoded size (#914) 2020-02-02 14:25:52 +11:00
ConditionalRenderEnabled.cs Implement small indexed draws and other fixes to make guest Vulkan work (#1558) 2020-09-24 09:48:34 +10:00
IbStreamer.cs Implement small indexed draws and other fixes to make guest Vulkan work (#1558) 2020-09-24 09:48:34 +10:00
Inline2Memory.cs Fix compute reserved constant buffer updates (#1892) 2021-01-10 21:02:58 +01:00
MethodClear.cs Synchronize Rasterizer State before Clear (#1680) 2020-11-07 16:21:10 -03:00
MethodConditionalRendering.cs Fix conditional rendering without queries (#1965) 2021-01-27 08:42:12 +11:00
MethodCopyBuffer.cs Implement clear buffer (fast path) (#1902) 2021-01-13 08:50:54 +11:00
MethodCopyTexture.cs Allow copy destination to have a different scale from source (#1711) 2020-11-20 17:14:45 -03:00
MethodDraw.cs Implement small indexed draws and other fixes to make guest Vulkan work (#1558) 2020-09-24 09:48:34 +10:00
MethodFirmware.cs Ignore exit flag on branch delay slot (#899) 2020-01-22 02:11:43 +01:00
MethodIncrementSyncpoint.cs Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790) 2021-01-17 17:08:06 -03:00
MethodReport.cs Remove GPU MemoryAccessor (#1423) 2020-07-25 16:39:45 +10:00
MethodResetCounter.cs Fix some spelling mistakes 2020-01-09 02:13:00 +01:00
Methods.cs Improve Buffer Textures and flush Image Stores (#2088) 2021-03-08 18:43:39 -03:00
MethodUniformBufferBind.cs Add XML documentation to Ryujinx.Graphics.Gpu.Engine 2020-01-09 02:13:00 +01:00
MethodUniformBufferUpdate.cs Remove GPU MemoryAccessor (#1423) 2020-07-25 16:39:45 +10:00
ShaderTexture.cs Fix image binding format (#1625) 2020-10-20 19:03:20 -03:00