mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/dxil: Implement DX intrinsics WaveActiveOp and WavePrefixOp.
This commit is contained in:
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
@@ -334,6 +334,14 @@ static const char * const shader_opcode_names[] =
|
||||
[VKD3DSIH_WAVE_ACTIVE_BIT_XOR ] = "wave_active_bit_xor",
|
||||
[VKD3DSIH_WAVE_ALL_TRUE ] = "wave_all_true",
|
||||
[VKD3DSIH_WAVE_ANY_TRUE ] = "wave_any_true",
|
||||
[VKD3DSIH_WAVE_OP_ADD ] = "wave_op_add",
|
||||
[VKD3DSIH_WAVE_OP_IMAX ] = "wave_op_imax",
|
||||
[VKD3DSIH_WAVE_OP_IMIN ] = "wave_op_imin",
|
||||
[VKD3DSIH_WAVE_OP_MAX ] = "wave_op_max",
|
||||
[VKD3DSIH_WAVE_OP_MIN ] = "wave_op_min",
|
||||
[VKD3DSIH_WAVE_OP_MUL ] = "wave_op_mul",
|
||||
[VKD3DSIH_WAVE_OP_UMAX ] = "wave_op_umax",
|
||||
[VKD3DSIH_WAVE_OP_UMIN ] = "wave_op_umin",
|
||||
[VKD3DSIH_XOR ] = "xor",
|
||||
};
|
||||
|
||||
@@ -1844,6 +1852,17 @@ static void shader_dump_instruction_flags(struct vkd3d_d3d_asm_compiler *compile
|
||||
vkd3d_string_buffer_printf(buffer, "p");
|
||||
break;
|
||||
|
||||
case VKD3DSIH_WAVE_OP_ADD:
|
||||
case VKD3DSIH_WAVE_OP_IMAX:
|
||||
case VKD3DSIH_WAVE_OP_IMIN:
|
||||
case VKD3DSIH_WAVE_OP_MAX:
|
||||
case VKD3DSIH_WAVE_OP_MIN:
|
||||
case VKD3DSIH_WAVE_OP_MUL:
|
||||
case VKD3DSIH_WAVE_OP_UMAX:
|
||||
case VKD3DSIH_WAVE_OP_UMIN:
|
||||
vkd3d_string_buffer_printf(&compiler->buffer, (ins->flags & VKD3DSI_WAVE_PREFIX) ? "_prefix" : "_active");
|
||||
break;
|
||||
|
||||
case VKD3DSIH_ISHL:
|
||||
case VKD3DSIH_ISHR:
|
||||
case VKD3DSIH_USHR:
|
||||
|
Reference in New Issue
Block a user