Reviewed-by: Mark Janes <mark.a.ja...@intel.com> Eduardo Lima Mitev <el...@igalia.com> writes:
> From: Iago Toral Quiroga <ito...@igalia.com> > > 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* > --- > src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 4 +++- > src/mesa/drivers/dri/i965/gen8_surface_state.c | 4 +++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > index 29553cd..cc587ad 100644 > --- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c > @@ -24,6 +24,7 @@ > #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" > @@ -301,7 +302,8 @@ gen7_update_texture_surface(struct gl_context *ctx, > 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 > diff --git a/src/mesa/drivers/dri/i965/gen8_surface_state.c > b/src/mesa/drivers/dri/i965/gen8_surface_state.c > index 113404c..5f5efad 100644 > --- a/src/mesa/drivers/dri/i965/gen8_surface_state.c > +++ b/src/mesa/drivers/dri/i965/gen8_surface_state.c > @@ -25,6 +25,7 @@ > #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" > @@ -208,7 +209,8 @@ gen8_update_texture_surface(struct gl_context *ctx, > 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; > -- > 2.1.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev