vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.

This commit is contained in:
Henri Verbeet
2025-09-02 20:57:51 +02:00
parent 72071fcf08
commit 007792c33b
Notes: Henri Verbeet 2025-09-19 12:54:20 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1740
28 changed files with 178 additions and 190 deletions

View File

@@ -167,6 +167,7 @@ static void msl_print_register_datatype(struct vkd3d_string_buffer *buffer,
case VSIR_DATA_F32: case VSIR_DATA_F32:
vkd3d_string_buffer_printf(buffer, "f"); vkd3d_string_buffer_printf(buffer, "f");
break; break;
case VSIR_DATA_BOOL:
case VSIR_DATA_I32: case VSIR_DATA_I32:
vkd3d_string_buffer_printf(buffer, "i"); vkd3d_string_buffer_printf(buffer, "i");
break; break;
@@ -799,6 +800,7 @@ static void msl_relop(struct msl_generator *gen, const struct vkd3d_shader_instr
static void msl_cast(struct msl_generator *gen, const struct vkd3d_shader_instruction *ins, const char *constructor) static void msl_cast(struct msl_generator *gen, const struct vkd3d_shader_instruction *ins, const char *constructor)
{ {
unsigned int component_count; unsigned int component_count;
const char *negate;
struct msl_src src; struct msl_src src;
struct msl_dst dst; struct msl_dst dst;
uint32_t mask; uint32_t mask;
@@ -806,10 +808,11 @@ static void msl_cast(struct msl_generator *gen, const struct vkd3d_shader_instru
mask = msl_dst_init(&dst, gen, ins, &ins->dst[0]); mask = msl_dst_init(&dst, gen, ins, &ins->dst[0]);
msl_src_init(&src, gen, &ins->src[0], mask); msl_src_init(&src, gen, &ins->src[0], mask);
negate = ins->opcode == VSIR_OP_UTOF && data_type_is_bool(ins->src[0].reg.data_type) ? "-" : "";
if ((component_count = vsir_write_mask_component_count(mask)) > 1) if ((component_count = vsir_write_mask_component_count(mask)) > 1)
msl_print_assignment(gen, &dst, "%s%u(%s)", constructor, component_count, src.str->buffer); msl_print_assignment(gen, &dst, "%s%u(%s%s)", constructor, component_count, negate, src.str->buffer);
else else
msl_print_assignment(gen, &dst, "%s(%s)", constructor, src.str->buffer); msl_print_assignment(gen, &dst, "%s(%s%s)", constructor, negate, src.str->buffer);
msl_src_cleanup(&src, &gen->string_buffers); msl_src_cleanup(&src, &gen->string_buffers);
msl_dst_cleanup(&dst, &gen->string_buffers); msl_dst_cleanup(&dst, &gen->string_buffers);

View File

@@ -11,17 +11,17 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -1.1 1.6 1.3 0.5 uniform 0 float4 -1.1 1.6 1.3 0.5
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 0.0 1.6 1.3 0.5 uniform 0 float4 0.0 1.6 1.3 0.5
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[test] [test]
uniform 0 float4 1.0 0.0 1.3 0.5 uniform 0 float4 1.0 0.0 1.3 0.5
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@@ -34,12 +34,12 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@@ -53,11 +53,11 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 2.0 0.0 0.0 uniform 0 float4 1.0 2.0 0.0 0.0
uniform 4 float4 3.0 4.0 0.0 0.0 uniform 4 float4 3.0 4.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[test] [test]
uniform 0 float4 1.0 2.0 0.0 0.0 uniform 0 float4 1.0 2.0 0.0 0.0
uniform 4 float4 0.0 4.0 0.0 0.0 uniform 4 float4 0.0 4.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@@ -8,25 +8,25 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 1.0 1.0 1.0 uniform 0 float4 1.0 1.0 1.0 1.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 1.0 0.0 0.0 uniform 0 float4 0.0 1.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 1.0 0.0 uniform 0 float4 0.0 0.0 1.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 1.0 uniform 0 float4 0.0 0.0 0.0 1.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 -1.0 -1.0 -1.0 uniform 0 float4 -1.0 -1.0 -1.0 -1.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader] [pixel shader]
@@ -39,13 +39,13 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -1.0 0.0 0.0 0.0 uniform 0 float4 -1.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
@@ -60,27 +60,27 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1 1 1 1 if(sm<4) uniform 0 float4 1 1 1 1
if(sm>=4) uniform 0 uint4 1 1 1 1 if(sm>=4) uniform 0 uint4 1 1 1 1
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 1 0 0 0 if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0 if(sm>=4) uniform 0 uint4 1 0 0 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 1 0 0 if(sm<4) uniform 0 float4 0 1 0 0
if(sm>=4) uniform 0 uint4 0 1 0 0 if(sm>=4) uniform 0 uint4 0 1 0 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 1 0 if(sm<4) uniform 0 float4 0 0 1 0
if(sm>=4) uniform 0 uint4 0 0 1 0 if(sm>=4) uniform 0 uint4 0 0 1 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 1 if(sm<4) uniform 0 float4 0 0 0 1
if(sm>=4) uniform 0 uint4 0 0 0 1 if(sm>=4) uniform 0 uint4 0 0 0 1
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 0 if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0 if(sm>=4) uniform 0 uint4 0 0 0 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@@ -94,9 +94,9 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1 0 0 0 if(sm<4) uniform 0 float4 1 0 0 0
if(sm>=4) uniform 0 uint4 1 0 0 0 if(sm>=4) uniform 0 uint4 1 0 0 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float4 0 0 0 0 if(sm<4) uniform 0 float4 0 0 0 0
if(sm>=4) uniform 0 uint4 0 0 0 0 if(sm>=4) uniform 0 uint4 0 0 0 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@@ -27,7 +27,7 @@ float4 main() : SV_TARGET
uniform 0 float4 0.0 0.0 2.0 4.0 uniform 0 float4 0.0 0.0 2.0 4.0
if(sm<4) uniform 4 float4 0 1 0 10 if(sm<4) uniform 4 float4 0 1 0 10
if(sm>=4) uniform 4 int4 0 1 0 10 if(sm>=4) uniform 4 int4 0 1 0 10
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 10.0, 1.0, 11.0) probe (0, 0) rgba (0.0, 10.0, 1.0, 11.0)
@@ -42,5 +42,5 @@ float4 main() : sv_target
[test] [test]
if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0 if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0
if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000 if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (2.0, 2.0, 2.0, 0.0) probe (0, 0) rgba (2.0, 2.0, 2.0, 0.0)

View File

@@ -18,7 +18,7 @@ if(sm>=4) uniform 0 int -1
if(sm>=4) uniform 1 uint 3 if(sm>=4) uniform 1 uint 3
if(sm>=4) uniform 2 int -2 if(sm>=4) uniform 2 int -2
if(sm>=4) uniform 3 float 0.5 if(sm>=4) uniform 3 float 0.5
todo(msl & sm>=6) draw quad 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)

View File

@@ -18,7 +18,7 @@ if(sm>=4) uniform 0 int -1
if(sm>=4) uniform 1 uint 3 if(sm>=4) uniform 1 uint 3
if(sm>=4) uniform 2 int -2 if(sm>=4) uniform 2 int -2
if(sm>=4) uniform 3 float 0.5 if(sm>=4) uniform 3 float 0.5
todo(msl & sm>=6) draw quad 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)

View File

@@ -59,7 +59,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(msl & sm>=6) draw quad 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)

View File

@@ -25,7 +25,7 @@ uniform 0 float 2.6
uniform 1 int 2 uniform 1 int 2
uniform 2 int -2 uniform 2 int -2
uniform 3 float -3.6 uniform 3 float -3.6
todo(msl & sm>=6) draw quad 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)

View File

@@ -124,8 +124,8 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -2.0 0.0 0.0 0.0 uniform 0 float4 -2.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
uniform 0 float4 -0.0 0.0 0.0 0.0 uniform 0 float4 -0.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@@ -9,20 +9,20 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1 2 3 4 uniform 0 float4 1 2 3 4
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (1, 2, 3, 4) probe (0, 0) rgba (1, 2, 3, 4)
uniform 0 float4 9 8 7 6 uniform 0 float4 9 8 7 6
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (9, 8, 7, 6) probe (0, 0) rgba (9, 8, 7, 6)
uniform 0 float4 -1 8 7 6 uniform 0 float4 -1 8 7 6
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (9, 8, 7, 6) probe (0, 0) rgba (9, 8, 7, 6)
uniform 0 float4 9 0 7 6 uniform 0 float4 9 0 7 6
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (9, 0, 7, 6) probe (0, 0) rgba (9, 0, 7, 6)
uniform 0 float4 3 -8 3 0 uniform 0 float4 3 -8 3 0
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (9, 0, 7, 6) probe (0, 0) rgba (9, 0, 7, 6)
uniform 0 float4 3 3 3 -1 uniform 0 float4 3 3 3 -1
todo(glsl | msl & sm>=6) draw quad todo(glsl) draw quad
probe (0, 0) rgba (9, 0, 7, 6) probe (0, 0) rgba (9, 0, 7, 6)

View File

@@ -11,10 +11,10 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6) probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6)
uniform 0 float4 0.1 0.0 0.0 0.0 uniform 0 float4 0.1 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.1, 0.2, 0.3, 0.4) probe (0, 0) rgba (0.1, 0.2, 0.3, 0.4)
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@@ -43,7 +43,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6) probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6)
[pixel shader fail(sm<6)] [pixel shader fail(sm<6)]
@@ -87,13 +87,12 @@ float4 main() : sv_target
[test] [test]
uniform 0 float -2 uniform 0 float -2
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1, 2, 3, 4) probe (0, 0) rgba (1, 2, 3, 4)
uniform 0 float 10 uniform 0 float 10
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (10, 20, 30, 40) probe (0, 0) rgba (10, 20, 30, 40)
[pixel shader] [pixel shader]
uniform float4 u; uniform float4 u;
@@ -108,7 +107,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6) probe (0, 0) rgba (0.9, 0.8, 0.7, 0.6)
[pixel shader] [pixel shader]
@@ -145,22 +144,21 @@ if(sm<4) uniform 0 float 8
if(sm<4) uniform 4 float 9 if(sm<4) uniform 4 float 9
if(sm>=4) uniform 0 int 8 if(sm>=4) uniform 0 int 8
if(sm>=4) uniform 1 int 9 if(sm>=4) uniform 1 int 9
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0) probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0)
if(sm<4) uniform 0 float -3 if(sm<4) uniform 0 float -3
if(sm<4) uniform 4 float -4 if(sm<4) uniform 4 float -4
if(sm>=4) uniform 0 int -3 if(sm>=4) uniform 0 int -3
if(sm>=4) uniform 1 int -4 if(sm>=4) uniform 1 int -4
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float 7 if(sm<4) uniform 0 float 7
if(sm<4) uniform 4 float 7 if(sm<4) uniform 4 float 7
if(sm>=4) uniform 0 int 7 if(sm>=4) uniform 0 int 7
if(sm>=4) uniform 1 int 7 if(sm>=4) uniform 1 int 7
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader] [pixel shader]
int a, b; int a, b;
@@ -177,22 +175,21 @@ if(sm<4) uniform 0 float 8
if(sm<4) uniform 4 float 9 if(sm<4) uniform 4 float 9
if(sm>=4) uniform 0 int 8 if(sm>=4) uniform 0 int 8
if(sm>=4) uniform 1 int 9 if(sm>=4) uniform 1 int 9
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0) probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0)
if(sm<4) uniform 0 float -3 if(sm<4) uniform 0 float -3
if(sm<4) uniform 4 float -4 if(sm<4) uniform 4 float -4
if(sm>=4) uniform 0 int -3 if(sm>=4) uniform 0 int -3
if(sm>=4) uniform 1 int -4 if(sm>=4) uniform 1 int -4
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
if(sm<4) uniform 0 float 7 if(sm<4) uniform 0 float 7
if(sm<4) uniform 4 float 7 if(sm<4) uniform 4 float 7
if(sm>=4) uniform 0 int 7 if(sm>=4) uniform 0 int 7
if(sm>=4) uniform 1 int 7 if(sm>=4) uniform 1 int 7
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0) probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0)
[pixel shader] [pixel shader]
int a, b; int a, b;
@@ -209,16 +206,15 @@ if(sm<4) uniform 0 float -3
if(sm<4) uniform 4 float -2 if(sm<4) uniform 4 float -2
if(sm>=4) uniform 0 int -3 if(sm>=4) uniform 0 int -3
if(sm>=4) uniform 1 int -2 if(sm>=4) uniform 1 int -2
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0) probe (0, 0) rgba (-1.0, -1.0, -1.0, -1.0)
if(sm<4) uniform 0 float 4 if(sm<4) uniform 0 float 4
if(sm<4) uniform 4 float 4 if(sm<4) uniform 4 float 4
if(sm>=4) uniform 0 int 4 if(sm>=4) uniform 0 int 4
if(sm>=4) uniform 1 int 4 if(sm>=4) uniform 1 int 4
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0)
% Test "if" conditionals, using resource loads to ensure we aren't removing these instruction with optimizations. % Test "if" conditionals, using resource loads to ensure we aren't removing these instruction with optimizations.
[srv 0] [srv 0]
size (2d, 2, 2) size (2d, 2, 2)
@@ -243,13 +239,12 @@ float4 main() : sv_target
[test] [test]
uniform 0 float -2 uniform 0 float -2
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 4.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 4.0)
uniform 0 float 4 uniform 0 float 4
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0) probe (0, 0) rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader] [pixel shader]
Texture2D tex; Texture2D tex;
sampler sam; sampler sam;

View File

@@ -12,41 +12,41 @@ float4 main() : sv_target
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 1.0 0.0 0.0 0.0 uniform 4 float4 1.0 0.0 0.0 0.0
uniform 8 float4 1.0 0.2 0.0 0.0 uniform 8 float4 1.0 0.2 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 1.0 0.0 0.0 0.0 uniform 4 float4 1.0 0.0 0.0 0.0
uniform 8 float4 1.0 -0.2 0.0 0.0 uniform 8 float4 1.0 -0.2 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 1.0 0.0 0.0 0.0 uniform 4 float4 1.0 0.0 0.0 0.0
uniform 8 float4 -1.0 0.0 0.0 0.0 uniform 8 float4 -1.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0) probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 0.0 -1.0 0.0 0.0 uniform 4 float4 0.0 -1.0 0.0 0.0
uniform 8 float4 0.0 1.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0) probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 1.0 0.0 0.0 0.0 uniform 4 float4 1.0 0.0 0.0 0.0
uniform 8 float4 0.0 1.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 0.0 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0
uniform 8 float4 0.0 1.0 0.0 0.0 uniform 8 float4 0.0 1.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0)
uniform 0 float4 10.0 20.0 30.0 40.0 uniform 0 float4 10.0 20.0 30.0 40.0
uniform 4 float4 0.0 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0
uniform 8 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.0 0.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0) probe (0, 0) rgba (-10.0, -20.0, -30.0, -40.0)

View File

@@ -9,7 +9,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.0 uniform 0 float 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0)

View File

@@ -8,10 +8,10 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -0.5 6.5 0.0 0.0 uniform 0 float4 -0.5 6.5 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-0.5, 0.0, 0.0, 0.0) 4 probe (0, 0) rgba (-0.5, 0.0, 0.0, 0.0) 4
uniform 0 float4 1.1 0.3 0.0 0.0 uniform 0 float4 1.1 0.3 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.2, 0.0, 0.0, 0.0) 4 probe (0, 0) rgba (0.2, 0.0, 0.0, 0.0) 4
[pixel shader] [pixel shader]
@@ -24,8 +24,8 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -0.5 6.5 2.0 0.0 uniform 0 float4 -0.5 6.5 2.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (-0.5, 0.5, 0.0, 0.0) 4 probe (0, 0) rgba (-0.5, 0.5, 0.0, 0.0) 4
uniform 0 float4 1.1 0.3 3.0 0.0 uniform 0 float4 1.1 0.3 3.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.1, 0.3, 0.0, 0.0) 4 probe (0, 0) rgba (1.1, 0.3, 0.0, 0.0) 4

View File

@@ -23,7 +23,7 @@ float4 main(float tex : texcoord) : sv_target
} }
[test] [test]
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0) probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0)
probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0) probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0)
probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0) probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0)
@@ -54,7 +54,7 @@ float4 main(float tex : texcoord) : sv_target
[test] [test]
uniform 0 uint4 10 0 0 0 uniform 0 uint4 10 0 0 0
todo(msl & sm>=6) draw quad draw quad
probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0) probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0)
probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0) probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0)
probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0) probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0)

View File

@@ -10,49 +10,49 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 3.1415927 0.0 0.0 0.0 uniform 0 float4 3.1415927 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(2.0, 0.785398185, 0.0, 0.0) probe (0, 0) f32(2.0, 0.785398185, 0.0, 0.0)
uniform 0 float4 -3.1415927 0.0 0.0 0.0 uniform 0 float4 -3.1415927 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
if(sm<4) probe (0, 0) f32(2.0, -0.785398185, 0.0, 0.0) if(sm<4) probe (0, 0) f32(2.0, -0.785398185, 0.0, 0.0)
% Starting with shader model 4, negative inputs give positive mantissa. % Starting with shader model 4, negative inputs give positive mantissa.
if(sm>=4) probe (0, 0) f32(2.0, 0.785398185, 0.0, 0.0) if(sm>=4) probe (0, 0) f32(2.0, 0.785398185, 0.0, 0.0)
uniform 0 float4 7604.123 0.0 0.0 0.0 uniform 0 float4 7604.123 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(13.0, 0.92823765, 0.0, 0.0) probe (0, 0) f32(13.0, 0.92823765, 0.0, 0.0)
uniform 0 float4 0.00001234 0.0 0.0 0.0 uniform 0 float4 0.00001234 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(-16.0, 0.8087142, 0.0, 0.0) probe (0, 0) f32(-16.0, 0.8087142, 0.0, 0.0)
uniform 0 float4 0.0 0.0 0.0 0.0 uniform 0 float4 0.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(0.0, 0.0, 0.0, 0.0) probe (0, 0) f32(0.0, 0.0, 0.0, 0.0)
uniform 0 float4 -0.0 0.0 0.0 0.0 uniform 0 float4 -0.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(0.0, 0.0, 0.0, 0.0) probe (0, 0) f32(0.0, 0.0, 0.0, 0.0)
uniform 0 float4 INF 0.0 0.0 0.0 uniform 0 float4 INF 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
if(sm<4) probe (0, 0) f32(-NAN, -NAN, 0, 0) if(sm<4) probe (0, 0) f32(-NAN, -NAN, 0, 0)
if(sm>=4) probe (0, 0) f32(129, 0.5, 0, 0) if(sm>=4) probe (0, 0) f32(129, 0.5, 0, 0)
uniform 0 float4 -INF 0.0 0.0 0.0 uniform 0 float4 -INF 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
if(sm<4) probe (0, 0) f32(-NAN, -NAN, 0, 0) if(sm<4) probe (0, 0) f32(-NAN, -NAN, 0, 0)
if(sm>=4) probe (0, 0) f32(129, 0.5, 0, 0) if(sm>=4) probe (0, 0) f32(129, 0.5, 0, 0)
uniform 0 float4 NAN 0 0 0 uniform 0 float4 NAN 0 0 0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
if(sm<4) probe (0, 0) f32(NAN, NAN, 0, 0) if(sm<4) probe (0, 0) f32(NAN, NAN, 0, 0)
if(sm>=4) probe (0, 0) f32(129, 0.75, 0, 0) if(sm>=4) probe (0, 0) f32(129, 0.75, 0, 0)
% Subnormals. % Subnormals.
uniform 0 uint4 0x0007ffff 0 0 0 uniform 0 uint4 0x0007ffff 0 0 0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) f32(0, 0, 0, 0) probe (0, 0) f32(0, 0, 0, 0)
[pixel shader] [pixel shader]

View File

@@ -79,16 +79,16 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.1 uniform 0 float 0.1
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.2, 0.6, 0.3) 1 probe (0, 0) rgba (0.3, 0.2, 0.6, 0.3) 1
uniform 0 float 0.4 uniform 0 float 0.4
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.6, 0.5, 0.6, 0.3) 1 probe (0, 0) rgba (0.6, 0.5, 0.6, 0.3) 1
uniform 0 float 0.6 uniform 0 float 0.6
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.6, 0.5, 0.4, 0.5) 1 probe (0, 0) rgba (0.6, 0.5, 0.4, 0.5) 1
uniform 0 float 0.8 uniform 0 float 0.8
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.8, 0.7, 0.4, 0.5) 1 probe (0, 0) rgba (0.8, 0.7, 0.4, 0.5) 1
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@@ -235,23 +235,23 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.0 uniform 0 float 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.2, 0.3, 0.3) 1 probe (0, 0) rgba (0.3, 0.2, 0.3, 0.3) 1
uniform 0 float 0.1 uniform 0 float 0.1
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.3, 0.3, 0.3) 1 probe (0, 0) rgba (0.3, 0.3, 0.3, 0.3) 1
uniform 0 float 0.3 uniform 0 float 0.3
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.5, 0.3, 0.3) 1 probe (0, 0) rgba (0.3, 0.5, 0.3, 0.3) 1
uniform 0 float 0.7 uniform 0 float 0.7
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.9, 0.7, 0.6) 1 probe (0, 0) rgba (0.3, 0.9, 0.7, 0.6) 1
uniform 0 float 0.9 uniform 0 float 0.9
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.4, 0.1, 0.7, 0.6) 1 probe (0, 0) rgba (0.4, 0.1, 0.7, 0.6) 1
[pixel shader todo(sm<4)] [pixel shader todo(sm<4)]
@@ -291,21 +291,21 @@ float4 main() : sv_target
uniform 0 float4 0.3 0.0 0.0 0.0 uniform 0 float4 0.3 0.0 0.0 0.0
uniform 4 float4 0.0 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0
uniform 8 float4 0.1 0.0 0.0 0.0 uniform 8 float4 0.1 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.2, 0.6, 0.6) 1 probe (0, 0) rgba (0.3, 0.2, 0.6, 0.6) 1
uniform 4 float4 0.35 0.0 0.0 0.0 uniform 4 float4 0.35 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.3, 0.6, 0.6) 1 probe (0, 0) rgba (0.3, 0.3, 0.6, 0.6) 1
uniform 8 float4 0.5 0.0 0.0 0.0 uniform 8 float4 0.5 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.5, 0.6, 0.6) 1 probe (0, 0) rgba (0.3, 0.5, 0.6, 0.6) 1
uniform 0 float4 1.0 0.0 0.0 0.0 uniform 0 float4 1.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.3, 0.5, 0.6, 0.6) 1 probe (0, 0) rgba (0.3, 0.5, 0.6, 0.6) 1
uniform 4 float4 2.0 0.0 0.0 0.0 uniform 4 float4 2.0 0.0 0.0 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (0.4, 0.1, 0.6, 0.6) 1 probe (0, 0) rgba (0.4, 0.1, 0.6, 0.6) 1

View File

@@ -17,10 +17,10 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.0 uniform 0 float 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0) probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0)
uniform 0 float 1.0 uniform 0 float 1.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (-2.0, -2.0, -2.0, -2.0) probe (0, 0) rgba (-2.0, -2.0, -2.0, -2.0)
@@ -43,10 +43,10 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.0 uniform 0 float 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0) probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0)
uniform 0 float 1.0 uniform 0 float 1.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (20.0, 20.0, 20.0, 20.0) probe (0, 0) rgba (20.0, 20.0, 20.0, 20.0)
@@ -69,10 +69,10 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 0.0 uniform 0 float 0.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (1.0, 4.0, 0.0, 0.0) probe (0, 0) rgba (1.0, 4.0, 0.0, 0.0)
uniform 0 float 1.0 uniform 0 float 1.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba (1.0, 40.0, 0.0, 0.0) probe (0, 0) rgba (1.0, 40.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@@ -221,7 +221,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float 11.0 uniform 0 float 11.0
todo(sm<4 | msl & sm>=6) draw quad todo(sm<4) draw quad
probe (0, 0) rgba(1, 2, 3, 5) probe (0, 0) rgba(1, 2, 3, 5)
[require] [require]

View File

@@ -8,17 +8,17 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 -0.1 10.0 0.0 0.0 uniform 0 float4 -0.1 10.0 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 0.0, 0.0, 1.0) probe (0, 0) rgba (1.0, 0.0, 0.0, 1.0)
[test] [test]
uniform 0 float4 1.2 -0.1 0.0 0.0 uniform 0 float4 1.2 -0.1 0.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.2, 0.0, 1.0) probe (0, 0) rgba (1.0, 1.2, 0.0, 1.0)
[test] [test]
uniform 0 float4 1.2 2.0 3.0 0.0 uniform 0 float4 1.2 2.0 3.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.2, 8.0, 1.0) probe (0, 0) rgba (1.0, 1.2, 8.0, 1.0)
[pixel shader] [pixel shader]
@@ -31,7 +31,7 @@ float4 main() : sv_target
[test] [test]
uniform 0 float4 1.2 2.0 3.0 0.0 uniform 0 float4 1.2 2.0 3.0 0.0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (2.0, 2.4, 16.0, 2.0) probe (0, 0) rgba (2.0, 2.4, 16.0, 2.0)
[pixel shader fail] [pixel shader fail]

View File

@@ -171,13 +171,13 @@ if(sm<4) uniform 0 float 5
if(sm<4) uniform 4 float 0 if(sm<4) uniform 4 float 0
if(sm>=4) uniform 0 int 5 if(sm>=4) uniform 0 int 5
if(sm>=4) uniform 1 int 0 if(sm>=4) uniform 1 int 0
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (1.0, 1.0, 0.0, 1.0) probe (0, 0) rgba (1.0, 1.0, 0.0, 1.0)
if(sm<4) uniform 0 float -1 if(sm<4) uniform 0 float -1
if(sm<4) uniform 4 float 3 if(sm<4) uniform 4 float 3
if(sm>=4) uniform 0 int -1 if(sm>=4) uniform 0 int -1
if(sm>=4) uniform 1 int 3 if(sm>=4) uniform 1 int 3
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) rgba (0.0, 1.0, 0.0, 0.0) probe (0, 0) rgba (0.0, 1.0, 0.0, 0.0)
[pixel shader] [pixel shader]
@@ -193,11 +193,11 @@ if(sm<4) uniform 0 float 0
if(sm<4) uniform 4 float 5 if(sm<4) uniform 4 float 5
if(sm>=4) uniform 0 int 0 if(sm>=4) uniform 0 int 0
if(sm>=4) uniform 1 int 5 if(sm>=4) uniform 1 int 5
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) f32(1.0, 0.0, 0.0, 1.0) probe (0, 0) f32(1.0, 0.0, 0.0, 1.0)
if(sm<4) uniform 0 float -1 if(sm<4) uniform 0 float -1
if(sm<4) uniform 4 float -1 if(sm<4) uniform 4 float -1
if(sm>=4) uniform 0 int -1 if(sm>=4) uniform 0 int -1
if(sm>=4) uniform 1 int -1 if(sm>=4) uniform 1 int -1
todo(msl & sm>=6) draw quad draw quad
probe (0, 0) f32(0.0, 1.0, 1.0, 0.0) probe (0, 0) f32(0.0, 1.0, 1.0, 0.0)

Some files were not shown because too many files have changed in this diff Show More