From 10470f8796de5b4fe48a83d50cda75a4188c06e3 Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 25 Jan 2022 15:34:34 -0800 Subject: gfx: Allow null entries in shader table. (#2096) Co-authored-by: Yong He --- tools/gfx/d3d12/render-d3d12.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/gfx/d3d12/render-d3d12.cpp b/tools/gfx/d3d12/render-d3d12.cpp index 1b146bc4e..b2227aa76 100644 --- a/tools/gfx/d3d12/render-d3d12.cpp +++ b/tools/gfx/d3d12/render-d3d12.cpp @@ -3294,8 +3294,15 @@ public: auto copyShaderIdInto = [&](void* dest, String& name) { - void* shaderId = stateObjectProperties->GetShaderIdentifier(name.toWString().begin()); - memcpy(dest, shaderId, D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES); + if (name.getLength()) + { + void* shaderId = stateObjectProperties->GetShaderIdentifier(name.toWString().begin()); + memcpy(dest, shaderId, D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES); + } + else + { + memset(dest, 0, D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES); + } }; uint8_t* stagingBufferPtr = (uint8_t*)stagingPtr; -- cgit v1.2.3