mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-24 08:28:16 +02:00
jay: annotate pure sends
for scheduling, CSE, etc Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41688>
This commit is contained in:
parent
c069b7e47c
commit
e72ffb0046
3 changed files with 6 additions and 1 deletions
|
|
@ -453,6 +453,7 @@ struct jayb_send_params {
|
|||
bool check_tdr;
|
||||
bool uniform;
|
||||
bool bindless;
|
||||
bool pure;
|
||||
};
|
||||
|
||||
static inline jay_inst *
|
||||
|
|
@ -572,6 +573,7 @@ _jay_SEND(jay_builder *b, const struct jayb_send_params p)
|
|||
info->check_tdr = p.check_tdr;
|
||||
info->uniform = p.uniform;
|
||||
info->bindless = p.bindless;
|
||||
info->pure = p.pure;
|
||||
info->ex_desc_imm = p.ex_desc_imm;
|
||||
info->ex_mlen = lens[2];
|
||||
I->src[0] = jay_imm(((uint32_t) p.msg_desc) |
|
||||
|
|
|
|||
|
|
@ -1092,6 +1092,7 @@ jay_emit_mem_access(struct nir_to_jay_state *nj, nir_intrinsic_instr *intr)
|
|||
jay_SEND(b, .sfid = sfid, .msg_desc = desc, .srcs = srcs,
|
||||
.nr_srcs = jay_is_null(data) ? 1 : 2, .dst = tmp, .type = data_type,
|
||||
.src_type = { offset_type, data_type }, .uniform = uniform,
|
||||
.pure = nir_intrinsic_can_reorder(intr),
|
||||
.bindless = surf_type == LSC_ADDR_SURFTYPE_BSS, .ex_desc = ex_desc,
|
||||
.ex_desc_imm = ex_desc_imm);
|
||||
|
||||
|
|
@ -2025,7 +2026,7 @@ jay_emit_texture(struct nir_to_jay_state *nj, nir_tex_instr *tex)
|
|||
.ex_desc = desc_ex_src, .header = header, .srcs = payload,
|
||||
.nr_srcs = n_sources, .type = JAY_TYPE_U32,
|
||||
.src_type = { src_type }, .dst = tmp, .uniform = payload_uniform,
|
||||
.bindless = surface_bindless);
|
||||
.bindless = surface_bindless, .pure = true);
|
||||
|
||||
/* If we sampled into a temporary, copy out to the final */
|
||||
if (residency) {
|
||||
|
|
|
|||
|
|
@ -143,9 +143,11 @@ op('send', 4, None, Props.SIDE_EFFECTS, [
|
|||
'bool check_tdr',
|
||||
'bool uniform',
|
||||
'bool bindless',
|
||||
'bool pure',
|
||||
'enum jay_type type_0',
|
||||
'enum jay_type type_1',
|
||||
'uint8_t ex_mlen',
|
||||
'bool pad[3]',
|
||||
'uint32_t ex_desc_imm',
|
||||
])
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue