include: Add some more struct/enum definitions to vkd3d_d3d12.idl.

This is enough for compiling QtBase's Direct3D 12 backend,
if this is imported into mingw-w64.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2023-09-01 14:20:28 +03:00 committed by Alexandre Julliard
parent 1b45052c92
commit 8e6b08d685
Notes: Alexandre Julliard 2023-09-07 23:01:07 +02:00
Approved-by: Jacek Caban (@jacek)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/325

View File

@ -2032,6 +2032,62 @@ typedef struct D3D12_PIPELINE_STATE_STREAM_DESC
void *pPipelineStateSubobjectStream;
} D3D12_PIPELINE_STATE_STREAM_DESC;
struct D3D12_RT_FORMAT_ARRAY
{
DXGI_FORMAT RTFormats[D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT];
UINT NumRenderTargets;
};
typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE
{
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0x0,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = 0x1,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = 0x2,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = 0x3,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = 0x4,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = 0x5,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = 0x6,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 0x7,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = 0x8,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 0x9,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = 0xa,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 0xb,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 0xc,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 0xd,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 0xe,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 0xf,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 0x10,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 0x11,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = 0x12,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = 0x13,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 0x14,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 0x15,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 0x16,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 0x18,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 0x19,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 0x1a,
} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
typedef struct D3D12_VIEW_INSTANCE_LOCATION
{
UINT ViewportArrayIndex;
UINT RenderTargetArrayIndex;
} D3D12_VIEW_INSTANCE_LOCATION;
typedef enum D3D12_VIEW_INSTANCING_FLAGS
{
D3D12_VIEW_INSTANCING_FLAG_NONE = 0x0,
D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1,
} D3D12_VIEW_INSTANCING_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIEW_INSTANCING_FLAGS);")
typedef struct D3D12_VIEW_INSTANCING_DESC
{
UINT ViewInstanceCount;
const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
D3D12_VIEW_INSTANCING_FLAGS Flags;
} D3D12_VIEW_INSTANCING_DESC;
typedef enum D3D12_COMMAND_LIST_TYPE
{
D3D12_COMMAND_LIST_TYPE_DIRECT = 0,