aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Vulkan')
-rw-r--r--Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs5
-rw-r--r--Ryujinx.Graphics.Vulkan/VulkanRenderer.cs6
2 files changed, 8 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs
index a45c2409..e206bb29 100644
--- a/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs
+++ b/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs
@@ -46,6 +46,7 @@ namespace Ryujinx.Graphics.Vulkan
public readonly SampleCountFlags SupportedSampleCounts;
public readonly PortabilitySubsetFlags PortabilitySubset;
public readonly uint VertexBufferAlignment;
+ public readonly uint SubTexelPrecisionBits;
public HardwareCapabilities(
bool supportsIndexTypeUint8,
@@ -77,7 +78,8 @@ namespace Ryujinx.Graphics.Vulkan
ShaderStageFlags requiredSubgroupSizeStages,
SampleCountFlags supportedSampleCounts,
PortabilitySubsetFlags portabilitySubset,
- uint vertexBufferAlignment)
+ uint vertexBufferAlignment,
+ uint subTexelPrecisionBits)
{
SupportsIndexTypeUint8 = supportsIndexTypeUint8;
SupportsCustomBorderColor = supportsCustomBorderColor;
@@ -109,6 +111,7 @@ namespace Ryujinx.Graphics.Vulkan
SupportedSampleCounts = supportedSampleCounts;
PortabilitySubset = portabilitySubset;
VertexBufferAlignment = vertexBufferAlignment;
+ SubTexelPrecisionBits = subTexelPrecisionBits;
}
}
}
diff --git a/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs b/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
index 92b453fb..1c295d6f 100644
--- a/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
+++ b/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs
@@ -311,7 +311,8 @@ namespace Ryujinx.Graphics.Vulkan
propertiesSubgroupSizeControl.RequiredSubgroupSizeStages,
supportedSampleCounts,
portabilityFlags,
- vertexBufferAlignment);
+ vertexBufferAlignment,
+ properties.Limits.SubTexelPrecisionBits);
IsSharedMemory = MemoryAllocator.IsDeviceMemoryShared(_physicalDevice);
@@ -576,7 +577,8 @@ namespace Ryujinx.Graphics.Vulkan
maximumImagesPerStage: Constants.MaxImagesPerStage,
maximumComputeSharedMemorySize: (int)limits.MaxComputeSharedMemorySize,
maximumSupportedAnisotropy: (int)limits.MaxSamplerAnisotropy,
- storageBufferOffsetAlignment: (int)limits.MinStorageBufferOffsetAlignment);
+ storageBufferOffsetAlignment: (int)limits.MinStorageBufferOffsetAlignment,
+ gatherBiasPrecision: IsIntelWindows || IsAmdWindows ? (int)Capabilities.SubTexelPrecisionBits : 0);
}
public HardwareInfo GetHardwareInfo()