Struct windows::Win32::Graphics::Direct3D12::ID3D12Device
pub struct ID3D12Device(/* private fields */);
Implementations§
§impl ID3D12Device
impl ID3D12Device
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>where
P0: Param<ID3D12CommandAllocator>,
P1: Param<ID3D12PipelineState>,
T: Interface,
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: Param<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: Param<ID3D12Resource>,
P1: Param<ID3D12Resource>,
pub unsafe fn CreateRenderTargetView<P0>(
&self,
presource: P0,
pdesc: Option<*const D3D12_RENDER_TARGET_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
)where
P0: Param<ID3D12Resource>,
pub unsafe fn CreateDepthStencilView<P0>(
&self,
presource: P0,
pdesc: Option<*const D3D12_DEPTH_STENCIL_VIEW_DESC>,
destdescriptor: D3D12_CPU_DESCRIPTOR_HANDLE,
)where
P0: Param<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: Param<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: Param<BOOL>,
pub unsafe fn CreateCommandSignature<P0, T>(
&self,
pdesc: *const D3D12_COMMAND_SIGNATURE_DESC,
prootsignature: P0,
result__: *mut Option<T>,
) -> Result<()>where
P0: Param<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: Param<ID3D12Resource>,
pub unsafe fn GetAdapterLuid(&self) -> LUID
Methods from Deref<Target = ID3D12Object>§
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: Param<IUnknown>,
pub unsafe fn SetName<P0>(&self, name: P0) -> Result<()>where
P0: Param<PCWSTR>,
Trait Implementations§
§impl CanInto<ID3D12Device> for ID3D12Device1
impl CanInto<ID3D12Device> for ID3D12Device1
§impl CanInto<ID3D12Device> for ID3D12Device10
impl CanInto<ID3D12Device> for ID3D12Device10
§impl CanInto<ID3D12Device> for ID3D12Device11
impl CanInto<ID3D12Device> for ID3D12Device11
§impl CanInto<ID3D12Device> for ID3D12Device12
impl CanInto<ID3D12Device> for ID3D12Device12
§impl CanInto<ID3D12Device> for ID3D12Device13
impl CanInto<ID3D12Device> for ID3D12Device13
§impl CanInto<ID3D12Device> for ID3D12Device14
impl CanInto<ID3D12Device> for ID3D12Device14
§impl CanInto<ID3D12Device> for ID3D12Device2
impl CanInto<ID3D12Device> for ID3D12Device2
§impl CanInto<ID3D12Device> for ID3D12Device3
impl CanInto<ID3D12Device> for ID3D12Device3
§impl CanInto<ID3D12Device> for ID3D12Device4
impl CanInto<ID3D12Device> for ID3D12Device4
§impl CanInto<ID3D12Device> for ID3D12Device5
impl CanInto<ID3D12Device> for ID3D12Device5
§impl CanInto<ID3D12Device> for ID3D12Device6
impl CanInto<ID3D12Device> for ID3D12Device6
§impl CanInto<ID3D12Device> for ID3D12Device7
impl CanInto<ID3D12Device> for ID3D12Device7
§impl CanInto<ID3D12Device> for ID3D12Device8
impl CanInto<ID3D12Device> for ID3D12Device8
§impl CanInto<ID3D12Device> for ID3D12Device9
impl CanInto<ID3D12Device> for ID3D12Device9
§impl CanInto<ID3D12Object> for ID3D12Device
impl CanInto<ID3D12Object> for ID3D12Device
§impl CanInto<IUnknown> for ID3D12Device
impl CanInto<IUnknown> for ID3D12Device
§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 Deref for ID3D12Device
impl Deref 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<&ID3D12Device14> for &ID3D12Device
impl From<&ID3D12Device14> for &ID3D12Device
§fn from(value: &ID3D12Device14) -> Self
fn from(value: &ID3D12Device14) -> 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<ID3D12Device14> for ID3D12Device
impl From<ID3D12Device14> for ID3D12Device
§fn from(value: ID3D12Device14) -> Self
fn from(value: ID3D12Device14) -> 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§fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. Read more§fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
§fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. &MyApp_Impl
, not the inner &MyApp
object. Read more§fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. MyApp_Impl
, not the inner MyApp
object. Read more§fn downgrade(&self) -> Result<Weak<Self>, Error>
fn downgrade(&self) -> Result<Weak<Self>, Error>
Attempts to create a [
Weak
] reference to this object.§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§
impl Freeze for ID3D12Device
impl RefUnwindSafe for ID3D12Device
impl Unpin for ID3D12Device
impl UnwindSafe for ID3D12Device
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)