aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Dal Col <lorenzo@khronosgroup.org>2024-03-14 18:27:15 +0100
committerLorenzo Dal Col <lorenzo@khronosgroup.org>2024-03-14 18:27:15 +0100
commit0836a20740d5c021f0e62eb9367234e3cc18611b (patch)
tree21818b410e94001aa75830c191d4cb10a21751d3
parent9033e8ec5717e981e74a7dcd313c6bd85dbdf7d3 (diff)
parentd76e2d54e4218ab5fe70ca356c0f0fce560300d1 (diff)
downloaddeqp-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.cpp8
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);
}