These will be lowered by nir_lower_tex() with the
lower_tex_when_implicit_lod_not_supported, so don't need the extra
handling here.
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
srcs[TEX_LOGICAL_SRC_COORD_COMPONENTS] = brw_imm_d(instr->coord_components);
srcs[TEX_LOGICAL_SRC_GRAD_COMPONENTS] = brw_imm_d(lod_components);
- bool shader_supports_implicit_lod = stage == MESA_SHADER_FRAGMENT ||
- (stage == MESA_SHADER_COMPUTE &&
- nir->info.cs.derivative_group != DERIVATIVE_GROUP_NONE);
-
enum opcode opcode;
switch (instr->op) {
case nir_texop_tex:
- opcode = shader_supports_implicit_lod ?
- SHADER_OPCODE_TEX_LOGICAL : SHADER_OPCODE_TXL_LOGICAL;
+ opcode = SHADER_OPCODE_TEX_LOGICAL;
break;
case nir_texop_txb:
opcode = FS_OPCODE_TXB_LOGICAL;
.lower_txp = ~0,
.lower_txf_offset = true,
.lower_rect_offset = true,
+ .lower_tex_without_implicit_lod = true,
.lower_txd_cube_map = true,
.lower_txb_shadow_clamp = true,
.lower_txd_shadow_clamp = true,