Oof.  I think we made a mistake when we first started adding the
glTexParameter values.  I'd rather see a table-based approach somewhat
like 7ec46686.  It would be slightly more tricky for glTexParameter
because some parameters want to be integer, and some want to be float.
Maybe use a table like

struct TexParameter_target_table {
    const char *name;
    GLenum pname;

    enum {
        is_float,
        is_int
    } type;

    unsigned value_count; // number of values passed to glTexParameter?v
};

We could put the existing names in the table with both the existing
spelling and the GL_... spelling.

I don't think we need to keep the #ifdef around the LOD bias, but we may
need an '#ifndef .... #define...' block.  The implementation will
generate an error, so anyone using lod_bias will know the test is broken
anyway... the error just won't be as friendly.

On 10/04/2013 09:08 PM, Chris Forbes wrote:
> Signed-off-by: Chris Forbes <chr...@ijw.co.nz>
> ---
>  tests/shaders/shader_runner.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
> index ba76cd0..ca571ec 100644
> --- a/tests/shaders/shader_runner.c
> +++ b/tests/shaders/shader_runner.c
> @@ -1585,6 +1585,11 @@ handle_texparameter(const char *line)
>               printf("lod_bias feature is only available in desktop GL\n");
>               piglit_report_result(PIGLIT_SKIP);
>  #endif
> +     } else if (string_match("base_level ", line)) {
> +             line += strlen("base_level ");
> +             glTexParameteri(target, GL_TEXTURE_BASE_LEVEL,
> +                             strtol(line, NULL, 10));
> +             return;
>       } else {
>               fprintf(stderr, "unknown texture parameter in `%s'\n", line);
>               piglit_report_result(PIGLIT_FAIL);
> 

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to