Ensure shader reflection information is stored as const

* Avoids accidental modifications
This commit is contained in:
baldurk
2025-09-22 11:58:56 +01:00
parent 0dd399cc11
commit 26cf7d3d7f
54 changed files with 292 additions and 251 deletions
+2 -2
View File
@@ -24,7 +24,7 @@
#include "dummy_driver.h"
DummyDriver::DummyDriver(IReplayDriver *original, const rdcarray<ShaderReflection *> &shaders,
DummyDriver::DummyDriver(IReplayDriver *original, const rdcarray<const ShaderReflection *> &shaders,
SDFile *sdfile)
{
m_Shaders = shaders;
@@ -49,7 +49,7 @@ DummyDriver::DummyDriver(IReplayDriver *original, const rdcarray<ShaderReflectio
DummyDriver::~DummyDriver()
{
// we own the shaders
for(ShaderReflection *refl : m_Shaders)
for(const ShaderReflection *refl : m_Shaders)
delete refl;
// and we own the structured file
+3 -2
View File
@@ -33,7 +33,8 @@
class DummyDriver : public IReplayDriver
{
public:
DummyDriver(IReplayDriver *original, const rdcarray<ShaderReflection *> &shaders, SDFile *sdfile);
DummyDriver(IReplayDriver *original, const rdcarray<const ShaderReflection *> &shaders,
SDFile *sdfile);
void Shutdown();
@@ -192,7 +193,7 @@ public:
private:
virtual ~DummyDriver();
rdcarray<ShaderReflection *> m_Shaders;
rdcarray<const ShaderReflection *> m_Shaders;
SDFile *m_SDFile;
APIProperties m_Props;
+2 -2
View File
@@ -151,8 +151,8 @@ public:
virtual rdcarray<DebugMessage> GetDebugMessages() = 0;
virtual rdcarray<ShaderEntryPoint> GetShaderEntryPoints(ResourceId shader) = 0;
virtual ShaderReflection *GetShader(ResourceId pipeline, ResourceId shader,
ShaderEntryPoint entry) = 0;
virtual const ShaderReflection *GetShader(ResourceId pipeline, ResourceId shader,
ShaderEntryPoint entry) = 0;
virtual rdcarray<rdcstr> GetDisassemblyTargets(bool withPipeline) = 0;
virtual rdcstr DisassembleShader(ResourceId pipeline, const ShaderReflection *refl,