[Piglit] [PATCH] arb_texture_multisample: add error check for samples == 0

Tapani Pälli tapani.palli at intel.com
Mon Aug 17 04:14:15 PDT 2015


Please add comment to commit message that this currently fails with Mesa 
(otherwise QA may file a bug about it).

Reviewed-by: Tapani Pälli <tapani.palli at intel.com>

On 08/17/2015 02:05 PM, Timothy Arceri wrote:
> Test results:
> Nvidia GeForce 840M - NVIDIA 346.47: pass
>
> Cc: Tapani Pälli <tapani.palli at intel.com>
> ---
>   tests/spec/arb_texture_multisample/errors.c | 20 ++++++++++++++++----
>   1 file changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/tests/spec/arb_texture_multisample/errors.c b/tests/spec/arb_texture_multisample/errors.c
> index 0c16f4e..ba9f1e6 100644
> --- a/tests/spec/arb_texture_multisample/errors.c
> +++ b/tests/spec/arb_texture_multisample/errors.c
> @@ -41,13 +41,14 @@ piglit_init(int argc, char **argv)
>   {
>       /* test some new error cases */
>
> -    GLuint fbo, tex;
> +    GLuint fbo;
> +    GLuint tex[2];
>       glGenFramebuffers(1, &fbo);
>
>       glBindFramebuffer(GL_FRAMEBUFFER, fbo);
>
> -    glGenTextures(1, &tex);
> -    glBindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, tex);
> +    glGenTextures(2, tex);
> +    glBindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, tex[0]);
>       glTexImage3DMultisample(GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
>               4, GL_RGBA, 64, 64, 2, GL_TRUE);
>
> @@ -57,7 +58,7 @@ piglit_init(int argc, char **argv)
>       }
>
>       /* binding a negative layer should fail */
> -    glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, tex, 0, -1);
> +    glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, tex[0], 0, -1);
>
>       if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
>           printf("glFramebufferTextureLayer w/ negative layer must "
> @@ -65,5 +66,16 @@ piglit_init(int argc, char **argv)
>           piglit_report_result(PIGLIT_FAIL);
>       }
>
> +    /* An INVALID_VALUE error is generated if samples is zero. */
> +    glBindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, tex[1]);
> +    glTexImage3DMultisample(GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
> +            0, GL_RGBA, 64, 64, 2, GL_TRUE);
> +
> +    if (!piglit_check_gl_error(GL_INVALID_VALUE)) {
> +        printf("glFramebufferTextureLayer w/ sampler == 0 must "
> +                "emit GL_INVALID_VALUE but did not\n");
> +        piglit_report_result(PIGLIT_FAIL);
> +    }
> +
>       piglit_report_result(PIGLIT_PASS);
>   }
>


More information about the Piglit mailing list