From: Martin Storsjö martin@martin.st
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 --- include/vkd3d_d3d12.idl | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+)
diff --git a/include/vkd3d_d3d12.idl b/include/vkd3d_d3d12.idl index 71a74999..258d5e0d 100644 --- a/include/vkd3d_d3d12.idl +++ b/include/vkd3d_d3d12.idl @@ -1663,6 +1663,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,