[Piglit] [PATCH v2] glsl-1.10: test bug with lessThan() when the input expression has mixed sizes

Ian Romanick idr at freedesktop.org
Wed Jun 27 21:03:25 UTC 2018


On 06/27/2018 04:58 AM, Tapani Pälli wrote:
> 
> 
> On 06/27/2018 02:43 PM, Timothy Arceri wrote:
>> ---
>>
>>   V2: Fix some spelling typos and the commit description
>>
>>   ...on-vec4-mixed-arithmetic-input.shader_test | 37 +++++++++++++++++++
>>   1 file changed, 37 insertions(+)
>>   create mode 100644
>> tests/spec/glsl-1.10/execution/comparision-vec4-mixed-arithmetic-input.shader_test
>>
>>
>> diff --git
>> a/tests/spec/glsl-1.10/execution/comparision-vec4-mixed-arithmetic-input.shader_test
>> b/tests/spec/glsl-1.10/execution/comparision-vec4-mixed-arithmetic-input.shader_test
>>
>> new file mode 100644
>> index 000000000..78f0068a3
>> --- /dev/null
>> +++
>> b/tests/spec/glsl-1.10/execution/comparision-vec4-mixed-arithmetic-input.shader_test
>>
>> @@ -0,0 +1,37 @@
>> +# This exerises a bug found in a Doom shader were the lessThan()
>> comparision
>> +# was only done againsts a single component of the mixed arithmetic
>> expression
> 
> here are some more typos to fix:
> 
> were -> where
> exerises -> exercises
> comparision -> comparison
> againsts -> against
> 
> For me running this throws following assert:
> 
> shader_runner: ../src/compiler/glsl/ir.cpp:491:
> ir_expression::ir_expression(int, ir_rvalue*, ir_rvalue*): Assertion
> `op0->type == op1->type' failed.

Ouch.

It might be worth doing a quick generator to hit all the combinations of
(any, all) with (lessThan, lessThanEqual, greaterThan, greaterThanEqual).

> Is this the issue?
> 
>> +# rather than all four components.
>> +
>> +[require]
>> +GLSL >= 1.10
>> +
>> +[vertex shader passthrough]
>> +
>> +[fragment shader]
>> +#version 110
>> +
>> +uniform vec4 a;
>> +uniform vec4 b;
>> +
>> +void main() {
>> +    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
>> +
>> +    if (any(lessThan(b.w + a.xyzw, vec4(0.0))))
>> +        gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
>> +}
>> +
>> +[test]
>> +clear color 0.1 0.1 0.1 0.1
>> +clear
>> +
>> +uniform vec4 a 0.5 0.5 0.5 -1.0
>> +uniform vec4 b 1.0 1.0 1.0 0.5
>> +draw rect -1 -1 2 2
>> +
>> +probe all rgba 1.0 0.0 0.0 1.0
>> +
>> +uniform vec4 a 0.5 0.5 0.5 -0.5
>> +uniform vec4 b 1.0 1.0 1.0 0.5
>> +draw rect -1 -1 2 2
>> +
>> +probe all rgba 0.0 1.0 0.0 1.0
>>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
> 



More information about the Piglit mailing list