[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