vkd3d-shader/dxil: Implement DX intrinsics WaveActiveOp and WavePrefixOp.

This commit is contained in:
Conor McCarthy
2024-04-23 21:28:21 +10:00
committed by Alexandre Julliard
parent fef5760af0
commit c71751edc9
Notes: Alexandre Julliard 2024-05-06 22:37:06 +02: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/827
3 changed files with 91 additions and 0 deletions

View File

@@ -534,6 +534,14 @@ enum vkd3d_shader_opcode
VKD3DSIH_WAVE_ACTIVE_BIT_XOR,
VKD3DSIH_WAVE_ALL_TRUE,
VKD3DSIH_WAVE_ANY_TRUE,
VKD3DSIH_WAVE_OP_ADD,
VKD3DSIH_WAVE_OP_IMAX,
VKD3DSIH_WAVE_OP_IMIN,
VKD3DSIH_WAVE_OP_MAX,
VKD3DSIH_WAVE_OP_MIN,
VKD3DSIH_WAVE_OP_MUL,
VKD3DSIH_WAVE_OP_UMAX,
VKD3DSIH_WAVE_OP_UMIN,
VKD3DSIH_XOR,
VKD3DSIH_INVALID,
@@ -797,6 +805,7 @@ enum vkd3d_tessellator_domain
#define VKD3DSI_SAMPLE_INFO_UINT 0x1
#define VKD3DSI_SAMPLER_COMPARISON_MODE 0x1
#define VKD3DSI_SHIFT_UNMASKED 0x1
#define VKD3DSI_WAVE_PREFIX 0x1
#define VKD3DSI_PRECISE_X 0x100
#define VKD3DSI_PRECISE_Y 0x200