Mesa (master): prog_execute: Implement OPCODE_TXL

Ian Romanick idr at kemper.freedesktop.org
Tue Aug 24 17:32:41 UTC 2010


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

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Aug 17 17:40:20 2010 -0700

prog_execute: Implement OPCODE_TXL

Fixes bugzilla #29628

---

 src/mesa/program/prog_execute.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/mesa/program/prog_execute.c b/src/mesa/program/prog_execute.c
index 1222a0f..ff8c20c 100644
--- a/src/mesa/program/prog_execute.c
+++ b/src/mesa/program/prog_execute.c
@@ -1679,6 +1679,22 @@ _mesa_execute_program(GLcontext * ctx,
             store_vector4(inst, machine, color);
          }
          break;
+      case OPCODE_TXL:
+         /* Texel lookup with explicit LOD */
+         {
+            GLfloat texcoord[4], color[4], lod;
+
+            fetch_vector4(&inst->SrcReg[0], machine, texcoord);
+
+            /* texcoord[3] is the LOD */
+            lod = texcoord[3];
+
+	    machine->FetchTexelLod(ctx, texcoord, lod,
+				   machine->Samplers[inst->TexSrcUnit], color);
+
+            store_vector4(inst, machine, color);
+         }
+         break;
       case OPCODE_TXP:         /* GL_ARB_fragment_program only */
          /* Texture lookup w/ projective divide */
          {




More information about the mesa-commit mailing list