From a8cd40cd5d89b2b675a896be3a7d2451bdf6a013 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Mon, 6 May 2024 15:49:59 +0100 Subject: [PATCH] DXIL Reflection GetEntryPoints() handle tags being NULL --- renderdoc/driver/shaders/dxil/dxil_reflect.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp index 0a687bd0c..99b76211f 100644 --- a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp @@ -1418,15 +1418,17 @@ rdcarray Program::GetEntryPoints() entryPoint.name = entry->children[1]->str; Metadata *tags = entry->children[4]; - - for(size_t i = 0; i < tags->children.size(); i += 2) + if(tags) { - // 8 is the type tag - if(getival(tags->children[i]) == 8U) + for(size_t i = 0; i < tags->children.size(); i += 2) { - entryPoint.stage = - GetShaderStage((DXBC::ShaderType)getival(tags->children[i + 1])); - break; + // 8 is the type tag + if(getival(tags->children[i]) == 8U) + { + entryPoint.stage = + GetShaderStage((DXBC::ShaderType)getival(tags->children[i + 1])); + break; + } } }