diff --git a/renderdoc/driver/shaders/dxil/dxil_bytecode.h b/renderdoc/driver/shaders/dxil/dxil_bytecode.h index a83cde601..5b1eeb162 100644 --- a/renderdoc/driver/shaders/dxil/dxil_bytecode.h +++ b/renderdoc/driver/shaders/dxil/dxil_bytecode.h @@ -1511,6 +1511,7 @@ public: rdcstr GetDebugStatus(); rdcarray GetEntryPoints(); void FillEntryPointInterfaces(); + size_t GetInstructionCount() const; rdcstr GetResourceReferenceName(ResourceClass resClass, const BindingSlot &slot) const; // false means stop processing void ProcessFunctions(std::function callback) const; diff --git a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp index 6e998318e..a8c7083a6 100644 --- a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp @@ -1794,4 +1794,14 @@ void Program::ProcessFunctions(std::function callback) c break; } } + +size_t Program::GetInstructionCount() const +{ + size_t ret = 0; + + for(size_t i = 0; i < m_Functions.size(); i++) + ret += m_Functions[i]->instructions.size(); + + return ret; +} }; // namespace DXIL