mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-26 11:50:59 +00:00
Add serialize methods for more d3d types
Add new d3d12 chunks (unused by that commit) D3D12_INDIRECT_ARGUMENT_TYPE D3D12_INDIRECT_ARGUMENT_DESC D3D12_HEAP_DESC D3D12_QUERY_HEAP_TYPE D3D12_QUERY_HEAP_DESC D3D12_COMMAND_SIGNATURE_DESC D3D12_INDIRECT_ARGUMENT_DESC
This commit is contained in:
@@ -473,6 +473,68 @@ void Serialiser::Serialise(const char *name, D3D12_COMPUTE_PIPELINE_STATE_DESC &
|
||||
}
|
||||
}
|
||||
|
||||
string ToStrHelper<false, D3D12_INDIRECT_ARGUMENT_TYPE>::Get(const D3D12_INDIRECT_ARGUMENT_TYPE &el)
|
||||
{
|
||||
switch(el)
|
||||
{
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_DRAW)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW)
|
||||
default: break;
|
||||
}
|
||||
|
||||
return StringFormat::Fmt("D3D12_INDIRECT_ARGUMENT_TYPE<%d>", el);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_INDIRECT_ARGUMENT_DESC &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "D3D12_INDIRECT_ARGUMENT_DESC", 0, true);
|
||||
|
||||
Serialise("Type", el.Type);
|
||||
switch(el.Type)
|
||||
{
|
||||
case D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW:
|
||||
Serialise("Slot", el.VertexBuffer.Slot);
|
||||
break;
|
||||
case D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT:
|
||||
Serialise("RootParameterIndex", el.Constant.RootParameterIndex);
|
||||
Serialise("DestOffsetIn32BitValues", el.Constant.DestOffsetIn32BitValues);
|
||||
Serialise("Num32BitValuesToSet", el.Constant.Num32BitValuesToSet);
|
||||
break;
|
||||
case D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW:
|
||||
Serialise("RootParameterIndex", el.ConstantBufferView.RootParameterIndex);
|
||||
break;
|
||||
case D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW:
|
||||
Serialise("RootParameterIndex", el.ShaderResourceView.RootParameterIndex);
|
||||
break;
|
||||
case D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW:
|
||||
Serialise("RootParameterIndex", el.UnorderedAccessView.RootParameterIndex);
|
||||
break;
|
||||
default:
|
||||
// all other commands have no additional attributes
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_COMMAND_SIGNATURE_DESC &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "D3D12_COMMAND_SIGNATURE_DESC", 0, true);
|
||||
|
||||
Serialise("ByteStride", el.ByteStride);
|
||||
Serialise("NodeMask", el.NodeMask);
|
||||
|
||||
SerialiseComplexArray("pArgumentDescs", (D3D12_INDIRECT_ARGUMENT_DESC *&)el.pArgumentDescs,
|
||||
el.NumArgumentDescs);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_VERTEX_BUFFER_VIEW &el)
|
||||
{
|
||||
@@ -797,6 +859,26 @@ void Serialiser::Serialise(const char *name, D3D12_RESOURCE_BARRIER &el)
|
||||
}
|
||||
}
|
||||
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_HEAP_DESC &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "D3D12_HEAP_DESC", 0, true);
|
||||
|
||||
Serialise("SizeInBytes", el.SizeInBytes);
|
||||
Serialise("Properties", el.Properties);
|
||||
Serialise("Alignment", el.Alignment);
|
||||
Serialise("Flags", el.Flags);
|
||||
}
|
||||
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_QUERY_HEAP_DESC &el)
|
||||
{
|
||||
ScopedContext scope(this, name, "D3D12_QUERY_HEAP_DESC", 0, true);
|
||||
|
||||
Serialise("Type", el.Type);
|
||||
Serialise("Count", el.Count);
|
||||
Serialise("NodeMask", el.NodeMask);
|
||||
}
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_HEAP_PROPERTIES &el)
|
||||
{
|
||||
@@ -926,6 +1008,20 @@ string ToStrHelper<false, D3D12_HEAP_TYPE>::Get(const D3D12_HEAP_TYPE &el)
|
||||
return StringFormat::Fmt("D3D12_HEAP_TYPE<%d>", el);
|
||||
}
|
||||
|
||||
string ToStrHelper<false, D3D12_QUERY_HEAP_TYPE>::Get(const D3D12_QUERY_HEAP_TYPE &el)
|
||||
{
|
||||
switch(el)
|
||||
{
|
||||
TOSTR_CASE_STRINGIZE(D3D12_QUERY_HEAP_TYPE_OCCLUSION)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_QUERY_HEAP_TYPE_TIMESTAMP)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS)
|
||||
TOSTR_CASE_STRINGIZE(D3D12_QUERY_HEAP_TYPE_SO_STATISTICS)
|
||||
default: break;
|
||||
}
|
||||
|
||||
return StringFormat::Fmt("D3D12_QUERY_HEAP_TYPE<%d>", el);
|
||||
}
|
||||
|
||||
string ToStrHelper<false, D3D12_CPU_PAGE_PROPERTY>::Get(const D3D12_CPU_PAGE_PROPERTY &el)
|
||||
{
|
||||
switch(el)
|
||||
|
||||
@@ -175,6 +175,10 @@ void Serialiser::Serialise(const char *name, D3D12_VERTEX_BUFFER_VIEW &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_RESOURCE_BARRIER &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_HEAP_DESC &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_QUERY_HEAP_DESC &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_HEAP_PROPERTIES &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_DESCRIPTOR_HEAP_DESC &el);
|
||||
@@ -192,6 +196,10 @@ template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_UNORDERED_ACCESS_VIEW_DESC &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_CLEAR_VALUE &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_COMMAND_SIGNATURE_DESC &el);
|
||||
template <>
|
||||
void Serialiser::Serialise(const char *name, D3D12_INDIRECT_ARGUMENT_DESC &el);
|
||||
|
||||
struct D3D12Descriptor;
|
||||
template <>
|
||||
@@ -226,8 +234,14 @@ void Serialiser::Serialise(const char *name, D3D12Descriptor &el);
|
||||
D3D12_CHUNK_MACRO(CREATE_COMPUTE_PIPE, "ID3D12Device::CreateComputePipeline") \
|
||||
D3D12_CHUNK_MACRO(CREATE_DESCRIPTOR_HEAP, "ID3D12Device::CreateDescriptorHeap") \
|
||||
D3D12_CHUNK_MACRO(CREATE_ROOT_SIG, "ID3D12Device::CreateRootSignature") \
|
||||
D3D12_CHUNK_MACRO(CREATE_COMMAND_SIGNATURE, "ID3D12Device::CreateCommandSignature") \
|
||||
\
|
||||
D3D12_CHUNK_MACRO(CREATE_HEAP, "ID3D12Device::CreateHeap") \
|
||||
D3D12_CHUNK_MACRO(CREATE_QUERY_HEAP, "ID3D12Device::CreateQueryHeap") \
|
||||
\
|
||||
D3D12_CHUNK_MACRO(CREATE_COMMITTED_RESOURCE, "ID3D12Device::CreateCommittedResource") \
|
||||
D3D12_CHUNK_MACRO(CREATE_PLACED_RESOURCE, "ID3D12Device::CreatePlacedResource") \
|
||||
D3D12_CHUNK_MACRO(CREATE_RESERVED_RESOURCE, "ID3D12Device::CreateReservedResource") \
|
||||
\
|
||||
D3D12_CHUNK_MACRO(CREATE_FENCE, "ID3D12Device::CreateFence") \
|
||||
\
|
||||
|
||||
Reference in New Issue
Block a user