i965: Set *Program.Max{Input,Output}Components
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 18 Sep 2013 20:29:00 +0000 (15:29 -0500)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 19 Sep 2013 21:29:44 +0000 (16:29 -0500)
Now that MaxVaryings is > 16, VertexProgram.MaxOutputComponents,
GeometryProgram.MaxInputComponents, GeometryProgram.MaxOutputComponents,
and FragmentProgram.MaxInputComponents also need to be set.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Cc: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_context.c

index 7b38ea37747cf52c86e8ac615330c034ad366101..f60d4df5d328d60e2a71afccbf8e7cccde040cfd 100644 (file)
@@ -247,8 +247,13 @@ brw_initialize_context_constants(struct brw_context *brw)
    ctx->Const.DisableGLSLLineContinuations =
       driQueryOptionb(&brw->optionCache, "disable_glsl_line_continuations");
 
-   if (brw->gen >= 6)
+   if (brw->gen >= 6) {
       ctx->Const.MaxVarying = 32;
+      ctx->Const.VertexProgram.MaxOutputComponents = 128;
+      ctx->Const.GeometryProgram.MaxInputComponents = 128;
+      ctx->Const.GeometryProgram.MaxOutputComponents = 128;
+      ctx->Const.FragmentProgram.MaxInputComponents = 128;
+   }
 
    /* We want the GLSL compiler to emit code that uses condition codes */
    for (int i = 0; i < MESA_SHADER_TYPES; i++) {