D3D12: More optimal indirect command layout.

This commit is contained in:
Branimir Karadžić
2017-12-13 17:59:47 -08:00
parent bb7101b493
commit 3f454feae2
2 changed files with 4 additions and 4 deletions

View File

@@ -3555,12 +3555,12 @@ data.NumQualityLevels = 0;
D3D12_INDIRECT_ARGUMENT_DESC drawArgDesc[] =
{
{ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, { { Rdt::CBV } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 0 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 1 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 2 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 3 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 4 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, { { Rdt::CBV } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW, { { 0 } } },
};
@@ -3580,13 +3580,13 @@ data.NumQualityLevels = 0;
D3D12_INDIRECT_ARGUMENT_DESC drawIndexedArgDesc[] =
{
{ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, { { Rdt::CBV } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 0 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 1 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 2 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 3 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW, { { 4 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW, { { 0 } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW, { { Rdt::CBV } } },
{ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED, { { 0 } } },
};

View File

@@ -419,16 +419,16 @@ namespace bgfx { namespace d3d12
struct DrawIndirectCommand
{
D3D12_GPU_VIRTUAL_ADDRESS cbv;
D3D12_VERTEX_BUFFER_VIEW vbv[BGFX_CONFIG_MAX_VERTEX_STREAMS+1];
D3D12_GPU_VIRTUAL_ADDRESS cbv;
D3D12_DRAW_ARGUMENTS draw;
};
struct DrawIndexedIndirectCommand
{
D3D12_GPU_VIRTUAL_ADDRESS cbv;
D3D12_VERTEX_BUFFER_VIEW vbv[BGFX_CONFIG_MAX_VERTEX_STREAMS+1];
D3D12_INDEX_BUFFER_VIEW ibv;
D3D12_GPU_VIRTUAL_ADDRESS cbv;
D3D12_DRAW_INDEXED_ARGUMENTS drawIndexed;
};