Even if they only have one slice, otherwise textureSize() won't
produce correct results for the depth value.
Fixes 10 dEQP tests in this category:
dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2darray*
Reviewed-by: Mark Janes <mark.a.janes at intel.com>
#include "main/blend.h"
#include "main/samplerobj.h"
#include "main/texformat.h"
+#include "main/teximage.h"
#include "program/prog_parameter.h"
#include "intel_mipmap_tree.h"
if (mt->align_w == 8)
surf[0] |= GEN7_SURFACE_HALIGN_8;
- if (mt->logical_depth0 > 1 && tObj->Target != GL_TEXTURE_3D)
+ if (_mesa_is_array_texture(tObj->Target) ||
+ tObj->Target == GL_TEXTURE_CUBE_MAP)
surf[0] |= GEN7_SURFACE_IS_ARRAY;
/* if this is a view with restricted NumLayers, then
#include "main/mtypes.h"
#include "main/samplerobj.h"
#include "main/texformat.h"
+#include "main/teximage.h"
#include "program/prog_parameter.h"
#include "intel_mipmap_tree.h"
surf[0] |= BRW_SURFACE_CUBEFACE_ENABLES;
}
- if (mt->logical_depth0 > 1 && tObj->Target != GL_TEXTURE_3D)
+ if (_mesa_is_array_texture(tObj->Target) ||
+ tObj->Target == GL_TEXTURE_CUBE_MAP)
surf[0] |= GEN8_SURFACE_IS_ARRAY;
surf[1] = SET_FIELD(mocs_wb, GEN8_SURFACE_MOCS) | mt->qpitch >> 2;