From: Chia-I Wu Date: Fri, 7 Jun 2013 06:52:48 +0000 (+0800) Subject: util: add util_resource_is_array_texture() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d6c2708e1eb319e577f61ea137471a1966d231ab;p=mesa.git 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 Reviewed-by: Brian Paul --- diff --git a/src/gallium/auxiliary/util/u_resource.h b/src/gallium/auxiliary/util/u_resource.h index 977e0136bea..a5e091fd66e 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