From 9a9c1e1ae1d54af6d73dbdb393d80bf5ad37f28d Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 12 Mar 2011 00:15:22 +0100 Subject: mesa: add display list support for NV_texture_barrier --- src/mesa/main/dlist.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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); -- cgit v1.2.3