Browse Source

[spv, qcom] Ensuring SPV 1.3

eds-true-adreno-fixes
CamilleLaVey 4 weeks ago
committed by Caio Oliveira
parent
commit
58c76ece13
No known key found for this signature in database GPG Key ID: AAAE6C7FD4186B0C
  1. 9
      src/video_core/vulkan_common/vulkan_device.cpp
  2. 5
      src/video_core/vulkan_common/vulkan_device.h

9
src/video_core/vulkan_common/vulkan_device.cpp

@ -1051,11 +1051,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

5
src/video_core/vulkan_common/vulkan_device.h

@ -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;

Loading…
Cancel
Save