From: Eric Anholt Date: Thu, 27 Dec 2018 07:15:30 +0000 (-0800) Subject: v3d: Force sampling from base level for tg4. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=47caefc7b4e239bb7e9486a799e618e5614e4924;p=mesa.git v3d: Force sampling from base level for tg4. This is what the GLSL ES 310 spec tells us to do, but apparently the "gather mode" flag doesn't imply it in the HW. Fixes dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear --- diff --git a/src/broadcom/compiler/v3d40_tex.c b/src/broadcom/compiler/v3d40_tex.c index 3cb96e1204d..c12d14c6fe6 100644 --- a/src/broadcom/compiler/v3d40_tex.c +++ b/src/broadcom/compiler/v3d40_tex.c @@ -78,6 +78,8 @@ v3d40_vir_emit_tex(struct v3d_compile *c, nir_tex_instr *instr) .gather_component = instr->component, .coefficient_mode = instr->op == nir_texop_txd, + + .disable_autolod = instr->op == nir_texop_tg4 }; int non_array_components = instr->coord_components - instr->is_array; @@ -119,10 +121,8 @@ v3d40_vir_emit_tex(struct v3d_compile *c, nir_tex_instr *instr) ntq_get_src(c, instr->src[i].src, 0), &tmu_writes); - if (instr->op != nir_texop_txf && - instr->op != nir_texop_tg4) { + if (instr->op != nir_texop_txf) p2_unpacked.disable_autolod = true; - } break; case nir_tex_src_comparator: