summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/gfx/d3d12/render-d3d12.cpp11
1 files 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;