DXIL Debugger preparation changes

Add DXILDebug::[Debugger,ThreadState] as friends to DXIL::Program
Expose DXIL::isUndef(const DXIL::Value* v); for use in the DXIL Debugger
Add more stubs to DXILDebug::[DebugAPIWrapper, ThreadState, GlobalState]
This commit is contained in:
Jake Turner
2024-06-06 12:00:01 +01:00
parent 5d4d3e0c0d
commit d6c94b20bc
2 changed files with 28 additions and 1 deletions
@@ -41,6 +41,12 @@ namespace LLVMBC
struct BlockOrRecord;
};
namespace DXILDebug
{
class Debugger;
struct ThreadState;
};
namespace DXIL
{
struct BumpAllocator
@@ -1498,6 +1504,8 @@ struct ResourceReference
class Program : public DXBC::IDebugInfo
{
friend DXILDebug::Debugger;
friend DXILDebug::ThreadState;
public:
Program(const byte *bytes, size_t length);
Program(const Program &o) = delete;
@@ -1667,6 +1675,8 @@ bool getival(const Value *v, T &out)
return false;
}
bool isUndef(const Value *v);
}; // namespace DXIL
DECLARE_REFLECTION_ENUM(DXIL::Attribute);
+18 -1
View File
@@ -30,6 +30,9 @@
namespace DXILDebug
{
typedef rdcstr Id;
class Debugger;
struct GlobalState;
struct BindingSlot
{
BindingSlot() : shaderRegister(UINT32_MAX), registerSpace(UINT32_MAX) {}
@@ -53,8 +56,22 @@ struct BindingSlot
uint32_t registerSpace;
};
struct Debugger : public DXBCContainerDebugger
class DebugAPIWrapper
{
};
struct ThreadState
{
};
struct GlobalState
{
GlobalState() = default;
};
class Debugger : public DXBCContainerDebugger
{
public:
Debugger() : DXBCContainerDebugger(true){};
};