[Piglit] [PATCH V3 4/8] arb_texture_multisample: new test for teximage state

Paul Berry stereotype441 at gmail.com
Wed Feb 27 13:27:38 PST 2013


On 26 February 2013 02:18, Chris Forbes <chrisf at ijw.co.nz> wrote:

> This tests that the new teximage state added in ARB_texture_multisample
> exists and has correct defaults for non-multisample textures:
>
>     - GL_TEXTURE_SAMPLES = 0
>     - GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = true
>
> V2: Don't specify window size, we don't care.
>
> Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
>

This test fails on my nVidia system, giving the error message:

"Expected GL_TEXTURE_FIXED_SAMPLE_LOCATIONS value of 1 but got 0".

I'm pretty sure that's an nVidia bug (the spec clearly states that the
default value of GL_TEXTURE_FIXED_SAMPLE_LOCATIONS should be GL_TRUE), but
I'm wondering if you see the same thing.


> ---
>  tests/all.tests                                    |  1 +
>  .../spec/arb_texture_multisample/CMakeLists.gl.txt |  1 +
>  tests/spec/arb_texture_multisample/texstate.c      | 55
> ++++++++++++++++++++++
>  3 files changed, 57 insertions(+)
>  create mode 100644 tests/spec/arb_texture_multisample/texstate.c
>
> diff --git a/tests/all.tests b/tests/all.tests
> index 184b172..0d331f1 100644
> --- a/tests/all.tests
> +++ b/tests/all.tests
> @@ -865,6 +865,7 @@ for sample_count in MSAA_SAMPLE_COUNTS:
>      # fb-completeness
>      spec['ARB_texture_multisample/fb-completeness/%d' % (sample_count,)]
> = \
>          concurrent_test('arb_texture_multisample-fb-completeness %d' %
> (sample_count,))
> +add_concurrent_test(arb_texture_multisample,
> 'arb_texture_multisample-texstate')
>
>  # Group AMD_shader_stencil_export
>  spec['AMD_shader_stencil_export'] = Group()
> diff --git a/tests/spec/arb_texture_multisample/CMakeLists.gl.txt
> b/tests/spec/arb_texture_multisample/CMakeLists.gl.txt
> index d793256..d4cd51f 100644
> --- a/tests/spec/arb_texture_multisample/CMakeLists.gl.txt
> +++ b/tests/spec/arb_texture_multisample/CMakeLists.gl.txt
> @@ -12,5 +12,6 @@ link_libraries (
>
>  piglit_add_executable (arb_texture_multisample-minmax minmax.c)
>  piglit_add_executable (arb_texture_multisample-fb-completeness
> fb-completeness.c)
> +piglit_add_executable (arb_texture_multisample-texstate texstate.c)
>
>  # vim: ft=cmake:
> diff --git a/tests/spec/arb_texture_multisample/texstate.c
> b/tests/spec/arb_texture_multisample/texstate.c
> new file mode 100644
> index 0000000..bb51c35
> --- /dev/null
> +++ b/tests/spec/arb_texture_multisample/texstate.c
> @@ -0,0 +1,55 @@
> +#include "piglit-util-gl-common.h"
> +
> +PIGLIT_GL_TEST_CONFIG_BEGIN
> +
> +    config.supports_gl_compat_version = 30;
> +    config.window_visual = PIGLIT_GL_VISUAL_RGB;
> +
> +PIGLIT_GL_TEST_CONFIG_END
> +
> +enum piglit_result
> +piglit_display(void)
> +{
> +    return PIGLIT_FAIL;
> +}
> +
> +static bool
> +check_texlevelparameter_int(GLuint target, GLuint level,
> +        char const *name, GLuint pname, GLint expected_value)
> +{
> +    GLint actual_value;
> +    glGetTexLevelParameteriv(target, level, pname, &actual_value);
> +    if (!piglit_check_gl_error(GL_NO_ERROR))
> +        return false;
> +
> +    if (actual_value != expected_value) {
> +        printf("Expected %s value of %d but got %d\n",
> +                name, expected_value, actual_value);
> +        return false;
> +    }
> +
> +    return true;
> +}
> +
> +void
> +piglit_init(int argc, char **argv)
> +{
> +    GLuint tex2d;
> +    bool pass = true;
> +    piglit_require_extension("GL_ARB_texture_multisample");
> +
> +    /* check that new image state required by ARB_texture_multisample
> +     * exists, and has correct defaults. Tests against a non-multisample
> +     * texture target, since this state exists on all images. */
> +
> +    glGenTextures(1, &tex2d);
> +    glBindTexture(GL_TEXTURE_2D, tex2d);
> +    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 64, 64, 0, GL_RGBA,
> GL_UNSIGNED_BYTE, 0);
> +
> +    pass = check_texlevelparameter_int(GL_TEXTURE_2D, 0,
> "GL_TEXTURE_SAMPLES",
> +            GL_TEXTURE_SAMPLES, 0) && pass;
> +    pass = check_texlevelparameter_int(GL_TEXTURE_2D, 0,
> "GL_TEXTURE_FIXED_SAMPLE_LOCATIONS",
> +            GL_TEXTURE_FIXED_SAMPLE_LOCATIONS, GL_TRUE) && pass;
> +
> +    piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
> +}
> --
> 1.8.1.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20130227/02162fc5/attachment.html>


More information about the Piglit mailing list