From a6b018b44bb878634ced6d74eb049e48d9e1fef5 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Thu, 16 May 2024 08:04:07 +0100 Subject: [PATCH] Added size_t DXIL::Program:::GetInstructionCount() const; --- renderdoc/driver/shaders/dxil/dxil_bytecode.h | 1 + renderdoc/driver/shaders/dxil/dxil_reflect.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) 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