summaryrefslogtreecommitdiff
path: root/executor
diff options
context:
space:
mode:
authorRicardo Garcia <rgarcia@igalia.com>2021-10-28 15:36:36 +0200
committerMatthew Netsch <quic_mnetsch@quicinc.com>2021-11-05 16:31:58 +0000
commit241241e28fe30f31a10e51aeb263c7c6b92b275c (patch)
tree775c3b5b7bc72779c4ed2fa86674a88a357aa78a /executor
parentbbd6e1b5cd5880327d6119fc1e15e154e224e63d (diff)
downloadVK-GL-CTS-241241e28fe30f31a10e51aeb263c7c6b92b275c.tar.gz
VK-GL-CTS-241241e28fe30f31a10e51aeb263c7c6b92b275c.tar.bz2
VK-GL-CTS-241241e28fe30f31a10e51aeb263c7c6b92b275c.zip
Add tests for VK_NV_mesh_shader
Tests that verify multiple aspects of mesh shader pipelines work as expected. This includes: * Some basic smoke tests. * API tests to check the new draw calls and different rules about them. * Synchronization tests. * Test a wide range of affected built-in variables. * Miscellaneous tests: * Producing small and large amounts of different types of primitives. * Barriers. * Push constants. * Custom per-primitive attributes. * Complex structures in the task->mesh interface. New tests: dEQP-VK.mesh_shader.nv.* Components: Vulkan, Framework VK-GL-CTS issue: 2991 Change-Id: I510296e4da326a2f0a3891d55a1116848d874c3f
Diffstat (limited to 'executor')
-rw-r--r--executor/tools/xeExtractShaderPrograms.cpp2
-rw-r--r--executor/xeTestCaseResult.hpp2
-rw-r--r--executor/xeTestLogWriter.cpp2
-rw-r--r--executor/xeTestResultParser.cpp4
4 files changed, 9 insertions, 1 deletions
diff --git a/executor/tools/xeExtractShaderPrograms.cpp b/executor/tools/xeExtractShaderPrograms.cpp
index 2d5378c99..727ba876e 100644
--- a/executor/tools/xeExtractShaderPrograms.cpp
+++ b/executor/tools/xeExtractShaderPrograms.cpp
@@ -66,6 +66,8 @@ static const char* getShaderTypeSuffix (const xe::ri::Shader::ShaderType shaderT
case xe::ri::Shader::SHADERTYPE_MISS: return "miss";
case xe::ri::Shader::SHADERTYPE_INTERSECTION: return "sect";
case xe::ri::Shader::SHADERTYPE_CALLABLE: return "call";
+ case xe::ri::Shader::SHADERTYPE_TASK: return "task";
+ case xe::ri::Shader::SHADERTYPE_MESH: return "mesh";
default:
throw xe::Error("Invalid shader type");
diff --git a/executor/xeTestCaseResult.hpp b/executor/xeTestCaseResult.hpp
index 79f04650d..6fbf792c0 100644
--- a/executor/xeTestCaseResult.hpp
+++ b/executor/xeTestCaseResult.hpp
@@ -326,6 +326,8 @@ public:
SHADERTYPE_MISS,
SHADERTYPE_INTERSECTION,
SHADERTYPE_CALLABLE,
+ SHADERTYPE_TASK,
+ SHADERTYPE_MESH,
SHADERTYPE_LAST
};
diff --git a/executor/xeTestLogWriter.cpp b/executor/xeTestLogWriter.cpp
index c7e389a52..f4cce6e50 100644
--- a/executor/xeTestLogWriter.cpp
+++ b/executor/xeTestLogWriter.cpp
@@ -308,6 +308,8 @@ static void writeResultItem (const ri::Item& item, xml::Writer& dst)
case ri::Shader::SHADERTYPE_MISS: tagName = "MissShader"; break;
case ri::Shader::SHADERTYPE_INTERSECTION: tagName = "IntersectionShader"; break;
case ri::Shader::SHADERTYPE_CALLABLE: tagName = "CallableShader"; break;
+ case ri::Shader::SHADERTYPE_TASK: tagName = "TaskShader"; break;
+ case ri::Shader::SHADERTYPE_MESH: tagName = "MeshShader"; break;
default:
throw Error("Unknown shader type");
diff --git a/executor/xeTestResultParser.cpp b/executor/xeTestResultParser.cpp
index c21ddd54d..2f3160155 100644
--- a/executor/xeTestResultParser.cpp
+++ b/executor/xeTestResultParser.cpp
@@ -161,7 +161,9 @@ static const EnumMapEntry s_shaderTypeFromTagMap[] =
{ 0x8c64a6be, "ClosestHitShader", ri::Shader::SHADERTYPE_CLOSEST_HIT },
{ 0xb30ed398, "MissShader", ri::Shader::SHADERTYPE_MISS },
{ 0x26150e53, "IntersectionShader", ri::Shader::SHADERTYPE_INTERSECTION },
- { 0x7e50944c, "CallableShader", ri::Shader::SHADERTYPE_CALLABLE }
+ { 0x7e50944c, "CallableShader", ri::Shader::SHADERTYPE_CALLABLE },
+ { 0xc3a35d6f, "TaskShader", ri::Shader::SHADERTYPE_TASK },
+ { 0x925c7349, "MeshShader", ri::Shader::SHADERTYPE_MESH },
};
static const EnumMapEntry s_testTypeMap[] =