nir: Add a new nir_texop_gradient_pan

Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41036>
This commit is contained in:
Faith Ekstrand 2026-04-13 13:22:35 -04:00 committed by Marge Bot
parent e0fffabda7
commit 58cba7887a
4 changed files with 12 additions and 0 deletions

View file

@ -3509,6 +3509,9 @@ nir_tex_instr_result_size(const nir_tex_instr *instr)
case nir_texop_sample_pos_nv:
return 4;
case nir_texop_gradient_pan:
return 2;
case nir_texop_custom_border_color_agx:
return 4;
@ -3562,6 +3565,7 @@ nir_tex_instr_is_query(const nir_tex_instr *instr)
case nir_texop_samples_identical:
case nir_texop_fragment_mask_fetch_amd:
case nir_texop_fragment_fetch_amd:
case nir_texop_gradient_pan:
case nir_texop_sample_weighted_qcom:
case nir_texop_box_filter_qcom:
case nir_texop_block_match_sad_qcom:

View file

@ -2536,6 +2536,8 @@ typedef enum nir_texop {
nir_texop_tex_type_nv,
/** Maps to TXQ.SAMPLER_POS */
nir_texop_sample_pos_nv,
/** Maps to TEX_GRADIENT */
nir_texop_gradient_pan,
/**
* Returns the weighted average of a region of texels in the texture, using
* the filter kernel sampled from ref_texture. (VK_QCOM_image_processing)

View file

@ -1990,6 +1990,9 @@ print_tex_instr(nir_tex_instr *instr, print_state *state)
case nir_texop_sample_pos_nv:
fprintf(fp, "sample_pos_nv ");
break;
case nir_texop_gradient_pan:
fprintf(fp, "gradient_pan ");
break;
case nir_texop_sample_weighted_qcom:
fprintf(fp, "sample_weighted_qcom ");
break;

View file

@ -3807,6 +3807,9 @@ vtn_handle_texture(struct vtn_builder *b, SpvOp opcode,
case nir_texop_sample_pos_nv:
vtn_fail("unexpected nir_texop_*_nv");
break;
case nir_texop_gradient_pan:
vtn_fail("unexpected nir_texop_*_pan");
break;
case nir_texop_resinfo_intel:
case nir_texop_sparse_residency_intel:
case nir_texop_sparse_residency_txf_intel: