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 <bri...@vmware.com>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to