mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 09:50:08 +01:00
nir: Preserve offsets in lower_io_to_scalar_early
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
This commit is contained in:
parent
b2bbd978d0
commit
96fa23bca5
1 changed files with 8 additions and 0 deletions
|
|
@ -192,6 +192,10 @@ lower_load_to_scalar_early(nir_builder *b, nir_intrinsic_instr *intr,
|
|||
chan_var = nir_variable_clone(var, b->shader);
|
||||
chan_var->data.location_frac = var->data.location_frac + i;
|
||||
chan_var->type = glsl_channel_type(chan_var->type);
|
||||
if (var->data.explicit_offset) {
|
||||
unsigned comp_size = glsl_get_bit_size(chan_var->type) / 8;
|
||||
chan_var->data.offset = var->data.offset + i * comp_size;
|
||||
}
|
||||
|
||||
chan_vars[var->data.location_frac + i] = chan_var;
|
||||
|
||||
|
|
@ -246,6 +250,10 @@ lower_store_output_to_scalar_early(nir_builder *b, nir_intrinsic_instr *intr,
|
|||
chan_var = nir_variable_clone(var, b->shader);
|
||||
chan_var->data.location_frac = var->data.location_frac + i;
|
||||
chan_var->type = glsl_channel_type(chan_var->type);
|
||||
if (var->data.explicit_offset) {
|
||||
unsigned comp_size = glsl_get_bit_size(chan_var->type) / 8;
|
||||
chan_var->data.offset = var->data.offset + i * comp_size;
|
||||
}
|
||||
|
||||
chan_vars[var->data.location_frac + i] = chan_var;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue