pub trait ID3D12GraphicsCommandList_Impl: Sized + ID3D12CommandList_Impl {
Show 51 methods
// Required methods
fn Close(&self) -> Result<()>;
fn Reset(
&self,
pallocator: Option<&ID3D12CommandAllocator>,
pinitialstate: Option<&ID3D12PipelineState>,
) -> Result<()>;
fn ClearState(&self, ppipelinestate: Option<&ID3D12PipelineState>);
fn DrawInstanced(
&self,
vertexcountperinstance: u32,
instancecount: u32,
startvertexlocation: u32,
startinstancelocation: u32,
);
fn DrawIndexedInstanced(
&self,
indexcountperinstance: u32,
instancecount: u32,
startindexlocation: u32,
basevertexlocation: i32,
startinstancelocation: u32,
);
fn Dispatch(
&self,
threadgroupcountx: u32,
threadgroupcounty: u32,
threadgroupcountz: u32,
);
fn CopyBufferRegion(
&self,
pdstbuffer: Option<&ID3D12Resource>,
dstoffset: u64,
psrcbuffer: Option<&ID3D12Resource>,
srcoffset: u64,
numbytes: u64,
);
fn CopyTextureRegion(
&self,
pdst: *const D3D12_TEXTURE_COPY_LOCATION,
dstx: u32,
dsty: u32,
dstz: u32,
psrc: *const D3D12_TEXTURE_COPY_LOCATION,
psrcbox: *const D3D12_BOX,
);
fn CopyResource(
&self,
pdstresource: Option<&ID3D12Resource>,
psrcresource: Option<&ID3D12Resource>,
);
fn CopyTiles(
&self,
ptiledresource: Option<&ID3D12Resource>,
ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE,
ptileregionsize: *const D3D12_TILE_REGION_SIZE,
pbuffer: Option<&ID3D12Resource>,
bufferstartoffsetinbytes: u64,
flags: D3D12_TILE_COPY_FLAGS,
);
fn ResolveSubresource(
&self,
pdstresource: Option<&ID3D12Resource>,
dstsubresource: u32,
psrcresource: Option<&ID3D12Resource>,
srcsubresource: u32,
format: DXGI_FORMAT,
);
fn IASetPrimitiveTopology(&self, primitivetopology: D3D_PRIMITIVE_TOPOLOGY);
fn RSSetViewports(
&self,
numviewports: u32,
pviewports: *const D3D12_VIEWPORT,
);
fn RSSetScissorRects(&self, numrects: u32, prects: *const RECT);
fn OMSetBlendFactor(&self, blendfactor: *const f32);
fn OMSetStencilRef(&self, stencilref: u32);
fn SetPipelineState(&self, ppipelinestate: Option<&ID3D12PipelineState>);
fn ResourceBarrier(
&self,
numbarriers: u32,
pbarriers: *const D3D12_RESOURCE_BARRIER,
);
fn ExecuteBundle(&self, pcommandlist: Option<&ID3D12GraphicsCommandList>);
fn SetDescriptorHeaps(
&self,
numdescriptorheaps: u32,
ppdescriptorheaps: *const Option<ID3D12DescriptorHeap>,
);
fn SetComputeRootSignature(
&self,
prootsignature: Option<&ID3D12RootSignature>,
);
fn SetGraphicsRootSignature(
&self,
prootsignature: Option<&ID3D12RootSignature>,
);
fn SetComputeRootDescriptorTable(
&self,
rootparameterindex: u32,
basedescriptor: &D3D12_GPU_DESCRIPTOR_HANDLE,
);
fn SetGraphicsRootDescriptorTable(
&self,
rootparameterindex: u32,
basedescriptor: &D3D12_GPU_DESCRIPTOR_HANDLE,
);
fn SetComputeRoot32BitConstant(
&self,
rootparameterindex: u32,
srcdata: u32,
destoffsetin32bitvalues: u32,
);
fn SetGraphicsRoot32BitConstant(
&self,
rootparameterindex: u32,
srcdata: u32,
destoffsetin32bitvalues: u32,
);
fn SetComputeRoot32BitConstants(
&self,
rootparameterindex: u32,
num32bitvaluestoset: u32,
psrcdata: *const c_void,
destoffsetin32bitvalues: u32,
);
fn SetGraphicsRoot32BitConstants(
&self,
rootparameterindex: u32,
num32bitvaluestoset: u32,
psrcdata: *const c_void,
destoffsetin32bitvalues: u32,
);
fn SetComputeRootConstantBufferView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn SetGraphicsRootConstantBufferView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn SetComputeRootShaderResourceView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn SetGraphicsRootShaderResourceView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn SetComputeRootUnorderedAccessView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn SetGraphicsRootUnorderedAccessView(
&self,
rootparameterindex: u32,
bufferlocation: u64,
);
fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW);
fn IASetVertexBuffers(
&self,
startslot: u32,
numviews: u32,
pviews: *const D3D12_VERTEX_BUFFER_VIEW,
);
fn SOSetTargets(
&self,
startslot: u32,
numviews: u32,
pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW,
);
fn OMSetRenderTargets(
&self,
numrendertargetdescriptors: u32,
prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE,
rtssinglehandletodescriptorrange: BOOL,
pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE,
);
fn ClearDepthStencilView(
&self,
depthstencilview: &D3D12_CPU_DESCRIPTOR_HANDLE,
clearflags: D3D12_CLEAR_FLAGS,
depth: f32,
stencil: u8,
numrects: u32,
prects: *const RECT,
);
fn ClearRenderTargetView(
&self,
rendertargetview: &D3D12_CPU_DESCRIPTOR_HANDLE,
colorrgba: *const f32,
numrects: u32,
prects: *const RECT,
);
fn ClearUnorderedAccessViewUint(
&self,
viewgpuhandleincurrentheap: &D3D12_GPU_DESCRIPTOR_HANDLE,
viewcpuhandle: &D3D12_CPU_DESCRIPTOR_HANDLE,
presource: Option<&ID3D12Resource>,
values: *const u32,
numrects: u32,
prects: *const RECT,
);
fn ClearUnorderedAccessViewFloat(
&self,
viewgpuhandleincurrentheap: &D3D12_GPU_DESCRIPTOR_HANDLE,
viewcpuhandle: &D3D12_CPU_DESCRIPTOR_HANDLE,
presource: Option<&ID3D12Resource>,
values: *const f32,
numrects: u32,
prects: *const RECT,
);
fn DiscardResource(
&self,
presource: Option<&ID3D12Resource>,
pregion: *const D3D12_DISCARD_REGION,
);
fn BeginQuery(
&self,
pqueryheap: Option<&ID3D12QueryHeap>,
type: D3D12_QUERY_TYPE,
index: u32,
);
fn EndQuery(
&self,
pqueryheap: Option<&ID3D12QueryHeap>,
type: D3D12_QUERY_TYPE,
index: u32,
);
fn ResolveQueryData(
&self,
pqueryheap: Option<&ID3D12QueryHeap>,
type: D3D12_QUERY_TYPE,
startindex: u32,
numqueries: u32,
pdestinationbuffer: Option<&ID3D12Resource>,
aligneddestinationbufferoffset: u64,
);
fn SetPredication(
&self,
pbuffer: Option<&ID3D12Resource>,
alignedbufferoffset: u64,
operation: D3D12_PREDICATION_OP,
);
fn SetMarker(&self, metadata: u32, pdata: *const c_void, size: u32);
fn BeginEvent(&self, metadata: u32, pdata: *const c_void, size: u32);
fn EndEvent(&self);
fn ExecuteIndirect(
&self,
pcommandsignature: Option<&ID3D12CommandSignature>,
maxcommandcount: u32,
pargumentbuffer: Option<&ID3D12Resource>,
argumentbufferoffset: u64,
pcountbuffer: Option<&ID3D12Resource>,
countbufferoffset: u64,
);
}
Required Methods§
fn Close(&self) -> Result<()>
fn Reset( &self, pallocator: Option<&ID3D12CommandAllocator>, pinitialstate: Option<&ID3D12PipelineState>, ) -> Result<()>
fn ClearState(&self, ppipelinestate: Option<&ID3D12PipelineState>)
fn DrawInstanced( &self, vertexcountperinstance: u32, instancecount: u32, startvertexlocation: u32, startinstancelocation: u32, )
fn DrawIndexedInstanced( &self, indexcountperinstance: u32, instancecount: u32, startindexlocation: u32, basevertexlocation: i32, startinstancelocation: u32, )
fn Dispatch( &self, threadgroupcountx: u32, threadgroupcounty: u32, threadgroupcountz: u32, )
fn CopyBufferRegion( &self, pdstbuffer: Option<&ID3D12Resource>, dstoffset: u64, psrcbuffer: Option<&ID3D12Resource>, srcoffset: u64, numbytes: u64, )
fn CopyTextureRegion( &self, pdst: *const D3D12_TEXTURE_COPY_LOCATION, dstx: u32, dsty: u32, dstz: u32, psrc: *const D3D12_TEXTURE_COPY_LOCATION, psrcbox: *const D3D12_BOX, )
fn CopyResource( &self, pdstresource: Option<&ID3D12Resource>, psrcresource: Option<&ID3D12Resource>, )
fn CopyTiles( &self, ptiledresource: Option<&ID3D12Resource>, ptileregionstartcoordinate: *const D3D12_TILED_RESOURCE_COORDINATE, ptileregionsize: *const D3D12_TILE_REGION_SIZE, pbuffer: Option<&ID3D12Resource>, bufferstartoffsetinbytes: u64, flags: D3D12_TILE_COPY_FLAGS, )
fn ResolveSubresource( &self, pdstresource: Option<&ID3D12Resource>, dstsubresource: u32, psrcresource: Option<&ID3D12Resource>, srcsubresource: u32, format: DXGI_FORMAT, )
fn IASetPrimitiveTopology(&self, primitivetopology: D3D_PRIMITIVE_TOPOLOGY)
fn RSSetViewports(&self, numviewports: u32, pviewports: *const D3D12_VIEWPORT)
fn RSSetScissorRects(&self, numrects: u32, prects: *const RECT)
fn OMSetBlendFactor(&self, blendfactor: *const f32)
fn OMSetStencilRef(&self, stencilref: u32)
fn SetPipelineState(&self, ppipelinestate: Option<&ID3D12PipelineState>)
fn ResourceBarrier( &self, numbarriers: u32, pbarriers: *const D3D12_RESOURCE_BARRIER, )
fn ExecuteBundle(&self, pcommandlist: Option<&ID3D12GraphicsCommandList>)
fn SetDescriptorHeaps( &self, numdescriptorheaps: u32, ppdescriptorheaps: *const Option<ID3D12DescriptorHeap>, )
fn SetComputeRootSignature(&self, prootsignature: Option<&ID3D12RootSignature>)
fn SetGraphicsRootSignature(&self, prootsignature: Option<&ID3D12RootSignature>)
fn SetComputeRootDescriptorTable( &self, rootparameterindex: u32, basedescriptor: &D3D12_GPU_DESCRIPTOR_HANDLE, )
fn SetGraphicsRootDescriptorTable( &self, rootparameterindex: u32, basedescriptor: &D3D12_GPU_DESCRIPTOR_HANDLE, )
fn SetComputeRoot32BitConstant( &self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32, )
fn SetGraphicsRoot32BitConstant( &self, rootparameterindex: u32, srcdata: u32, destoffsetin32bitvalues: u32, )
fn SetComputeRoot32BitConstants( &self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const c_void, destoffsetin32bitvalues: u32, )
fn SetGraphicsRoot32BitConstants( &self, rootparameterindex: u32, num32bitvaluestoset: u32, psrcdata: *const c_void, destoffsetin32bitvalues: u32, )
fn SetComputeRootConstantBufferView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn SetGraphicsRootConstantBufferView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn SetComputeRootShaderResourceView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn SetGraphicsRootShaderResourceView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn SetComputeRootUnorderedAccessView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn SetGraphicsRootUnorderedAccessView( &self, rootparameterindex: u32, bufferlocation: u64, )
fn IASetIndexBuffer(&self, pview: *const D3D12_INDEX_BUFFER_VIEW)
fn IASetVertexBuffers( &self, startslot: u32, numviews: u32, pviews: *const D3D12_VERTEX_BUFFER_VIEW, )
fn SOSetTargets( &self, startslot: u32, numviews: u32, pviews: *const D3D12_STREAM_OUTPUT_BUFFER_VIEW, )
fn OMSetRenderTargets( &self, numrendertargetdescriptors: u32, prendertargetdescriptors: *const D3D12_CPU_DESCRIPTOR_HANDLE, rtssinglehandletodescriptorrange: BOOL, pdepthstencildescriptor: *const D3D12_CPU_DESCRIPTOR_HANDLE, )
fn ClearDepthStencilView( &self, depthstencilview: &D3D12_CPU_DESCRIPTOR_HANDLE, clearflags: D3D12_CLEAR_FLAGS, depth: f32, stencil: u8, numrects: u32, prects: *const RECT, )
fn ClearRenderTargetView( &self, rendertargetview: &D3D12_CPU_DESCRIPTOR_HANDLE, colorrgba: *const f32, numrects: u32, prects: *const RECT, )
fn ClearUnorderedAccessViewUint( &self, viewgpuhandleincurrentheap: &D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: &D3D12_CPU_DESCRIPTOR_HANDLE, presource: Option<&ID3D12Resource>, values: *const u32, numrects: u32, prects: *const RECT, )
fn ClearUnorderedAccessViewFloat( &self, viewgpuhandleincurrentheap: &D3D12_GPU_DESCRIPTOR_HANDLE, viewcpuhandle: &D3D12_CPU_DESCRIPTOR_HANDLE, presource: Option<&ID3D12Resource>, values: *const f32, numrects: u32, prects: *const RECT, )
fn DiscardResource( &self, presource: Option<&ID3D12Resource>, pregion: *const D3D12_DISCARD_REGION, )
fn BeginQuery( &self, pqueryheap: Option<&ID3D12QueryHeap>, type: D3D12_QUERY_TYPE, index: u32, )
fn EndQuery( &self, pqueryheap: Option<&ID3D12QueryHeap>, type: D3D12_QUERY_TYPE, index: u32, )
fn ResolveQueryData( &self, pqueryheap: Option<&ID3D12QueryHeap>, type: D3D12_QUERY_TYPE, startindex: u32, numqueries: u32, pdestinationbuffer: Option<&ID3D12Resource>, aligneddestinationbufferoffset: u64, )
fn SetPredication( &self, pbuffer: Option<&ID3D12Resource>, alignedbufferoffset: u64, operation: D3D12_PREDICATION_OP, )
fn SetMarker(&self, metadata: u32, pdata: *const c_void, size: u32)
fn BeginEvent(&self, metadata: u32, pdata: *const c_void, size: u32)
fn EndEvent(&self)
fn ExecuteIndirect( &self, pcommandsignature: Option<&ID3D12CommandSignature>, maxcommandcount: u32, pargumentbuffer: Option<&ID3D12Resource>, argumentbufferoffset: u64, pcountbuffer: Option<&ID3D12Resource>, countbufferoffset: u64, )
Object Safety§
This trait is not object safe.