[Mesa-dev] [PATCH 2/4] mesa: Set UsesDFdy appropriately for assembly programs.

Brian Paul brianp at vmware.com
Wed Jul 18 14:16:30 PDT 2012


On 07/18/2012 01:16 PM, Paul Berry wrote:
> ---
>   src/mesa/program/arbprogparse.c   |    1 +
>   src/mesa/program/program_parse.y  |    2 ++
>   src/mesa/program/program_parser.h |    1 +
>   3 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/src/mesa/program/arbprogparse.c b/src/mesa/program/arbprogparse.c
> index dffc8ab..72e51dd 100644
> --- a/src/mesa/program/arbprogparse.c
> +++ b/src/mesa/program/arbprogparse.c
> @@ -120,6 +120,7 @@ _mesa_parse_arb_fragment_program(struct gl_context* ctx, GLenum target,
>      program->PixelCenterInteger = state.option.PixelCenterInteger;
>
>      program->UsesKill            = state.fragment.UsesKill;
> +   program->UsesDFdy            = state.fragment.UsesDFdy;
>
>      if (program->Base.Instructions)
>         free(program->Base.Instructions);
> diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y
> index 4f958a9..54b1731 100644
> --- a/src/mesa/program/program_parse.y
> +++ b/src/mesa/program/program_parse.y
> @@ -382,6 +382,8 @@ ARL_instruction: ARL maskedAddrReg ',' scalarSrcReg
>
>   VECTORop_instruction: VECTOR_OP maskedDstReg ',' swizzleSrcReg
>   	{
> +	   if ($1.Opcode == OPCODE_DDY)
> +	      state->fragment.UsesDFdy = 1;
>   	   $$ = asm_instruction_copy_ctor(&  $1,&  $2,&  $4, NULL, NULL);
>   	}
>   	;
> diff --git a/src/mesa/program/program_parser.h b/src/mesa/program/program_parser.h
> index bc75614..ca36bb6 100644
> --- a/src/mesa/program/program_parser.h
> +++ b/src/mesa/program/program_parser.h
> @@ -214,6 +214,7 @@ struct asm_parser_state {
>
>      struct {
>         unsigned UsesKill:1;
> +      unsigned UsesDFdy:1;
>      } fragment;
>   };
>

Reviewed-by: Brian Paul <brianp at vmware.com>


More information about the mesa-dev mailing list