nir: remove redundant option linker_ignore_precision

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32779>
This commit is contained in:
Marek Olšák 2024-12-24 16:48:11 -05:00 committed by Marge Bot
parent 730c8d506f
commit a7ad1b302b
4 changed files with 4 additions and 10 deletions

View file

@ -4280,11 +4280,6 @@ typedef struct nir_shader_compiler_options {
bool lower_uniforms_to_ubo;
/* If the precision is ignored, backends that don't handle
* different precisions when passing data between stages and use
* vectorized IO can pack more varyings when linking. */
bool linker_ignore_precision;
/* Specifies if indirect sampler array access will trigger forced loop
* unrolling.
*/

View file

@ -653,7 +653,7 @@ gather_varying_component_info(nir_shader *producer, nir_shader *consumer,
vc_info->is_32bit = glsl_type_is_32bit(type);
vc_info->is_patch = in_var->data.patch;
vc_info->is_per_primitive = in_var->data.per_primitive;
vc_info->is_mediump = !producer->options->linker_ignore_precision &&
vc_info->is_mediump = !(producer->options->io_options & nir_io_mediump_is_32bit) &&
(in_var->data.precision == GLSL_PRECISION_MEDIUM ||
in_var->data.precision == GLSL_PRECISION_LOW);
vc_info->is_intra_stage_only = false;
@ -719,7 +719,7 @@ gather_varying_component_info(nir_shader *producer, nir_shader *consumer,
vc_info->is_32bit = glsl_type_is_32bit(type);
vc_info->is_patch = out_var->data.patch;
vc_info->is_per_primitive = out_var->data.per_primitive;
vc_info->is_mediump = !producer->options->linker_ignore_precision &&
vc_info->is_mediump = !(producer->options->io_options & nir_io_mediump_is_32bit) &&
(out_var->data.precision == GLSL_PRECISION_MEDIUM ||
out_var->data.precision == GLSL_PRECISION_LOW);
vc_info->is_intra_stage_only = true;

View file

@ -1396,13 +1396,13 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
.lower_ufind_msb = true,
.lower_to_scalar = true,
.lower_to_scalar_filter = r600_lower_to_scalar_instr_filter,
.linker_ignore_precision = true,
.lower_fpow = true,
.lower_int64_options = ~0,
.lower_cs_local_index_to_id = true,
.lower_uniforms_to_ubo = true,
.lower_image_offset_to_range_base = 1,
.vectorize_tess_levels = 1,
.io_options = nir_io_mediump_is_32bit,
};
rscreen->nir_options = nir_options;

View file

@ -157,12 +157,11 @@ nir_options = {
.max_unroll_iterations = 32, /* arbitrary */
.force_indirect_unrolling = (nir_var_shader_in | nir_var_shader_out),
.lower_device_index_to_zero = true,
.linker_ignore_precision = true,
.support_16bit_alu = true,
.preserve_mediump = true,
.discard_is_demote = true,
.scalarize_ddx = true,
.io_options = nir_io_dont_use_pos_for_non_fs_varyings,
.io_options = nir_io_dont_use_pos_for_non_fs_varyings | nir_io_mediump_is_32bit,
};
const nir_shader_compiler_options*