pan/bi: Add missing sr_count to pseudo-atomics

Fixes missing prints for these.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10392>
This commit is contained in:
Alyssa Rosenzweig 2021-05-03 10:57:40 -04:00 committed by Marge Bot
parent d918a59d15
commit f9070f937f
2 changed files with 8 additions and 9 deletions

View File

@ -8203,6 +8203,8 @@
<opt>aor</opt>
<opt>axor</opt>
</mod>
<!-- not actually encoded, but used for IR -->
<immediate name="sr_count" size="4" pseudo="true"/>
</ins>
<ins name="+PATOM_C1.i32" pseudo="true" staging="w=sr_count" message="atomic">
@ -8215,6 +8217,8 @@
<opt>asmax1</opt>
<opt>aor1</opt>
</mod>
<!-- not actually encoded, but used for IR -->
<immediate name="sr_count" size="4" pseudo="true"/>
</ins>
<!-- *CUBEFACE1/+CUBEFACE2 pair, two destinations, scheduler lowered -->

View File

@ -865,21 +865,16 @@ bi_emit_atomic_i32_to(bi_builder *b, bi_index dst,
enum bi_atom_opc opc = bi_atom_opc_for_nir(intrinsic);
enum bi_atom_opc post_opc = opc;
bi_instr *I;
/* Generate either ATOM_C or ATOM_C1 as required */
if (bi_promote_atom_c1(opc, arg, &opc)) {
I = bi_patom_c1_i32_to(b, sr, bi_word(addr, 0),
bi_word(addr, 1), opc);
bi_patom_c1_i32_to(b, sr, bi_word(addr, 0),
bi_word(addr, 1), opc, 2);
} else {
bi_mov_i32_to(b, sr, arg);
I = bi_patom_c_i32_to(b, sr, sr, bi_word(addr, 0),
bi_word(addr, 1), opc);
bi_patom_c_i32_to(b, sr, sr, bi_word(addr, 0),
bi_word(addr, 1), opc, 2);
}
I->sr_count = 2;
/* Post-process it */
bi_atom_post_i32_to(b, dst, bi_word(sr, 0), bi_word(sr, 1), post_opc);
}