-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 04/13/2011 12:27 PM, Eric Anholt wrote: > Fixes fbo-drawbuffers-arbfp. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321
I've been using References: for this lately, and I think Chris has too. I don't care which we use, but I want to use just one. It make grepping through 'git log' a lot easier. What do people typically do in the kernel? I didn't see anything in Documentation/SubmittingPatches. Aside from the comment about the comments in 2/3, Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/mesa/program/program_parse.y | 29 +++++++++++++++++++++++++++++ > src/mesa/program/program_parser.h | 1 + > 2 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/src/mesa/program/program_parse.y > b/src/mesa/program/program_parse.y > index 19aa8cc..b35bc5a 100644 > --- a/src/mesa/program/program_parse.y > +++ b/src/mesa/program/program_parse.y > @@ -2064,6 +2064,34 @@ optResultFaceType: > ? VERT_RESULT_COL0 > : FRAG_RESULT_COLOR; > } > + | '[' INTEGER ']' > + { > + if (state->mode == ARB_vertex) { > + yyerror(& @1, state, "invalid program result name"); > + YYERROR; > + } else { > + if (!state->option.DrawBuffers) { > + /* From the ARB_draw_buffers spec (same text exists > + * for ATI_draw_buffers): > + * > + * If this option is not specified, a fragment > + * program that attempts to bind > + * "result.color[n]" will fail to load, and only > + * "result.color" will be allowed. > + */ > + yyerror(& @1, state, > + "result.color[] used without " > + "`OPTION ARB_draw_buffers' or " > + "`OPTION ATI_draw_buffers'"); > + YYERROR; > + } else if ($2 >= state->MaxDrawBuffers) { > + yyerror(& @1, state, > + "result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); > + YYERROR; > + } > + $$ = FRAG_RESULT_DATA0 + $2; > + } > + } > | FRONT > { > if (state->mode == ARB_vertex) { > @@ -2681,6 +2709,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum > target, const GLubyte *st > state->MaxClipPlanes = ctx->Const.MaxClipPlanes; > state->MaxLights = ctx->Const.MaxLights; > state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; > + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; > > state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) > ? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; > diff --git a/src/mesa/program/program_parser.h > b/src/mesa/program/program_parser.h > index d689eef..8e5aaee 100644 > --- a/src/mesa/program/program_parser.h > +++ b/src/mesa/program/program_parser.h > @@ -173,6 +173,7 @@ struct asm_parser_state { > unsigned MaxClipPlanes; > unsigned MaxLights; > unsigned MaxProgramMatrices; > + unsigned MaxDrawBuffers; > /*@}*/ > > /** -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEUEARECAAYFAk2mMHQACgkQX1gOwKyEAw/AggCgh++GLUtXq1yWgC65mxu+j9wq 7H0AmLUv9vV0pCkIOdF5omNkhcFeW4w= =BTCi -----END PGP SIGNATURE----- _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev