Struct gpu_allocator::d3d12::winapi_d3d12::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) -> u32

source

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

source

pub unsafe fn CreateCommandAllocator( &self, type_: u32, riid: *const GUID, ppCommandAllocator: *mut *mut c_void, ) -> i32

source

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

source

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

source

pub unsafe fn CreateCommandList( &self, nodeMask: u32, type_: u32, pCommandAllocator: *mut ID3D12CommandAllocator, pInitialState: *mut ID3D12PipelineState, riid: *const GUID, ppCommandList: *mut *mut c_void, ) -> i32

source

pub unsafe fn CheckFeatureSupport( &self, Feature: u32, pFeatureSupportData: *mut c_void, FeatureSupportDataSize: u32, ) -> i32

source

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

source

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

source

pub unsafe fn CreateRootSignature( &self, nodeMask: u32, pBlobWithRootSignature: *const c_void, blobLengthInBytes: usize, riid: *const GUID, ppvRootSignature: *mut *mut c_void, ) -> i32

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: u32, pDestDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pDestDescriptorRangeSizes: *const u32, NumSrcDescriptorRanges: u32, pSrcDescriptorRangeStarts: *const D3D12_CPU_DESCRIPTOR_HANDLE, pSrcDescriptorRangeSizes: *const u32, DescriptorHeapsType: u32, )

source

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

source

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

source

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

source

pub unsafe fn CreateCommittedResource( &self, pHeapProperties: *const D3D12_HEAP_PROPERTIES, HeapFlags: u32, pResourceDesc: *const D3D12_RESOURCE_DESC, InitialResourceState: u32, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riidResource: *const GUID, ppvResource: *mut *mut c_void, ) -> i32

source

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

source

pub unsafe fn CreatePlacedResource( &self, pHeap: *mut ID3D12Heap, HeapOffset: u64, pDesc: *const D3D12_RESOURCE_DESC, InitialState: u32, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riid: *const GUID, ppvResource: *mut *mut c_void, ) -> i32

source

pub unsafe fn CreateReservedResource( &self, pDesc: *const D3D12_RESOURCE_DESC, InitialState: u32, pOptimizedClearValue: *const D3D12_CLEAR_VALUE, riid: *const GUID, ppvResource: *mut *mut c_void, ) -> i32

source

pub unsafe fn CreateSharedHandle( &self, pObject: *mut ID3D12DeviceChild, pAttributes: *const SECURITY_ATTRIBUTES, Access: u32, Name: *const u16, pHandle: *mut *mut c_void, ) -> i32

source

pub unsafe fn OpenSharedHandle( &self, NTHandle: *mut c_void, riid: *const GUID, ppvObj: *mut *mut c_void, ) -> i32

source

pub unsafe fn OpenSharedHandleByName( &self, Name: *const u16, Access: u32, pNTHandle: *mut *mut c_void, ) -> i32

source

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

source

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

source

pub unsafe fn CreateFence( &self, InitialValue: u64, Flags: u32, riid: *const GUID, ppFence: *mut *mut c_void, ) -> i32

source

pub unsafe fn GetDeviceRemovedReason(&self) -> i32

source

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

source

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

source

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

source

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

source

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

source

pub unsafe fn GetAdapterLuid(&self) -> LUID

Methods from Deref<Target = ID3D12Object>§

source

pub unsafe fn GetPrivateData( &self, guid: *const GUID, pDataSize: *mut u32, pData: *mut c_void, ) -> i32

source

pub unsafe fn SetPrivateData( &self, guid: *const GUID, DataSize: u32, pData: *const c_void, ) -> i32

source

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

source

pub unsafe fn SetName(&self, Name: *const u16) -> i32

Methods from Deref<Target = IUnknown>§

source

pub unsafe fn QueryInterface( &self, riid: *const GUID, ppvObject: *mut *mut c_void, ) -> i32

source

pub unsafe fn AddRef(&self) -> u32

source

pub unsafe fn Release(&self) -> u32

Trait Implementations§

source§

impl Deref for ID3D12Device

§

type Target = ID3D12Object

The resulting type after dereferencing.
source§

fn deref(&self) -> &ID3D12Object

Dereferences the value.
source§

impl Interface for ID3D12Device

source§

impl ToWinapi<ID3D12Device> for ID3D12Device

source§

impl ToWindows<ID3D12Device> for &mut ID3D12Device

source§

fn as_windows(&self) -> &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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.