//! Generated by `cargo xtask gen` from the `windows` crate's `ID3D12Device14_Vtbl`; do not edit.
#![allow(
non_snake_case,
clippy::too_many_arguments,
clippy::missing_safety_doc,
dead_code
)]
use core::ffi::c_void;
/// Every method of `ID3D12Device14` in vtable order. The defaults forward to the wrapped object [`Device12Methods::inner`].
///
/// # Safety
/// The implementing type must be `#[repr(C)]` with a pointer to [`vtable`]'s table as its first field,
/// and `inner` must return a live `ID3D12Device14`.
pub unsafe trait Device12Methods: Sized {
/// The wrapped object, an `ID3D12Device14`.
fn inner(&self) -> *mut c_void;
unsafe fn QueryInterface(
&self,
iid: *const windows::core::GUID,
out: *mut *mut c_void,
) -> windows::core::HRESULT;
unsafe fn AddRef(&self) -> u32;
unsafe fn Release(&self) -> u32;
unsafe fn GetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::GetPrivateData(self.inner(), a0, a1, a2) }
}
unsafe fn SetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::SetPrivateData(self.inner(), a0, a1, a2) }
}
unsafe fn SetPrivateDataInterface(
&self,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::SetPrivateDataInterface(self.inner(), a0, a1) }
}
unsafe fn SetName(&self, a0: windows::core::PCWSTR) -> windows::core::HRESULT {
unsafe { real::SetName(self.inner(), a0) }
}
unsafe fn GetNodeCount(&self) -> u32 {
unsafe { real::GetNodeCount(self.inner()) }
}
unsafe fn CreateCommandQueue(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandQueue(self.inner(), a0, a1, a2) }
}
unsafe fn CreateCommandAllocator(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandAllocator(self.inner(), a0, a1, a2) }
}
unsafe fn CreateGraphicsPipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_GRAPHICS_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateGraphicsPipelineState(self.inner(), a0, a1, a2) }
}
unsafe fn CreateComputePipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMPUTE_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateComputePipelineState(self.inner(), a0, a1, a2) }
}
unsafe fn CreateCommandList(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandList(self.inner(), a0, a1, a2, a3, a4, a5) }
}
unsafe fn CheckFeatureSupport(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe { real::CheckFeatureSupport(self.inner(), a0, a1, a2) }
}
unsafe fn CreateDescriptorHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateDescriptorHeap(self.inner(), a0, a1, a2) }
}
unsafe fn GetDescriptorHandleIncrementSize(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) -> u32 {
unsafe { real::GetDescriptorHandleIncrementSize(self.inner(), a0) }
}
unsafe fn CreateRootSignature(
&self,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateRootSignature(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateConstantBufferView(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_CONSTANT_BUFFER_VIEW_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateConstantBufferView(self.inner(), a0, a1) }
}
unsafe fn CreateShaderResourceView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_RESOURCE_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateShaderResourceView(self.inner(), a0, a1, a2) }
}
unsafe fn CreateUnorderedAccessView(
&self,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_UNORDERED_ACCESS_VIEW_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateUnorderedAccessView(self.inner(), a0, a1, a2, a3) }
}
unsafe fn CreateRenderTargetView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_RENDER_TARGET_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateRenderTargetView(self.inner(), a0, a1, a2) }
}
unsafe fn CreateDepthStencilView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_DEPTH_STENCIL_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateDepthStencilView(self.inner(), a0, a1, a2) }
}
unsafe fn CreateSampler(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateSampler(self.inner(), a0, a1) }
}
unsafe fn CopyDescriptors(
&self,
a0: u32,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: *const u32,
a3: u32,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a5: *const u32,
a6: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe { real::CopyDescriptors(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn CopyDescriptorsSimple(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a3: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe { real::CopyDescriptorsSimple(self.inner(), a0, a1, a2, a3) }
}
unsafe fn GetResourceAllocationInfo(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
) {
unsafe { real::GetResourceAllocationInfo(self.inner(), a0, a1, a2, a3) }
}
unsafe fn GetCustomHeapProperties(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: u32,
a2: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_TYPE,
) {
unsafe { real::GetCustomHeapProperties(self.inner(), a0, a1, a2) }
}
unsafe fn CreateCommittedResource(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommittedResource(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn CreateHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateHeap(self.inner(), a0, a1, a2) }
}
unsafe fn CreatePlacedResource(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreatePlacedResource(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn CreateReservedResource(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateReservedResource(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateSharedHandle(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Security::SECURITY_ATTRIBUTES,
a2: u32,
a3: windows::core::PCWSTR,
a4: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { real::CreateSharedHandle(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn OpenSharedHandle(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::OpenSharedHandle(self.inner(), a0, a1, a2) }
}
unsafe fn OpenSharedHandleByName(
&self,
a0: windows::core::PCWSTR,
a1: u32,
a2: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { real::OpenSharedHandleByName(self.inner(), a0, a1, a2) }
}
unsafe fn MakeResident(&self, a0: u32, a1: *const *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe { real::MakeResident(self.inner(), a0, a1) }
}
unsafe fn Evict(&self, a0: u32, a1: *const *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe { real::Evict(self.inner(), a0, a1) }
}
unsafe fn CreateFence(
&self,
a0: u64,
a1: windows::Win32::Graphics::Direct3D12::D3D12_FENCE_FLAGS,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateFence(self.inner(), a0, a1, a2, a3) }
}
unsafe fn GetDeviceRemovedReason(&self) -> windows::core::HRESULT {
unsafe { real::GetDeviceRemovedReason(self.inner()) }
}
unsafe fn GetCopyableFootprints(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe { real::GetCopyableFootprints(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe fn CreateQueryHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_QUERY_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateQueryHeap(self.inner(), a0, a1, a2) }
}
unsafe fn SetStablePowerState(&self, a0: windows::core::BOOL) -> windows::core::HRESULT {
unsafe { real::SetStablePowerState(self.inner(), a0) }
}
unsafe fn CreateCommandSignature(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_SIGNATURE_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandSignature(self.inner(), a0, a1, a2, a3) }
}
unsafe fn GetResourceTiling(
&self,
a0: *mut core::ffi::c_void,
a1: *mut u32,
a2: *mut windows::Win32::Graphics::Direct3D12::D3D12_PACKED_MIP_INFO,
a3: *mut windows::Win32::Graphics::Direct3D12::D3D12_TILE_SHAPE,
a4: *mut u32,
a5: u32,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_SUBRESOURCE_TILING,
) {
unsafe { real::GetResourceTiling(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn GetAdapterLuid(&self, a0: *mut windows::Win32::Foundation::LUID) {
unsafe { real::GetAdapterLuid(self.inner(), a0) }
}
unsafe fn CreatePipelineLibrary(
&self,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreatePipelineLibrary(self.inner(), a0, a1, a2, a3) }
}
unsafe fn SetEventOnMultipleFenceCompletion(
&self,
a0: *const *mut core::ffi::c_void,
a1: *const u64,
a2: u32,
a3: windows::Win32::Graphics::Direct3D12::D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
a4: windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { real::SetEventOnMultipleFenceCompletion(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn SetResidencyPriority(
&self,
a0: u32,
a1: *const *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_PRIORITY,
) -> windows::core::HRESULT {
unsafe { real::SetResidencyPriority(self.inner(), a0, a1, a2) }
}
unsafe fn CreatePipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PIPELINE_STATE_STREAM_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreatePipelineState(self.inner(), a0, a1, a2) }
}
unsafe fn OpenExistingHeapFromAddress(
&self,
a0: *const core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::OpenExistingHeapFromAddress(self.inner(), a0, a1, a2) }
}
unsafe fn OpenExistingHeapFromFileMapping(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::OpenExistingHeapFromFileMapping(self.inner(), a0, a1, a2) }
}
unsafe fn EnqueueMakeResident(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_FLAGS,
a1: u32,
a2: *const *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: u64,
) -> windows::core::HRESULT {
unsafe { real::EnqueueMakeResident(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateCommandList1(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_FLAGS,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandList1(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateProtectedResourceSession(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateProtectedResourceSession(self.inner(), a0, a1, a2) }
}
unsafe fn CreateCommittedResource1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommittedResource1(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe fn CreateHeap1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateHeap1(self.inner(), a0, a1, a2, a3) }
}
unsafe fn CreateReservedResource1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateReservedResource1(self.inner(), a0, a1, a2, a3, a4, a5) }
}
unsafe fn GetResourceAllocationInfo1(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { real::GetResourceAllocationInfo1(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateLifetimeTracker(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateLifetimeTracker(self.inner(), a0, a1, a2) }
}
unsafe fn RemoveDevice(&self) {
unsafe { real::RemoveDevice(self.inner()) }
}
unsafe fn EnumerateMetaCommands(
&self,
a0: *mut u32,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_DESC,
) -> windows::core::HRESULT {
unsafe { real::EnumerateMetaCommands(self.inner(), a0, a1) }
}
unsafe fn EnumerateMetaCommandParameters(
&self,
a0: *const windows::core::GUID,
a1: windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_STAGE,
a2: *mut u32,
a3: *mut u32,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_DESC,
) -> windows::core::HRESULT {
unsafe { real::EnumerateMetaCommandParameters(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateMetaCommand(
&self,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
a3: usize,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateMetaCommand(self.inner(), a0, a1, a2, a3, a4, a5) }
}
unsafe fn CreateStateObject(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateStateObject(self.inner(), a0, a1, a2) }
}
unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) {
unsafe { real::GetRaytracingAccelerationStructurePrebuildInfo(self.inner(), a0, a1) }
}
unsafe fn CheckDriverMatchingIdentifier(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_TYPE,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) -> windows::Win32::Graphics::Direct3D12::D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
unsafe { real::CheckDriverMatchingIdentifier(self.inner(), a0, a1) }
}
unsafe fn SetBackgroundProcessingMode(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_BACKGROUND_PROCESSING_MODE,
a1: windows::Win32::Graphics::Direct3D12::D3D12_MEASUREMENTS_ACTION,
a2: windows::Win32::Foundation::HANDLE,
a3: *mut windows::core::BOOL,
) -> windows::core::HRESULT {
unsafe { real::SetBackgroundProcessingMode(self.inner(), a0, a1, a2, a3) }
}
unsafe fn AddToStateObject(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::AddToStateObject(self.inner(), a0, a1, a2, a3) }
}
unsafe fn CreateProtectedResourceSession1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateProtectedResourceSession1(self.inner(), a0, a1, a2) }
}
unsafe fn GetResourceAllocationInfo2(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { real::GetResourceAllocationInfo2(self.inner(), a0, a1, a2, a3, a4) }
}
unsafe fn CreateCommittedResource2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommittedResource2(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe fn CreatePlacedResource1(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreatePlacedResource1(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn CreateSamplerFeedbackUnorderedAccessView(
&self,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateSamplerFeedbackUnorderedAccessView(self.inner(), a0, a1, a2) }
}
unsafe fn GetCopyableFootprints1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe { real::GetCopyableFootprints1(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe fn CreateShaderCacheSession(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateShaderCacheSession(self.inner(), a0, a1, a2) }
}
unsafe fn ShaderCacheControl(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_KIND_FLAGS,
a1: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_CONTROL_FLAGS,
) -> windows::core::HRESULT {
unsafe { real::ShaderCacheControl(self.inner(), a0, a1) }
}
unsafe fn CreateCommandQueue1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommandQueue1(self.inner(), a0, a1, a2, a3) }
}
unsafe fn CreateCommittedResource3(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: u32,
a7: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a8: *const windows::core::GUID,
a9: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateCommittedResource3(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) }
}
unsafe fn CreatePlacedResource2(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: u32,
a6: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a7: *const windows::core::GUID,
a8: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreatePlacedResource2(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7, a8) }
}
unsafe fn CreateReservedResource2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: u32,
a5: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateReservedResource2(self.inner(), a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe fn CreateSampler2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC2,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { real::CreateSampler2(self.inner(), a0, a1) }
}
unsafe fn GetResourceAllocationInfo3(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *const u32,
a5: *const *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { real::GetResourceAllocationInfo3(self.inner(), a0, a1, a2, a3, a4, a5, a6) }
}
unsafe fn OpenExistingHeapFromAddress1(
&self,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::OpenExistingHeapFromAddress1(self.inner(), a0, a1, a2, a3) }
}
unsafe fn CreateRootSignatureFromSubobjectInLibrary(
&self,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: windows::core::PCWSTR,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { real::CreateRootSignatureFromSubobjectInLibrary(self.inner(), a0, a1, a2, a3, a4, a5) }
}
}
/// Each method called on the real (wrapped) object: the trait's defaults, and overrides that still want the
/// real behaviour.
pub mod real {
use core::ffi::c_void;
/// `GetPrivateData` on the real object.
pub unsafe fn GetPrivateData(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetPrivateData)(inner, a0, a1, a2)
}
}
/// `SetPrivateData` on the real object.
pub unsafe fn SetPrivateData(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetPrivateData)(inner, a0, a1, a2)
}
}
/// `SetPrivateDataInterface` on the real object.
pub unsafe fn SetPrivateDataInterface(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetPrivateDataInterface)(inner, a0, a1)
}
}
/// `SetName` on the real object.
pub unsafe fn SetName(inner: *mut c_void, a0: windows::core::PCWSTR) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetName)(inner, a0)
}
}
/// `GetNodeCount` on the real object.
pub unsafe fn GetNodeCount(inner: *mut c_void) -> u32 {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetNodeCount)(inner)
}
}
/// `CreateCommandQueue` on the real object.
pub unsafe fn CreateCommandQueue(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommandQueue)(inner, a0, a1, a2)
}
}
/// `CreateCommandAllocator` on the real object.
pub unsafe fn CreateCommandAllocator(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommandAllocator)(inner, a0, a1, a2)
}
}
/// `CreateGraphicsPipelineState` on the real object.
pub unsafe fn CreateGraphicsPipelineState(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_GRAPHICS_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateGraphicsPipelineState)(inner, a0, a1, a2)
}
}
/// `CreateComputePipelineState` on the real object.
pub unsafe fn CreateComputePipelineState(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMPUTE_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateComputePipelineState)(inner, a0, a1, a2)
}
}
/// `CreateCommandList` on the real object.
pub unsafe fn CreateCommandList(
inner: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommandList)(inner, a0, a1, a2, a3, a4, a5)
}
}
/// `CheckFeatureSupport` on the real object.
pub unsafe fn CheckFeatureSupport(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CheckFeatureSupport)(inner, a0, a1, a2)
}
}
/// `CreateDescriptorHeap` on the real object.
pub unsafe fn CreateDescriptorHeap(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateDescriptorHeap)(inner, a0, a1, a2)
}
}
/// `GetDescriptorHandleIncrementSize` on the real object.
pub unsafe fn GetDescriptorHandleIncrementSize(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) -> u32 {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetDescriptorHandleIncrementSize)(inner, a0)
}
}
/// `CreateRootSignature` on the real object.
pub unsafe fn CreateRootSignature(
inner: *mut c_void,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateRootSignature)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateConstantBufferView` on the real object.
pub unsafe fn CreateConstantBufferView(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_CONSTANT_BUFFER_VIEW_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateConstantBufferView)(inner, a0, a1)
}
}
/// `CreateShaderResourceView` on the real object.
pub unsafe fn CreateShaderResourceView(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_RESOURCE_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateShaderResourceView)(inner, a0, a1, a2)
}
}
/// `CreateUnorderedAccessView` on the real object.
pub unsafe fn CreateUnorderedAccessView(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_UNORDERED_ACCESS_VIEW_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateUnorderedAccessView)(inner, a0, a1, a2, a3)
}
}
/// `CreateRenderTargetView` on the real object.
pub unsafe fn CreateRenderTargetView(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_RENDER_TARGET_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateRenderTargetView)(inner, a0, a1, a2)
}
}
/// `CreateDepthStencilView` on the real object.
pub unsafe fn CreateDepthStencilView(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_DEPTH_STENCIL_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateDepthStencilView)(inner, a0, a1, a2)
}
}
/// `CreateSampler` on the real object.
pub unsafe fn CreateSampler(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateSampler)(inner, a0, a1)
}
}
/// `CopyDescriptors` on the real object.
pub unsafe fn CopyDescriptors(
inner: *mut c_void,
a0: u32,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: *const u32,
a3: u32,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a5: *const u32,
a6: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CopyDescriptors)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `CopyDescriptorsSimple` on the real object.
pub unsafe fn CopyDescriptorsSimple(
inner: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a3: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CopyDescriptorsSimple)(inner, a0, a1, a2, a3)
}
}
/// `GetResourceAllocationInfo` on the real object.
pub unsafe fn GetResourceAllocationInfo(
inner: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetResourceAllocationInfo)(inner, a0, a1, a2, a3)
}
}
/// `GetCustomHeapProperties` on the real object.
pub unsafe fn GetCustomHeapProperties(
inner: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: u32,
a2: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_TYPE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetCustomHeapProperties)(inner, a0, a1, a2)
}
}
/// `CreateCommittedResource` on the real object.
pub unsafe fn CreateCommittedResource(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommittedResource)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `CreateHeap` on the real object.
pub unsafe fn CreateHeap(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateHeap)(inner, a0, a1, a2)
}
}
/// `CreatePlacedResource` on the real object.
pub unsafe fn CreatePlacedResource(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreatePlacedResource)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `CreateReservedResource` on the real object.
pub unsafe fn CreateReservedResource(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateReservedResource)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateSharedHandle` on the real object.
pub unsafe fn CreateSharedHandle(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Security::SECURITY_ATTRIBUTES,
a2: u32,
a3: windows::core::PCWSTR,
a4: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateSharedHandle)(inner, a0, a1, a2, a3, a4)
}
}
/// `OpenSharedHandle` on the real object.
pub unsafe fn OpenSharedHandle(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.OpenSharedHandle)(inner, a0, a1, a2)
}
}
/// `OpenSharedHandleByName` on the real object.
pub unsafe fn OpenSharedHandleByName(
inner: *mut c_void,
a0: windows::core::PCWSTR,
a1: u32,
a2: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.OpenSharedHandleByName)(inner, a0, a1, a2)
}
}
/// `MakeResident` on the real object.
pub unsafe fn MakeResident(
inner: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.MakeResident)(inner, a0, a1)
}
}
/// `Evict` on the real object.
pub unsafe fn Evict(
inner: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.Evict)(inner, a0, a1)
}
}
/// `CreateFence` on the real object.
pub unsafe fn CreateFence(
inner: *mut c_void,
a0: u64,
a1: windows::Win32::Graphics::Direct3D12::D3D12_FENCE_FLAGS,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateFence)(inner, a0, a1, a2, a3)
}
}
/// `GetDeviceRemovedReason` on the real object.
pub unsafe fn GetDeviceRemovedReason(inner: *mut c_void) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetDeviceRemovedReason)(inner)
}
}
/// `GetCopyableFootprints` on the real object.
pub unsafe fn GetCopyableFootprints(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetCopyableFootprints)(inner, a0, a1, a2, a3, a4, a5, a6, a7)
}
}
/// `CreateQueryHeap` on the real object.
pub unsafe fn CreateQueryHeap(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_QUERY_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateQueryHeap)(inner, a0, a1, a2)
}
}
/// `SetStablePowerState` on the real object.
pub unsafe fn SetStablePowerState(inner: *mut c_void, a0: windows::core::BOOL) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetStablePowerState)(inner, a0)
}
}
/// `CreateCommandSignature` on the real object.
pub unsafe fn CreateCommandSignature(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_SIGNATURE_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommandSignature)(inner, a0, a1, a2, a3)
}
}
/// `GetResourceTiling` on the real object.
pub unsafe fn GetResourceTiling(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut u32,
a2: *mut windows::Win32::Graphics::Direct3D12::D3D12_PACKED_MIP_INFO,
a3: *mut windows::Win32::Graphics::Direct3D12::D3D12_TILE_SHAPE,
a4: *mut u32,
a5: u32,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_SUBRESOURCE_TILING,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetResourceTiling)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `GetAdapterLuid` on the real object.
pub unsafe fn GetAdapterLuid(inner: *mut c_void, a0: *mut windows::Win32::Foundation::LUID) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetAdapterLuid)(inner, a0)
}
}
/// `CreatePipelineLibrary` on the real object.
pub unsafe fn CreatePipelineLibrary(
inner: *mut c_void,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreatePipelineLibrary)(inner, a0, a1, a2, a3)
}
}
/// `SetEventOnMultipleFenceCompletion` on the real object.
pub unsafe fn SetEventOnMultipleFenceCompletion(
inner: *mut c_void,
a0: *const *mut core::ffi::c_void,
a1: *const u64,
a2: u32,
a3: windows::Win32::Graphics::Direct3D12::D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
a4: windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetEventOnMultipleFenceCompletion)(inner, a0, a1, a2, a3, a4)
}
}
/// `SetResidencyPriority` on the real object.
pub unsafe fn SetResidencyPriority(
inner: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_PRIORITY,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetResidencyPriority)(inner, a0, a1, a2)
}
}
/// `CreatePipelineState` on the real object.
pub unsafe fn CreatePipelineState(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PIPELINE_STATE_STREAM_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreatePipelineState)(inner, a0, a1, a2)
}
}
/// `OpenExistingHeapFromAddress` on the real object.
pub unsafe fn OpenExistingHeapFromAddress(
inner: *mut c_void,
a0: *const core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.OpenExistingHeapFromAddress)(inner, a0, a1, a2)
}
}
/// `OpenExistingHeapFromFileMapping` on the real object.
pub unsafe fn OpenExistingHeapFromFileMapping(
inner: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.OpenExistingHeapFromFileMapping)(inner, a0, a1, a2)
}
}
/// `EnqueueMakeResident` on the real object.
pub unsafe fn EnqueueMakeResident(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_FLAGS,
a1: u32,
a2: *const *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: u64,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.EnqueueMakeResident)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateCommandList1` on the real object.
pub unsafe fn CreateCommandList1(
inner: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_FLAGS,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommandList1)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateProtectedResourceSession` on the real object.
pub unsafe fn CreateProtectedResourceSession(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateProtectedResourceSession)(inner, a0, a1, a2)
}
}
/// `CreateCommittedResource1` on the real object.
pub unsafe fn CreateCommittedResource1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommittedResource1)(inner, a0, a1, a2, a3, a4, a5, a6, a7)
}
}
/// `CreateHeap1` on the real object.
pub unsafe fn CreateHeap1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateHeap1)(inner, a0, a1, a2, a3)
}
}
/// `CreateReservedResource1` on the real object.
pub unsafe fn CreateReservedResource1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateReservedResource1)(inner, a0, a1, a2, a3, a4, a5)
}
}
/// `GetResourceAllocationInfo1` on the real object.
pub unsafe fn GetResourceAllocationInfo1(
inner: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetResourceAllocationInfo1)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateLifetimeTracker` on the real object.
pub unsafe fn CreateLifetimeTracker(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateLifetimeTracker)(inner, a0, a1, a2)
}
}
/// `RemoveDevice` on the real object.
pub unsafe fn RemoveDevice(inner: *mut c_void) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.RemoveDevice)(inner)
}
}
/// `EnumerateMetaCommands` on the real object.
pub unsafe fn EnumerateMetaCommands(
inner: *mut c_void,
a0: *mut u32,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_DESC,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.EnumerateMetaCommands)(inner, a0, a1)
}
}
/// `EnumerateMetaCommandParameters` on the real object.
pub unsafe fn EnumerateMetaCommandParameters(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_STAGE,
a2: *mut u32,
a3: *mut u32,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_DESC,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.EnumerateMetaCommandParameters)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateMetaCommand` on the real object.
pub unsafe fn CreateMetaCommand(
inner: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
a3: usize,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateMetaCommand)(inner, a0, a1, a2, a3, a4, a5)
}
}
/// `CreateStateObject` on the real object.
pub unsafe fn CreateStateObject(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateStateObject)(inner, a0, a1, a2)
}
}
/// `GetRaytracingAccelerationStructurePrebuildInfo` on the real object.
pub unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.GetRaytracingAccelerationStructurePrebuildInfo)(inner, a0, a1)
}
}
/// `CheckDriverMatchingIdentifier` on the real object.
pub unsafe fn CheckDriverMatchingIdentifier(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_TYPE,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) -> windows::Win32::Graphics::Direct3D12::D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CheckDriverMatchingIdentifier)(inner, a0, a1)
}
}
/// `SetBackgroundProcessingMode` on the real object.
pub unsafe fn SetBackgroundProcessingMode(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_BACKGROUND_PROCESSING_MODE,
a1: windows::Win32::Graphics::Direct3D12::D3D12_MEASUREMENTS_ACTION,
a2: windows::Win32::Foundation::HANDLE,
a3: *mut windows::core::BOOL,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.SetBackgroundProcessingMode)(inner, a0, a1, a2, a3)
}
}
/// `AddToStateObject` on the real object.
pub unsafe fn AddToStateObject(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.AddToStateObject)(inner, a0, a1, a2, a3)
}
}
/// `CreateProtectedResourceSession1` on the real object.
pub unsafe fn CreateProtectedResourceSession1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.base__
.CreateProtectedResourceSession1)(inner, a0, a1, a2)
}
}
/// `GetResourceAllocationInfo2` on the real object.
pub unsafe fn GetResourceAllocationInfo2(
inner: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.GetResourceAllocationInfo2)(inner, a0, a1, a2, a3, a4)
}
}
/// `CreateCommittedResource2` on the real object.
pub unsafe fn CreateCommittedResource2(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.CreateCommittedResource2)(inner, a0, a1, a2, a3, a4, a5, a6, a7)
}
}
/// `CreatePlacedResource1` on the real object.
pub unsafe fn CreatePlacedResource1(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.CreatePlacedResource1)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `CreateSamplerFeedbackUnorderedAccessView` on the real object.
pub unsafe fn CreateSamplerFeedbackUnorderedAccessView(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.CreateSamplerFeedbackUnorderedAccessView)(inner, a0, a1, a2)
}
}
/// `GetCopyableFootprints1` on the real object.
pub unsafe fn GetCopyableFootprints1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.base__
.GetCopyableFootprints1)(inner, a0, a1, a2, a3, a4, a5, a6, a7)
}
}
/// `CreateShaderCacheSession` on the real object.
pub unsafe fn CreateShaderCacheSession(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.CreateShaderCacheSession)(inner, a0, a1, a2)
}
}
/// `ShaderCacheControl` on the real object.
pub unsafe fn ShaderCacheControl(
inner: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_KIND_FLAGS,
a1: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_CONTROL_FLAGS,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.ShaderCacheControl)(inner, a0, a1)
}
}
/// `CreateCommandQueue1` on the real object.
pub unsafe fn CreateCommandQueue1(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.base__
.CreateCommandQueue1)(inner, a0, a1, a2, a3)
}
}
/// `CreateCommittedResource3` on the real object.
pub unsafe fn CreateCommittedResource3(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: u32,
a7: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a8: *const windows::core::GUID,
a9: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.CreateCommittedResource3)(inner, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)
}
}
/// `CreatePlacedResource2` on the real object.
pub unsafe fn CreatePlacedResource2(
inner: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: u32,
a6: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a7: *const windows::core::GUID,
a8: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.CreatePlacedResource2)(inner, a0, a1, a2, a3, a4, a5, a6, a7, a8)
}
}
/// `CreateReservedResource2` on the real object.
pub unsafe fn CreateReservedResource2(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: u32,
a5: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.base__
.CreateReservedResource2)(inner, a0, a1, a2, a3, a4, a5, a6, a7)
}
}
/// `CreateSampler2` on the real object.
pub unsafe fn CreateSampler2(
inner: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC2,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.base__
.CreateSampler2)(inner, a0, a1)
}
}
/// `GetResourceAllocationInfo3` on the real object.
pub unsafe fn GetResourceAllocationInfo3(
inner: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *const u32,
a5: *const *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.base__
.GetResourceAllocationInfo3)(inner, a0, a1, a2, a3, a4, a5, a6)
}
}
/// `OpenExistingHeapFromAddress1` on the real object.
pub unsafe fn OpenExistingHeapFromAddress1(
inner: *mut c_void,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.base__
.OpenExistingHeapFromAddress1)(inner, a0, a1, a2, a3)
}
}
/// `CreateRootSignatureFromSubobjectInLibrary` on the real object.
pub unsafe fn CreateRootSignatureFromSubobjectInLibrary(
inner: *mut c_void,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: windows::core::PCWSTR,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
((*(*(inner as *const *const windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl)))
.CreateRootSignatureFromSubobjectInLibrary)(inner, a0, a1, a2, a3, a4, a5)
}
}
}
unsafe extern "system" fn QueryInterface<T: Device12Methods>(
this: *mut c_void,
iid: *const windows::core::GUID,
out: *mut *mut c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).QueryInterface(iid, out) }
}
unsafe extern "system" fn AddRef<T: Device12Methods>(this: *mut c_void) -> u32 {
unsafe { (*(this as *const T)).AddRef() }
}
unsafe extern "system" fn Release<T: Device12Methods>(this: *mut c_void) -> u32 {
unsafe { (*(this as *const T)).Release() }
}
unsafe extern "system" fn GetPrivateData<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetPrivateData(a0, a1, a2) }
}
unsafe extern "system" fn SetPrivateData<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetPrivateData(a0, a1, a2) }
}
unsafe extern "system" fn SetPrivateDataInterface<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetPrivateDataInterface(a0, a1) }
}
unsafe extern "system" fn SetName<T: Device12Methods>(
this: *mut c_void,
a0: windows::core::PCWSTR,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetName(a0) }
}
unsafe extern "system" fn GetNodeCount<T: Device12Methods>(this: *mut c_void) -> u32 {
unsafe { (*(this as *const T)).GetNodeCount() }
}
unsafe extern "system" fn CreateCommandQueue<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandQueue(a0, a1, a2) }
}
unsafe extern "system" fn CreateCommandAllocator<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandAllocator(a0, a1, a2) }
}
unsafe extern "system" fn CreateGraphicsPipelineState<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_GRAPHICS_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateGraphicsPipelineState(a0, a1, a2) }
}
unsafe extern "system" fn CreateComputePipelineState<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMPUTE_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateComputePipelineState(a0, a1, a2) }
}
unsafe extern "system" fn CreateCommandList<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandList(a0, a1, a2, a3, a4, a5) }
}
unsafe extern "system" fn CheckFeatureSupport<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CheckFeatureSupport(a0, a1, a2) }
}
unsafe extern "system" fn CreateDescriptorHeap<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateDescriptorHeap(a0, a1, a2) }
}
unsafe extern "system" fn GetDescriptorHandleIncrementSize<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) -> u32 {
unsafe { (*(this as *const T)).GetDescriptorHandleIncrementSize(a0) }
}
unsafe extern "system" fn CreateRootSignature<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateRootSignature(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateConstantBufferView<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_CONSTANT_BUFFER_VIEW_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateConstantBufferView(a0, a1) }
}
unsafe extern "system" fn CreateShaderResourceView<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_RESOURCE_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateShaderResourceView(a0, a1, a2) }
}
unsafe extern "system" fn CreateUnorderedAccessView<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_UNORDERED_ACCESS_VIEW_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateUnorderedAccessView(a0, a1, a2, a3) }
}
unsafe extern "system" fn CreateRenderTargetView<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_RENDER_TARGET_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateRenderTargetView(a0, a1, a2) }
}
unsafe extern "system" fn CreateDepthStencilView<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_DEPTH_STENCIL_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateDepthStencilView(a0, a1, a2) }
}
unsafe extern "system" fn CreateSampler<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateSampler(a0, a1) }
}
unsafe extern "system" fn CopyDescriptors<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: *const u32,
a3: u32,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a5: *const u32,
a6: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe { (*(this as *const T)).CopyDescriptors(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn CopyDescriptorsSimple<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a3: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe { (*(this as *const T)).CopyDescriptorsSimple(a0, a1, a2, a3) }
}
unsafe extern "system" fn GetResourceAllocationInfo<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
) {
unsafe { (*(this as *const T)).GetResourceAllocationInfo(a0, a1, a2, a3) }
}
unsafe extern "system" fn GetCustomHeapProperties<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: u32,
a2: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_TYPE,
) {
unsafe { (*(this as *const T)).GetCustomHeapProperties(a0, a1, a2) }
}
unsafe extern "system" fn CreateCommittedResource<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommittedResource(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn CreateHeap<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateHeap(a0, a1, a2) }
}
unsafe extern "system" fn CreatePlacedResource<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreatePlacedResource(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn CreateReservedResource<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateReservedResource(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateSharedHandle<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Security::SECURITY_ATTRIBUTES,
a2: u32,
a3: windows::core::PCWSTR,
a4: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateSharedHandle(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn OpenSharedHandle<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).OpenSharedHandle(a0, a1, a2) }
}
unsafe extern "system" fn OpenSharedHandleByName<T: Device12Methods>(
this: *mut c_void,
a0: windows::core::PCWSTR,
a1: u32,
a2: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).OpenSharedHandleByName(a0, a1, a2) }
}
unsafe extern "system" fn MakeResident<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).MakeResident(a0, a1) }
}
unsafe extern "system" fn Evict<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).Evict(a0, a1) }
}
unsafe extern "system" fn CreateFence<T: Device12Methods>(
this: *mut c_void,
a0: u64,
a1: windows::Win32::Graphics::Direct3D12::D3D12_FENCE_FLAGS,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateFence(a0, a1, a2, a3) }
}
unsafe extern "system" fn GetDeviceRemovedReason<T: Device12Methods>(
this: *mut c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).GetDeviceRemovedReason() }
}
unsafe extern "system" fn GetCopyableFootprints<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe { (*(this as *const T)).GetCopyableFootprints(a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe extern "system" fn CreateQueryHeap<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_QUERY_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateQueryHeap(a0, a1, a2) }
}
unsafe extern "system" fn SetStablePowerState<T: Device12Methods>(
this: *mut c_void,
a0: windows::core::BOOL,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetStablePowerState(a0) }
}
unsafe extern "system" fn CreateCommandSignature<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_SIGNATURE_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandSignature(a0, a1, a2, a3) }
}
unsafe extern "system" fn GetResourceTiling<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut u32,
a2: *mut windows::Win32::Graphics::Direct3D12::D3D12_PACKED_MIP_INFO,
a3: *mut windows::Win32::Graphics::Direct3D12::D3D12_TILE_SHAPE,
a4: *mut u32,
a5: u32,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_SUBRESOURCE_TILING,
) {
unsafe { (*(this as *const T)).GetResourceTiling(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn GetAdapterLuid<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Foundation::LUID,
) {
unsafe { (*(this as *const T)).GetAdapterLuid(a0) }
}
unsafe extern "system" fn CreatePipelineLibrary<T: Device12Methods>(
this: *mut c_void,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreatePipelineLibrary(a0, a1, a2, a3) }
}
unsafe extern "system" fn SetEventOnMultipleFenceCompletion<T: Device12Methods>(
this: *mut c_void,
a0: *const *mut core::ffi::c_void,
a1: *const u64,
a2: u32,
a3: windows::Win32::Graphics::Direct3D12::D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
a4: windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetEventOnMultipleFenceCompletion(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn SetResidencyPriority<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_PRIORITY,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetResidencyPriority(a0, a1, a2) }
}
unsafe extern "system" fn CreatePipelineState<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PIPELINE_STATE_STREAM_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreatePipelineState(a0, a1, a2) }
}
unsafe extern "system" fn OpenExistingHeapFromAddress<T: Device12Methods>(
this: *mut c_void,
a0: *const core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).OpenExistingHeapFromAddress(a0, a1, a2) }
}
unsafe extern "system" fn OpenExistingHeapFromFileMapping<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).OpenExistingHeapFromFileMapping(a0, a1, a2) }
}
unsafe extern "system" fn EnqueueMakeResident<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_FLAGS,
a1: u32,
a2: *const *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: u64,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnqueueMakeResident(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateCommandList1<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_FLAGS,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandList1(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateProtectedResourceSession<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateProtectedResourceSession(a0, a1, a2) }
}
unsafe extern "system" fn CreateCommittedResource1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommittedResource1(a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe extern "system" fn CreateHeap1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateHeap1(a0, a1, a2, a3) }
}
unsafe extern "system" fn CreateReservedResource1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateReservedResource1(a0, a1, a2, a3, a4, a5) }
}
unsafe extern "system" fn GetResourceAllocationInfo1<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { (*(this as *const T)).GetResourceAllocationInfo1(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateLifetimeTracker<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateLifetimeTracker(a0, a1, a2) }
}
unsafe extern "system" fn RemoveDevice<T: Device12Methods>(this: *mut c_void) {
unsafe { (*(this as *const T)).RemoveDevice() }
}
unsafe extern "system" fn EnumerateMetaCommands<T: Device12Methods>(
this: *mut c_void,
a0: *mut u32,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_DESC,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumerateMetaCommands(a0, a1) }
}
unsafe extern "system" fn EnumerateMetaCommandParameters<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_STAGE,
a2: *mut u32,
a3: *mut u32,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_DESC,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).EnumerateMetaCommandParameters(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateMetaCommand<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
a3: usize,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateMetaCommand(a0, a1, a2, a3, a4, a5) }
}
unsafe extern "system" fn CreateStateObject<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateStateObject(a0, a1, a2) }
}
unsafe extern "system" fn GetRaytracingAccelerationStructurePrebuildInfo<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) {
unsafe { (*(this as *const T)).GetRaytracingAccelerationStructurePrebuildInfo(a0, a1) }
}
unsafe extern "system" fn CheckDriverMatchingIdentifier<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_TYPE,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) -> windows::Win32::Graphics::Direct3D12::D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
unsafe { (*(this as *const T)).CheckDriverMatchingIdentifier(a0, a1) }
}
unsafe extern "system" fn SetBackgroundProcessingMode<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_BACKGROUND_PROCESSING_MODE,
a1: windows::Win32::Graphics::Direct3D12::D3D12_MEASUREMENTS_ACTION,
a2: windows::Win32::Foundation::HANDLE,
a3: *mut windows::core::BOOL,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).SetBackgroundProcessingMode(a0, a1, a2, a3) }
}
unsafe extern "system" fn AddToStateObject<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).AddToStateObject(a0, a1, a2, a3) }
}
unsafe extern "system" fn CreateProtectedResourceSession1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateProtectedResourceSession1(a0, a1, a2) }
}
unsafe extern "system" fn GetResourceAllocationInfo2<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { (*(this as *const T)).GetResourceAllocationInfo2(a0, a1, a2, a3, a4) }
}
unsafe extern "system" fn CreateCommittedResource2<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommittedResource2(a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe extern "system" fn CreatePlacedResource1<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreatePlacedResource1(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn CreateSamplerFeedbackUnorderedAccessView<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateSamplerFeedbackUnorderedAccessView(a0, a1, a2) }
}
unsafe extern "system" fn GetCopyableFootprints1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe { (*(this as *const T)).GetCopyableFootprints1(a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe extern "system" fn CreateShaderCacheSession<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateShaderCacheSession(a0, a1, a2) }
}
unsafe extern "system" fn ShaderCacheControl<T: Device12Methods>(
this: *mut c_void,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_KIND_FLAGS,
a1: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_CONTROL_FLAGS,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).ShaderCacheControl(a0, a1) }
}
unsafe extern "system" fn CreateCommandQueue1<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommandQueue1(a0, a1, a2, a3) }
}
unsafe extern "system" fn CreateCommittedResource3<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: u32,
a7: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a8: *const windows::core::GUID,
a9: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateCommittedResource3(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) }
}
unsafe extern "system" fn CreatePlacedResource2<T: Device12Methods>(
this: *mut c_void,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: u32,
a6: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a7: *const windows::core::GUID,
a8: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreatePlacedResource2(a0, a1, a2, a3, a4, a5, a6, a7, a8) }
}
unsafe extern "system" fn CreateReservedResource2<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: u32,
a5: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateReservedResource2(a0, a1, a2, a3, a4, a5, a6, a7) }
}
unsafe extern "system" fn CreateSampler2<T: Device12Methods>(
this: *mut c_void,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC2,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe { (*(this as *const T)).CreateSampler2(a0, a1) }
}
unsafe extern "system" fn GetResourceAllocationInfo3<T: Device12Methods>(
this: *mut c_void,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *const u32,
a5: *const *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe { (*(this as *const T)).GetResourceAllocationInfo3(a0, a1, a2, a3, a4, a5, a6) }
}
unsafe extern "system" fn OpenExistingHeapFromAddress1<T: Device12Methods>(
this: *mut c_void,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).OpenExistingHeapFromAddress1(a0, a1, a2, a3) }
}
unsafe extern "system" fn CreateRootSignatureFromSubobjectInLibrary<T: Device12Methods>(
this: *mut c_void,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: windows::core::PCWSTR,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe { (*(this as *const T)).CreateRootSignatureFromSubobjectInLibrary(a0, a1, a2, a3, a4, a5) }
}
#[allow(clippy::let_and_return)] // Uniform post-call interception in generated methods.
unsafe impl Device12Methods for crate::d3d12::Object {
fn inner(&self) -> *mut c_void {
self.real()
}
unsafe fn QueryInterface(
&self,
iid: *const windows::core::GUID,
out: *mut *mut c_void,
) -> windows::core::HRESULT {
unsafe { self.query(iid, out) }
}
unsafe fn AddRef(&self) -> u32 {
self.add_ref()
}
unsafe fn Release(&self) -> u32 {
unsafe { self.release() }
}
unsafe fn GetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: *mut u32,
a2: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::GetPrivateData(self.real(), a0, a1, a2);
self.private_output(result, a0, a1, a2);
result
}
}
unsafe fn SetPrivateData(
&self,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::SetPrivateData(self.real(), a0, a1, a2);
if result.is_ok() {
self.private_interface(a0, false);
}
result
}
}
unsafe fn SetPrivateDataInterface(
&self,
a0: *const windows::core::GUID,
a1: *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::SetPrivateDataInterface(self.real(), a0, crate::d3d12::unwrap(a1));
if result.is_ok() {
self.private_interface(a0, !a1.is_null());
}
result
}
}
unsafe fn SetName(&self, a0: windows::core::PCWSTR) -> windows::core::HRESULT {
unsafe {
let result = real::SetName(self.real(), a0);
result
}
}
unsafe fn GetNodeCount(&self) -> u32 {
unsafe {
let result = real::GetNodeCount(self.real());
result
}
}
unsafe fn CreateCommandQueue(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandQueue(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::values::created_queue(self.data.id, a2, a0);
}
result
}
}
unsafe fn CreateCommandAllocator(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandAllocator(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn CreateGraphicsPipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_GRAPHICS_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::graphics(a0);
let result = real::CreateGraphicsPipelineState(self.real(), mapped0.ptr(), a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::shaders::graphics(a0);
crate::d3d12::pipelines::created(self.data.id, a2, || crate::d3d12::pipelines::graphics(a0));
}
result
}
}
unsafe fn CreateComputePipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMPUTE_PIPELINE_STATE_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::compute(a0);
let result = real::CreateComputePipelineState(self.real(), mapped0.ptr(), a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::shaders::compute(a0);
crate::d3d12::pipelines::created(self.data.id, a2, || crate::d3d12::pipelines::compute(a0));
}
result
}
}
unsafe fn CreateCommandList(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandList(
self.real(),
a0,
a1,
crate::d3d12::unwrap(a2),
crate::d3d12::unwrap(a3),
a4,
a5,
);
crate::d3d12::wrap_output(result, a4, a5);
if result.is_ok() {
crate::d3d12::journal::created_list(self.data.id, a5, a1.0, a2, a3, false);
}
result
}
}
unsafe fn CheckFeatureSupport(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_FEATURE,
a1: *mut core::ffi::c_void,
a2: u32,
) -> windows::core::HRESULT {
unsafe {
let result = real::CheckFeatureSupport(self.real(), a0, a1, a2);
result
}
}
unsafe fn CreateDescriptorHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateDescriptorHeap(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::values::created_descriptor_heap(self.data.id, a2);
}
result
}
}
unsafe fn GetDescriptorHandleIncrementSize(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) -> u32 {
unsafe {
let result = real::GetDescriptorHandleIncrementSize(self.real(), a0);
result
}
}
unsafe fn CreateRootSignature(
&self,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateRootSignature(self.real(), a0, a1, a2, a3, a4);
crate::d3d12::wrap_output(result, a3, a4);
if result.is_ok() {
crate::d3d12::pipelines::root_signature(self.data.id, a4, a1, a2, a0);
}
result
}
}
unsafe fn CreateConstantBufferView(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_CONSTANT_BUFFER_VIEW_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateConstantBufferView(self.real(), a0, a1);
crate::d3d12::descriptors::cb(a0, a1);
}
}
unsafe fn CreateShaderResourceView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_RESOURCE_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateShaderResourceView(self.real(), crate::d3d12::unwrap(a0), a1, a2);
crate::d3d12::descriptors::srv(a0, a1, a2);
}
}
unsafe fn CreateUnorderedAccessView(
&self,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_UNORDERED_ACCESS_VIEW_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateUnorderedAccessView(
self.real(),
crate::d3d12::unwrap(a0),
crate::d3d12::unwrap(a1),
a2,
a3,
);
crate::d3d12::descriptors::uav(a0, a1, a2, a3);
}
}
unsafe fn CreateRenderTargetView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_RENDER_TARGET_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateRenderTargetView(self.real(), crate::d3d12::unwrap(a0), a1, a2);
crate::d3d12::descriptors::rtv(a0, a1, a2);
}
}
unsafe fn CreateDepthStencilView(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_DEPTH_STENCIL_VIEW_DESC,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateDepthStencilView(self.real(), crate::d3d12::unwrap(a0), a1, a2);
crate::d3d12::descriptors::dsv(a0, a1, a2);
}
}
unsafe fn CreateSampler(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateSampler(self.real(), a0, a1);
crate::d3d12::descriptors::sampler(a0, a1);
}
}
unsafe fn CopyDescriptors(
&self,
a0: u32,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: *const u32,
a3: u32,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a5: *const u32,
a6: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe {
real::CopyDescriptors(self.real(), a0, a1, a2, a3, a4, a5, a6);
crate::d3d12::descriptors::copy(a0, a1, a2, a3, a4, a5);
}
}
unsafe fn CopyDescriptorsSimple(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
a3: windows::Win32::Graphics::Direct3D12::D3D12_DESCRIPTOR_HEAP_TYPE,
) {
unsafe {
real::CopyDescriptorsSimple(self.real(), a0, a1, a2, a3);
crate::d3d12::descriptors::copy_simple(a0, a1, a2);
}
}
unsafe fn GetResourceAllocationInfo(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
) {
unsafe {
real::GetResourceAllocationInfo(self.real(), a0, a1, a2, a3);
}
}
unsafe fn GetCustomHeapProperties(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: u32,
a2: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_TYPE,
) {
unsafe {
real::GetCustomHeapProperties(self.real(), a0, a1, a2);
}
}
unsafe fn CreateCommittedResource(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommittedResource(self.real(), a0, a1, a2, a3, a4, a5, a6);
crate::d3d12::wrap_output(result, a5, a6);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a6,
crate::d3d12::values::Initial::State(a3.0),
crate::d3d12::values::Placement::Committed,
);
}
result
}
}
unsafe fn CreateHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateHeap(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::values::created_heap(self.data.id, a2);
}
result
}
}
unsafe fn CreatePlacedResource(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result =
real::CreatePlacedResource(self.real(), crate::d3d12::unwrap(a0), a1, a2, a3, a4, a5, a6);
crate::d3d12::wrap_output(result, a5, a6);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a6,
crate::d3d12::values::Initial::State(a3.0),
crate::d3d12::values::Placement::Placed(crate::d3d12::id(a0), a1),
);
}
result
}
}
unsafe fn CreateReservedResource(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateReservedResource(self.real(), a0, a1, a2, a3, a4);
crate::d3d12::wrap_output(result, a3, a4);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a4,
crate::d3d12::values::Initial::State(a1.0),
crate::d3d12::values::Placement::Reserved,
);
}
result
}
}
unsafe fn CreateSharedHandle(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::Win32::Security::SECURITY_ATTRIBUTES,
a2: u32,
a3: windows::core::PCWSTR,
a4: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateSharedHandle(self.real(), crate::d3d12::unwrap(a0), a1, a2, a3, a4);
result
}
}
unsafe fn OpenSharedHandle(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::OpenSharedHandle(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn OpenSharedHandleByName(
&self,
a0: windows::core::PCWSTR,
a1: u32,
a2: *mut windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
let result = real::OpenSharedHandleByName(self.real(), a0, a1, a2);
result
}
}
unsafe fn MakeResident(&self, a0: u32, a1: *const *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe {
let mapped1 = crate::d3d12::inputs::objects(a1, a0);
let result = real::MakeResident(self.real(), a0, mapped1.ptr());
result
}
}
unsafe fn Evict(&self, a0: u32, a1: *const *mut core::ffi::c_void) -> windows::core::HRESULT {
unsafe {
let mapped1 = crate::d3d12::inputs::objects(a1, a0);
let result = real::Evict(self.real(), a0, mapped1.ptr());
result
}
}
unsafe fn CreateFence(
&self,
a0: u64,
a1: windows::Win32::Graphics::Direct3D12::D3D12_FENCE_FLAGS,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateFence(self.real(), a0, a1, a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
result
}
}
unsafe fn GetDeviceRemovedReason(&self) -> windows::core::HRESULT {
unsafe {
let result = real::GetDeviceRemovedReason(self.real());
result
}
}
unsafe fn GetCopyableFootprints(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe {
real::GetCopyableFootprints(self.real(), a0, a1, a2, a3, a4, a5, a6, a7);
}
}
unsafe fn CreateQueryHeap(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_QUERY_HEAP_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateQueryHeap(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn SetStablePowerState(&self, a0: windows::core::BOOL) -> windows::core::HRESULT {
unsafe {
let result = real::SetStablePowerState(self.real(), a0);
result
}
}
unsafe fn CreateCommandSignature(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_SIGNATURE_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandSignature(self.real(), a0, crate::d3d12::unwrap(a1), a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
if result.is_ok() {
crate::d3d12::values::created_command_signature(self.data.id, a3, a0, a1);
}
result
}
}
unsafe fn GetResourceTiling(
&self,
a0: *mut core::ffi::c_void,
a1: *mut u32,
a2: *mut windows::Win32::Graphics::Direct3D12::D3D12_PACKED_MIP_INFO,
a3: *mut windows::Win32::Graphics::Direct3D12::D3D12_TILE_SHAPE,
a4: *mut u32,
a5: u32,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_SUBRESOURCE_TILING,
) {
unsafe {
real::GetResourceTiling(self.real(), crate::d3d12::unwrap(a0), a1, a2, a3, a4, a5, a6);
}
}
unsafe fn GetAdapterLuid(&self, a0: *mut windows::Win32::Foundation::LUID) {
unsafe {
real::GetAdapterLuid(self.real(), a0);
}
}
unsafe fn CreatePipelineLibrary(
&self,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
self.called("CreatePipelineLibrary");
let result = real::CreatePipelineLibrary(self.real(), a0, a1, a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
if result.is_ok() {
crate::d3d12::shaders::bytes("pipeline-library.bin", a0, a1);
crate::d3d12::pipelines::created(
self.data.id,
a3,
|| serde_json::json!({"kind":"pipeline_library","initial":crate::d3d12::pipelines::bytes(a0,a1)}),
);
}
result
}
}
unsafe fn SetEventOnMultipleFenceCompletion(
&self,
a0: *const *mut core::ffi::c_void,
a1: *const u64,
a2: u32,
a3: windows::Win32::Graphics::Direct3D12::D3D12_MULTIPLE_FENCE_WAIT_FLAGS,
a4: windows::Win32::Foundation::HANDLE,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::objects(a0, a2);
let result = real::SetEventOnMultipleFenceCompletion(self.real(), mapped0.ptr(), a1, a2, a3, a4);
result
}
}
unsafe fn SetResidencyPriority(
&self,
a0: u32,
a1: *const *mut core::ffi::c_void,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_PRIORITY,
) -> windows::core::HRESULT {
unsafe {
let mapped1 = crate::d3d12::inputs::objects(a1, a0);
let result = real::SetResidencyPriority(self.real(), a0, mapped1.ptr(), a2);
result
}
}
unsafe fn CreatePipelineState(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PIPELINE_STATE_STREAM_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::stream(a0);
let result = real::CreatePipelineState(self.real(), mapped0.ptr(), a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::shaders::stream(a0);
crate::d3d12::pipelines::created(self.data.id, a2, || crate::d3d12::pipelines::stream(a0));
}
result
}
}
unsafe fn OpenExistingHeapFromAddress(
&self,
a0: *const core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::OpenExistingHeapFromAddress(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn OpenExistingHeapFromFileMapping(
&self,
a0: windows::Win32::Foundation::HANDLE,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::OpenExistingHeapFromFileMapping(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn EnqueueMakeResident(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_RESIDENCY_FLAGS,
a1: u32,
a2: *const *mut core::ffi::c_void,
a3: *mut core::ffi::c_void,
a4: u64,
) -> windows::core::HRESULT {
unsafe {
let mapped2 = crate::d3d12::inputs::objects(a2, a1);
let result =
real::EnqueueMakeResident(self.real(), a0, a1, mapped2.ptr(), crate::d3d12::unwrap(a3), a4);
result
}
}
unsafe fn CreateCommandList1(
&self,
a0: u32,
a1: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_TYPE,
a2: windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_LIST_FLAGS,
a3: *const windows::core::GUID,
a4: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandList1(self.real(), a0, a1, a2, a3, a4);
crate::d3d12::wrap_output(result, a3, a4);
if result.is_ok() {
crate::d3d12::journal::created_list(
self.data.id,
a4,
a1.0,
core::ptr::null_mut(),
core::ptr::null_mut(),
true,
);
}
result
}
}
unsafe fn CreateProtectedResourceSession(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateProtectedResourceSession(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn CreateCommittedResource1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommittedResource1(
self.real(),
a0,
a1,
a2,
a3,
a4,
crate::d3d12::unwrap(a5),
a6,
a7,
);
crate::d3d12::wrap_output(result, a6, a7);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a7,
crate::d3d12::values::Initial::State(a3.0),
crate::d3d12::values::Placement::Committed,
);
}
result
}
}
unsafe fn CreateHeap1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateHeap1(self.real(), a0, crate::d3d12::unwrap(a1), a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
if result.is_ok() {
crate::d3d12::values::created_heap(self.data.id, a3);
}
result
}
}
unsafe fn CreateReservedResource1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result =
real::CreateReservedResource1(self.real(), a0, a1, a2, crate::d3d12::unwrap(a3), a4, a5);
crate::d3d12::wrap_output(result, a4, a5);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a5,
crate::d3d12::values::Initial::State(a1.0),
crate::d3d12::values::Placement::Reserved,
);
}
result
}
}
unsafe fn GetResourceAllocationInfo1(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
real::GetResourceAllocationInfo1(self.real(), a0, a1, a2, a3, a4);
}
}
unsafe fn CreateLifetimeTracker(
&self,
a0: *mut core::ffi::c_void,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateLifetimeTracker(self.real(), crate::d3d12::unwrap(a0), a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn RemoveDevice(&self) {
unsafe {
real::RemoveDevice(self.real());
}
}
unsafe fn EnumerateMetaCommands(
&self,
a0: *mut u32,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_DESC,
) -> windows::core::HRESULT {
unsafe {
let result = real::EnumerateMetaCommands(self.real(), a0, a1);
result
}
}
unsafe fn EnumerateMetaCommandParameters(
&self,
a0: *const windows::core::GUID,
a1: windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_STAGE,
a2: *mut u32,
a3: *mut u32,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_META_COMMAND_PARAMETER_DESC,
) -> windows::core::HRESULT {
unsafe {
let result = real::EnumerateMetaCommandParameters(self.real(), a0, a1, a2, a3, a4);
result
}
}
unsafe fn CreateMetaCommand(
&self,
a0: *const windows::core::GUID,
a1: u32,
a2: *const core::ffi::c_void,
a3: usize,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateMetaCommand(self.real(), a0, a1, a2, a3, a4, a5);
crate::d3d12::wrap_output(result, a4, a5);
result
}
}
unsafe fn CreateStateObject(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::state_object(a0);
self.called("CreateStateObject");
let result = real::CreateStateObject(self.real(), mapped0.ptr(), a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
if result.is_ok() {
crate::d3d12::shaders::state_object(a0);
}
result
}
}
unsafe fn GetRaytracingAccelerationStructurePrebuildInfo(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS,
a1: *mut windows::Win32::Graphics::Direct3D12::D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO,
) {
unsafe {
real::GetRaytracingAccelerationStructurePrebuildInfo(self.real(), a0, a1);
}
}
unsafe fn CheckDriverMatchingIdentifier(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_TYPE,
a1: *const windows::Win32::Graphics::Direct3D12::D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER,
) -> windows::Win32::Graphics::Direct3D12::D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
unsafe {
let result = real::CheckDriverMatchingIdentifier(self.real(), a0, a1);
result
}
}
unsafe fn SetBackgroundProcessingMode(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_BACKGROUND_PROCESSING_MODE,
a1: windows::Win32::Graphics::Direct3D12::D3D12_MEASUREMENTS_ACTION,
a2: windows::Win32::Foundation::HANDLE,
a3: *mut windows::core::BOOL,
) -> windows::core::HRESULT {
unsafe {
let result = real::SetBackgroundProcessingMode(self.real(), a0, a1, a2, a3);
result
}
}
unsafe fn AddToStateObject(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_STATE_OBJECT_DESC,
a1: *mut core::ffi::c_void,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let mapped0 = crate::d3d12::inputs::state_object(a0);
self.called("AddToStateObject");
let result = real::AddToStateObject(self.real(), mapped0.ptr(), crate::d3d12::unwrap(a1), a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
if result.is_ok() {
crate::d3d12::shaders::state_object(a0);
}
result
}
}
unsafe fn CreateProtectedResourceSession1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_PROTECTED_RESOURCE_SESSION_DESC1,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateProtectedResourceSession1(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn GetResourceAllocationInfo2(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
real::GetResourceAllocationInfo2(self.real(), a0, a1, a2, a3, a4);
}
}
unsafe fn CreateCommittedResource2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommittedResource2(
self.real(),
a0,
a1,
a2,
a3,
a4,
crate::d3d12::unwrap(a5),
a6,
a7,
);
crate::d3d12::wrap_output(result, a6, a7);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a7,
crate::d3d12::values::Initial::State(a3.0),
crate::d3d12::values::Placement::Committed,
);
}
result
}
}
unsafe fn CreatePlacedResource1(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_STATES,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *const windows::core::GUID,
a6: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result =
real::CreatePlacedResource1(self.real(), crate::d3d12::unwrap(a0), a1, a2, a3, a4, a5, a6);
crate::d3d12::wrap_output(result, a5, a6);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a6,
crate::d3d12::values::Initial::State(a3.0),
crate::d3d12::values::Placement::Placed(crate::d3d12::id(a0), a1),
);
}
result
}
}
unsafe fn CreateSamplerFeedbackUnorderedAccessView(
&self,
a0: *mut core::ffi::c_void,
a1: *mut core::ffi::c_void,
a2: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateSamplerFeedbackUnorderedAccessView(
self.real(),
crate::d3d12::unwrap(a0),
crate::d3d12::unwrap(a1),
a2,
);
crate::d3d12::descriptors::sampler_feedback(a0, a1, a2);
}
}
unsafe fn GetCopyableFootprints1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a1: u32,
a2: u32,
a3: u64,
a4: *mut windows::Win32::Graphics::Direct3D12::D3D12_PLACED_SUBRESOURCE_FOOTPRINT,
a5: *mut u32,
a6: *mut u64,
a7: *mut u64,
) {
unsafe {
real::GetCopyableFootprints1(self.real(), a0, a1, a2, a3, a4, a5, a6, a7);
}
}
unsafe fn CreateShaderCacheSession(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_SESSION_DESC,
a1: *const windows::core::GUID,
a2: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateShaderCacheSession(self.real(), a0, a1, a2);
crate::d3d12::wrap_output(result, a1, a2);
result
}
}
unsafe fn ShaderCacheControl(
&self,
a0: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_KIND_FLAGS,
a1: windows::Win32::Graphics::Direct3D12::D3D12_SHADER_CACHE_CONTROL_FLAGS,
) -> windows::core::HRESULT {
unsafe {
let result = real::ShaderCacheControl(self.real(), a0, a1);
result
}
}
unsafe fn CreateCommandQueue1(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_COMMAND_QUEUE_DESC,
a1: *const windows::core::GUID,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommandQueue1(self.real(), a0, a1, a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
if result.is_ok() {
crate::d3d12::values::created_queue(self.data.id, a3, a0);
}
result
}
}
unsafe fn CreateCommittedResource3(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_HEAP_PROPERTIES,
a1: windows::Win32::Graphics::Direct3D12::D3D12_HEAP_FLAGS,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: *mut core::ffi::c_void,
a6: u32,
a7: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a8: *const windows::core::GUID,
a9: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateCommittedResource3(
self.real(),
a0,
a1,
a2,
a3,
a4,
crate::d3d12::unwrap(a5),
a6,
a7,
a8,
a9,
);
crate::d3d12::wrap_output(result, a8, a9);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a9,
crate::d3d12::values::Initial::Layout(a3.0),
crate::d3d12::values::Placement::Committed,
);
}
result
}
}
unsafe fn CreatePlacedResource2(
&self,
a0: *mut core::ffi::c_void,
a1: u64,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a3: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a4: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a5: u32,
a6: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a7: *const windows::core::GUID,
a8: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreatePlacedResource2(
self.real(),
crate::d3d12::unwrap(a0),
a1,
a2,
a3,
a4,
a5,
a6,
a7,
a8,
);
crate::d3d12::wrap_output(result, a7, a8);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a8,
crate::d3d12::values::Initial::Layout(a3.0),
crate::d3d12::values::Placement::Placed(crate::d3d12::id(a0), a1),
);
}
result
}
}
unsafe fn CreateReservedResource2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC,
a1: windows::Win32::Graphics::Direct3D12::D3D12_BARRIER_LAYOUT,
a2: *const windows::Win32::Graphics::Direct3D12::D3D12_CLEAR_VALUE,
a3: *mut core::ffi::c_void,
a4: u32,
a5: *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *const windows::core::GUID,
a7: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateReservedResource2(
self.real(),
a0,
a1,
a2,
crate::d3d12::unwrap(a3),
a4,
a5,
a6,
a7,
);
crate::d3d12::wrap_output(result, a6, a7);
if result.is_ok() {
crate::d3d12::values::created_resource(
self.data.id,
a7,
crate::d3d12::values::Initial::Layout(a1.0),
crate::d3d12::values::Placement::Reserved,
);
}
result
}
}
unsafe fn CreateSampler2(
&self,
a0: *const windows::Win32::Graphics::Direct3D12::D3D12_SAMPLER_DESC2,
a1: windows::Win32::Graphics::Direct3D12::D3D12_CPU_DESCRIPTOR_HANDLE,
) {
unsafe {
real::CreateSampler2(self.real(), a0, a1);
crate::d3d12::descriptors::sampler2(a0, a1);
}
}
unsafe fn GetResourceAllocationInfo3(
&self,
a0: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO,
a1: u32,
a2: u32,
a3: *const windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_DESC1,
a4: *const u32,
a5: *const *const windows::Win32::Graphics::Dxgi::Common::DXGI_FORMAT,
a6: *mut windows::Win32::Graphics::Direct3D12::D3D12_RESOURCE_ALLOCATION_INFO1,
) {
unsafe {
real::GetResourceAllocationInfo3(self.real(), a0, a1, a2, a3, a4, a5, a6);
}
}
unsafe fn OpenExistingHeapFromAddress1(
&self,
a0: *const core::ffi::c_void,
a1: usize,
a2: *const windows::core::GUID,
a3: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::OpenExistingHeapFromAddress1(self.real(), a0, a1, a2, a3);
crate::d3d12::wrap_output(result, a2, a3);
result
}
}
unsafe fn CreateRootSignatureFromSubobjectInLibrary(
&self,
a0: u32,
a1: *const core::ffi::c_void,
a2: usize,
a3: windows::core::PCWSTR,
a4: *const windows::core::GUID,
a5: *mut *mut core::ffi::c_void,
) -> windows::core::HRESULT {
unsafe {
let result = real::CreateRootSignatureFromSubobjectInLibrary(self.real(), a0, a1, a2, a3, a4, a5);
crate::d3d12::wrap_output(result, a4, a5);
result
}
}
}
/// The `ID3D12Device14` vtable whose entries call `T`'s methods.
pub const fn vtable<T: Device12Methods>() -> windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl {
windows::Win32::Graphics::Direct3D12::ID3D12Device14_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device13_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device12_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device11_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device10_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device9_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device8_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device7_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device6_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device5_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device4_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device3_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device2_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device1_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Device_Vtbl { base__: windows::Win32::Graphics::Direct3D12::ID3D12Object_Vtbl { base__: windows::core::IUnknown_Vtbl { QueryInterface: QueryInterface::<T>, AddRef: AddRef::<T>, Release: Release::<T> }, GetPrivateData: GetPrivateData::<T>, SetPrivateData: SetPrivateData::<T>, SetPrivateDataInterface: SetPrivateDataInterface::<T>, SetName: SetName::<T> }, GetNodeCount: GetNodeCount::<T>, CreateCommandQueue: CreateCommandQueue::<T>, CreateCommandAllocator: CreateCommandAllocator::<T>, CreateGraphicsPipelineState: CreateGraphicsPipelineState::<T>, CreateComputePipelineState: CreateComputePipelineState::<T>, CreateCommandList: CreateCommandList::<T>, CheckFeatureSupport: CheckFeatureSupport::<T>, CreateDescriptorHeap: CreateDescriptorHeap::<T>, GetDescriptorHandleIncrementSize: GetDescriptorHandleIncrementSize::<T>, CreateRootSignature: CreateRootSignature::<T>, CreateConstantBufferView: CreateConstantBufferView::<T>, CreateShaderResourceView: CreateShaderResourceView::<T>, CreateUnorderedAccessView: CreateUnorderedAccessView::<T>, CreateRenderTargetView: CreateRenderTargetView::<T>, CreateDepthStencilView: CreateDepthStencilView::<T>, CreateSampler: CreateSampler::<T>, CopyDescriptors: CopyDescriptors::<T>, CopyDescriptorsSimple: CopyDescriptorsSimple::<T>, GetResourceAllocationInfo: GetResourceAllocationInfo::<T>, GetCustomHeapProperties: GetCustomHeapProperties::<T>, CreateCommittedResource: CreateCommittedResource::<T>, CreateHeap: CreateHeap::<T>, CreatePlacedResource: CreatePlacedResource::<T>, CreateReservedResource: CreateReservedResource::<T>, CreateSharedHandle: CreateSharedHandle::<T>, OpenSharedHandle: OpenSharedHandle::<T>, OpenSharedHandleByName: OpenSharedHandleByName::<T>, MakeResident: MakeResident::<T>, Evict: Evict::<T>, CreateFence: CreateFence::<T>, GetDeviceRemovedReason: GetDeviceRemovedReason::<T>, GetCopyableFootprints: GetCopyableFootprints::<T>, CreateQueryHeap: CreateQueryHeap::<T>, SetStablePowerState: SetStablePowerState::<T>, CreateCommandSignature: CreateCommandSignature::<T>, GetResourceTiling: GetResourceTiling::<T>, GetAdapterLuid: GetAdapterLuid::<T> }, CreatePipelineLibrary: CreatePipelineLibrary::<T>, SetEventOnMultipleFenceCompletion: SetEventOnMultipleFenceCompletion::<T>, SetResidencyPriority: SetResidencyPriority::<T> }, CreatePipelineState: CreatePipelineState::<T> }, OpenExistingHeapFromAddress: OpenExistingHeapFromAddress::<T>, OpenExistingHeapFromFileMapping: OpenExistingHeapFromFileMapping::<T>, EnqueueMakeResident: EnqueueMakeResident::<T> }, CreateCommandList1: CreateCommandList1::<T>, CreateProtectedResourceSession: CreateProtectedResourceSession::<T>, CreateCommittedResource1: CreateCommittedResource1::<T>, CreateHeap1: CreateHeap1::<T>, CreateReservedResource1: CreateReservedResource1::<T>, GetResourceAllocationInfo1: GetResourceAllocationInfo1::<T> }, CreateLifetimeTracker: CreateLifetimeTracker::<T>, RemoveDevice: RemoveDevice::<T>, EnumerateMetaCommands: EnumerateMetaCommands::<T>, EnumerateMetaCommandParameters: EnumerateMetaCommandParameters::<T>, CreateMetaCommand: CreateMetaCommand::<T>, CreateStateObject: CreateStateObject::<T>, GetRaytracingAccelerationStructurePrebuildInfo: GetRaytracingAccelerationStructurePrebuildInfo::<T>, CheckDriverMatchingIdentifier: CheckDriverMatchingIdentifier::<T> }, SetBackgroundProcessingMode: SetBackgroundProcessingMode::<T> }, AddToStateObject: AddToStateObject::<T>, CreateProtectedResourceSession1: CreateProtectedResourceSession1::<T> }, GetResourceAllocationInfo2: GetResourceAllocationInfo2::<T>, CreateCommittedResource2: CreateCommittedResource2::<T>, CreatePlacedResource1: CreatePlacedResource1::<T>, CreateSamplerFeedbackUnorderedAccessView: CreateSamplerFeedbackUnorderedAccessView::<T>, GetCopyableFootprints1: GetCopyableFootprints1::<T> }, CreateShaderCacheSession: CreateShaderCacheSession::<T>, ShaderCacheControl: ShaderCacheControl::<T>, CreateCommandQueue1: CreateCommandQueue1::<T> }, CreateCommittedResource3: CreateCommittedResource3::<T>, CreatePlacedResource2: CreatePlacedResource2::<T>, CreateReservedResource2: CreateReservedResource2::<T> }, CreateSampler2: CreateSampler2::<T> }, GetResourceAllocationInfo3: GetResourceAllocationInfo3::<T> }, OpenExistingHeapFromAddress1: OpenExistingHeapFromAddress1::<T> }, CreateRootSignatureFromSubobjectInLibrary: CreateRootSignatureFromSubobjectInLibrary::<T> }
}