public static Silk.NET.Vulkan.CompareOp Convert(this GAL.CompareOp op) { switch (op) { case GAL.CompareOp.Never: case GAL.CompareOp.NeverGl: return(Silk.NET.Vulkan.CompareOp.Never); case GAL.CompareOp.Less: case GAL.CompareOp.LessGl: return(Silk.NET.Vulkan.CompareOp.Less); case GAL.CompareOp.Equal: case GAL.CompareOp.EqualGl: return(Silk.NET.Vulkan.CompareOp.Equal); case GAL.CompareOp.LessOrEqual: case GAL.CompareOp.LessOrEqualGl: return(Silk.NET.Vulkan.CompareOp.LessOrEqual); case GAL.CompareOp.Greater: case GAL.CompareOp.GreaterGl: return(Silk.NET.Vulkan.CompareOp.Greater); case GAL.CompareOp.NotEqual: case GAL.CompareOp.NotEqualGl: return(Silk.NET.Vulkan.CompareOp.NotEqual); case GAL.CompareOp.GreaterOrEqual: case GAL.CompareOp.GreaterOrEqualGl: return(Silk.NET.Vulkan.CompareOp.GreaterOrEqual); case GAL.CompareOp.Always: case GAL.CompareOp.AlwaysGl: return(Silk.NET.Vulkan.CompareOp.Always); } Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(GAL.CompareOp)} enum value: {op}."); return(Silk.NET.Vulkan.CompareOp.Never); }
public void SetAlphaTest(bool enable, float reference, GAL.CompareOp op) { // This is currently handled using shader specialization, as Vulkan does not support alpha test. // In the future, we may want to use this to write the reference value into the support buffer, // to avoid creating one version of the shader per reference value used. }
public void SetAlphaTest(bool enable, float reference, GAL.CompareOp op) { // TODO. }