[spv, qcom] Ensuring SPV 1.3

This commit is contained in:
CamilleLaVey 2025-11-29 00:24:37 -04:00 committed by Caio Oliveira
parent 4a10c53bcf
commit a010de39cc
2 changed files with 8 additions and 6 deletions

View File

@ -1076,11 +1076,12 @@ bool Device::GetSuitability(bool requires_swapchain) {
// Vulkan 1.2 and 1.3 features
if (instance_version >= VK_API_VERSION_1_2) {
features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
SetNext(next, features_1_2);
features_1_2.pNext = &features_1_3;
*next = &features_1_2;
if (instance_version >= VK_API_VERSION_1_3) {
features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
SetNext(next, features_1_3);
}
}
// Test all features we know about. If the feature is not available in core at our

View File

@ -771,10 +771,11 @@ public:
/// Returns the minimum supported version of SPIR-V.
u32 SupportedSpirvVersion() const {
if (instance_version >= VK_API_VERSION_1_3) {
const bool has_float_controls = extensions.shader_float_controls;
if (instance_version >= VK_API_VERSION_1_3 && has_float_controls) {
return 0x00010600U;
}
if (extensions.spirv_1_4) {
if (extensions.spirv_1_4 && has_float_controls) {
return 0x00010400U;
}
return 0x00010300U;