intel/vec4: Retype texture/sampler indexes to UD

generate_tex() asserts that sampler_index.type == UD, but commit
83fd7a5ed1 removed the uint temporary, which caused us to see D at
some points.  Really, either should be fine, but let's just put the
UD retype back.  This fixes a ton of things in crocus.

Fixes: 83fd7a5ed1 ("intel: Use nir_lower_tex_options::lower_index_to_offset")
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21974>
This commit is contained in:
Kenneth Graunke
2023-03-16 14:53:50 -07:00
committed by Marge Bot
parent 49885f87c3
commit 84197bc0a4

View File

@@ -1949,13 +1949,15 @@ vec4_visitor::nir_emit_texture(nir_tex_instr *instr)
case nir_tex_src_texture_offset: {
assert(texture_reg.is_zero());
texture_reg = emit_uniformize(get_nir_src(instr->src[i].src, 1));
texture_reg = emit_uniformize(get_nir_src(instr->src[i].src,
BRW_REGISTER_TYPE_UD, 1));
break;
}
case nir_tex_src_sampler_offset: {
assert(sampler_reg.is_zero());
sampler_reg = emit_uniformize(get_nir_src(instr->src[i].src, 1));
sampler_reg = emit_uniformize(get_nir_src(instr->src[i].src,
BRW_REGISTER_TYPE_UD, 1));
break;
}