Mesa (master): mesa: Set UsesDFdy appropriately for assembly programs.

Paul Berry stereotype441 at kemper.freedesktop.org
Thu Jul 19 17:05:01 UTC 2012


Module: Mesa
Branch: master
Commit: a0f7b869592013b24a5bacf0ceb2bdb1e9146378
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0f7b869592013b24a5bacf0ceb2bdb1e9146378

Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Jun 20 12:33:06 2012 -0700

mesa: Set UsesDFdy appropriately for assembly programs.

Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

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




More information about the mesa-commit mailing list