[Piglit] [PATCH] arb_gpu_shader_fp64: emit GS output for every vertex
Andres Gomez
agomez at igalia.com
Mon Jun 13 16:04:20 UTC 2016
On Tue, 2016-06-07 at 00:21 +0200, Samuel Pitoiset wrote:
> Because EmitVertex() will invalidate all previous output writes, we
> need to emit the output for every vertex. This fixes is similar to
> the one in the GS tests generator.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> .../execution/gs-isnan-dvec.shader_test | 36 +++++++++++-
[snip]
> diff --git a/tests/spec/arb_gpu_shader_fp64/execution/gs-isnan-
> dvec.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/gs-isnan-
> dvec.shader_test
> index 28f7505..314a87c 100644
> --- a/tests/spec/arb_gpu_shader_fp64/execution/gs-isnan-
> dvec.shader_test
> +++ b/tests/spec/arb_gpu_shader_fp64/execution/gs-isnan-
> dvec.shader_test
> @@ -38,29 +38,29 @@ out vec4 fs_color;
>
> void main()
> {
> - fs_color = vec4(0.0);
> + for (int i = 0; i < 3; i++) {
> + fs_color = vec4(0.0);
>
> - dvec4 r4 = numerator/denominator;
> - dvec4 bl4 = dvec4(isnan(r4));
> - if (distance(bl4, expected) > tolerance)
> - fs_color.x = 1.0;
> + dvec4 r4 = numerator/denominator;
> + dvec4 bl4 = dvec4(isnan(r4));
> + if (distance(bl4, expected) > tolerance)
> + fs_color.x = 1.0;
>
> - dvec3 r3 = numerator.xyz/denominator.xyz;
> - dvec3 bl3 = dvec3(isnan(r3));
> - if (distance(bl3, expected.xyz) > tolerance)
> - fs_color.y = 1.0;
> + dvec3 r3 = numerator.xyz/denominator.xyz;
> + dvec3 bl3 = dvec3(isnan(r3));
> + if (distance(bl3, expected.xyz) > tolerance)
> + fs_color.y = 1.0;
>
> - dvec2 r2 = numerator.zw/denominator.zw;
> - dvec2 bl2 = dvec2(isnan(r2));
> - if (distance(bl2, expected.zw) > tolerance)
> - fs_color.z = 1.0;
> + dvec2 r2 = numerator.zw/denominator.zw;
> + dvec2 bl2 = dvec2(isnan(r2));
> + if (distance(bl2, expected.zw) > tolerance)
> + fs_color.z = 1.0;
>
> - double r1 = numerator.x/denominator.x;
> - double bl1 = double(isnan(r1));
> - if (distance(bl1, expected.x) > tolerance)
> - fs_color.w = 1.0;
> + double r1 = numerator.x/denominator.x;
> + double bl1 = double(isnan(r1));
> + if (distance(bl1, expected.x) > tolerance)
> + fs_color.w = 1.0;
>
> - for (int i = 0; i < 3; i++) {
> gl_Position = vertex_to_gs[i];
> EmitVertex();
> }
I'd rather have just the "if" parts that modify fs_color in the "for"
loop and not the whole code.
In any case, this is a minor thing so feel free to ignore.
Other than that, this is:
Reviewed-by: Andres Gomez <agomez at igalia.com>
--
Br,
Andres
More information about the Piglit
mailing list