diff --git a/libs/vkd3d-shader/glsl.c b/libs/vkd3d-shader/glsl.c index 7325661ea..ae3d86dff 100644 --- a/libs/vkd3d-shader/glsl.c +++ b/libs/vkd3d-shader/glsl.c @@ -1650,6 +1650,9 @@ static void vkd3d_glsl_handle_instruction(struct vkd3d_glsl_generator *gen, case VSIR_OP_UDIV_SIMPLE: shader_glsl_binop(gen, ins, "/"); break; + case VSIR_OP_UREM: + shader_glsl_binop(gen, ins, "%"); + break; case VSIR_OP_XOR: shader_glsl_binop(gen, ins, "^"); break; diff --git a/tests/hlsl/arithmetic-int-uniform.shader_test b/tests/hlsl/arithmetic-int-uniform.shader_test index 2a0d0e583..4770f5468 100644 --- a/tests/hlsl/arithmetic-int-uniform.shader_test +++ b/tests/hlsl/arithmetic-int-uniform.shader_test @@ -25,7 +25,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 5.0 16.0 0.0 0.0 -todo(glsl | msl) draw quad +todo(msl) draw quad probe (0, 0) rgba (5.0, 5.0, -5.0, 3.0) [pixel shader] @@ -55,7 +55,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 42.0 5.0 0.0 0.0 -todo(glsl | msl) draw quad +todo(msl) draw quad bug(mvk<1.2.11) probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) [pixel shader] @@ -85,7 +85,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 45.0 5.0 0.0 0.0 -todo(glsl | msl) draw quad +todo(msl) draw quad bug(mvk<1.2.11) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) [pixel shader] @@ -117,7 +117,7 @@ float4 main() : sv_target [test] uniform 0 float4 45.0 5.0 50.0 10.0 uniform 4 float4 3.0 8.0 2.0 5.0 -todo(glsl | msl) draw quad +todo(msl) draw quad probe (0, 0) rgba (9.0, 5.0, 1.0, 3.0) [pixel shader] @@ -133,7 +133,7 @@ float4 main() : sv_target [test] uniform 0 float 10.0 -todo(glsl | msl) draw quad +todo(msl) draw quad if(sm<4) probe (0, 0) rgba(6, 6, -6, -6) if(sm>=4) bug(mvk<1.2.11) probe (0, 0) rgba(7, 7, -7, -7) diff --git a/tests/hlsl/rasteriser-ordered-views.shader_test b/tests/hlsl/rasteriser-ordered-views.shader_test index d9cf9d650..64a99ea33 100644 --- a/tests/hlsl/rasteriser-ordered-views.shader_test +++ b/tests/hlsl/rasteriser-ordered-views.shader_test @@ -34,7 +34,7 @@ uint4 main(float4 pos : sv_position) : sv_target % Initialise the UAV and RTV. [test] -todo(glsl) draw triangle list 3 +draw triangle list 3 probe (0, 0) u32(0xaaaaaaaa) probe uav 1 (0, 0, 640, 480) u32(0x55555555)