Ryujinx-git/Ryujinx.Graphics.Vulkan
riperiperi f502cfaf62
Vulkan: Zero blend state when disabled or write mask is 0 (#3719)
* Zero blend state when disabled or write mask is 0

Any difference in the blend state when blend is disabled is meaningless, but Ryujinx would compare different disabled blends and compile them as separate pipelines. This change ensures that all pipelines where blend state is meaningless record it as such, which avoids compiling a bunch of pipelines that are essentially identical.

The NVIDIA driver is pretty forgiving when it comes to silly pipeline misses like this, but other drivers don't offer the same level of kindness.

This should reduce stuttering on those drivers, and might improve overall performance very slightly due to less pipeline variants being in the hash table.

* Fix blend possibly being wrong when an attachment is unmasked
2022-09-29 12:32:49 -03:00
..
Queries Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Shaders Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
Auto.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
AutoFlushCounter.cs Periodically Flush Commands for Vulkan (#3689) 2022-09-14 13:48:31 -03:00
BackgroundResources.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
BitMap.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
BufferHolder.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
BufferManager.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
BufferState.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
BufferUsageBitmap.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
CacheByRange.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
CommandBufferPool.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
CommandBufferScoped.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Constants.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetCollection.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DescriptorSetUpdater.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
DisposableBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableBufferView.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableFramebuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableImage.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableImageView.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableMemory.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposablePipeline.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableRenderPass.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
DisposableSampler.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
EnumConversion.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
FenceHelper.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatCapabilities.cs Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02:00
FormatConverter.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
FormatTable.cs Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02:00
FramebufferParams.cs Implement HLE macros for render target clears (#3528) 2022-08-04 21:30:08 +00:00
HardwareCapabilities.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
HashTableSlim.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
HelperShader.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
IdList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
IndexBufferPattern.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
IndexBufferState.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
MemoryAllocation.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MemoryAllocator.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MemoryAllocatorBlockList.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
MultiFenceHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
NativeArray.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
PersistentFlushBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineBase.cs Vulkan: Zero blend state when disabled or write mask is 0 (#3719) 2022-09-29 12:32:49 -03:00
PipelineConverter.cs Vulkan: Zero blend state when disabled or write mask is 0 (#3719) 2022-09-29 12:32:49 -03:00
PipelineDynamicState.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
PipelineFull.cs Periodically Flush Commands for Vulkan (#3689) 2022-09-14 13:48:31 -03:00
PipelineHelperShader.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
PipelineLayoutCache.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineLayoutCacheEntry.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineLayoutFactory.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
PipelineState.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
PipelineUid.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
Ryujinx.Graphics.Vulkan.csproj Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
SamplerHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
SemaphoreHolder.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
Shader.cs Removed extra semicolons. (#3594) 2022-08-17 09:05:15 +02:00
ShaderCollection.cs Rename ToSpan to AsSpan (#3556) 2022-08-11 18:07:37 -03:00
StagingBuffer.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
SyncManager.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TextureBuffer.cs Fast path for Inline-to-Memory texture data transfers (#3610) 2022-08-26 02:16:41 +00:00
TextureCopy.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TextureStorage.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
TextureView.cs Fix R4G4B4A4 format on Vulkan (#3696) 2022-09-13 07:59:38 +02:00
Vendor.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
VertexBufferState.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
VulkanConfiguration.cs Use RGBA16 vertex format if RGB16 is not supported on Vulkan (#3552) 2022-08-20 16:20:27 -03:00
VulkanException.cs Vulkan backend (#2518) 2022-07-31 18:26:06 -03:00
VulkanInitialization.cs Restride vertex buffer when stride causes attributes to misalign in Vulkan. (#3679) 2022-09-08 20:30:19 -03:00
VulkanRenderer.cs Convert Quads to Triangles in Vulkan (#3715) 2022-09-20 18:38:48 -03:00
Window.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00
WindowBase.cs Avalonia - Use embedded window for avalonia (#3674) 2022-09-19 15:05:26 -03:00