From 0ef8f76a6e98a776c8ebaf6d6df874336ccf2716 Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Fri, 20 Jun 2025 14:28:01 +0200 Subject: [PATCH 1/3] Fixed Point and Anisotropic sampler desc use the wrong standard. --- src/Veldrid/SamplerDescription.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Veldrid/SamplerDescription.cs b/src/Veldrid/SamplerDescription.cs index b87264937..27511a6bb 100644 --- a/src/Veldrid/SamplerDescription.cs +++ b/src/Veldrid/SamplerDescription.cs @@ -118,9 +118,9 @@ public SamplerDescription( /// public static readonly SamplerDescription POINT = new SamplerDescription { - AddressModeU = SamplerAddressMode.Wrap, - AddressModeV = SamplerAddressMode.Wrap, - AddressModeW = SamplerAddressMode.Wrap, + AddressModeU = SamplerAddressMode.Clamp, + AddressModeV = SamplerAddressMode.Clamp, + AddressModeW = SamplerAddressMode.Clamp, Filter = SamplerFilter.MinPointMagPointMipPoint, LodBias = 0, MinimumLod = 0, @@ -166,9 +166,9 @@ public SamplerDescription( /// public static readonly SamplerDescription ANISO4_X = new SamplerDescription { - AddressModeU = SamplerAddressMode.Wrap, - AddressModeV = SamplerAddressMode.Wrap, - AddressModeW = SamplerAddressMode.Wrap, + AddressModeU = SamplerAddressMode.Clamp, + AddressModeV = SamplerAddressMode.Clamp, + AddressModeW = SamplerAddressMode.Clamp, Filter = SamplerFilter.Anisotropic, LodBias = 0, MinimumLod = 0, From 936c4e0773d64d587eec8e575d39e72a5fa41b90 Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:30:32 +0100 Subject: [PATCH 2/3] Fixed Depthmask on Metal --- src/Veldrid/MTL/MTLPipeline.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Veldrid/MTL/MTLPipeline.cs b/src/Veldrid/MTL/MTLPipeline.cs index 0860122f6..3d7988bc1 100644 --- a/src/Veldrid/MTL/MTLPipeline.cs +++ b/src/Veldrid/MTL/MTLPipeline.cs @@ -160,8 +160,13 @@ public MtlPipeline(ref GraphicsPipelineDescription description, MtlGraphicsDevic { var depthDescriptor = MTLUtil.AllocInit( nameof(MTLDepthStencilDescriptor)); + // Metal has no explicit depth-test enable flag on the depth-stencil descriptor. + // When depth testing is disabled we must force "always" to avoid unintentionally + // rejecting all fragments if DepthComparison is left at its default (Never). depthDescriptor.depthCompareFunction = MtlFormats.VdToMtlCompareFunction( - description.DepthStencilState.DepthComparison); + description.DepthStencilState.DepthTestEnabled + ? description.DepthStencilState.DepthComparison + : ComparisonKind.Always); depthDescriptor.depthWriteEnabled = description.DepthStencilState.DepthWriteEnabled; bool stencilEnabled = description.DepthStencilState.StencilTestEnabled; From c9d806b4e7622f624bd2d1e446c56ca875b3570f Mon Sep 17 00:00:00 2001 From: MrScautHD <65916181+MrScautHD@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:32:40 +0100 Subject: [PATCH 3/3] Fixed mistake --- src/Veldrid/SamplerDescription.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Veldrid/SamplerDescription.cs b/src/Veldrid/SamplerDescription.cs index 27511a6bb..b87264937 100644 --- a/src/Veldrid/SamplerDescription.cs +++ b/src/Veldrid/SamplerDescription.cs @@ -118,9 +118,9 @@ public SamplerDescription( /// public static readonly SamplerDescription POINT = new SamplerDescription { - AddressModeU = SamplerAddressMode.Clamp, - AddressModeV = SamplerAddressMode.Clamp, - AddressModeW = SamplerAddressMode.Clamp, + AddressModeU = SamplerAddressMode.Wrap, + AddressModeV = SamplerAddressMode.Wrap, + AddressModeW = SamplerAddressMode.Wrap, Filter = SamplerFilter.MinPointMagPointMipPoint, LodBias = 0, MinimumLod = 0, @@ -166,9 +166,9 @@ public SamplerDescription( /// public static readonly SamplerDescription ANISO4_X = new SamplerDescription { - AddressModeU = SamplerAddressMode.Clamp, - AddressModeV = SamplerAddressMode.Clamp, - AddressModeW = SamplerAddressMode.Clamp, + AddressModeU = SamplerAddressMode.Wrap, + AddressModeV = SamplerAddressMode.Wrap, + AddressModeW = SamplerAddressMode.Wrap, Filter = SamplerFilter.Anisotropic, LodBias = 0, MinimumLod = 0,