summaryrefslogtreecommitdiffstats
path: root/src/mesa/program/program_parse.y
diff options
context:
space:
mode:
authorMathias Fröhlich <[email protected]>2011-12-02 08:08:07 +0100
committerMathias Fröhlich <[email protected]>2011-12-03 08:13:49 +0100
commitb14c06e10d570edcb4dcbea173d71751563616e7 (patch)
tree30c37b4f363a8dbe72c4e15ced1731935d81d124 /src/mesa/program/program_parse.y
parentb7a69cbb71304609245be43fa739c50969017ab8 (diff)
mesa: Use VERT_{ATTRIB,BIT}* for ARB input validation.
For validating ARB program inputs replace hard coded bitfield and attribute number with the appropriate VERT_{ATTRIB,BIT}* variant. This should fix: https://bugs.freedesktop.org/show_bug.cgi?id=43407 Signed-off-by: Mathias Froehlich <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/mesa/program/program_parse.y')
-rw-r--r--src/mesa/program/program_parse.y6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y
index 9fdb99db33c..4f958a99388 100644
--- a/src/mesa/program/program_parse.y
+++ b/src/mesa/program/program_parse.y
@@ -1110,7 +1110,7 @@ ATTRIB_statement: ATTRIB IDENTIFIER '=' attribBinding
YYERROR;
} else {
s->attrib_binding = $4;
- state->InputsBound |= (1U << s->attrib_binding);
+ state->InputsBound |= BITFIELD64_BIT(s->attrib_binding);
if (!validate_inputs(& @4, state)) {
YYERROR;
@@ -2403,9 +2403,9 @@ set_src_reg_swz(struct asm_src_register *r, gl_register_file file, GLint index,
int
validate_inputs(struct YYLTYPE *locp, struct asm_parser_state *state)
{
- const int inputs = state->prog->InputsRead | state->InputsBound;
+ const GLbitfield64 inputs = state->prog->InputsRead | state->InputsBound;
- if (((inputs & 0x0ffff) & (inputs >> 16)) != 0) {
+ if (((inputs & VERT_BIT_FF_ALL) & (inputs >> VERT_ATTRIB_GENERIC0)) != 0) {
yyerror(locp, state, "illegal use of generic attribute and name attribute");
return 0;
}