include: Add the ID3D12Device8 interface.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2023-09-06 18:08:43 +03:00 committed by Alexandre Julliard
parent dd93b31e48
commit cca052da29
Notes: Alexandre Julliard 2023-09-13 23:18:09 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/332

View File

@ -997,6 +997,13 @@ typedef enum D3D12_RESOURCE_FLAGS
} D3D12_RESOURCE_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_FLAGS);")
typedef struct D3D12_MIP_REGION
{
UINT Width;
UINT Height;
UINT Depth;
} D3D12_MIP_REGION;
typedef struct D3D12_RESOURCE_DESC
{
D3D12_RESOURCE_DIMENSION Dimension;
@ -1011,6 +1018,21 @@ typedef struct D3D12_RESOURCE_DESC
D3D12_RESOURCE_FLAGS Flags;
} D3D12_RESOURCE_DESC;
typedef struct D3D12_RESOURCE_DESC1
{
D3D12_RESOURCE_DIMENSION Dimension;
UINT64 Alignment;
UINT64 Width;
UINT Height;
UINT16 DepthOrArraySize;
UINT16 MipLevels;
DXGI_FORMAT Format;
DXGI_SAMPLE_DESC SampleDesc;
D3D12_TEXTURE_LAYOUT Layout;
D3D12_RESOURCE_FLAGS Flags;
D3D12_MIP_REGION SamplerFeedbackMipRegion;
} D3D12_RESOURCE_DESC1;
typedef enum D3D12_RESOLVE_MODE
{
D3D12_RESOLVE_MODE_DECOMPRESS = 0,
@ -4112,6 +4134,53 @@ interface ID3D12Device7 : ID3D12Device6
REFIID riid, void **session);
}
[
uuid(9218e6bb-f944-4f7e-a75c-b1b2c7b701f3),
object,
local,
pointer_default(unique)
]
interface ID3D12Device8 : ID3D12Device7
{
D3D12_RESOURCE_ALLOCATION_INFO GetResourceAllocationInfo2(
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
HRESULT CreateCommittedResource2(
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource, void **resource);
HRESULT CreatePlacedResource1(
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid, void **resource);
void CreateSamplerFeedbackUnorderedAccessView(
ID3D12Resource *targeted_resource,
ID3D12Resource *feedback_resource,
D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor);
void GetCopyableFootprints1(
const D3D12_RESOURCE_DESC1 *resource_desc,
UINT first_subresource,
UINT subresources_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *rows_count,
UINT64 *row_size_in_bytes,
UINT64 *total_bytes);
}
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
const void *data, SIZE_T data_size, REFIID iid, void **deserializer);