aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorziga-lunarg <ziga@lunarg.com>2023-05-05 15:54:40 +0200
committerPiotr Byszewski <piotr.byszewski@mobica.com>2023-05-19 09:13:39 +0000
commit664ca0e50927ee1507b3c6c604c60ad03ac501e6 (patch)
tree739f45d5c5c7a5c87b43e73703afdc5635d5cbab
parent4f52e0d08e509655373a8f97289a9df3599f7336 (diff)
downloaddeqp-664ca0e50927ee1507b3c6c604c60ad03ac501e6.tar.gz
Use the correct SPIR-V capabilities in shader_viewport_index testsupstream-vulkan-cts-1.2.8
If api version used is < 1.2 then te SPIR-V capability ShaderViewportIndexLayerEXT must be used, otherwise the SPIR-V capabilities shaderOutputLayer and shaderOutputViewportIndex must be used Components: Vulkan VK-GL-CTS issue: 4458 Affected tests: dEQP-VK.draw.renderpass.shader_viewport_index.* Change-Id: Ieb2102049f2cc45733f3a1554e5d7753f6b6d0da
-rw-r--r--external/vulkancts/modules/vulkan/draw/vktDrawShaderViewportIndexTests.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/external/vulkancts/modules/vulkan/draw/vktDrawShaderViewportIndexTests.cpp b/external/vulkancts/modules/vulkan/draw/vktDrawShaderViewportIndexTests.cpp
index 5ecb994c2..ac25f10b3 100644
--- a/external/vulkancts/modules/vulkan/draw/vktDrawShaderViewportIndexTests.cpp
+++ b/external/vulkancts/modules/vulkan/draw/vktDrawShaderViewportIndexTests.cpp
@@ -463,6 +463,7 @@ void initVertexTestPrograms (SourceCollections& programCollection, const TestPar
<< "}\n";
programCollection.glslSources.add("vert") << glu::VertexSource(src.str());
+ programCollection.glslSources.add("vert_1_2") << glu::VertexSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_5, 0u, true);
}
// Fragment shader
@@ -502,6 +503,7 @@ void initFragmentTestPrograms (SourceCollections& programCollection, const TestP
<< "}\n";
programCollection.glslSources.add("vert") << glu::VertexSource(src.str());
+ programCollection.glslSources.add("vert_1_2") << glu::VertexSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_5, 0u, true);
}
// Fragment shader
@@ -543,6 +545,7 @@ void initTessellationTestPrograms (SourceCollections& programCollection, const T
<< "}\n";
programCollection.glslSources.add("vert") << glu::VertexSource(src.str());
+ programCollection.glslSources.add("vert_1_2") << glu::VertexSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_5, 0u, true);
}
// Tessellation control shader
@@ -596,6 +599,7 @@ void initTessellationTestPrograms (SourceCollections& programCollection, const T
<< "}\n";
programCollection.glslSources.add("tese") << glu::TessellationEvaluationSource(src.str());
+ programCollection.glslSources.add("tese_1_2") << glu::TessellationEvaluationSource(src.str()) << vk::ShaderBuildOptions(programCollection.usedVulkanVersion, vk::SPIRV_VERSION_1_5, 0u, true);
}
// Fragment shader
@@ -693,10 +697,10 @@ public:
if (shader == TESSELLATION)
{
m_tessellationControlModule = createShaderModule (vk, device, context.getBinaryCollection().get("tesc"), 0u);
- m_tessellationEvaluationModule = createShaderModule (vk, device, context.getBinaryCollection().get("tese"), 0u);
+ m_tessellationEvaluationModule = createShaderModule (vk, device, context.getBinaryCollection().get(context.contextSupports(VK_API_VERSION_1_2) ? "tese_1_2" : "tese"), 0u);
}
- m_vertexModule = createShaderModule (vk, device, context.getBinaryCollection().get("vert"), 0u);
+ m_vertexModule = createShaderModule (vk, device, context.getBinaryCollection().get(context.contextSupports(VK_API_VERSION_1_2) ? "vert_1_2" : "vert"), 0u);
m_fragmentModule = createShaderModule (vk, device, context.getBinaryCollection().get("frag"), 0u);
if (!m_useDynamicRendering)