mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-09-20 17:51:13 +02:00
Vulkan: StorageImageExtendedFormats support
(cherry picked from commit caed40d99a)
This commit is contained in:
committed by
KeatonTheBot
parent
ad0e2c0dea
commit
e96823c9a0
@@ -55,6 +55,11 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv
|
||||
context.AddCapability(Capability.ImageQuery);
|
||||
context.AddCapability(Capability.SampledBuffer);
|
||||
|
||||
if (parameters.HostCapabilities.StorageImageExtendedFormats)
|
||||
{
|
||||
context.AddCapability(Capability.StorageImageExtendedFormats);
|
||||
}
|
||||
|
||||
if (parameters.HostCapabilities.SupportsShaderFloat64)
|
||||
{
|
||||
context.AddCapability(Capability.Float64);
|
||||
|
||||
@@ -184,6 +184,11 @@ namespace Ryujinx.Graphics.Shader
|
||||
return false;
|
||||
}
|
||||
|
||||
bool QueryStorageImageExtendedFormats()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Queries host about the presence of the FrontFacing built-in variable bug.
|
||||
/// </summary>
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||
public readonly bool SupportsShaderFloat64;
|
||||
public readonly bool SupportsTextureShadowLod;
|
||||
public readonly bool SupportsViewportMask;
|
||||
public readonly bool StorageImageExtendedFormats;
|
||||
|
||||
public HostCapabilities(
|
||||
bool reducedPrecision,
|
||||
@@ -21,7 +22,8 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||
bool supportsShaderBarrierDivergence,
|
||||
bool supportsShaderFloat64,
|
||||
bool supportsTextureShadowLod,
|
||||
bool supportsViewportMask)
|
||||
bool supportsViewportMask,
|
||||
bool storageImageExtendedFormats)
|
||||
{
|
||||
ReducedPrecision = reducedPrecision;
|
||||
SupportsFragmentShaderInterlock = supportsFragmentShaderInterlock;
|
||||
@@ -32,6 +34,7 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||
SupportsShaderFloat64 = supportsShaderFloat64;
|
||||
SupportsTextureShadowLod = supportsTextureShadowLod;
|
||||
SupportsViewportMask = supportsViewportMask;
|
||||
StorageImageExtendedFormats = storageImageExtendedFormats;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -365,7 +365,8 @@ namespace Ryujinx.Graphics.Shader.Translation
|
||||
GpuAccessor.QueryHostSupportsShaderBarrierDivergence(),
|
||||
GpuAccessor.QueryHostSupportsShaderFloat64(),
|
||||
GpuAccessor.QueryHostSupportsTextureShadowLod(),
|
||||
GpuAccessor.QueryHostSupportsViewportMask());
|
||||
GpuAccessor.QueryHostSupportsViewportMask(),
|
||||
GpuAccessor.QueryStorageImageExtendedFormats());
|
||||
|
||||
var parameters = new CodeGenParameters(attributeUsage, definitions, resourceManager.Properties, hostCapabilities, GpuAccessor, Options.TargetApi);
|
||||
|
||||
|
||||
@@ -497,6 +497,7 @@ namespace Ryujinx.Graphics.Vulkan
|
||||
VertexPipelineStoresAndAtomics = supportedFeatures.VertexPipelineStoresAndAtomics,
|
||||
RobustBufferAccess = useRobustBufferAccess,
|
||||
SampleRateShading = supportedFeatures.SampleRateShading,
|
||||
ShaderStorageImageExtendedFormats = supportedFeatures.ShaderStorageImageExtendedFormats,
|
||||
};
|
||||
|
||||
void* pExtendedFeatures = null;
|
||||
|
||||
Reference in New Issue
Block a user