From: Dave Airlie <[email protected]> We have a test passing a dvec4 from vs->fs that passes, this test passing a single double, it currently falls over an assert in varying packing.
Signed-off-by: Dave Airlie <[email protected]> --- .../execution/vs-out-fs-in-double-2.shader_test | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/spec/arb_gpu_shader_fp64/execution/vs-out-fs-in-double-2.shader_test diff --git a/tests/spec/arb_gpu_shader_fp64/execution/vs-out-fs-in-double-2.shader_test b/tests/spec/arb_gpu_shader_fp64/execution/vs-out-fs-in-double-2.shader_test new file mode 100644 index 0000000..2efae15 --- /dev/null +++ b/tests/spec/arb_gpu_shader_fp64/execution/vs-out-fs-in-double-2.shader_test @@ -0,0 +1,45 @@ +# test emitting a single double from vs->fs works +# when originally written this failed in varying lowering +# +[require] +GLSL >= 1.50 +GL_ARB_gpu_shader_fp64 + +[vertex shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : require +uniform double arg0; +in vec4 vertex; +flat out double dout1; +void main() +{ + gl_Position = vertex; + dout1 = arg0; +} + +[fragment shader] +#version 150 +#extension GL_ARB_gpu_shader_fp64 : require +# +flat in double dout1; +uniform double tolerance; +uniform double expected; +void main() +{ + double result = trunc(dout1); + gl_FragColor = distance(result, expected) <= tolerance ? vec4(0.0, 1.0, 0.0, 1.0) : vec4(1.0, 0.0, 0.0, 1.0); +} + +[vertex data] +vertex/float/2 +-1.0 -1.0 + 1.0 -1.0 + 1.0 1.0 +-1.0 1.0 + +[test] +uniform double arg0 1.7976931348623157E+308 +uniform double expected 1.7976931348623157E+308 +uniform double tolerance 2.0000000000000002e-05 +draw arrays GL_TRIANGLE_FAN 0 4 +probe rgba 0 0 0.0 1.0 0.0 1.0 -- 1.9.3 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
