Struct windows::Win32::Graphics::Direct3D12::ID3D12Device
pub struct ID3D12Device(/* private fields */);
Implementations§
§impl ID3D12Device
impl ID3D12Device
pub unsafe fn GetPrivateData( &self, guid: *const GUID, pdatasize: *mut u32, pdata: Option<*mut c_void> ) -> Result<()>
pub unsafe fn SetPrivateData( &self, guid: *const GUID, datasize: u32, pdata: Option<*const c_void> ) -> Result<()>
pub unsafe fn SetPrivateDataInterface<P0>(
&self,
guid: *const GUID,
pdata: P0
) -> Result<()>where
P0: IntoParam<IUnknown>,
pub unsafe fn SetName<P0>(&self, name: P0) -> Result<()>where
P0: IntoParam<PCWSTR>,
pub unsafe fn GetNodeCount(&self) -> u32
pub unsafe fn CreateCommandQueue<T>(
&self,
pdesc: *const D3D12_COMMAND_QUEUE_DESC
) -> Result<T>where
T: Interface,
pub unsafe fn CreateCommandAllocator<T>(
&self,
type: D3D12_COMMAND_LIST_TYPE
) -> Result<T>where
T: Interface,
pub unsafe fn CreateGraphicsPipelineState<T>(
&self,
pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC
) -> Result<T>where
T: Interface,
pub unsafe fn CreateComputePipelineState<T>(
&self,
pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC
) -> Result<T>where
T: Interface,
pub unsafe fn CreateCommandList<P0, P1, T>( &self, nodemask: u32, type: D3D12_COMMAND_LIST_TYPE, pcommandallocator: P0, pinitialstate: P1 ) -> Result<T>
pub unsafe fn CheckFeatureSupport( &self, feature: D3D12_FEATURE, pfeaturesupportdata: *mut c_void, featuresupportdatasize: u32 ) -> Result<()>
pub unsafe fn CreateDescriptorHeap<T>(
&self,
pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC
) -> Result<T>where
T: Interface,
pub unsafe fn GetDescriptorHandleIncrementSize( &self, descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE ) -> u32
pub unsafe fn CreateRootSignature<T>(
&self,
nodemask: u32,
pblobwithrootsignature: &[u8]
) -> Result<T>where
T: Interface,
pub unsafe fn CreateConstantBufferView( &self, pdesc: Option<*const D3D12_CONSTANT_BUFFER_VIEW_DESC>, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE )
pub unsafe fn CreateShaderResourceView<P0>(
&self,
presource: P0,
pdesc: Option<*const D3D12_SHADER_RESOURCE_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE
)where
P0: IntoParam<ID3D12Resource>,
pub unsafe fn CreateUnorderedAccessView<P0, P1>(
&self,
presource: P0,
pcounterresource: P1,
pdesc: Option<*const D3D12_UNORDERED_ACCESS_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE
)where
P0: IntoParam<ID3D12Resource>,
P1: IntoParam<ID3D12Resource>,
pub unsafe fn CreateRenderTargetView<P0>(
&self,
presource: P0,
pdesc: Option<*const D3D12_RENDER_TARGET_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE
)where
P0: IntoParam<ID3D12Resource>,
pub unsafe fn CreateDepthStencilView<P0>(
&self,
presource: P0,
pdesc: Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE
)where
P0: IntoParam<ID3D12Resource>,
pub unsafe fn CreateSampler( &self, pdesc: *const D3D12_SAMPLER_DESC, destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE )
pub unsafe fn CopyDescriptors( &self, numdestdescriptorranges: u32, pdestdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pdestdescriptorrangesizes: Option<*const u32>, numsrcdescriptorranges: u32, psrcdescriptorrangestarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, psrcdescriptorrangesizes: Option<*const u32>, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE )
pub unsafe fn CopyDescriptorsSimple( &self, numdescriptors: u32, destdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, srcdescriptorrangestart: D3D12_CPU_DESCRIPTOR_HANDLE, descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE )
pub unsafe fn GetResourceAllocationInfo( &self, visiblemask: u32, presourcedescs: &[D3D12_RESOURCE_DESC] ) -> D3D12_RESOURCE_ALLOCATION_INFO
pub unsafe fn GetCustomHeapProperties( &self, nodemask: u32, heaptype: D3D12_HEAP_TYPE ) -> D3D12_HEAP_PROPERTIES
pub unsafe fn CreateCommittedResource<T>(
&self,
pheapproperties: *const D3D12_HEAP_PROPERTIES,
heapflags: D3D12_HEAP_FLAGS,
pdesc: *const D3D12_RESOURCE_DESC,
initialresourcestate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: Option<*const D3D12_CLEAR_VALUE>,
result__: *mut Option<T>
) -> Result<()>where
T: Interface,
pub unsafe fn CreateHeap<T>(
&self,
pdesc: *const D3D12_HEAP_DESC,
result__: *mut Option<T>
) -> Result<()>where
T: Interface,
pub unsafe fn CreatePlacedResource<P0, T>(
&self,
pheap: P0,
heapoffset: u64,
pdesc: *const D3D12_RESOURCE_DESC,
initialstate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: Option<*const D3D12_CLEAR_VALUE>,
result__: *mut Option<T>
) -> Result<()>where
P0: IntoParam<ID3D12Heap>,
T: Interface,
pub unsafe fn CreateReservedResource<T>(
&self,
pdesc: *const D3D12_RESOURCE_DESC,
initialstate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: Option<*const D3D12_CLEAR_VALUE>,
result__: *mut Option<T>
) -> Result<()>where
T: Interface,
pub unsafe fn MakeResident( &self, ppobjects: &[Option<ID3D12Pageable>] ) -> Result<()>
pub unsafe fn Evict(&self, ppobjects: &[Option<ID3D12Pageable>]) -> Result<()>
pub unsafe fn CreateFence<T>(
&self,
initialvalue: u64,
flags: D3D12_FENCE_FLAGS
) -> Result<T>where
T: Interface,
pub unsafe fn GetDeviceRemovedReason(&self) -> Result<()>
pub unsafe fn GetCopyableFootprints( &self, presourcedesc: *const D3D12_RESOURCE_DESC, firstsubresource: u32, numsubresources: u32, baseoffset: u64, playouts: Option<*mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT>, pnumrows: Option<*mut u32>, prowsizeinbytes: Option<*mut u64>, ptotalbytes: Option<*mut u64> )
pub unsafe fn CreateQueryHeap<T>(
&self,
pdesc: *const D3D12_QUERY_HEAP_DESC,
result__: *mut Option<T>
) -> Result<()>where
T: Interface,
pub unsafe fn SetStablePowerState<P0>(&self, enable: P0) -> Result<()>where
P0: IntoParam<BOOL>,
pub unsafe fn CreateCommandSignature<P0, T>(
&self,
pdesc: *const D3D12_COMMAND_SIGNATURE_DESC,
prootsignature: P0,
result__: *mut Option<T>
) -> Result<()>where
P0: IntoParam<ID3D12RootSignature>,
T: Interface,
pub unsafe fn GetResourceTiling<P0>(
&self,
ptiledresource: P0,
pnumtilesforentireresource: Option<*mut u32>,
ppackedmipdesc: Option<*mut D3D12_PACKED_MIP_INFO>,
pstandardtileshapefornonpackedmips: Option<*mut D3D12_TILE_SHAPE>,
pnumsubresourcetilings: Option<*mut u32>,
firstsubresourcetilingtoget: u32,
psubresourcetilingsfornonpackedmips: *mut D3D12_SUBRESOURCE_TILING
)where
P0: IntoParam<ID3D12Resource>,
pub unsafe fn GetAdapterLuid(&self) -> LUID
Trait Implementations§
§impl Clone for ID3D12Device
impl Clone for ID3D12Device
§fn clone(&self) -> ID3D12Device
fn clone(&self) -> ID3D12Device
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for ID3D12Device
impl Debug for ID3D12Device
§impl From<&ID3D12Device> for &ID3D12Object
impl From<&ID3D12Device> for &ID3D12Object
§fn from(value: &ID3D12Device) -> Self
fn from(value: &ID3D12Device) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device> for &IUnknown
impl From<&ID3D12Device> for &IUnknown
§fn from(value: &ID3D12Device) -> Self
fn from(value: &ID3D12Device) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device1> for &ID3D12Device
impl From<&ID3D12Device1> for &ID3D12Device
§fn from(value: &ID3D12Device1) -> Self
fn from(value: &ID3D12Device1) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device10> for &ID3D12Device
impl From<&ID3D12Device10> for &ID3D12Device
§fn from(value: &ID3D12Device10) -> Self
fn from(value: &ID3D12Device10) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device11> for &ID3D12Device
impl From<&ID3D12Device11> for &ID3D12Device
§fn from(value: &ID3D12Device11) -> Self
fn from(value: &ID3D12Device11) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device12> for &ID3D12Device
impl From<&ID3D12Device12> for &ID3D12Device
§fn from(value: &ID3D12Device12) -> Self
fn from(value: &ID3D12Device12) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device13> for &ID3D12Device
impl From<&ID3D12Device13> for &ID3D12Device
§fn from(value: &ID3D12Device13) -> Self
fn from(value: &ID3D12Device13) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device2> for &ID3D12Device
impl From<&ID3D12Device2> for &ID3D12Device
§fn from(value: &ID3D12Device2) -> Self
fn from(value: &ID3D12Device2) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device3> for &ID3D12Device
impl From<&ID3D12Device3> for &ID3D12Device
§fn from(value: &ID3D12Device3) -> Self
fn from(value: &ID3D12Device3) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device4> for &ID3D12Device
impl From<&ID3D12Device4> for &ID3D12Device
§fn from(value: &ID3D12Device4) -> Self
fn from(value: &ID3D12Device4) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device5> for &ID3D12Device
impl From<&ID3D12Device5> for &ID3D12Device
§fn from(value: &ID3D12Device5) -> Self
fn from(value: &ID3D12Device5) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device6> for &ID3D12Device
impl From<&ID3D12Device6> for &ID3D12Device
§fn from(value: &ID3D12Device6) -> Self
fn from(value: &ID3D12Device6) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device7> for &ID3D12Device
impl From<&ID3D12Device7> for &ID3D12Device
§fn from(value: &ID3D12Device7) -> Self
fn from(value: &ID3D12Device7) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device8> for &ID3D12Device
impl From<&ID3D12Device8> for &ID3D12Device
§fn from(value: &ID3D12Device8) -> Self
fn from(value: &ID3D12Device8) -> Self
Converts to this type from the input type.
§impl From<&ID3D12Device9> for &ID3D12Device
impl From<&ID3D12Device9> for &ID3D12Device
§fn from(value: &ID3D12Device9) -> Self
fn from(value: &ID3D12Device9) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device> for ID3D12Object
impl From<ID3D12Device> for ID3D12Object
§fn from(value: ID3D12Device) -> Self
fn from(value: ID3D12Device) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device> for IUnknown
impl From<ID3D12Device> for IUnknown
§fn from(value: ID3D12Device) -> Self
fn from(value: ID3D12Device) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device1> for ID3D12Device
impl From<ID3D12Device1> for ID3D12Device
§fn from(value: ID3D12Device1) -> Self
fn from(value: ID3D12Device1) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device10> for ID3D12Device
impl From<ID3D12Device10> for ID3D12Device
§fn from(value: ID3D12Device10) -> Self
fn from(value: ID3D12Device10) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device11> for ID3D12Device
impl From<ID3D12Device11> for ID3D12Device
§fn from(value: ID3D12Device11) -> Self
fn from(value: ID3D12Device11) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device12> for ID3D12Device
impl From<ID3D12Device12> for ID3D12Device
§fn from(value: ID3D12Device12) -> Self
fn from(value: ID3D12Device12) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device13> for ID3D12Device
impl From<ID3D12Device13> for ID3D12Device
§fn from(value: ID3D12Device13) -> Self
fn from(value: ID3D12Device13) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device2> for ID3D12Device
impl From<ID3D12Device2> for ID3D12Device
§fn from(value: ID3D12Device2) -> Self
fn from(value: ID3D12Device2) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device3> for ID3D12Device
impl From<ID3D12Device3> for ID3D12Device
§fn from(value: ID3D12Device3) -> Self
fn from(value: ID3D12Device3) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device4> for ID3D12Device
impl From<ID3D12Device4> for ID3D12Device
§fn from(value: ID3D12Device4) -> Self
fn from(value: ID3D12Device4) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device5> for ID3D12Device
impl From<ID3D12Device5> for ID3D12Device
§fn from(value: ID3D12Device5) -> Self
fn from(value: ID3D12Device5) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device6> for ID3D12Device
impl From<ID3D12Device6> for ID3D12Device
§fn from(value: ID3D12Device6) -> Self
fn from(value: ID3D12Device6) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device7> for ID3D12Device
impl From<ID3D12Device7> for ID3D12Device
§fn from(value: ID3D12Device7) -> Self
fn from(value: ID3D12Device7) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device8> for ID3D12Device
impl From<ID3D12Device8> for ID3D12Device
§fn from(value: ID3D12Device8) -> Self
fn from(value: ID3D12Device8) -> Self
Converts to this type from the input type.
§impl From<ID3D12Device9> for ID3D12Device
impl From<ID3D12Device9> for ID3D12Device
§fn from(value: ID3D12Device9) -> Self
fn from(value: ID3D12Device9) -> Self
Converts to this type from the input type.
§impl Interface for ID3D12Device
impl Interface for ID3D12Device
§fn as_raw(&self) -> *mut c_void
fn as_raw(&self) -> *mut c_void
Returns the raw COM interface pointer. The resulting pointer continues to be owned by the
Interface
implementation.§fn into_raw(self) -> *mut c_void
fn into_raw(self) -> *mut c_void
Returns the raw COM interface pointer and releases ownership. It the caller’s responsibility to release the COM interface pointer.
§fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
Attempts to cast the current interface to another interface using
QueryInterface
. Read more§impl PartialEq for ID3D12Device
impl PartialEq for ID3D12Device
§fn eq(&self, other: &ID3D12Device) -> bool
fn eq(&self, other: &ID3D12Device) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for ID3D12Device
impl Send for ID3D12Device
impl StructuralPartialEq for ID3D12Device
impl Sync for ID3D12Device
Auto Trait Implementations§
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