pan/bi: Model LD_VAR_BUF instructions

These are indirect versions of LD_VAR_BUF_IMM, taking their index in bytes. Used
for indirect varying loads (the NIR lowering is inefficient).

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223>
This commit is contained in:
Alyssa Rosenzweig
2022-03-23 11:57:11 -04:00
committed by Marge Bot
parent 97a13d6424
commit f5585700be
+60
View File
@@ -8598,6 +8598,36 @@
</mod>
</ins>
<ins name="+LD_VAR_BUF.f32" staging="w=format" message="varying" pseudo="true">
<src start="0"/>
<src start="1"/>
<mod name="vecsize" start="8" size="2">
<opt>none</opt>
<opt>v2</opt>
<opt>v3</opt>
<opt>v4</opt>
</mod>
<mod name="update" size="2">
<opt>store</opt>
<opt>retrieve</opt>
<opt>conditional</opt>
<opt>clobber</opt>
</mod>
<mod name="register_format" size="2">
<opt>f32</opt>
<opt>f16</opt>
<opt>u32</opt>
<opt>u16</opt>
</mod>
<mod name="sample" size="3">
<opt>center</opt>
<opt>centroid</opt>
<opt>sample</opt>
<opt>explicit</opt>
<opt>none</opt>
</mod>
</ins>
<ins name="+LD_VAR_BUF_IMM.f16" staging="w=format" message="varying" pseudo="true">
<src start="0"/>
<immediate name="index" start="3" size="5"/>
@@ -8628,6 +8658,36 @@
</mod>
</ins>
<ins name="+LD_VAR_BUF.f16" staging="w=format" message="varying" pseudo="true">
<src start="0"/>
<src start="1"/>
<mod name="vecsize" start="8" size="2">
<opt>none</opt>
<opt>v2</opt>
<opt>v3</opt>
<opt>v4</opt>
</mod>
<mod name="update" size="2">
<opt>store</opt>
<opt>retrieve</opt>
<opt>conditional</opt>
<opt>clobber</opt>
</mod>
<mod name="register_format" size="2">
<opt>f32</opt>
<opt>f16</opt>
<opt>u32</opt>
<opt>u16</opt>
</mod>
<mod name="sample" size="3">
<opt>center</opt>
<opt>centroid</opt>
<opt>sample</opt>
<opt>explicit</opt>
<opt>none</opt>
</mod>
</ins>
<ins name="+LEA_BUF_IMM" staging="w=2" message="attribute" pseudo="true">
<src start="0"/>
</ins>