Display table index for root sig elements

This commit is contained in:
baldurk
2016-10-14 09:58:15 +02:00
parent 2f93a4a64b
commit c37ee2bb03
5 changed files with 40 additions and 28 deletions
+6 -1
View File
@@ -83,6 +83,7 @@ struct D3D12PipelineState
ResourceView()
: Immediate(0),
RootElement(~0U),
TableIndex(~0U),
Resource(),
Format(),
BufferFlags(0),
@@ -106,6 +107,7 @@ struct D3D12PipelineState
// parameters from descriptor
bool32 Immediate;
uint32_t RootElement;
uint32_t TableIndex;
// parameters from resource/view
ResourceId Resource;
@@ -138,6 +140,7 @@ struct D3D12PipelineState
Sampler()
: Immediate(0),
RootElement(~0U),
TableIndex(~0U),
UseBorder(false),
UseComparison(false),
MaxAniso(0),
@@ -151,6 +154,7 @@ struct D3D12PipelineState
// parameters from descriptor
bool32 Immediate;
uint32_t RootElement;
uint32_t TableIndex;
// parameters from resource/view
rdctype::str AddressU, AddressV, AddressW;
@@ -167,10 +171,11 @@ struct D3D12PipelineState
struct CBuffer
{
CBuffer() : Immediate(0), RootElement(~0U), Buffer(), Offset(0), ByteSize(0) {}
CBuffer() : Immediate(0), RootElement(~0U), TableIndex(~0U), Buffer(), Offset(0), ByteSize(0) {}
// parameters from descriptor
bool32 Immediate;
uint32_t RootElement;
uint32_t TableIndex;
// parameters from resource/view
ResourceId Buffer;
+4
View File
@@ -654,6 +654,7 @@ void D3D12Replay::FillRegisterSpaces(
D3D12PipelineState::Sampler &samp = spaces[regSpace].samplers[shaderReg];
samp.Immediate = false;
samp.RootElement = (uint32_t)rootEl;
samp.TableIndex = offset + i;
if(desc)
{
@@ -697,6 +698,7 @@ void D3D12Replay::FillRegisterSpaces(
D3D12PipelineState::CBuffer &cb = spaces[regSpace].cbuffers[shaderReg];
cb.Immediate = false;
cb.RootElement = (uint32_t)rootEl;
cb.TableIndex = offset + i;
if(desc)
{
@@ -720,6 +722,7 @@ void D3D12Replay::FillRegisterSpaces(
D3D12PipelineState::ResourceView &view = spaces[regSpace].srvs[shaderReg];
view.Immediate = false;
view.RootElement = (uint32_t)rootEl;
view.TableIndex = offset + i;
if(desc)
{
@@ -740,6 +743,7 @@ void D3D12Replay::FillRegisterSpaces(
D3D12PipelineState::ResourceView &view = spaces[regSpace].uavs[shaderReg];
view.Immediate = false;
view.RootElement = (uint32_t)rootEl;
view.TableIndex = offset + i;
if(desc)
{