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.

Implementors§