mesa: add bind_image_texture() helper

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
Samuel Pitoiset
2017-05-23 23:45:48 +02:00
parent 1f75915e1a
commit 3ca5da2704
+16 -7
View File
@@ -586,13 +586,27 @@ set_image_binding(struct gl_image_unit *u, struct gl_texture_object *texObj,
_mesa_reference_texobj(&u->TexObj, texObj);
}
static void
bind_image_texture(struct gl_context *ctx, struct gl_texture_object *texObj,
GLuint unit, GLint level, GLboolean layered, GLint layer,
GLenum access, GLenum format)
{
struct gl_image_unit *u;
u = &ctx->ImageUnits[unit];
FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewImageUnits;
set_image_binding(u, texObj, level, layered, layer, access, format);
}
void GLAPIENTRY
_mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
GLboolean layered, GLint layer, GLenum access,
GLenum format)
{
struct gl_texture_object *texObj = NULL;
struct gl_image_unit *u;
GET_CURRENT_CONTEXT(ctx);
@@ -600,11 +614,6 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
format))
return;
u = &ctx->ImageUnits[unit];
FLUSH_VERTICES(ctx, 0);
ctx->NewDriverState |= ctx->DriverFlags.NewImageUnits;
if (texture) {
texObj = _mesa_lookup_texture(ctx, texture);
@@ -631,7 +640,7 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
}
}
set_image_binding(u, texObj, level, layered, layer, access, format);
bind_image_texture(ctx, texObj, unit, level, layered, layer, access, format);
}
void GLAPIENTRY