Use ClampToEdge for Clamp sampler address mode on Vulkan (fixes Hollow Knight)

Clamp is unsupported on Vulkan, but ClampToEdge behaves almost the same. ClampToBorder on the other hand (which was being used before) is pretty different
This commit is contained in:
gdk 2022-04-09 21:00:02 -03:00 committed by riperiperi
parent 7c32e4a3fe
commit 4648e37a31

View file

@ -35,15 +35,15 @@ namespace Ryujinx.Graphics.Vulkan
switch (mode)
{
case AddressMode.Clamp:
return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp
return SamplerAddressMode.ClampToEdge; // TODO: Should be clamp.
case AddressMode.Repeat:
return SamplerAddressMode.Repeat;
case AddressMode.MirrorClamp:
return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp
return SamplerAddressMode.ClampToEdge; // TODO: Should be mirror clamp.
case AddressMode.MirrorClampToEdge:
return SamplerAddressMode.MirrorClampToEdgeKhr;
case AddressMode.MirrorClampToBorder:
return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp to border
return SamplerAddressMode.ClampToBorder; // TODO: Should be mirror clamp to border.
case AddressMode.ClampToBorder:
return SamplerAddressMode.ClampToBorder;
case AddressMode.MirroredRepeat:
@ -54,7 +54,7 @@ namespace Ryujinx.Graphics.Vulkan
Logger.Debug?.Print(LogClass.Gpu, $"Invalid {nameof(AddressMode)} enum value: {mode}.");
return SamplerAddressMode.ClampToBorder; // TODO: Should be clamp
return SamplerAddressMode.ClampToEdge; // TODO: Should be clamp.
}
public static Silk.NET.Vulkan.BlendFactor Convert(this GAL.BlendFactor factor)