From e7e8e40ea483ea65f5061f137152db2fa76d7945 Mon Sep 17 00:00:00 2001 From: Pawel Ksiezopolski Date: Mon, 13 Jul 2020 11:26:36 +0200 Subject: [PATCH] Update binding tests to VK_KHR_ray_tracing v10 Affects tests: dEQP-VK.binding_model.descriptorset_random.* Components: Vulkan, Framework Change-Id: I328015c9faab6349b5d0d57c4edd0ffa2e337afa --- external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp | 5 ----- external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp | 2 -- .../binding_model/vktBindingDescriptorSetRandomTests.cpp | 11 ++++++++++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp index 516588f..a61d6c2 100644 --- a/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp +++ b/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp @@ -62,11 +62,6 @@ std::string getCommonRayGenerationShader (void) "}\n"; } -const char* getRayTracingExtensionUsed (void) -{ - return "VK_KHR_ray_tracing"; -} - RaytracedGeometryBase::RaytracedGeometryBase (VkGeometryTypeKHR geometryType, VkFormat vertexFormat, VkIndexType indexType) : m_geometryType (geometryType) , m_vertexFormat (vertexFormat) diff --git a/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp b/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp index af1c187..b267fb9 100644 --- a/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp +++ b/external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp @@ -70,8 +70,6 @@ inline std::string updateRayTracingGLSL (const std::string& str) std::string getCommonRayGenerationShader (void); -const char* getRayTracingExtensionUsed (void); - class RaytracedGeometryBase { public: diff --git a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp index 64bd6df..4ba05f6 100644 --- a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp +++ b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp @@ -271,7 +271,16 @@ void DescriptorSetRandomTestCase::checkSupport(Context& context) const } else if (isRayTracingStageKHR(m_data.stage)) { - context.requireDeviceFunctionality(getRayTracingExtensionUsed()); + context.requireDeviceFunctionality("VK_KHR_acceleration_structure"); + context.requireDeviceFunctionality("VK_KHR_ray_tracing_pipeline"); + + const VkPhysicalDeviceRayTracingPipelineFeaturesKHR& rayTracingPipelineFeaturesKHR = context.getRayTracingPipelineFeatures(); + if (rayTracingPipelineFeaturesKHR.rayTracingPipeline == DE_FALSE) + TCU_THROW(NotSupportedError, "Requires VkPhysicalDeviceRayTracingPipelineFeaturesKHR.rayTracingPipeline"); + + const VkPhysicalDeviceAccelerationStructureFeaturesKHR& accelerationStructureFeaturesKHR = context.getAccelerationStructureFeatures(); + if (accelerationStructureFeaturesKHR.accelerationStructure == DE_FALSE) + TCU_THROW(TestError, "VK_KHR_ray_tracing_pipeline requires VkPhysicalDeviceAccelerationStructureFeaturesKHR.accelerationStructure"); } if ((m_data.indexType == INDEX_TYPE_PUSHCONSTANT || -- 2.7.4