[Mesa-dev] [PATCH 08/10] glsl_to_tgsi: Adds a PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS

Brian Paul brian.e.paul at gmail.com
Thu Feb 23 12:44:01 PST 2012


On Thu, Feb 23, 2012 at 3:12 PM, Vincent Lejeune <vljn at ovi.com> wrote:
> ---
>  src/gallium/include/pipe/p_defines.h   |    3 ++-
>  src/mesa/state_tracker/st_extensions.c |    3 +++
>  2 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
> index 4155178..f08070a 100644
> --- a/src/gallium/include/pipe/p_defines.h
> +++ b/src/gallium/include/pipe/p_defines.h
> @@ -533,7 +533,8 @@ enum pipe_shader_cap
>    PIPE_SHADER_CAP_SUBROUTINES = 16, /* BGNSUB, ENDSUB, CAL, RET */
>    PIPE_SHADER_CAP_INTEGERS = 17,
>    PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS = 18,
> -   PIPE_SHADER_CAP_OUTPUT_READ = 19
> +   PIPE_SHADER_CAP_OUTPUT_READ = 19,
> +   PIPE_SHADER_CAP_VARYINGS_PACKING_CONSTRAINTS = 20
>  };

Looks like you'll also need to define values for the new query, such as:

#define PIPE_PACKING_CONSTRAINT_NONE  0
#define PIPE_PACKING_CONSTRAINT_SMOOTH_NO_PERSPECTIVE_MIXED 1
#define PIPE_PACKING_CONSTRAINT_NO_MIXED_INTERPOLATION 2
#define PIPE_PACKING_CONSTRAINT_AVOID_PACKING 3

Maybe less verbose names are possible.  But since they probably won't
appear in many places that's probably OK.

Somewhere in the state tracker there should be assertions that these
values match the corresponding core Mesa values.

-Brian


More information about the mesa-dev mailing list