etnaviv: lower (un)pack_{2x16,2x32}_split and extract_{byte,word}
Signed-off-by: Italo Nicola <italonicola@collabora.com> Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22210>
This commit is contained in:
@@ -53,6 +53,8 @@ etna_compiler_create(const char *renderer, const struct etna_specs *specs)
|
||||
.lower_fmod = true,
|
||||
.lower_vector_cmp = true,
|
||||
.lower_fdph = true,
|
||||
.lower_extract_byte = true,
|
||||
.lower_extract_word = true,
|
||||
.lower_insert_byte = true,
|
||||
.lower_insert_word = true,
|
||||
.lower_fdiv = true, /* !specs->has_new_transcendentals */
|
||||
@@ -67,6 +69,10 @@ etna_compiler_create(const char *renderer, const struct etna_specs *specs)
|
||||
.force_indirect_unrolling = nir_var_all,
|
||||
.max_unroll_iterations = 32,
|
||||
.vectorize_io = true,
|
||||
.lower_pack_32_2x16_split = true,
|
||||
.lower_pack_64_2x32_split = true,
|
||||
.lower_unpack_32_2x16_split = true,
|
||||
.lower_unpack_64_2x32_split = true,
|
||||
};
|
||||
|
||||
compiler->regs = etna_ra_setup(compiler);
|
||||
|
@@ -1148,6 +1148,8 @@ etna_compile_shader(struct etna_shader_variant *v)
|
||||
etna_optimize_loop(s);
|
||||
|
||||
NIR_PASS_V(s, etna_lower_io, v);
|
||||
NIR_PASS_V(s, nir_lower_pack);
|
||||
etna_optimize_loop(s);
|
||||
|
||||
if (v->shader->specs->vs_need_z_div)
|
||||
NIR_PASS_V(s, nir_lower_clip_halfz);
|
||||
|
Reference in New Issue
Block a user