On Fri, Aug 22, 2014 at 11:46 AM, Kenneth Graunke <[email protected]> wrote: > This trips up a i965 bug where we forgot to handle ir_triop_csel in > emit_bool_to_cond_code. > > Signed-off-by: Kenneth Graunke <[email protected]> > --- > .../execution/fs-mix-if-bool.shader_test | 30 +++++++++++++++++ > .../execution/vs-mix-if-bool.shader_test | 38 > ++++++++++++++++++++++ > 2 files changed, 68 insertions(+) > create mode 100644 > tests/spec/ext_shader_integer_mix/execution/fs-mix-if-bool.shader_test > create mode 100644 > tests/spec/ext_shader_integer_mix/execution/vs-mix-if-bool.shader_test > > diff --git > a/tests/spec/ext_shader_integer_mix/execution/fs-mix-if-bool.shader_test > b/tests/spec/ext_shader_integer_mix/execution/fs-mix-if-bool.shader_test > new file mode 100644 > index 0000000..50a27b8 > --- /dev/null > +++ b/tests/spec/ext_shader_integer_mix/execution/fs-mix-if-bool.shader_test > @@ -0,0 +1,30 @@ > +[require] > +GLSL >= 1.30 > +GL_EXT_shader_integer_mix > + > +[vertex shader passthrough] > + > +[fragment shader] > +#extension GL_EXT_shader_integer_mix: enable > + > +uniform bool a; > +uniform bool b; > +uniform bool selector; > + > +void main() > +{ > + if (mix(a, b, selector)) { > + gl_FragColor = vec4(0, 1, 0, 1); > + } else { > + gl_FragColor = vec4(1, 0, 0, 1); > + } > +} > + > +[test] > +uniform int a 1 > +uniform int b 0 > +uniform int selector 0 > + > +draw rect -1 -1 2 2 > +probe all rgba 0 1 0 1 > + > diff --git > a/tests/spec/ext_shader_integer_mix/execution/vs-mix-if-bool.shader_test > b/tests/spec/ext_shader_integer_mix/execution/vs-mix-if-bool.shader_test > new file mode 100644 > index 0000000..c71b75b > --- /dev/null > +++ b/tests/spec/ext_shader_integer_mix/execution/vs-mix-if-bool.shader_test > @@ -0,0 +1,38 @@ > +[require] > +GLSL >= 1.30 > +GL_EXT_shader_integer_mix > + > +[vertex shader] > +#extension GL_EXT_shader_integer_mix: enable > +out vec4 color; > + > +uniform bool a; > +uniform bool b; > +uniform bool selector; > + > +void main() > +{ > + if (mix(a, b, selector)) { > + color = vec4(0, 1, 0, 1); > + } else { > + color = vec4(1, 0, 0, 1); > + } > + gl_Position = gl_Vertex; > +} > + > +[fragment shader] > +in vec4 color; > + > +void main() > +{ > + gl_FragColor = color; > +} > + > +[test] > +uniform int a 1 > +uniform int b 0 > +uniform int selector 0 > + > +draw rect -1 -1 2 2 > +probe all rgba 0 1 0 1 > + > -- > 2.0.2 > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit
Reviewed-by: Anuj Phogat <[email protected]> _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
