Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> --- tests/all.py | 1 + .../arb_framebuffer_object/fbo-drawbuffers-none.c | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/tests/all.py b/tests/all.py index c841110..0cb8f2e 100644 --- a/tests/all.py +++ b/tests/all.py @@ -1706,6 +1706,7 @@ add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none glClear') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none glClearBuffer') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none gl_FragColor') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none gl_FragData') +add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none frag_out') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none glColorMaskIndexed') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none glBlendFunci') add_concurrent_test(arb_framebuffer_object, 'fbo-drawbuffers-none glDrawPixels') diff --git a/tests/spec/arb_framebuffer_object/fbo-drawbuffers-none.c b/tests/spec/arb_framebuffer_object/fbo-drawbuffers-none.c index 10cc133..ee97247 100644 --- a/tests/spec/arb_framebuffer_object/fbo-drawbuffers-none.c +++ b/tests/spec/arb_framebuffer_object/fbo-drawbuffers-none.c @@ -107,6 +107,7 @@ static const char *fs_write_red = "}\n"; static const char *fs_template_write_different = + "%s \n" "#define OUTVAR %s \n" "void main() \n" "{ \n" @@ -124,13 +125,17 @@ static GLuint fb, prog_write_all_red, prog_write_all_different; static void create_shaders(void) { + bool fs_uses_out_variables = streq(test_name, "use_frag_out"); + prog_write_all_red = piglit_build_simple_program_multiple_shaders( GL_VERTEX_SHADER, vs, GL_FRAGMENT_SHADER, fs_write_red, 0); asprintf(&fs_write_different, fs_template_write_different, - "gl_FragData"); + fs_uses_out_variables ? + "#version 130 \nout vec4[4] color;" : "", + fs_uses_out_variables ? "color" : "gl_FragData"); prog_write_all_different = piglit_build_simple_program_multiple_shaders( GL_VERTEX_SHADER, vs, @@ -267,6 +272,16 @@ test_fragcolor(const GLenum drawbufs[4]) } static bool +test_fragout(const GLenum drawbufs[4]) +{ + glUseProgram(prog_write_all_different); + piglit_draw_rect(-1, -1, 2, 2); + glUseProgram(0); + + return probe_buffers(drawbufs, colors_all_different); +} + +static bool test_fragdata(const GLenum drawbufs[4]) { glUseProgram(prog_write_all_different); @@ -395,6 +410,7 @@ print_usage_and_exit(void) " glClearBuffer\n" " gl_FragColor\n" " gl_FragData\n" + " use_frag_out\n" " glColorMaskIndexed\n" " glBlendFunci\n" " glDrawPixels\n" @@ -456,6 +472,10 @@ piglit_display(void) else if (strcmp(test_name, "gl_FragData") == 0) { pass = test_fragdata(drawbuf_config[i]) && pass; } + else if (strcmp(test_name, "use_frag_out") == 0) { + piglit_require_GLSL_version(130); + pass = test_fragout(drawbuf_config[i]) && pass; + } else if (strcmp(test_name, "glColorMaskIndexed") == 0) { piglit_require_extension("GL_EXT_draw_buffers2"); pass = test_glColorMaskIndexed(drawbuf_config[i]) && pass; -- 1.8.3.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit