radeon / r200: Pass the API into _mesa_initialize_context
[mesa.git] / src / glsl / link_varyings.cpp
index 7a31f972ae1afa828a62361f0f9ef223ff33c47c..c925c00e39a1c2c1b95c727de323615cf838cf4b 100644 (file)
@@ -1249,19 +1249,9 @@ check_against_output_limit(struct gl_context *ctx,
       }
    }
 
-   unsigned max_output_components;
-   switch (producer->Stage) {
-   case MESA_SHADER_VERTEX:
-      max_output_components = ctx->Const.VertexProgram.MaxOutputComponents;
-      break;
-   case MESA_SHADER_GEOMETRY:
-      max_output_components = ctx->Const.GeometryProgram.MaxOutputComponents;
-      break;
-   case MESA_SHADER_FRAGMENT:
-   default:
-      assert(!"Should not get here.");
-      return false;
-   }
+   assert(producer->Stage != MESA_SHADER_FRAGMENT);
+   unsigned max_output_components =
+      ctx->Const.Program[producer->Stage].MaxOutputComponents;
 
    const unsigned output_components = output_vectors * 4;
    if (output_components > max_output_components) {
@@ -1298,19 +1288,9 @@ check_against_input_limit(struct gl_context *ctx,
       }
    }
 
-   unsigned max_input_components;
-   switch (consumer->Stage) {
-   case MESA_SHADER_GEOMETRY:
-      max_input_components = ctx->Const.GeometryProgram.MaxInputComponents;
-      break;
-   case MESA_SHADER_FRAGMENT:
-      max_input_components = ctx->Const.FragmentProgram.MaxInputComponents;
-      break;
-   case MESA_SHADER_VERTEX:
-   default:
-      assert(!"Should not get here.");
-      return false;
-   }
+   assert(consumer->Stage != MESA_SHADER_VERTEX);
+   unsigned max_input_components =
+      ctx->Const.Program[consumer->Stage].MaxInputComponents;
 
    const unsigned input_components = input_vectors * 4;
    if (input_components > max_input_components) {