Ryujinx/src/Ryujinx.Graphics.GAL
riperiperi 31ed061bea
Vulkan: Improve texture barrier usage, timing and batching (#6240)
* WIP barrier batch

* Add store op to image usage barrier

* Dispose the barrier batch

* Fix encoding?

* Handle read and write on the load op barrier.

Load op consumes read accesses but does not add one, as the only other operation that can read is another load.

* Simplify null check

* Insert barriers on program change in case stale bindings are reintroduced

* Not sure how I messed this one up

* Improve location of bindings barrier update

This is also important for emergency deferred clear

* Update src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs

Co-authored-by: Mary Guillemard <thog@protonmail.com>

---------

Co-authored-by: Mary Guillemard <thog@protonmail.com>
2024-02-17 00:21:37 -03:00
..
Multithreading Vulkan: Improve texture barrier usage, timing and batching (#6240) 2024-02-17 00:21:37 -03:00
AddressMode.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
AdvancedBlendDescriptor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
AdvancedBlendOp.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
AdvancedBlendOverlap.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
AntiAliasing.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
BlendDescriptor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
BlendFactor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
BlendOp.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
BufferAccess.cs Implement support for multi-range buffers using Vulkan sparse mappings (#5427) 2023-12-04 20:30:19 +01:00
BufferAssignment.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
BufferHandle.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
BufferRange.cs Vulkan: Buffer Mirrors for MacOS performance (#4899) 2023-08-14 14:18:47 -03:00
Capabilities.cs Implement support for multi-range buffers using Vulkan sparse mappings (#5427) 2023-12-04 20:30:19 +01:00
ColorF.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
CompareMode.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
CompareOp.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
CounterType.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
DepthMode.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
DepthStencilMode.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
DepthTestDescriptor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
DeviceInfo.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Extents2D.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Extents2DF.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Face.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Format.cs Implement X8Z24 texture format (#6315) 2024-02-15 19:06:26 -03:00
FrontFace.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
HardwareInfo.cs Use driver name instead of vendor name in the status bar for Vulkan. (#6146) 2024-01-26 01:07:20 +01:00
ICounterEvent.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
ImageCrop.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
IndexType.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
IPipeline.cs Vulkan: Improve texture barrier usage, timing and batching (#6240) 2024-02-17 00:21:37 -03:00
IProgram.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
IRenderer.cs Implement support for multi-range buffers using Vulkan sparse mappings (#5427) 2023-12-04 20:30:19 +01:00
ISampler.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ITexture.cs Move support buffer update out of the backends (#5411) 2023-07-11 14:07:41 -03:00
IWindow.cs Implement color space passthrough option (#5531) 2023-08-07 18:54:05 +01:00
LogicalOp.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
MagFilter.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
MinFilter.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
MultisampleDescriptor.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
Origin.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
PinnedSpan.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
PolygonMode.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
PolygonModeMask.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
PrimitiveTopology.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ProgramLinkStatus.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
ProgramPipelineState.cs editorconfig: Set default encoding to UTF-8 (#5793) 2023-12-04 14:17:13 +01:00
Rectangle.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
ResourceLayout.cs Delete ResourceAccess (#5626) 2023-09-05 22:59:21 +02:00
Ryujinx.Graphics.GAL.csproj Migrate to .NET 8 (#5887) 2023-11-15 17:41:31 +01:00
SamplerCreateInfo.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ScreenCaptureImageInfo.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ShaderInfo.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ShaderSource.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
StencilOp.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
StencilTestDescriptor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
SwizzleComponent.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Target.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
TextureCreateInfo.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
TextureReleaseCallback.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
UpscaleType.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
VertexAttribDescriptor.cs Move solution and projects to src 2023-04-27 23:51:14 +02:00
VertexBufferDescriptor.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
Viewport.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00
ViewportSwizzle.cs [Ryujinx.Graphics.GAL] Address dotnet-format issues (#5366) 2023-06-28 20:20:10 +02:00