mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
include: Add the ID3D12GraphicsCommandList{5,6,7} interfaces.
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
5d13a90e37
commit
b484a9e1f6
Notes:
Alexandre Julliard
2023-09-18 22:14:35 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/347
@ -4999,6 +4999,90 @@ interface ID3D12SDKConfiguration : IUnknown
|
|||||||
HRESULT SetSDKVersion(UINT version, const char *path);
|
HRESULT SetSDKVersion(UINT version, const char *path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef enum D3D12_AXIS_SHADING_RATE
|
||||||
|
{
|
||||||
|
D3D12_AXIS_SHADING_RATE_1X = 0x0,
|
||||||
|
D3D12_AXIS_SHADING_RATE_2X = 0x1,
|
||||||
|
D3D12_AXIS_SHADING_RATE_4X = 0x2,
|
||||||
|
} D3D12_AXIS_SHADING_RATE;
|
||||||
|
|
||||||
|
typedef enum D3D12_SHADING_RATE
|
||||||
|
{
|
||||||
|
D3D12_SHADING_RATE_1X1 = 0x0,
|
||||||
|
D3D12_SHADING_RATE_1X2 = 0x1,
|
||||||
|
D3D12_SHADING_RATE_2X1 = 0x4,
|
||||||
|
D3D12_SHADING_RATE_2X2 = 0x5,
|
||||||
|
D3D12_SHADING_RATE_2X4 = 0x6,
|
||||||
|
D3D12_SHADING_RATE_4X2 = 0x9,
|
||||||
|
D3D12_SHADING_RATE_4X4 = 0xa,
|
||||||
|
} D3D12_SHADING_RATE;
|
||||||
|
|
||||||
|
typedef enum D3D12_SHADING_RATE_COMBINER
|
||||||
|
{
|
||||||
|
D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0x0,
|
||||||
|
D3D12_SHADING_RATE_COMBINER_OVERRIDE = 0x1,
|
||||||
|
D3D12_SHADING_RATE_COMBINER_MIN = 0x2,
|
||||||
|
D3D12_SHADING_RATE_COMBINER_MAX = 0x3,
|
||||||
|
D3D12_SHADING_RATE_COMBINER_SUM = 0x4,
|
||||||
|
} D3D12_SHADING_RATE_COMBINER;
|
||||||
|
|
||||||
|
[
|
||||||
|
uuid(55050859-4024-474c-87f5-6472eaee44ea),
|
||||||
|
object,
|
||||||
|
local,
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface ID3D12GraphicsCommandList5 : ID3D12GraphicsCommandList4
|
||||||
|
{
|
||||||
|
void RSSetShadingRate(
|
||||||
|
D3D12_SHADING_RATE base_shading_rate,
|
||||||
|
const D3D12_SHADING_RATE_COMBINER *combiners);
|
||||||
|
|
||||||
|
void RSSetShadingRateImage(
|
||||||
|
ID3D12Resource *shading_rate_image);
|
||||||
|
}
|
||||||
|
|
||||||
|
const UINT D3D12_SHADING_RATE_X_AXIS_SHIFT = 2;
|
||||||
|
const UINT D3D12_SHADING_RATE_VALID_MASK = 3;
|
||||||
|
|
||||||
|
cpp_quote("#define D3D12_MAKE_COARSE_SHADING_RATE(x, y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))")
|
||||||
|
cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(val) (((val) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)")
|
||||||
|
cpp_quote("#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(val) ((val) & D3D12_SHADING_RATE_VALID_MASK)")
|
||||||
|
|
||||||
|
typedef struct D3D12_DISPATCH_MESH_ARGUMENTS
|
||||||
|
{
|
||||||
|
UINT ThreadGroupCountX;
|
||||||
|
UINT ThreadGroupCountY;
|
||||||
|
UINT ThreadGroupCountZ;
|
||||||
|
} D3D12_DISPATCH_MESH_ARGUMENTS;
|
||||||
|
|
||||||
|
[
|
||||||
|
uuid(c3827890-e548-4cfa-96cf-5689a9370f80),
|
||||||
|
object,
|
||||||
|
local,
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface ID3D12GraphicsCommandList6 : ID3D12GraphicsCommandList5
|
||||||
|
{
|
||||||
|
void DispatchMesh(
|
||||||
|
UINT thread_group_count_x,
|
||||||
|
UINT thread_group_count_y,
|
||||||
|
UINT thread_group_count_z);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
uuid(dd171223-8b61-4769-90e3-160ccde4e2c1),
|
||||||
|
object,
|
||||||
|
local,
|
||||||
|
pointer_default(unique)
|
||||||
|
]
|
||||||
|
interface ID3D12GraphicsCommandList7 : ID3D12GraphicsCommandList6
|
||||||
|
{
|
||||||
|
void Barrier(
|
||||||
|
UINT32 barrier_groups_count,
|
||||||
|
const D3D12_BARRIER_GROUP *barrier_groups);
|
||||||
|
};
|
||||||
|
|
||||||
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
|
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(
|
||||||
const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
|
const void *data, SIZE_T data_size, REFIID iid, void **deserializer);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user