15 D3D12_INDIRECT_ARGUMENT_DESC argumentDesc = {};
16 argumentDesc.Type = indexed ? D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
17 : D3D12_INDIRECT_ARGUMENT_TYPE_DRAW;
18 argumentDesc.VertexBuffer.Slot = slot;
20 D3D12_COMMAND_SIGNATURE_DESC commandSigDesc = {};
21 commandSigDesc.ByteStride = indexed ?
sizeof(D3D12_DRAW_INDEXED_ARGUMENTS)
22 :
sizeof(D3D12_DRAW_ARGUMENTS);
23 commandSigDesc.NumArgumentDescs = 1;
24 commandSigDesc.pArgumentDescs = &argumentDesc;
25 commandSigDesc.NodeMask = 0;
28 HRESULT hr = gpu->
device()->CreateCommandSignature(&commandSigDesc,
nullptr,
29 IID_PPV_ARGS(&commandSig));
31 SkDebugf(
"Failed to create command signature.\n");
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
static sk_sp< GrD3DCommandSignature > Make(GrD3DGpu *gpu, ForIndexed indexed, unsigned int slot)
ID3D12Device * device() const