mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08: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;
|
return SpvOpGroupNonUniformAllEqual;
|
||||||
case VKD3DSIH_WAVE_ALL_TRUE:
|
case VKD3DSIH_WAVE_ALL_TRUE:
|
||||||
return SpvOpGroupNonUniformAll;
|
return SpvOpGroupNonUniformAll;
|
||||||
|
case VKD3DSIH_WAVE_ANY_TRUE:
|
||||||
|
return SpvOpGroupNonUniformAny;
|
||||||
default:
|
default:
|
||||||
vkd3d_unreachable();
|
vkd3d_unreachable();
|
||||||
}
|
}
|
||||||
@ -10137,6 +10139,7 @@ static int spirv_compiler_handle_instruction(struct spirv_compiler *compiler,
|
|||||||
break;
|
break;
|
||||||
case VKD3DSIH_WAVE_ACTIVE_ALL_EQUAL:
|
case VKD3DSIH_WAVE_ACTIVE_ALL_EQUAL:
|
||||||
case VKD3DSIH_WAVE_ALL_TRUE:
|
case VKD3DSIH_WAVE_ALL_TRUE:
|
||||||
|
case VKD3DSIH_WAVE_ANY_TRUE:
|
||||||
spirv_compiler_emit_wave_bool_op(compiler, instruction);
|
spirv_compiler_emit_wave_bool_op(compiler, instruction);
|
||||||
break;
|
break;
|
||||||
case VKD3DSIH_DCL:
|
case VKD3DSIH_DCL:
|
||||||
|
@ -58,7 +58,7 @@ void main(uint id : SV_GroupIndex)
|
|||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
todo dispatch 4 1 1
|
dispatch 4 1 1
|
||||||
probe uav 1 (0) rgbaui (1, 1, 0, 0)
|
probe uav 1 (0) rgbaui (1, 1, 0, 0)
|
||||||
probe uav 1 (1) rgbaui (1, 1, 0, 0)
|
probe uav 1 (1) rgbaui (1, 1, 0, 0)
|
||||||
probe uav 1 (2) rgbaui (1, 1, 0, 0)
|
probe uav 1 (2) rgbaui (1, 1, 0, 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user