From: Ricardo Garcia Date: Wed, 12 May 2021 14:53:19 +0000 (+0200) Subject: Add missing vertex pipeline stores check with ray queries X-Git-Tag: upstream/1.3.5~776 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=249572bba14d3c37484e47d74ba0a28347334ae0;p=platform%2Fupstream%2FVK-GL-CTS.git Add missing vertex pipeline stores check with ray queries Several tests related to ray queries were performing image stores from vertex pipeline shader stages without checking support for vertex pipeline stores and atomics support. Affected tests: dEQP-VK.ray_query.watertightness.*.vert.* dEQP-VK.ray_query.watertightness.*.tesc.* dEQP-VK.ray_query.watertightness.*.tese.* dEQP-VK.ray_query.watertightness.*.geom.* dEQP-VK.ray_query.builtin.*.vert.* dEQP-VK.ray_query.builtin.*.tesc.* dEQP-VK.ray_query.builtin.*.tese.* dEQP-VK.ray_query.builtin.*.geom.* dEQP-VK.ray_query.advanced.*.vert.* dEQP-VK.ray_query.advanced.*.tesc.* dEQP-VK.ray_query.advanced.*.tese.* dEQP-VK.ray_query.advanced.*.geom.* dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*vert* dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tesc* dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*tese* dEQP-VK.binding_model.descriptor_update.acceleration_structure.ray_query.*geom* Components: Vulkan VK-GL-CTS issue: 2907 Change-Id: I1d13c227bb52dfad393c9b52681083598bff2f80 --- diff --git a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp index 685c6f7..531c52f 100644 --- a/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp +++ b/external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorUpdateASTests.cpp @@ -781,29 +781,28 @@ void BindingAcceleratioStructureGraphicsTestInstance::checkSupport (Context& c { switch (testParams.stage) { - case VK_SHADER_STAGE_VERTEX_BIT: - break; - - case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: - case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: - { - context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER); - - break; - } - - case VK_SHADER_STAGE_GEOMETRY_BIT: - { - context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER); - - break; - } - - case VK_SHADER_STAGE_FRAGMENT_BIT: - break; + case VK_SHADER_STAGE_VERTEX_BIT: + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + case VK_SHADER_STAGE_GEOMETRY_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS); + break; + default: + TCU_THROW(InternalError, "Unknown stage"); + break; + } - default: - TCU_THROW(InternalError, "Unknown stage"); + switch (testParams.stage) + { + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER); + break; + case VK_SHADER_STAGE_GEOMETRY_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER); + break; + default: + break; } } diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryBuiltinTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryBuiltinTests.cpp index f387b4e..5048c8a 100644 --- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryBuiltinTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryBuiltinTests.cpp @@ -449,28 +449,27 @@ namespace vkt switch (testParams.stage) { case VK_SHADER_STAGE_VERTEX_BIT: + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + case VK_SHADER_STAGE_GEOMETRY_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS); + break; + default: + TCU_THROW(InternalError, "Unknown stage"); break; + } + switch (testParams.stage) + { case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: - { context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER); - break; - } - case VK_SHADER_STAGE_GEOMETRY_BIT: - { context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER); - break; - } - - case VK_SHADER_STAGE_FRAGMENT_BIT: - break; - default: - TCU_THROW(InternalError, "Unknown stage"); + break; } } diff --git a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryWatertightnessTests.cpp b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryWatertightnessTests.cpp index 3a70550..de91664 100644 --- a/external/vulkancts/modules/vulkan/ray_query/vktRayQueryWatertightnessTests.cpp +++ b/external/vulkancts/modules/vulkan/ray_query/vktRayQueryWatertightnessTests.cpp @@ -407,29 +407,28 @@ void GraphicsConfiguration::checkSupport (Context& context, { switch (testParams.stage) { - case VK_SHADER_STAGE_VERTEX_BIT: - break; - - case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: - case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: - { - context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER); - - break; - } - - case VK_SHADER_STAGE_GEOMETRY_BIT: - { - context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER); - - break; - } - - case VK_SHADER_STAGE_FRAGMENT_BIT: - break; + case VK_SHADER_STAGE_VERTEX_BIT: + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + case VK_SHADER_STAGE_GEOMETRY_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_VERTEX_PIPELINE_STORES_AND_ATOMICS); + break; + default: + TCU_THROW(InternalError, "Unknown stage"); + break; + } - default: - TCU_THROW(InternalError, "Unknown stage"); + switch (testParams.stage) + { + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_TESSELLATION_SHADER); + break; + case VK_SHADER_STAGE_GEOMETRY_BIT: + context.requireDeviceCoreFeature(DEVICE_CORE_FEATURE_GEOMETRY_SHADER); + break; + default: + break; } }