diff options
author | Lorenzo Dal Col <lorenzo@khronosgroup.org> | 2024-03-14 18:27:15 +0100 |
---|---|---|
committer | Lorenzo Dal Col <lorenzo@khronosgroup.org> | 2024-03-14 18:27:15 +0100 |
commit | 0836a20740d5c021f0e62eb9367234e3cc18611b (patch) | |
tree | 21818b410e94001aa75830c191d4cb10a21751d3 | |
parent | 9033e8ec5717e981e74a7dcd313c6bd85dbdf7d3 (diff) | |
parent | d76e2d54e4218ab5fe70ca356c0f0fce560300d1 (diff) | |
download | deqp-0836a20740d5c021f0e62eb9367234e3cc18611b.tar.gz |
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2upstream-vulkan-cts-1.3.2
Change-Id: Ifb088c9629b82895fd2a0d2d2fc53cc8d8a263bc
-rw-r--r-- | external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp index 555b79896..ef18156e9 100644 --- a/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderrender/vktShaderRenderDerivateTests.cpp @@ -31,6 +31,7 @@ #include "vktShaderRenderDerivateTests.hpp" #include "vktShaderRender.hpp" +#include "subgroups/vktSubgroupsTestsUtils.hpp" #include "vkImageUtil.hpp" #include "vkQueryUtil.hpp" @@ -1132,6 +1133,13 @@ LinearDerivateCase::~LinearDerivateCase (void) TestInstance* LinearDerivateCase::createInstance (Context& context) const { DE_ASSERT(m_uniformSetup != DE_NULL); + if (m_fragmentTmpl.find("gl_SubgroupInvocationID") != std::string::npos) { + if (!subgroups::areQuadOperationsSupportedForStages(context, VK_SHADER_STAGE_FRAGMENT_BIT)) + throw tcu::NotSupportedError("test requires VK_SUBGROUP_FEATURE_QUAD_BIT"); + + if (subgroups::getSubgroupSize(context) < 4) + throw tcu::NotSupportedError("test requires subgroupSize >= 4"); + } return new LinearDerivateCaseInstance(context, *m_uniformSetup, m_definitions, m_values); } |