mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 05:58:05 +02:00
i965: Make sure we always mark array surfaces as such
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>
This commit is contained in:
parent
8b0b81339b
commit
47597f8f5c
2 changed files with 6 additions and 2 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue