mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-09-13 09:16:14 -07:00
vkd3d-shader/spirv: Handle the WAVE_ANY_TRUE instruction.
This commit is contained in:
parent
fb5eb3159d
commit
95489899be
Notes:
Alexandre Julliard
2024-05-02 22:40:21 +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/800
@ -9766,6 +9766,8 @@ static SpvOp map_wave_bool_op(enum vkd3d_shader_opcode handler_idx)
|
||||
return SpvOpGroupNonUniformAllEqual;
|
||||
case VKD3DSIH_WAVE_ALL_TRUE:
|
||||
return SpvOpGroupNonUniformAll;
|
||||
case VKD3DSIH_WAVE_ANY_TRUE:
|
||||
return SpvOpGroupNonUniformAny;
|
||||
default:
|
||||
vkd3d_unreachable();
|
||||
}
|
||||
@ -10137,6 +10139,7 @@ static int spirv_compiler_handle_instruction(struct spirv_compiler *compiler,
|
||||
break;
|
||||
case VKD3DSIH_WAVE_ACTIVE_ALL_EQUAL:
|
||||
case VKD3DSIH_WAVE_ALL_TRUE:
|
||||
case VKD3DSIH_WAVE_ANY_TRUE:
|
||||
spirv_compiler_emit_wave_bool_op(compiler, instruction);
|
||||
break;
|
||||
case VKD3DSIH_DCL:
|
||||
|
@ -58,7 +58,7 @@ void main(uint id : SV_GroupIndex)
|
||||
}
|
||||
|
||||
[test]
|
||||
todo dispatch 4 1 1
|
||||
dispatch 4 1 1
|
||||
probe uav 1 (0) rgbaui (1, 1, 0, 0)
|
||||
probe uav 1 (1) rgbaui (1, 1, 0, 0)
|
||||
probe uav 1 (2) rgbaui (1, 1, 0, 0)
|
||||
|
Loading…
Reference in New Issue
Block a user