From 0f3aee888efa820cb9875cfebc83cf8cc855f599 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 3 Oct 2016 09:40:56 -0600 Subject: [PATCH] mesa: call ctx->Driver.TexParameter() in texture_buffer_range() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit To inform drivers of texture buffer offset/size changes, as we do for other texture object parameters. Reviewed-by: Nicolai Hähnle --- src/mesa/main/teximage.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index df8f0bcd454..411ec49efd1 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -5046,6 +5046,8 @@ texture_buffer_range(struct gl_context *ctx, GLintptr offset, GLsizeiptr size, const char *caller) { + GLintptr oldOffset = texObj->BufferOffset; + GLsizeiptr oldSize = texObj->BufferSize; mesa_format format; /* NOTE: ARB_texture_buffer_object has interactions with @@ -5078,6 +5080,17 @@ texture_buffer_range(struct gl_context *ctx, } _mesa_unlock_texture(ctx, texObj); + if (ctx->Driver.TexParameter) { + if (offset != oldOffset) { + ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_OFFSET, + (const GLfloat *) &offset); + } + if (size != oldSize) { + ctx->Driver.TexParameter(ctx, texObj, GL_TEXTURE_BUFFER_SIZE, + (const GLfloat *) &size); + } + } + ctx->NewDriverState |= ctx->DriverFlags.NewTextureBuffer; if (bufObj) { -- 2.30.2