// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace Win32.Graphics.Direct3D12; /// /// ID3D12Device2 [Guid("30baa41e-b15b-475c-a0bb-1af5c5b64328")] [NativeTypeName("struct ID3D12Device2 : ID3D12Device1")] [NativeInheritance("ID3D12Device1")] public unsafe partial struct ID3D12Device2 : INativeGuid { public static ref readonly Guid IID_ID3D12Device2 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan data = new byte[] { 0x1E, 0xA4, 0xBA, 0x30, 0x5B, 0xB1, 0x5C, 0x47, 0xA0, 0xBB, 0x1A, 0xF5, 0xC5, 0xB6, 0x43, 0x28 }; Debug.Assert(data.Length == Unsafe.SizeOf()); return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); } } #if NET6_0_OR_GREATER static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device2)); #else public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID3D12Device2)); #endif public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetPrivateData(Guid* guid, uint* pDataSize, void* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID3D12Device2*)Unsafe.AsPointer(ref this), guid, pDataSize, pData); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult SetPrivateData(Guid* guid, uint DataSize, void* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID3D12Device2*)Unsafe.AsPointer(ref this), guid, DataSize, pData); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult SetPrivateDataInterface(Guid* guid, IUnknown* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID3D12Device2*)Unsafe.AsPointer(ref this), guid, pData); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult SetName(ushort* Name) { return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID3D12Device2*)Unsafe.AsPointer(ref this), Name); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public uint GetNodeCount() { return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID3D12Device2*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateCommandQueue(CommandQueueDescription* pDesc, Guid* riid, void** ppCommandQueue) { return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppCommandQueue); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateCommandAllocator(CommandListType type, Guid* riid, void** ppCommandAllocator) { return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID3D12Device2*)Unsafe.AsPointer(ref this), type, riid, ppCommandAllocator); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreateGraphicsPipelineState(GraphicsPipelineStateDescription* pDesc, Guid* riid, void** ppPipelineState) { return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult CreateComputePipelineState(ComputePipelineStateDescription* pDesc, Guid* riid, void** ppPipelineState) { return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult CreateCommandList(uint nodeMask, CommandListType type, ID3D12CommandAllocator* pCommandAllocator, ID3D12PipelineState* pInitialState, Guid* riid, void** ppCommandList) { return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID3D12Device2*)Unsafe.AsPointer(ref this), nodeMask, type, pCommandAllocator, pInitialState, riid, ppCommandList); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, int FeatureSupportDataSize) { return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID3D12Device2*)Unsafe.AsPointer(ref this), Feature, pFeatureSupportData, FeatureSupportDataSize); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult CreateDescriptorHeap(DescriptorHeapDescription* pDescriptorHeapDesc, Guid* riid, void** ppvHeap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDescriptorHeapDesc, riid, ppvHeap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public uint GetDescriptorHandleIncrementSize(DescriptorHeapType DescriptorHeapType) { return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID3D12Device2*)Unsafe.AsPointer(ref this), DescriptorHeapType); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult CreateRootSignature(uint nodeMask, void* pBlobWithRootSignature, nuint blobLengthInBytes, Guid* riid, void** ppvRootSignature) { return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID3D12Device2*)Unsafe.AsPointer(ref this), nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public void CreateConstantBufferView(ConstantBufferViewDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public void CreateShaderResourceView(ID3D12Resource* pResource, ShaderResourceViewDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public void CreateUnorderedAccessView(ID3D12Resource* pResource, ID3D12Resource* pCounterResource, UnorderedAccessViewDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pCounterResource, pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public void CreateRenderTargetView(ID3D12Resource* pResource, RenderTargetViewDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public void CreateDepthStencilView(ID3D12Resource* pResource, DepthStencilViewDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pResource, pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public void CreateSampler(SamplerDescription* pDesc, CpuDescriptorHandle* DestDescriptor) { ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, DestDescriptor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public void CopyDescriptors(uint NumDestDescriptorRanges, CpuDescriptorHandle* pDestDescriptorRangeStarts, uint* pDestDescriptorRangeSizes, uint NumSrcDescriptorRanges, CpuDescriptorHandle* pSrcDescriptorRangeStarts, uint* pSrcDescriptorRangeSizes, DescriptorHeapType DescriptorHeapsType) { ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public void CopyDescriptorsSimple(uint NumDescriptors, CpuDescriptorHandle* DestDescriptorRangeStart, CpuDescriptorHandle* SrcDescriptorRangeStart, DescriptorHeapType DescriptorHeapsType) { ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public ResourceAllocationInfo GetResourceAllocationInfo(uint visibleMask, uint numResourceDescs, ResourceDescription* pResourceDescs) { ResourceAllocationInfo result; return *((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID3D12Device2*)Unsafe.AsPointer(ref this), &result, visibleMask, numResourceDescs, pResourceDescs); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HeapProperties GetCustomHeapProperties(uint nodeMask, HeapType heapType) { HeapProperties result; return *((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID3D12Device2*)Unsafe.AsPointer(ref this), &result, nodeMask, heapType); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult CreateCommittedResource(HeapProperties* pHeapProperties, HeapFlags HeapFlags, ResourceDescription* pDesc, ResourceStates InitialResourceState, ClearValue* pOptimizedClearValue, Guid* riidResource, void** ppvResource) { return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult CreateHeap(HeapDescription* pDesc, Guid* riid, void** ppvHeap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public HResult CreatePlacedResource(ID3D12Heap* pHeap, ulong HeapOffset, ResourceDescription* pDesc, ResourceStates InitialState, ClearValue* pOptimizedClearValue, Guid* riid, void** ppvResource) { return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public HResult CreateReservedResource(ResourceDescription* pDesc, ResourceStates InitialState, ClearValue* pOptimizedClearValue, Guid* riid, void** ppvResource) { return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, InitialState, pOptimizedClearValue, riid, ppvResource); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public HResult CreateSharedHandle(ID3D12DeviceChild* pObject, Security.SECURITY_ATTRIBUTES* pAttributes, uint Access, ushort* Name, Handle* pHandle) { return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pObject, pAttributes, Access, Name, pHandle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(32)] public HResult OpenSharedHandle(Handle NTHandle, Guid* riid, void** ppvObj) { return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NTHandle, riid, ppvObj); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(33)] public HResult OpenSharedHandleByName(ushort* Name, uint Access, Handle* pNTHandle) { return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID3D12Device2*)Unsafe.AsPointer(ref this), Name, Access, pNTHandle); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(34)] public HResult MakeResident(uint NumObjects, ID3D12Pageable** ppObjects) { return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NumObjects, ppObjects); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(35)] public HResult Evict(uint NumObjects, ID3D12Pageable** ppObjects) { return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NumObjects, ppObjects); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(36)] public HResult CreateFence(ulong InitialValue, FenceFlags Flags, Guid* riid, void** ppFence) { return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID3D12Device2*)Unsafe.AsPointer(ref this), InitialValue, Flags, riid, ppFence); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(37)] public HResult GetDeviceRemovedReason() { return ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID3D12Device2*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(38)] public void GetCopyableFootprints(ResourceDescription* pResourceDesc, uint FirstSubresource, uint NumSubresources, ulong BaseOffset, PlacedSubresourceFootprint* pLayouts, uint* pNumRows, ulong* pRowSizeInBytes, ulong* pTotalBytes) { ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(39)] public HResult CreateQueryHeap(QueryHeapDescription* pDesc, Guid* riid, void** ppvHeap) { return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppvHeap); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(40)] public HResult SetStablePowerState(Bool32 Enable) { return ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID3D12Device2*)Unsafe.AsPointer(ref this), Enable); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(41)] public HResult CreateCommandSignature(CommandSignatureDescription* pDesc, ID3D12RootSignature* pRootSignature, Guid* riid, void** ppvCommandSignature) { return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, pRootSignature, riid, ppvCommandSignature); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(42)] public void GetResourceTiling(ID3D12Resource* pTiledResource, uint* pNumTilesForEntireResource, PackedMipInfo* pPackedMipDesc, TileShape* pStandardTileShapeForNonPackedMips, uint* pNumSubresourceTilings, uint FirstSubresourceTilingToGet, SubresourceTiling* pSubresourceTilingsForNonPackedMips) { ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(43)] public Luid GetAdapterLuid() { Luid result; return *((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID3D12Device2*)Unsafe.AsPointer(ref this), &result); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(44)] public HResult CreatePipelineLibrary(void* pLibraryBlob, nuint BlobLength, Guid* riid, void** ppPipelineLibrary) { return ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pLibraryBlob, BlobLength, riid, ppPipelineLibrary); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(45)] public HResult SetEventOnMultipleFenceCompletion(ID3D12Fence** ppFences, ulong* pFenceValues, uint NumFences, MultipleFenceWaitFlags Flags, Handle hEvent) { return ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID3D12Device2*)Unsafe.AsPointer(ref this), ppFences, pFenceValues, NumFences, Flags, hEvent); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(46)] public HResult SetResidencyPriority(uint NumObjects, ID3D12Pageable** ppObjects, ResidencyPriority* pPriorities) { return ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID3D12Device2*)Unsafe.AsPointer(ref this), NumObjects, ppObjects, pPriorities); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(47)] public HResult CreatePipelineState(PipelineStateStreamDescription* pDesc, Guid* riid, void** ppPipelineState) { return ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID3D12Device2*)Unsafe.AsPointer(ref this), pDesc, riid, ppPipelineState); } }