diff options
author | marha <marha@users.sourceforge.net> | 2011-04-12 12:47:58 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-04-12 12:47:58 +0000 |
commit | 7730393619080086530e24d3b594351b4114f608 (patch) | |
tree | 582900958a9de9e787833ae72ea1a60181ba5965 /mesalib/src/mesa/main/dlist.c | |
parent | 2fb58f16eeec8ef3ec2a25e246477aab64e38a7d (diff) | |
download | vcxsrv-7730393619080086530e24d3b594351b4114f608.tar.gz vcxsrv-7730393619080086530e24d3b594351b4114f608.tar.bz2 vcxsrv-7730393619080086530e24d3b594351b4114f608.zip |
mesa libXext pixman git update 12 Apr 2011
Diffstat (limited to 'mesalib/src/mesa/main/dlist.c')
-rw-r--r-- | mesalib/src/mesa/main/dlist.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index 7e86f1d0e..f66082e7f 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -49,6 +49,7 @@ #include "eval.h" #include "framebuffer.h" #include "glapi/glapi.h" +#include "glapidispatch.h" #include "hash.h" #include "image.h" #include "light.h" @@ -437,6 +438,9 @@ typedef enum /* GL_NV_texture_barrier */ OPCODE_TEXTURE_BARRIER_NV, + /* GL_ARB_sampler_object */ + OPCODE_BIND_SAMPLER, + /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -7066,6 +7070,24 @@ save_TextureBarrierNV(void) } +/* GL_ARB_sampler_objects */ +static void +save_BindSampler(GLuint unit, GLuint sampler) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BIND_SAMPLER, 2); + if (n) { + n[1].ui = unit; + n[2].ui = sampler; + } + if (ctx->ExecuteFlag) { + CALL_BindSampler(ctx->Exec, (unit, sampler)); + } +} + + /** * Save an error-generating command into display list. * @@ -8249,6 +8271,10 @@ execute_list(struct gl_context *ctx, GLuint list) CALL_TextureBarrierNV(ctx->Exec, ()); break; + case OPCODE_BIND_SAMPLER: + CALL_BindSampler(ctx->Exec, (n[1].ui, n[2].ui)); + break; + case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -9930,6 +9956,9 @@ _mesa_create_save_table(void) /* GL_NV_texture_barrier */ SET_TextureBarrierNV(table, save_TextureBarrierNV); + /* GL_ARB_sampler_objects */ + SET_BindSampler(table, save_BindSampler); + /* GL_ARB_draw_buffer_blend */ SET_BlendFunciARB(table, save_BlendFunci); SET_BlendFuncSeparateiARB(table, save_BlendFuncSeparatei); |