# define MESA_FORMAT_SIGNED_RG_8 MESA_FORMAT_R8G8_SNORM
 #endif
 
-static mesa_format
-get_image_format(GLenum format)
+mesa_format
+_mesa_get_shader_image_format(GLenum format)
 {
    switch (format) {
    case GL_RGBA32F:
       return GL_FALSE;
    }
 
-   if (!get_image_format(format)) {
+   if (!_mesa_get_shader_image_format(format)) {
       _mesa_error(ctx, GL_INVALID_VALUE, "glBindImageTexture(format)");
       return GL_FALSE;
    }
       u->Level = level;
       u->Access = access;
       u->Format = format;
-      u->_ActualFormat = get_image_format(format);
+      u->_ActualFormat = _mesa_get_shader_image_format(format);
 
       if (_mesa_tex_target_is_layered(t->Target)) {
          u->Layered = layered;
             continue;
          }
 
-         actualFormat = get_image_format(image->InternalFormat);
+         actualFormat = _mesa_get_shader_image_format(image->InternalFormat);
 
          if (actualFormat == MESA_FORMAT_NONE) {
             /* The ARB_multi_bind spec says:
 
 #define SHADERIMAGE_H
 
 #include "glheader.h"
+#include "formats.h"
 
 struct gl_context;
 
+/**
+ * Get the matching mesa_format for a shader image format GL enum.
+ */
+mesa_format
+_mesa_get_shader_image_format(GLenum format);
+
 /**
  * Recalculate the \c _Valid flag of a context's shader image units.
  *