Have a look at the first 4 patches in the series from Jonathan Marek to address some of these issues:
https://patchwork.freedesktop.org/series/54295/ Not sure exactly what state that work is in, but I've added Jonathan to CC, perhaps he can provide an update. Cheers, -ilia On Wed, Jan 2, 2019 at 6:28 AM Qiang Yu <[email protected]> wrote: > > Hi guys, > > I found the problem with this test fragment shader when lima development: > uniform int color; > void main() { > if (color > 1) > gl_FragColor = vec4(1.0, 0.0, 0.0, 1); > else > gl_FragColor = vec4(0.0, 1.0, 0.0, 1); > } > > nir_print_shader output: > impl main { > block block_0: > /* preds: */ > vec1 32 ssa_0 = load_const (0x00000001 /* 0.000000 */) > vec4 32 ssa_1 = load_const (0x3f800000 /* 1.000000 */, > 0x00000000 /* 0.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* > 1.000000 */) > vec4 32 ssa_2 = load_const (0x00000000 /* 0.000000 */, > 0x3f800000 /* 1.000000 */, 0x00000000 /* 0.000000 */, 0x3f800000 /* > 1.000000 */) > vec1 32 ssa_3 = load_const (0x00000000 /* 0.000000 */) > vec1 32 ssa_4 = intrinsic load_uniform (ssa_3) (0, 1, 0) /* > base=0 */ /* range=1 */ /* component=0 */ /* color */ > vec1 32 ssa_5 = slt ssa_0, ssa_4 > vec1 32 ssa_6 = fnot ssa_5 > vec4 32 ssa_7 = bcsel ssa_6.xxxx, ssa_2, ssa_1 > intrinsic store_output (ssa_7, ssa_3) (0, 15, 0) /* base=0 */ > /* wrmask=xyzw */ /* component=0 */ /* gl_FragColor */ > /* succs: block_1 */ > block block_1: > } > > ssa0 is not converted to float when glsl to nir. I see glsl_to_nir.cpp > will create flt/ilt/ult > based on source type for gpu support native integer, but for gpu not > support native > integer, just create slt for all source type. And in > nir_lower_constant_initializers, > there's also no type conversion for integer constant. > > Do you know how to fix this problem? > > Thanks, > Qiang > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
