vkd3d: Implement ID3D12GraphicsCommandList3 with a stub.

This commit is contained in:
Conor McCarthy 2023-07-25 16:53:15 +10:00 committed by Alexandre Julliard
parent 4433dacb4f
commit 0d1bc77b2a
Notes: Alexandre Julliard 2023-07-31 21:19:27 +09:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/286
4 changed files with 193 additions and 131 deletions

View File

@ -1878,6 +1878,24 @@ typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER
UINT32 Value;
} D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
typedef enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS
{
D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0,
} D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_FLAGS);")
typedef enum D3D12_PROTECTED_SESSION_STATUS
{
D3D12_PROTECTED_SESSION_STATUS_OK = 0,
D3D12_PROTECTED_SESSION_STATUS_INVALID = 1,
} D3D12_PROTECTED_SESSION_STATUS;
typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC
{
UINT NodeMask;
D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
} D3D12_PROTECTED_RESOURCE_SESSION_DESC;
[
uuid(c4fec28f-7966-4e95-9f94-f431cb56c3b8),
object,
@ -2239,6 +2257,41 @@ interface ID3D12GraphicsCommandList2 : ID3D12GraphicsCommandList1
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
}
[
uuid(a1533d18-0ac1-4084-85b9-89a96116806b),
object,
local,
pointer_default(unique)
]
interface ID3D12ProtectedSession : ID3D12DeviceChild
{
HRESULT GetStatusFence(REFIID riid, void **fence);
D3D12_PROTECTED_SESSION_STATUS GetSessionStatus();
}
[
uuid(6cd696f4-f289-40cc-8091-5a6c0a099c3d),
object,
local,
pointer_default(unique)
]
interface ID3D12ProtectedResourceSession : ID3D12ProtectedSession
{
D3D12_PROTECTED_RESOURCE_SESSION_DESC GetDesc();
}
[
uuid(6fda83a7-b84c-4e38-9ac8-c7bd22016b3d),
object,
local,
pointer_default(unique)
]
interface ID3D12GraphicsCommandList3 : ID3D12GraphicsCommandList2
{
void SetProtectedResourceSession(ID3D12ProtectedResourceSession *protected_resource_session);
}
typedef enum D3D12_TILE_RANGE_FLAGS
{
D3D12_TILE_RANGE_FLAG_NONE = 0x0,

File diff suppressed because it is too large Load Diff

View File

@ -2657,8 +2657,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CreateCommandList(ID3D12Device *if
initial_pipeline_state, &object)))
return hr;
return return_interface(&object->ID3D12GraphicsCommandList2_iface,
&IID_ID3D12GraphicsCommandList2, riid, command_list);
return return_interface(&object->ID3D12GraphicsCommandList3_iface,
&IID_ID3D12GraphicsCommandList3, riid, command_list);
}
/* Direct3D feature levels restrict which formats can be optionally supported. */

View File

@ -1424,7 +1424,7 @@ enum vkd3d_pipeline_bind_point
/* ID3D12CommandList */
struct d3d12_command_list
{
ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2_iface;
ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3_iface;
LONG refcount;
D3D12_COMMAND_LIST_TYPE type;