diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs b/src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs index 38f86bae..0d392a65 100644 --- a/src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs +++ b/src/Ryujinx.Graphics.Vulkan/Effects/SmaaPostProcessingEffect.cs @@ -77,23 +77,23 @@ namespace Ryujinx.Graphics.Vulkan.Effects var blendShader = EmbeddedResources.Read("Ryujinx.Graphics.Vulkan/Effects/Shaders/SmaaBlend.spv"); var neighbourShader = EmbeddedResources.Read("Ryujinx.Graphics.Vulkan/Effects/Shaders/SmaaNeighbour.spv"); - var edgeBindings = new ShaderBindings( - new[] { 2 }, - Array.Empty<int>(), - new[] { 1 }, - new[] { 0 }); - - var blendBindings = new ShaderBindings( - new[] { 2 }, - Array.Empty<int>(), - new[] { 1, 3, 4 }, - new[] { 0 }); - - var neighbourBindings = new ShaderBindings( - new[] { 2 }, - Array.Empty<int>(), - new[] { 1, 3 }, - new[] { 0 }); + var edgeResourceLayout = new ResourceLayoutBuilder() + .Add(ResourceStages.Compute, ResourceType.UniformBuffer, 2) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 1) + .Add(ResourceStages.Compute, ResourceType.Image, 0).Build(); + + var blendResourceLayout = new ResourceLayoutBuilder() + .Add(ResourceStages.Compute, ResourceType.UniformBuffer, 2) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 1) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 3) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 4) + .Add(ResourceStages.Compute, ResourceType.Image, 0).Build(); + + var neighbourResourceLayout = new ResourceLayoutBuilder() + .Add(ResourceStages.Compute, ResourceType.UniformBuffer, 2) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 1) + .Add(ResourceStages.Compute, ResourceType.TextureAndSampler, 3) + .Add(ResourceStages.Compute, ResourceType.Image, 0).Build(); _samplerLinear = _renderer.CreateSampler(GAL.SamplerCreateInfo.Create(MinFilter.Linear, MagFilter.Linear)); @@ -117,18 +117,18 @@ namespace Ryujinx.Graphics.Vulkan.Effects _edgeProgram = _renderer.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(edgeShader, edgeBindings, ShaderStage.Compute, TargetLanguage.Spirv) - }, new[] { specInfo }); + new ShaderSource(edgeShader, ShaderStage.Compute, TargetLanguage.Spirv) + }, edgeResourceLayout, new[] { specInfo }); _blendProgram = _renderer.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(blendShader, blendBindings, ShaderStage.Compute, TargetLanguage.Spirv) - }, new[] { specInfo }); + new ShaderSource(blendShader, ShaderStage.Compute, TargetLanguage.Spirv) + }, blendResourceLayout, new[] { specInfo }); _neighbourProgram = _renderer.CreateProgramWithMinimalLayout(new[] { - new ShaderSource(neighbourShader, neighbourBindings, ShaderStage.Compute, TargetLanguage.Spirv) - }, new[] { specInfo }); + new ShaderSource(neighbourShader, ShaderStage.Compute, TargetLanguage.Spirv) + }, neighbourResourceLayout, new[] { specInfo }); } public void DeletePipelines() |