Mesa (master): util: add util_resource_is_array_texture()

Chia-I Wu olv at kemper.freedesktop.org
Fri Jun 7 17:40:32 UTC 2013


Module: Mesa
Branch: master
Commit: d6c2708e1eb319e577f61ea137471a1966d231ab
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6c2708e1eb319e577f61ea137471a1966d231ab

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Fri Jun  7 14:52:48 2013 +0800

util: add util_resource_is_array_texture()

Checking if array_size is greater than 1 is not enough for single-layered
array textures.

Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/util/u_resource.h |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_resource.h b/src/gallium/auxiliary/util/u_resource.h
index 977e013..a5e091f 100644
--- a/src/gallium/auxiliary/util/u_resource.h
+++ b/src/gallium/auxiliary/util/u_resource.h
@@ -26,9 +26,27 @@
 #ifndef U_RESOURCE_H
 #define U_RESOURCE_H
 
-struct pipe_resource;
+#include "pipe/p_state.h"
 
 unsigned
 util_resource_size(const struct pipe_resource *res);
 
+/**
+ * Return true if the resource is an array texture.
+ *
+ * Note that this function returns true for single-layered array textures.
+ */
+static INLINE boolean
+util_resource_is_array_texture(const struct pipe_resource *res)
+{
+   switch (res->target) {
+   case PIPE_TEXTURE_1D_ARRAY:
+   case PIPE_TEXTURE_2D_ARRAY:
+   case PIPE_TEXTURE_CUBE_ARRAY:
+      return TRUE;
+   default:
+      return FALSE;
+   }
+}
+
 #endif




More information about the mesa-commit mailing list