aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/main/teximage.c22
-rw-r--r--src/mesa/main/teximage.h3
2 files changed, 25 insertions, 0 deletions
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index c65d6ab7e9e..81a3f1515c2 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -739,6 +739,28 @@ _mesa_is_proxy_texture(GLenum target)
/**
+ * Test if a target is an array target.
+ *
+ * \param target texture target.
+ *
+ * \return true if the target is an array target, false otherwise.
+ */
+bool
+_mesa_is_array_texture(GLenum target)
+{
+ switch (target) {
+ case GL_TEXTURE_1D_ARRAY:
+ case GL_TEXTURE_2D_ARRAY:
+ case GL_TEXTURE_CUBE_MAP_ARRAY:
+ case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
+ return true;
+ default:
+ return false;
+ };
+}
+
+
+/**
* Return the proxy target which corresponds to the given texture target
*/
static GLenum
diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h
index 02b0eda3858..b7336bc6cdb 100644
--- a/src/mesa/main/teximage.h
+++ b/src/mesa/main/teximage.h
@@ -66,6 +66,9 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat );
extern GLboolean
_mesa_is_proxy_texture(GLenum target);
+extern bool
+_mesa_is_array_texture(GLenum target);
+
extern struct gl_texture_image *
_mesa_new_texture_image( struct gl_context *ctx );