diff options
Diffstat (limited to 'Ryujinx.Graphics.Vulkan')
-rw-r--r-- | Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs | 5 | ||||
-rw-r--r-- | Ryujinx.Graphics.Vulkan/VulkanRenderer.cs | 6 |
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() |