[Piglit] [PATCH 4/5] fbo-drawbuffers-none: Add a sub test for fragment shader out variables

Anuj Phogat anuj.phogat at gmail.com
Mon May 19 15:09:38 PDT 2014


On Mon, May 19, 2014 at 1:56 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Mon, May 19, 2014 at 4:51 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
>> Signed-off-by: Anuj Phogat <anuj.phogat at 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')
>
> Shouldn't this be "use_frag_out" (or change use_frag_out -> frag_out
> in the code below)
Yes. I'll change it to use_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 at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list