pub struct ComPtr<T: Interface>(/* private fields */);
Implementations§
source§impl ComPtr<ID3D12GraphicsCommandList>
impl ComPtr<ID3D12GraphicsCommandList>
pub fn as_list(&self) -> CommandList
pub fn close(&self) -> HRESULT
pub fn reset( &self, allocator: &CommandAllocator, initial_pso: PipelineState ) -> HRESULT
pub fn discard_resource(&self, resource: Resource, region: DiscardRegion<'_>)
pub fn clear_depth_stencil_view( &self, dsv: CpuDescriptor, flags: ClearFlags, depth: f32, stencil: u8, rects: &[Rect] )
pub fn clear_render_target_view( &self, rtv: CpuDescriptor, color: [f32; 4], rects: &[Rect] )
pub fn dispatch(&self, count: WorkGroupCount)
pub fn draw( &self, num_vertices: VertexCount, num_instances: InstanceCount, first_vertex: VertexCount, first_instance: InstanceCount )
pub fn draw_indexed( &self, num_indices: IndexCount, num_instances: InstanceCount, first_index: IndexCount, base_vertex: VertexOffset, first_instance: InstanceCount )
pub fn set_index_buffer( &self, gpu_address: GpuAddress, size: u32, format: Format )
pub fn set_blend_factor(&self, factor: [f32; 4])
pub fn set_stencil_reference(&self, reference: u32)
pub fn set_pipeline_state(&self, pso: &PipelineState)
pub fn execute_bundle(&self, bundle: GraphicsCommandList)
pub fn set_descriptor_heaps(&self, heaps: &[DescriptorHeap])
pub fn set_compute_root_signature(&self, signature: &RootSignature)
pub fn set_graphics_root_signature(&self, signature: &RootSignature)
pub fn set_compute_root_descriptor_table( &self, root_index: RootIndex, base_descriptor: GpuDescriptor )
pub fn set_compute_root_constant_buffer_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_compute_root_shader_resource_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_compute_root_unordered_access_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_compute_root_constant( &self, root_index: RootIndex, value: u32, dest_offset_words: u32 )
pub fn set_graphics_root_descriptor_table( &self, root_index: RootIndex, base_descriptor: GpuDescriptor )
pub fn set_graphics_root_constant_buffer_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_graphics_root_shader_resource_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_graphics_root_unordered_access_view( &self, root_index: RootIndex, buffer_location: GpuAddress )
pub fn set_graphics_root_constant( &self, root_index: RootIndex, value: u32, dest_offset_words: u32 )
pub fn resource_barrier(&self, barriers: &[ResourceBarrier])
source§impl ComPtr<ID3D12Debug>
impl ComPtr<ID3D12Debug>
pub fn enable_layer(&self)
pub fn enable_gpu_based_validation(&self) -> bool
source§impl ComPtr<ID3D12DescriptorHeap>
impl ComPtr<ID3D12DescriptorHeap>
pub fn start_cpu_descriptor(&self) -> CpuDescriptor
pub fn start_gpu_descriptor(&self) -> GpuDescriptor
source§impl ComPtr<ID3D12Device>
impl ComPtr<ID3D12Device>
pub fn create_heap( &self, size_in_bytes: u64, properties: HeapProperties, alignment: u64, flags: HeapFlags ) -> D3DResult<Heap>
pub fn create_command_allocator( &self, list_type: CmdListType ) -> D3DResult<CommandAllocator>
pub fn create_command_queue( &self, list_type: CmdListType, priority: Priority, flags: CommandQueueFlags, node_mask: NodeMask ) -> D3DResult<CommandQueue>
pub fn create_descriptor_heap( &self, num_descriptors: u32, heap_type: DescriptorHeapType, flags: DescriptorHeapFlags, node_mask: NodeMask ) -> D3DResult<DescriptorHeap>
pub fn get_descriptor_increment_size( &self, heap_type: DescriptorHeapType ) -> u32
pub fn create_graphics_command_list( &self, list_type: CmdListType, allocator: &CommandAllocator, initial: PipelineState, node_mask: NodeMask ) -> D3DResult<GraphicsCommandList>
pub fn create_query_heap( &self, heap_ty: QueryHeapType, count: u32, node_mask: NodeMask ) -> D3DResult<QueryHeap>
pub fn create_graphics_pipeline_state( &self, _root_signature: RootSignature, _vs: Shader<'_>, _ps: Shader<'_>, _gs: Shader<'_>, _hs: Shader<'_>, _ds: Shader<'_>, _node_mask: NodeMask, _cached_pso: CachedPSO<'_>, _flags: PipelineStateFlags ) -> D3DResult<PipelineState>
pub fn create_compute_pipeline_state( &self, root_signature: &RootSignature, cs: Shader<'_>, node_mask: NodeMask, cached_pso: CachedPSO<'_>, flags: PipelineStateFlags ) -> D3DResult<PipelineState>
pub fn create_sampler( &self, sampler: CpuDescriptor, filter: D3D12_FILTER, address_mode: TextureAddressMode, mip_lod_bias: f32, max_anisotropy: u32, comparison_op: D3D12_COMPARISON_FUNC, border_color: [f32; 4], lod: Range<f32> )
pub fn create_root_signature( &self, blob: Blob, node_mask: NodeMask ) -> D3DResult<RootSignature>
pub fn create_command_signature( &self, root_signature: RootSignature, arguments: &[IndirectArgument], stride: u32, node_mask: NodeMask ) -> D3DResult<CommandSignature>
pub fn create_render_target_view( &self, resource: Resource, desc: &RenderTargetViewDesc, descriptor: CpuDescriptor )
pub fn create_fence(&self, initial: u64) -> D3DResult<Fence>
source§impl ComPtr<IDXGIFactory1>
impl ComPtr<IDXGIFactory1>
pub fn create_swapchain( &self, queue: *mut IUnknown, hwnd: HWND, desc: &SwapchainDesc ) -> D3DResult<SwapChain>
source§impl ComPtr<IDXGIFactory2>
impl ComPtr<IDXGIFactory2>
pub fn create_swapchain_for_hwnd( &self, queue: *mut IUnknown, hwnd: HWND, desc: &SwapchainDesc ) -> D3DResult<SwapChain1>
pub fn create_swapchain_for_composition( &self, queue: *mut IUnknown, desc: &SwapchainDesc ) -> D3DResult<SwapChain1>
source§impl ComPtr<IDXGIFactory4>
impl ComPtr<IDXGIFactory4>
pub fn enumerate_adapters(&self, id: u32) -> D3DResult<Adapter1>
source§impl ComPtr<IDXGIFactoryMedia>
impl ComPtr<IDXGIFactoryMedia>
pub fn create_swapchain_for_composition_surface_handle( &self, queue: *mut IUnknown, surface_handle: HANDLE, desc: &SwapchainDesc ) -> D3DResult<SwapChain1>
source§impl ComPtr<IDXGISwapChain>
impl ComPtr<IDXGISwapChain>
pub fn get_buffer(&self, id: u32) -> D3DResult<Resource>
pub fn present(&self, interval: u32, flags: u32) -> HRESULT
pub fn present_flags( &self, interval: u32, flags: SwapChainPresentFlags ) -> HRESULT
source§impl ComPtr<IDXGISwapChain3>
impl ComPtr<IDXGISwapChain3>
pub fn get_current_back_buffer_index(&self) -> u32
source§impl ComPtr<ID3D12CommandQueue>
impl ComPtr<ID3D12CommandQueue>
pub fn execute_command_lists(&self, command_lists: &[CommandList])
pub fn signal(&self, fence: &Fence, value: u64) -> HRESULT
source§impl ComPtr<ID3D12Resource>
impl ComPtr<ID3D12Resource>
source§impl ComPtr<ID3D12Fence>
impl ComPtr<ID3D12Fence>
Trait Implementations§
source§impl<T: Interface> PartialEq<*mut T> for ComPtr<T>
impl<T: Interface> PartialEq<*mut T> for ComPtr<T>
Auto Trait Implementations§
impl<T> Freeze for ComPtr<T>
impl<T> RefUnwindSafe for ComPtr<T>where
T: RefUnwindSafe,
impl<T> !Send for ComPtr<T>
impl<T> !Sync for ComPtr<T>
impl<T> Unpin for ComPtr<T>
impl<T> UnwindSafe for ComPtr<T>where
T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more