[Mesa-dev] [PATCH 3/5] mesa: add bind_image_texture() helper

Samuel Pitoiset samuel.pitoiset at gmail.com
Tue May 23 21:45:48 UTC 2017


Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/mesa/main/shaderimage.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c
index ad9fdb0e9bc..19011d80b9e 100644
--- a/src/mesa/main/shaderimage.c
+++ b/src/mesa/main/shaderimage.c
@@ -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
-- 
2.13.0



More information about the mesa-dev mailing list