mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-24 21:37:11 +02:00
Shader: Bias textureGather instructions on AMD/Intel (#4703)
* Experimental (GLSL, forced) * SPIR-V attempt * Add capability * Fix pCount == 1 on glsl * Fix typo
This commit is contained in:
parent
e27f5522e2
commit
8d9d508dc7
9 changed files with 84 additions and 9 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue