diff options
author | Lorenzo Dal Col <lorenzo@khronosgroup.org> | 2024-03-14 18:45:27 +0100 |
---|---|---|
committer | Lorenzo Dal Col <lorenzo@khronosgroup.org> | 2024-03-14 18:45:27 +0100 |
commit | 192ba593beb74e372c4d99358a53fd6e232f134b (patch) | |
tree | 0629496f79e91971b031064357967febb6d805ed | |
parent | b61f15f09adb6b7c9eefc7f7c44612c0c390abe5 (diff) | |
parent | 0836a20740d5c021f0e62eb9367234e3cc18611b (diff) | |
download | deqp-upstream-vulkan-cts-1.3.3.tar.gz |
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3upstream-vulkan-cts-1.3.3
Change-Id: I9db84415fa91ffcd7865f4e15f02d4d7624509a9
-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 0a8fb333a..b41ca6634 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); } |