[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