Mesa (master): mesa: add display list support for NV_texture_barrier

Marek Olšák mareko at kemper.freedesktop.org
Tue Mar 15 14:59:17 UTC 2011


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sat Mar 12 00:15:22 2011 +0100

mesa: add display list support for NV_texture_barrier

---

 src/mesa/main/dlist.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 4e463dd..0112d9d 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -431,6 +431,9 @@ typedef enum
    /* GL_ARB_instanced_arrays */
    OPCODE_VERTEX_ATTRIB_DIVISOR,
 
+   /* GL_NV_texture_barrier */
+   OPCODE_TEXTURE_BARRIER_NV,
+
    /* The following three are meta instructions */
    OPCODE_ERROR,                /* raise compiled-in error */
    OPCODE_CONTINUE,
@@ -7031,6 +7034,18 @@ save_VertexAttribDivisor(GLuint index, GLuint divisor)
 }
 
 
+/* GL_NV_texture_barrier */
+static void
+save_TextureBarrierNV()
+{
+   GET_CURRENT_CONTEXT(ctx);
+   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+   alloc_instruction(ctx, OPCODE_TEXTURE_BARRIER_NV, 0);
+   if (ctx->ExecuteFlag) {
+      CALL_TextureBarrierNV(ctx->Exec, ());
+   }
+}
+
 
 /**
  * Save an error-generating command into display list.
@@ -8207,6 +8222,10 @@ execute_list(struct gl_context *ctx, GLuint list)
             CALL_VertexAttribDivisorARB(ctx->Exec, (n[1].ui, n[2].ui));
             break;
 
+         case OPCODE_TEXTURE_BARRIER_NV:
+            CALL_TextureBarrierNV(ctx->Exec, ());
+            break;
+
          case OPCODE_CONTINUE:
             n = (Node *) n[1].next;
             break;
@@ -9881,6 +9900,9 @@ _mesa_create_save_table(void)
    /* GL_ARB_instanced_arrays */
    SET_VertexAttribDivisorARB(table, save_VertexAttribDivisor);
 
+   /* GL_NV_texture_barrier */
+   SET_TextureBarrierNV(table, save_TextureBarrierNV);
+
    /* GL_ARB_draw_buffer_blend */
    SET_BlendFunciARB(table, save_BlendFunci);
    SET_BlendFuncSeparateiARB(table, save_BlendFuncSeparatei);




More information about the mesa-commit mailing list