From aba2731f0427a04a119a59567e6715ba4034920a Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 8 Jul 2021 13:55:21 -0700 Subject: Allow render-test to run inline ray tracing tests. (#1903) * Update VS projects to 2019. * Empty commit to trigger build * Implement gfx inline ray tracing on D3D12. * Allow render-test to run inline ray tracing tests. Co-authored-by: Yong He --- tools/gfx/debug-layer.cpp | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'tools/gfx/debug-layer.cpp') diff --git a/tools/gfx/debug-layer.cpp b/tools/gfx/debug-layer.cpp index 77dd8543e..61ec856e9 100644 --- a/tools/gfx/debug-layer.cpp +++ b/tools/gfx/debug-layer.cpp @@ -228,7 +228,7 @@ void validateAccelerationStructureBuildInputs( default: GFX_DIAGNOSE_ERROR( "Unsupported IAccelerationStructure::TriangleDesc::indexFormat. Valid " - "values are R_UInt32 or R_UInt16."); + "values are Unknown, R_UInt32 or R_UInt16."); } if (!buildInputs.geometryDescs[i].content.triangles.indexData) { @@ -237,6 +237,39 @@ void validateAccelerationStructureBuildInputs( "IAccelerationStructure::TriangleDesc::indexCount is not 0"); } } + if (buildInputs.geometryDescs[i].content.triangles.indexFormat != Format::Unknown) + { + if (buildInputs.geometryDescs[i].content.triangles.indexCount == 0) + { + GFX_DIAGNOSE_ERROR( + "IAccelerationStructure::TriangleDesc::indexCount cannot be 0 if " + "IAccelerationStructure::TriangleDesc::indexFormat is not Format::Unknown"); + } + if (buildInputs.geometryDescs[i].content.triangles.indexData == 0) + { + GFX_DIAGNOSE_ERROR( + "IAccelerationStructure::TriangleDesc::indexData cannot be null if " + "IAccelerationStructure::TriangleDesc::indexFormat is not " + "Format::Unknown"); + } + } + else + { + if (buildInputs.geometryDescs[i].content.triangles.indexCount != 0) + { + GFX_DIAGNOSE_ERROR( + "IAccelerationStructure::TriangleDesc::indexCount must be 0 if " + "IAccelerationStructure::TriangleDesc::indexFormat is " + "Format::Unknown"); + } + if (buildInputs.geometryDescs[i].content.triangles.indexData != 0) + { + GFX_DIAGNOSE_ERROR( + "IAccelerationStructure::TriangleDesc::indexData must be null if " + "IAccelerationStructure::TriangleDesc::indexFormat is " + "Format::Unknown"); + } + } if (!buildInputs.geometryDescs[i].content.triangles.vertexData) { GFX_DIAGNOSE_ERROR( -- cgit v1.2.3