[Mesa-dev] [PATCH 15/15] i965/gen6+: Support 128 varying components.

Kenneth Graunke kenneth at whitecape.org
Sun Sep 15 21:30:37 PDT 2013


On 09/03/2013 04:18 PM, Paul Berry wrote:
> GL 3.2 requires us to support 128 varying components for geometry
> shader outputs and fragment shader inputs, and 64 varying components
> otherwise.  But there's no hardware limitation that restricts us to 64
> varying components, and core Mesa doesn't currently allow different
> stages to have different maximum values, so just go ahead and enable
> 128 varying components for all stages.  This gets us better test
> coverage anyway.
> 
> Even though we are only working on GL 3.2 support for gen7 right now,
> gen6 also supports 128 varying components, so go ahead and switch it
> on there too.
> ---
>  src/mesa/drivers/dri/i965/brw_context.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
> index 2321076..3c1e409 100644
> --- a/src/mesa/drivers/dri/i965/brw_context.c
> +++ b/src/mesa/drivers/dri/i965/brw_context.c
> @@ -247,6 +247,9 @@ brw_initialize_context_constants(struct brw_context *brw)
>     ctx->Const.DisableGLSLLineContinuations =
>        driQueryOptionb(&brw->optionCache, "disable_glsl_line_continuations");
>  
> +   if (brw->gen >= 6)
> +      ctx->Const.MaxVarying = 32;
> +
>     /* We want the GLSL compiler to emit code that uses condition codes */
>     for (int i = 0; i < MESA_SHADER_TYPES; i++) {
>        ctx->ShaderCompilerOptions[i].MaxIfDepth = brw->gen < 6 ? 16 : UINT_MAX;
> 

Nice work, Paul.  Other than my small nits on patch 11, this series is:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>


More information about the mesa-dev mailing list