video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.

This commit is contained in:
bunnei 2023-05-02 17:52:41 -07:00
parent e5bdb7011b
commit ca4bf3844e
3 changed files with 16 additions and 5 deletions

View file

@ -298,11 +298,7 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, const Device& device
profile = Shader::Profile{
.supported_spirv = device.SupportedSpirvVersion(),
.unified_descriptor_binding = true,
#ifdef ANDROID
.support_descriptor_aliasing = false,
#else
.support_descriptor_aliasing = true,
#endif
.support_descriptor_aliasing = device.IsDescriptorAliasingSupported(),
.support_int8 = device.IsInt8Supported(),
.support_int16 = device.IsShaderInt16Supported(),
.support_int64 = device.IsShaderInt64Supported(),

View file

@ -295,6 +295,11 @@ public:
return features.features.textureCompressionASTC_LDR;
}
/// Returns true if descriptor aliasing is natively supported.
bool IsDescriptorAliasingSupported() const {
return GetDriverID() != VK_DRIVER_ID_QUALCOMM_PROPRIETARY;
}
/// Returns true if the device supports float16 natively.
bool IsFloat16Supported() const {
return features.shader_float16_int8.shaderFloat16;