diff options
author | Marek Olšák <[email protected]> | 2011-03-12 00:15:22 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2011-03-15 15:58:12 +0100 |
commit | 9a9c1e1ae1d54af6d73dbdb393d80bf5ad37f28d (patch) | |
tree | 5d8e0ea9136b5d8771b487cf659cfc1e931d7de4 /src/mesa/main/dlist.c | |
parent | 7fa53f37e632880c9760aee31270841c83325709 (diff) |
mesa: add display list support for NV_texture_barrier
Diffstat (limited to 'src/mesa/main/dlist.c')
-rw-r--r-- | 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 4e463dd06a1..0112d9dde36 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); |