-----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

Reply via email to