mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 09:28:07 +02:00
Revert "hasvk/elk: stop turning load_push_constants into load_uniform"
This reverts commit b036d2ded2.
This seems to break gtk4 and other stuff.
Cc: mesa-stable
(taking ack from Lionel saying we should revert)
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35407>
This commit is contained in:
parent
ac042d1178
commit
870b8717b2
3 changed files with 6 additions and 7 deletions
|
|
@ -4969,8 +4969,7 @@ fs_nir_emit_intrinsic(nir_to_elk_state &ntb,
|
|||
break;
|
||||
}
|
||||
|
||||
case nir_intrinsic_load_uniform:
|
||||
case nir_intrinsic_load_push_constant: {
|
||||
case nir_intrinsic_load_uniform: {
|
||||
/* Offsets are in bytes but they should always aligned to
|
||||
* the type size
|
||||
*/
|
||||
|
|
@ -7058,3 +7057,4 @@ nir_to_elk(elk_fs_visitor *s)
|
|||
|
||||
ralloc_free(ntb.mem_ctx);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -463,9 +463,9 @@ build_buffer_addr_for_res_index(nir_builder *b,
|
|||
nir_iadd(b, res.dyn_offset_base, res.array_index);
|
||||
|
||||
nir_def *dyn_load =
|
||||
nir_load_uniform(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
|
||||
.base = offsetof(struct anv_push_constants, dynamic_offsets),
|
||||
.range = MAX_DYNAMIC_BUFFERS * 4);
|
||||
nir_load_push_constant(b, 1, 32, nir_imul_imm(b, dyn_offset_idx, 4),
|
||||
.base = offsetof(struct anv_push_constants, dynamic_offsets),
|
||||
.range = MAX_DYNAMIC_BUFFERS * 4);
|
||||
|
||||
nir_def *dynamic_offset =
|
||||
nir_bcsel(b, nir_ieq_imm(b, res.dyn_offset_base, 0xff),
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|||
has_const_ubo = true;
|
||||
break;
|
||||
|
||||
case nir_intrinsic_load_uniform:
|
||||
case nir_intrinsic_load_push_constant: {
|
||||
unsigned base = nir_intrinsic_base(intrin);
|
||||
unsigned range = nir_intrinsic_range(intrin);
|
||||
|
|
@ -132,7 +131,6 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|||
|
||||
nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
|
||||
switch (intrin->intrinsic) {
|
||||
case nir_intrinsic_load_uniform:
|
||||
case nir_intrinsic_load_push_constant: {
|
||||
/* With bindless shaders we load uniforms with SEND
|
||||
* messages. All the push constants are located after the
|
||||
|
|
@ -141,6 +139,7 @@ anv_nir_compute_push_layout(nir_shader *nir,
|
|||
* elk_nir_lower_rt_intrinsics.c).
|
||||
*/
|
||||
unsigned base_offset = push_start;
|
||||
intrin->intrinsic = nir_intrinsic_load_uniform;
|
||||
nir_intrinsic_set_base(intrin,
|
||||
nir_intrinsic_base(intrin) -
|
||||
base_offset);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue