1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-09-21 06:24:10 +01:00
Ryujinx/Ryujinx.Graphics.GAL
riperiperi ece36b274d
GAL: Send all buffer assignments at once rather than individually (#3881)
* GAL: Send all buffer assignments at once rather than individually

The `(int first, BufferRange[] ranges)` method call has very significant performance implications when the bindings are spread out, which they generally always are in Vulkan. This change makes it so that these methods are only called a maximum of one time per draw.

Significantly improves GPU thread performance in Pokemon Scarlet/Violet.

* Address Feedback

Removed SetUniformBuffers(int first, ReadOnlySpan<BufferRange> buffers)
2022-11-24 07:50:59 +00:00
..
Multithreading GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
AddressMode.cs
BlendDescriptor.cs Implement Constant Color blends (#1119) 2020-04-25 23:00:43 +10:00
BlendFactor.cs
BlendOp.cs Fix incorrect GPU GL blend func values (#1612) 2020-10-13 14:45:41 +11:00
BufferAssignment.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
BufferHandle.cs Spanify Graphics Abstraction Layer (#1226) 2020-05-23 11:46:09 +02:00
BufferRange.cs Fix transform feedback errors caused by host pause/resume and multiple uses (#1634) 2020-10-25 17:23:42 -03:00
Capabilities.cs Move gl_Layer from vertex to geometry if GPU does not support it on vertex (#3866) 2022-11-18 23:27:54 -03:00
ColorF.cs Implement Constant Color blends (#1119) 2020-04-25 23:00:43 +10:00
CompareMode.cs
CompareOp.cs
CounterType.cs
DepthMode.cs
DepthStencilMode.cs
DepthTestDescriptor.cs
DeviceInfo.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Extents2D.cs Allow copy destination to have a different scale from source (#1711) 2020-11-20 17:14:45 -03:00
Extents2DF.cs Implement DrawTexture functionality (#2747) 2021-11-10 15:37:49 -03:00
Face.cs
Format.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
FrontFace.cs
HardwareInfo.cs Removed unused usings. (#3593) 2022-08-18 18:04:54 +02:00
ICounterEvent.cs Add a Multithreading layer for the GAL, multi-thread shader compilation at runtime (#2501) 2021-08-27 00:31:29 +02:00
ImageCrop.cs Force crop when presentation cached texture size mismatches (#2957) 2021-12-31 12:00:42 -03:00
IndexType.cs
IPipeline.cs GAL: Send all buffer assignments at once rather than individually (#3881) 2022-11-24 07:50:59 +00:00
IProgram.cs Implement parallel host shader cache compilation. 2021-04-18 17:33:58 +01:00
IRenderer.cs Removed unused usings. (#3593) 2022-08-18 18:04:54 +02:00
ISampler.cs
ITexture.cs GPU: Pass SpanOrArray for Texture SetData to avoid copy (#3745) 2022-10-08 12:04:47 -03:00
IWindow.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00
LogicalOp.cs Implement Logical Operation registers and functionality (#1380) 2020-07-10 14:23:15 -03:00
MagFilter.cs
MinFilter.cs
MultisampleDescriptor.cs Add support for alpha to coverage dithering (#3069) 2022-07-05 19:58:36 -03:00
Origin.cs Fix wrong face culling once and for all (#1277) 2020-05-28 09:03:07 +10:00
PolygonMode.cs Initial tessellation shader support (#2534) 2021-10-18 18:38:04 -03:00
PolygonModeMask.cs
PrimitiveTopology.cs
ProgramLinkStatus.cs Implement parallel host shader cache compilation. 2021-04-18 17:33:58 +01:00
ProgramPipelineState.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
Rectangle.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Ryujinx.Graphics.GAL.csproj infra: Migrate to .NET 7 (#3795) 2022-11-09 20:22:43 +01:00
SamplerCreateInfo.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ScreenCaptureImageInfo.cs Add Screenshot Feature (#2354) 2021-06-28 22:09:43 +02:00
ShaderBindings.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ShaderInfo.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ShaderSource.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
StencilOp.cs Add alternative "GL" enum values for StencilOp (#3321) 2022-05-05 21:16:58 +02:00
StencilTestDescriptor.cs
SupportBufferUpdater.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
SwizzleComponent.cs
Target.cs Copy dependency for multisample and non-multisample textures (#3382) 2022-06-05 14:06:47 -03:00
TextureCreateInfo.cs Clamp number of mipmap levels to avoid API errors due to invalid textures (#2808) 2021-11-03 20:58:24 -03:00
TextureReleaseCallback.cs
VertexAttribDescriptor.cs Avoid some redundant GL calls (#1958) 2021-01-27 08:44:07 +11:00
VertexBufferDescriptor.cs
Viewport.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
ViewportSwizzle.cs Fix wrong face culling once and for all (#1277) 2020-05-28 09:03:07 +10:00