Struct ID3D12Device

Source
#[repr(C)]
pub struct ID3D12Device { pub lpVtbl: *const ID3D12DeviceVtbl, }

Fields§

§lpVtbl: *const ID3D12DeviceVtbl

Implementations§

Source§

impl ID3D12Device

Source

pub unsafe fn GetNodeCount(&self) -> UINT

Source

pub unsafe fn CreateCommandQueue( &self, pDesc: *const D3D12_COMMAND_QUEUE_DESC, riid: REFGUID, ppCommandQueue: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateCommandAllocator( &self, type_: D3D12_COMMAND_LIST_TYPE, riid: REFGUID, ppCommandAllocator: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateGraphicsPipelineState( &self, pDesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: REFGUID, ppPipelineState: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateComputePipelineState( &self, pDesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: REFGUID, ppPipelineState: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateCommandList( &self, nodeMask: UINT, type_: D3D12_COMMAND_LIST_TYPE, pCommandAllocator: *mut ID3D12CommandAllocator, pInitialState: *mut ID3D12PipelineState, riid: REFGUID, ppCommandList: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CheckFeatureSupport( &self, Feature: D3D12_FEATURE, pFeatureSupportData: *mut c_void, FeatureSupportDataSize: UINT, ) -> HRESULT

Source

pub unsafe fn CreateDescriptorHeap( &self, pDescriptorHeapDesc: *const D3D12_DESCRIPTOR_HEAP_DESC, riid: REFGUID, ppvHeap: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn GetDescriptorHandleIncrementSize( &self, DescriptorHeapType: D3D12_DESCRIPTOR_HEAP_TYPE, ) -> UINT

Source

pub unsafe fn CreateRootSignature( &self, nodeMask: UINT, pBlobWithRootSignature: *const c_void, blobLengthInBytes: SIZE_T, riid: REFGUID, ppvRootSignature: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateConstantBufferView( &self, pDesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CreateShaderResourceView( &self, pResource: *mut ID3D12Resource, pDesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CreateUnorderedAccessView( &self, pResource: *mut ID3D12Resource, pCounterResource: *mut ID3D12Resource, pDesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CreateRenderTargetView( &self, pResource: *mut ID3D12Resource, pDesc: *const D3D12_RENDER_TARGET_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CreateDepthStencilView( &self, pResource: *mut ID3D12Resource, pDesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CreateSampler( &self, pDesc: *const D3D12_SAMPLER_DESC, DestDescriptor: D3D12_CPU_DESCRIPTOR_HANDLE, )

Source

pub unsafe fn CopyDescriptors( &self, NumDestDescriptorRanges: UINT, pDestDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pDestDescriptorRangeSizes: *const UINT, NumSrcDescriptorRanges: UINT, pSrcDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pSrcDescriptorRangeSizes: *const UINT, DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE, )

Source

pub unsafe fn CopyDescriptorsSimple( &self, NumDescriptors: UINT, DestDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, SrcDescriptorRangeStart: D3D12_CPU_DESCRIPTOR_HANDLE, DescriptorHeapsType: D3D12_DESCRIPTOR_HEAP_TYPE, )

Source

pub unsafe fn GetResourceAllocationInfo( &self, visibleMask: UINT, numResourceDescs: UINT, pResourceDescs: *const D3D12_RESOURCE_DESC, ) -> D3D12_RESOURCE_ALLOCATION_INFO

Source

pub unsafe fn GetCustomHeapProperties( &self, nodeMask: UINT, heapType: D3D12_HEAP_TYPE, ) -> D3D12_HEAP_PROPERTIES

Source

pub unsafe fn CreateCommittedResource( &self, pHeapProperties: *const D3D12_HEAP_PROPERTIES, HeapFlags: D3D12_HEAP_FLAGS, pResourceDesc: *const D3D12_RESOURCE_DESC, InitialResourceState: D3D12_RESOURCE_STATES, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riidResource: REFGUID, ppvResource: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateHeap( &self, pDesc: *const D3D12_HEAP_DESC, riid: REFGUID, ppvHeap: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreatePlacedResource( &self, pHeap: *mut ID3D12Heap, HeapOffset: UINT64, pDesc: *const D3D12_RESOURCE_DESC, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riid: REFGUID, ppvResource: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateReservedResource( &self, pDesc: *const D3D12_RESOURCE_DESC, InitialState: D3D12_RESOURCE_STATES, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riid: REFGUID, ppvResource: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn CreateSharedHandle( &self, pObject: *mut ID3D12DeviceChild, pAttributes: *const SECURITY_ATTRIBUTES, Access: DWORD, Name: LPCWSTR, pHandle: *mut HANDLE, ) -> HRESULT

Source

pub unsafe fn OpenSharedHandle( &self, NTHandle: HANDLE, riid: REFGUID, ppvObj: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn OpenSharedHandleByName( &self, Name: LPCWSTR, Access: DWORD, pNTHandle: *mut HANDLE, ) -> HRESULT

Source

pub unsafe fn MakeResident( &self, NumObjects: UINT, ppObjects: *mut *mut ID3D12Pageable, ) -> HRESULT

Source

pub unsafe fn Evict( &self, NumObjects: UINT, ppObjects: *mut *mut ID3D12Pageable, ) -> HRESULT

Source

pub unsafe fn CreateFence( &self, InitialValue: UINT64, Flags: D3D12_FENCE_FLAGS, riid: REFGUID, ppFence: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn GetDeviceRemovedReason(&self) -> HRESULT

Source

pub unsafe fn GetCopyableFootprints( &self, pResourceDesc: *const D3D12_RESOURCE_DESC, FirstSubresource: UINT, NumSubresources: UINT, BaseOffset: UINT64, pLayouts: *mut D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pNumRows: *mut UINT, pRowSizeInBytes: *mut UINT64, pTotalBytes: *mut UINT64, )

Source

pub unsafe fn CreateQueryHeap( &self, pDesc: *const D3D12_QUERY_HEAP_DESC, riid: REFGUID, ppvHeap: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn SetStablePowerState(&self, Enable: BOOL) -> HRESULT

Source

pub unsafe fn CreateCommandSignature( &self, pDesc: *const D3D12_COMMAND_SIGNATURE_DESC, pRootSignature: *mut ID3D12RootSignature, riid: REFGUID, ppvCommandSignature: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn GetResourceTiling( &self, pTiledResource: *mut ID3D12Resource, pNumTilesForEntireResource: *mut UINT, pPackedMipDesc: *mut D3D12_PACKED_MIP_INFO, pStandardTileShapeForNonPackedMips: *mut D3D12_TILE_SHAPE, pNumSubresourceTilings: *mut UINT, FirstSubresourceTilingToGet: UINT, pSubresourceTilingsForNonPackedMips: *mut D3D12_SUBRESOURCE_TILING, )

Source

pub unsafe fn GetAdapterLuid(&self) -> LUID

Methods from Deref<Target = ID3D12Object>§

Source

pub unsafe fn GetPrivateData( &self, guid: REFGUID, pDataSize: *mut UINT, pData: *mut c_void, ) -> HRESULT

Source

pub unsafe fn SetPrivateData( &self, guid: REFGUID, DataSize: UINT, pData: *const c_void, ) -> HRESULT

Source

pub unsafe fn SetPrivateDataInterface( &self, guid: REFGUID, pData: *const IUnknown, ) -> HRESULT

Source

pub unsafe fn SetName(&self, Name: LPCWSTR) -> HRESULT

Methods from Deref<Target = IUnknown>§

Source

pub unsafe fn QueryInterface( &self, riid: REFIID, ppvObject: *mut *mut c_void, ) -> HRESULT

Source

pub unsafe fn AddRef(&self) -> ULONG

Source

pub unsafe fn Release(&self) -> ULONG

Trait Implementations§

Source§

impl Deref for ID3D12Device

Source§

type Target = ID3D12Object

The resulting type after dereferencing.
Source§

fn deref(&self) -> &ID3D12Object

Dereferences the value.
Source§

impl Interface for ID3D12Device

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.