From b1babfd5fb1927e5542b925adf12e84f66de6822 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Sat, 11 Jun 2022 10:52:23 +0530 Subject: [PATCH vkd3d 2/2] include: Add ID3D12Device3 declaration in vkd3d_d3d12.idl. Signed-off-by: Biswapriyo Nath --- include/vkd3d_d3d12.idl | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 4bbd235..e30df59 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -250,6 +250,13 @@ typedef enum D3D12_RAYTRACING_TIER D3D12_RAYTRACING_TIER_1_0 = 0xa, } D3D12_RAYTRACING_TIER; +typedef enum D3D12_RESIDENCY_FLAGS +{ + D3D12_RESIDENCY_FLAG_NONE = 0x0, + D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1, +} D3D12_RESIDENCY_FLAGS; +cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESIDENCY_FLAGS);") + interface ID3D12Fence; interface ID3D12RootSignature; interface ID3D12Heap; @@ -2563,6 +2570,32 @@ interface ID3D12Device2 : ID3D12Device1 [out, iid_is(riid)] void **pipeline_state); } +[ + uuid(81dadc15-2bad-4392-93c5-101345c4aa98), + object, + local, + pointer_default(unique) +] +interface ID3D12Device3 : ID3D12Device2 +{ + HRESULT OpenExistingHeapFromAddress( + [in] const void *address, + [in] REFIID riid, + [out, iid_is(riid)] void **heap); + + HRESULT OpenExistingHeapFromFileMapping( + [in] HANDLE file_mapping, + [in] REFIID riid, + [out, iid_is(riid)] void **heap); + + HRESULT EnqueueMakeResident( + [in] D3D12_RESIDENCY_FLAGS flags, + [in] UINT num_objects, + [in] ID3D12Pageable *const *objects, + [in] ID3D12Fence *fence, + [in] UINT64 fence_value); +} + [ uuid(34ab647b-3cc8-46ac-841b-c0965645c046), object, -- 2.36.1