mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/glsl: Implement VKD3DSIH_FTOI.
This commit is contained in:
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
@ -379,6 +379,9 @@ static void VKD3D_PRINTF_FUNC(3, 4) shader_glsl_print_assignment(
|
|||||||
case VKD3D_DATA_FLOAT:
|
case VKD3D_DATA_FLOAT:
|
||||||
close = false;
|
close = false;
|
||||||
break;
|
break;
|
||||||
|
case VKD3D_DATA_INT:
|
||||||
|
vkd3d_string_buffer_printf(buffer, "intBitsToFloat(");
|
||||||
|
break;
|
||||||
case VKD3D_DATA_UINT:
|
case VKD3D_DATA_UINT:
|
||||||
vkd3d_string_buffer_printf(buffer, "uintBitsToFloat(");
|
vkd3d_string_buffer_printf(buffer, "uintBitsToFloat(");
|
||||||
break;
|
break;
|
||||||
@ -680,6 +683,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen,
|
|||||||
case VKD3DSIH_FRC:
|
case VKD3DSIH_FRC:
|
||||||
shader_glsl_intrinsic(gen, ins, "fract");
|
shader_glsl_intrinsic(gen, ins, "fract");
|
||||||
break;
|
break;
|
||||||
|
case VKD3DSIH_FTOI:
|
||||||
|
shader_glsl_cast(gen, ins, "int", "ivec");
|
||||||
|
break;
|
||||||
case VKD3DSIH_GEO:
|
case VKD3DSIH_GEO:
|
||||||
shader_glsl_relop(gen, ins, ">=", "greaterThanEqual");
|
shader_glsl_relop(gen, ins, ">=", "greaterThanEqual");
|
||||||
break;
|
break;
|
||||||
|
@ -10,7 +10,7 @@ float4 main() : sv_target
|
|||||||
|
|
||||||
[test]
|
[test]
|
||||||
uniform 0 float4 10.3 11.5 12.8 13.1
|
uniform 0 float4 10.3 11.5 12.8 13.1
|
||||||
todo(glsl) draw quad
|
draw quad
|
||||||
probe (0, 0) rgba (10, 11, 12, 0)
|
probe (0, 0) rgba (10, 11, 12, 0)
|
||||||
|
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ if(sm>=4) uniform 0 float 2.6
|
|||||||
if(sm>=4) uniform 1 int -2
|
if(sm>=4) uniform 1 int -2
|
||||||
if(sm>=4) uniform 2 int -2
|
if(sm>=4) uniform 2 int -2
|
||||||
if(sm>=4) uniform 3 float -3.6
|
if(sm>=4) uniform 3 float -3.6
|
||||||
todo(sm<4 | glsl) draw quad
|
todo(sm<4) draw quad
|
||||||
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
|
probe (0, 0) rgba (0.5, 0.5, 0.5, 0.5)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user