summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2011-03-12 00:15:22 +0100
committerMarek Olšák <maraeo@gmail.com>2011-03-15 15:58:12 +0100
commit9a9c1e1ae1d54af6d73dbdb393d80bf5ad37f28d (patch)
tree5d8e0ea9136b5d8771b487cf659cfc1e931d7de4 /src
parent7fa53f37e632880c9760aee31270841c83325709 (diff)
mesa: add display list support for NV_texture_barrier
Diffstat (limited to 'src')
-rw-r--r--src/mesa/main/dlist.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 4e463dd06a..0112d9dde3 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);