diff options
author | Ricardo Garcia <rgarcia@igalia.com> | 2021-10-28 15:36:36 +0200 |
---|---|---|
committer | Matthew Netsch <quic_mnetsch@quicinc.com> | 2021-11-05 16:31:58 +0000 |
commit | 241241e28fe30f31a10e51aeb263c7c6b92b275c (patch) | |
tree | 775c3b5b7bc72779c4ed2fa86674a88a357aa78a /executor | |
parent | bbd6e1b5cd5880327d6119fc1e15e154e224e63d (diff) | |
download | VK-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.cpp | 2 | ||||
-rw-r--r-- | executor/xeTestCaseResult.hpp | 2 | ||||
-rw-r--r-- | executor/xeTestLogWriter.cpp | 2 | ||||
-rw-r--r-- | executor/xeTestResultParser.cpp | 4 |
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[] = |