Struct mltg_bindings::Windows::Win32::Graphics::Direct3D12::ID3D12Device7 [−][src]
#[repr(transparent)]pub struct ID3D12Device7(_);
Implementations
pub unsafe fn GetPrivateData(
&self,
guid: *const Guid,
pdatasize: *mut u32,
pdata: *mut c_void
) -> Result<()>
pub unsafe fn SetPrivateData(
&self,
guid: *const Guid,
datasize: u32,
pdata: *const c_void
) -> Result<()>
pub unsafe fn SetPrivateDataInterface<'a>(
&self,
guid: *const Guid,
pdata: impl IntoParam<'a, IUnknown>
) -> Result<()>
pub unsafe fn CreateCommandQueue<T: Interface>(
&self,
pdesc: *const D3D12_COMMAND_QUEUE_DESC
) -> Result<T>
pub unsafe fn CreateCommandAllocator<T: Interface>(
&self,
type: D3D12_COMMAND_LIST_TYPE
) -> Result<T>
pub unsafe fn CreateGraphicsPipelineState<T: Interface>(
&self,
pdesc: *const D3D12_GRAPHICS_PIPELINE_STATE_DESC
) -> Result<T>
pub unsafe fn CreateComputePipelineState<T: Interface>(
&self,
pdesc: *const D3D12_COMPUTE_PIPELINE_STATE_DESC
) -> Result<T>
pub unsafe fn CreateCommandList<'a, T: Interface>(
&self,
nodemask: u32,
type: D3D12_COMMAND_LIST_TYPE,
pcommandallocator: impl IntoParam<'a, ID3D12CommandAllocator>,
pinitialstate: impl IntoParam<'a, ID3D12PipelineState>
) -> Result<T>
pub unsafe fn CheckFeatureSupport(
&self,
feature: D3D12_FEATURE,
pfeaturesupportdata: *mut c_void,
featuresupportdatasize: u32
) -> Result<()>
pub unsafe fn CreateDescriptorHeap<T: Interface>(
&self,
pdescriptorheapdesc: *const D3D12_DESCRIPTOR_HEAP_DESC
) -> Result<T>
pub unsafe fn GetDescriptorHandleIncrementSize(
&self,
descriptorheaptype: D3D12_DESCRIPTOR_HEAP_TYPE
) -> u32
pub unsafe fn CreateRootSignature<T: Interface>(
&self,
nodemask: u32,
pblobwithrootsignature: *const c_void,
bloblengthinbytes: usize
) -> Result<T>
pub unsafe fn CreateConstantBufferView<'a>(
&self,
pdesc: *const D3D12_CONSTANT_BUFFER_VIEW_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
pub unsafe fn CreateShaderResourceView<'a>(
&self,
presource: impl IntoParam<'a, ID3D12Resource>,
pdesc: *const D3D12_SHADER_RESOURCE_VIEW_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
pub unsafe fn CreateUnorderedAccessView<'a>(
&self,
presource: impl IntoParam<'a, ID3D12Resource>,
pcounterresource: impl IntoParam<'a, ID3D12Resource>,
pdesc: *const D3D12_UNORDERED_ACCESS_VIEW_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
pub unsafe fn CreateRenderTargetView<'a>(
&self,
presource: impl IntoParam<'a, ID3D12Resource>,
pdesc: *const D3D12_RENDER_TARGET_VIEW_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
pub unsafe fn CreateDepthStencilView<'a>(
&self,
presource: impl IntoParam<'a, ID3D12Resource>,
pdesc: *const D3D12_DEPTH_STENCIL_VIEW_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
pub unsafe fn CreateSampler<'a>(
&self,
pdesc: *const D3D12_SAMPLER_DESC,
destdescriptor: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>
)
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: D3D12_DESCRIPTOR_HEAP_TYPE
)
pub unsafe fn CopyDescriptorsSimple<'a>(
&self,
numdescriptors: u32,
destdescriptorrangestart: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>,
srcdescriptorrangestart: impl IntoParam<'a, D3D12_CPU_DESCRIPTOR_HANDLE>,
descriptorheapstype: D3D12_DESCRIPTOR_HEAP_TYPE
)
pub unsafe fn GetResourceAllocationInfo(
&self,
visiblemask: u32,
numresourcedescs: u32,
presourcedescs: *const 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: Interface>(
&self,
pheapproperties: *const D3D12_HEAP_PROPERTIES,
heapflags: D3D12_HEAP_FLAGS,
pdesc: *const D3D12_RESOURCE_DESC,
initialresourcestate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: *const D3D12_CLEAR_VALUE
) -> Result<T>
pub unsafe fn CreatePlacedResource<'a, T: Interface>(
&self,
pheap: impl IntoParam<'a, ID3D12Heap>,
heapoffset: u64,
pdesc: *const D3D12_RESOURCE_DESC,
initialstate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: *const D3D12_CLEAR_VALUE
) -> Result<T>
pub unsafe fn CreateReservedResource<T: Interface>(
&self,
pdesc: *const D3D12_RESOURCE_DESC,
initialstate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: *const D3D12_CLEAR_VALUE
) -> Result<T>
pub unsafe fn MakeResident(
&self,
numobjects: u32,
ppobjects: *mut Option<ID3D12Pageable>
) -> Result<()>
pub unsafe fn CreateFence<T: Interface>(
&self,
initialvalue: u64,
flags: D3D12_FENCE_FLAGS
) -> Result<T>
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
)
pub unsafe fn CreateQueryHeap<T: Interface>(
&self,
pdesc: *const D3D12_QUERY_HEAP_DESC
) -> Result<T>
pub unsafe fn CreateCommandSignature<'a, T: Interface>(
&self,
pdesc: *const D3D12_COMMAND_SIGNATURE_DESC,
prootsignature: impl IntoParam<'a, ID3D12RootSignature>
) -> Result<T>
pub unsafe fn GetResourceTiling<'a>(
&self,
ptiledresource: impl IntoParam<'a, 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
)
pub unsafe fn CreatePipelineLibrary<T: Interface>(
&self,
plibraryblob: *const c_void,
bloblength: usize
) -> Result<T>
pub unsafe fn SetEventOnMultipleFenceCompletion<'a>(
&self,
ppfences: *mut Option<ID3D12Fence>,
pfencevalues: *const u64,
numfences: u32,
flags: D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
hevent: impl IntoParam<'a, HANDLE>
) -> Result<()>
pub unsafe fn SetResidencyPriority(
&self,
numobjects: u32,
ppobjects: *mut Option<ID3D12Pageable>,
ppriorities: *const D3D12_RESIDENCY_PRIORITY
) -> Result<()>
pub unsafe fn CreatePipelineState<T: Interface>(
&self,
pdesc: *const D3D12_PIPELINE_STATE_STREAM_DESC
) -> Result<T>
pub unsafe fn OpenExistingHeapFromAddress<T: Interface>(
&self,
paddress: *const c_void
) -> Result<T>
pub unsafe fn OpenExistingHeapFromFileMapping<'a, T: Interface>(
&self,
hfilemapping: impl IntoParam<'a, HANDLE>
) -> Result<T>
pub unsafe fn EnqueueMakeResident<'a>(
&self,
flags: D3D12_RESIDENCY_FLAGS,
numobjects: u32,
ppobjects: *mut Option<ID3D12Pageable>,
pfencetosignal: impl IntoParam<'a, ID3D12Fence>,
fencevaluetosignal: u64
) -> Result<()>
pub unsafe fn CreateCommandList1<T: Interface>(
&self,
nodemask: u32,
type: D3D12_COMMAND_LIST_TYPE,
flags: D3D12_COMMAND_LIST_FLAGS
) -> Result<T>
pub unsafe fn CreateProtectedResourceSession<T: Interface>(
&self,
pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC
) -> Result<T>
pub unsafe fn CreateCommittedResource1<'a, T: Interface>(
&self,
pheapproperties: *const D3D12_HEAP_PROPERTIES,
heapflags: D3D12_HEAP_FLAGS,
pdesc: *const D3D12_RESOURCE_DESC,
initialresourcestate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: *const D3D12_CLEAR_VALUE,
pprotectedsession: impl IntoParam<'a, ID3D12ProtectedResourceSession>
) -> Result<T>
pub unsafe fn CreateHeap1<'a, T: Interface>(
&self,
pdesc: *const D3D12_HEAP_DESC,
pprotectedsession: impl IntoParam<'a, ID3D12ProtectedResourceSession>
) -> Result<T>
pub unsafe fn CreateReservedResource1<'a, T: Interface>(
&self,
pdesc: *const D3D12_RESOURCE_DESC,
initialstate: D3D12_RESOURCE_STATES,
poptimizedclearvalue: *const D3D12_CLEAR_VALUE,
pprotectedsession: impl IntoParam<'a, ID3D12ProtectedResourceSession>
) -> Result<T>
pub unsafe fn GetResourceAllocationInfo1(
&self,
visiblemask: u32,
numresourcedescs: u32,
presourcedescs: *const D3D12_RESOURCE_DESC,
presourceallocationinfo1: *mut D3D12_RESOURCE_ALLOCATION_INFO1
) -> D3D12_RESOURCE_ALLOCATION_INFO
pub unsafe fn CreateLifetimeTracker<'a, T: Interface>(
&self,
powner: impl IntoParam<'a, ID3D12LifetimeOwner>
) -> Result<T>
pub unsafe fn EnumerateMetaCommands(
&self,
pnummetacommands: *mut u32,
pdescs: *mut D3D12_META_COMMAND_DESC
) -> Result<()>
pub unsafe fn EnumerateMetaCommandParameters(
&self,
commandid: *const Guid,
stage: D3D12_META_COMMAND_PARAMETER_STAGE,
ptotalstructuresizeinbytes: *mut u32,
pparametercount: *mut u32,
pparameterdescs: *mut D3D12_META_COMMAND_PARAMETER_DESC
) -> Result<()>
pub unsafe fn CreateMetaCommand<T: Interface>(
&self,
commandid: *const Guid,
nodemask: u32,
pcreationparametersdata: *const c_void,
creationparametersdatasizeinbytes: usize
) -> Result<T>
pub unsafe fn CreateStateObject<T: Interface>(
&self,
pdesc: *const D3D12_STATE_OBJECT_DESC
) -> Result<T>
pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(
&self,
pdesc: *const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
pinfo: *mut D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO
)
pub unsafe fn CheckDriverMatchingIdentifier(
&self,
serializeddatatype: D3D12_SERIALIZED_DATA_TYPE,
pidentifiertocheck: *const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER
) -> D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS
pub unsafe fn SetBackgroundProcessingMode<'a>(
&self,
mode: D3D12_BACKGROUND_PROCESSING_MODE,
measurementsaction: D3D12_MEASUREMENTS_ACTION,
heventtosignaluponcompletion: impl IntoParam<'a, HANDLE>
) -> Result<BOOL>
pub unsafe fn AddToStateObject<'a, T: Interface>(
&self,
paddition: *const D3D12_STATE_OBJECT_DESC,
pstateobjecttogrowfrom: impl IntoParam<'a, ID3D12StateObject>
) -> Result<T>
pub unsafe fn CreateProtectedResourceSession1<T: Interface>(
&self,
pdesc: *const D3D12_PROTECTED_RESOURCE_SESSION_DESC1
) -> Result<T>
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
type Vtable = ID3D12Device7_abi
Returns the vtable for an assumed interface. The name comes from Box::assume_init()
as
it assumes the vtable is implemented by the current interface’s vtable (e.g. a parent interface). Read more
Attempts to cast the current interface to another interface using QueryInterface
.
The name cast
is preferred to query
because there is a WinRT method named query but not one
named cast. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for ID3D12Device7
impl !Send for ID3D12Device7
impl !Sync for ID3D12Device7
impl Unpin for ID3D12Device7
impl UnwindSafe for ID3D12Device7
Blanket Implementations
Returns a pointer for setting the object’s value via an ABI call.
Casts the ABI representation to a Rust object by taking ownership of the bits.
Mutably borrows from an owned value. Read more