diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index e492fa0c..65887d49 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -686,6 +686,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VKD3DSIH_FTOI: shader_glsl_cast(gen, ins, "int", "ivec"); break; + case VKD3DSIH_FTOU: + shader_glsl_cast(gen, ins, "uint", "uvec"); + break; case VKD3DSIH_GEO: shader_glsl_relop(gen, ins, ">=", "greaterThanEqual"); break; diff --git a/tests/hlsl/cast-to-uint.shader_test b/tests/hlsl/cast-to-uint.shader_test index 14469ee5..f767b6e0 100644 --- a/tests/hlsl/cast-to-uint.shader_test +++ b/tests/hlsl/cast-to-uint.shader_test @@ -25,7 +25,7 @@ uniform 0 float 2.6 uniform 1 int 2 uniform 2 int -2 uniform 3 float -3.6 -todo(glsl) draw quad +draw quad probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)