vkd3d-shader/glsl: Implement VKD3DSIH_FTOI.

This commit is contained in:
Henri Verbeet
2024-05-01 13:52:14 +02:00
parent b81cdcb488
commit a3d06c8f12
Notes: Henri Verbeet 2024-09-24 14:10:34 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1106
2 changed files with 8 additions and 2 deletions

View File

@@ -379,6 +379,9 @@ static void VKD3D_PRINTF_FUNC(3, 4) shader_glsl_print_assignment(
case VKD3D_DATA_FLOAT:
close = false;
break;
case VKD3D_DATA_INT:
vkd3d_string_buffer_printf(buffer, "intBitsToFloat(");
break;
case VKD3D_DATA_UINT:
vkd3d_string_buffer_printf(buffer, "uintBitsToFloat(");
break;
@@ -680,6 +683,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen,
case VKD3DSIH_FRC:
shader_glsl_intrinsic(gen, ins, "fract");
break;
case VKD3DSIH_FTOI:
shader_glsl_cast(gen, ins, "int", "ivec");
break;
case VKD3DSIH_GEO:
shader_glsl_relop(gen, ins, ">=", "greaterThanEqual");
break;