summaryrefslogtreecommitdiff
path: root/src/mesa/shader/program_parse.y
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2009-07-27 14:11:38 -0700
committerIan Romanick <ian.d.romanick@intel.com>2009-07-27 14:18:40 -0700
commit054ab5a50a324b1d64fe403a65a2a392ba0c09fd (patch)
tree050d6572ee43f994d275078b74d9f2078719c703 /src/mesa/shader/program_parse.y
parentbe32fb779beecf4bbd61c42c7eb0f8ca988a9831 (diff)
ARB prog parser: Correct handling of some extensions that interact w/ARB_vp
Diffstat (limited to 'src/mesa/shader/program_parse.y')
-rw-r--r--src/mesa/shader/program_parse.y17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index 92e035997a..852c26b31f 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -815,10 +815,20 @@ vtxAttribItem: POSITION
}
| COLOR optColorType
{
+ if (!state->ctx->Extensions.EXT_secondary_color) {
+ yyerror(& @2, state, "GL_EXT_secondary_color not supported");
+ YYERROR;
+ }
+
$$ = VERT_ATTRIB_COLOR0 + $2;
}
| FOGCOORD
{
+ if (!state->ctx->Extensions.EXT_fog_coord) {
+ yyerror(& @1, state, "GL_EXT_fog_coord not supported");
+ YYERROR;
+ }
+
$$ = VERT_ATTRIB_FOG;
}
| TEXCOORD optTexCoordUnitNum
@@ -827,6 +837,7 @@ vtxAttribItem: POSITION
}
| MATRIXINDEX '[' vtxWeightNum ']'
{
+ yyerror(& @1, state, "GL_ARB_matrix_palette not supported");
YYERROR;
}
| VTXATTRIB '[' vtxAttribNum ']'
@@ -1060,6 +1071,11 @@ stateLightProperty: ambDiffSpecProperty
}
| ATTENUATION
{
+ if (!state->ctx->Extensions.EXT_point_parameters) {
+ yyerror(& @1, state, "GL_ARB_point_parameters not supported");
+ YYERROR;
+ }
+
$$ = STATE_ATTENUATION;
}
| SPOT stateSpotProperty
@@ -1346,6 +1362,7 @@ stateMatrixName: MODELVIEW stateOptModMatNum
}
| PALETTE '[' statePaletteMatNum ']'
{
+ yyerror(& @1, state, "GL_ARB_matrix_palette not supported");
YYERROR;
}
| MAT_PROGRAM '[' stateProgramMatNum ']'