pan/va: Add non-IDVS VAR_TEX instructions
Used in blit shaders. Icecream95 supplied the test cases. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15588>
This commit is contained in:
@@ -2551,6 +2551,96 @@
|
||||
<src>Varying offset</src>
|
||||
</ins>
|
||||
|
||||
<ins name="VAR_TEX_SINGLE" title="Fused varying-texturing" opcode="0x138" unit="VT">
|
||||
<desc>
|
||||
Only works for FP32 varyings. Performance characteristics are similar
|
||||
to LD_VAR_IMM_F32.v2.f32 followed by TEX, using both V and T units.
|
||||
</desc>
|
||||
<slot/>
|
||||
<skip/>
|
||||
<sample_and_update/>
|
||||
<register_type/>
|
||||
<vartex_register_width/>
|
||||
<dimension/>
|
||||
<array_enable/>
|
||||
<shadow/>
|
||||
<lod_mode/>
|
||||
|
||||
<sr_write_count/>
|
||||
|
||||
<sr write="true"/>
|
||||
<src size="64">Image to read from</src>
|
||||
<src>Varying offset</src>
|
||||
</ins>
|
||||
|
||||
<ins name="VAR_TEX_GATHER" title="Fused varying-texturing" opcode="0x139" unit="VT">
|
||||
<desc>
|
||||
Only works for FP32 varyings. Performance characteristics are similar
|
||||
to LD_VAR_IMM_F32.v2.f32 followed by TEX, using both V and T units.
|
||||
</desc>
|
||||
<slot/>
|
||||
<skip/>
|
||||
<sample_and_update/>
|
||||
<register_type/>
|
||||
<vartex_register_width/>
|
||||
<dimension/>
|
||||
<array_enable/>
|
||||
<integer_coordinates/>
|
||||
<fetch_component/>
|
||||
<shadow/>
|
||||
|
||||
<sr_write_count/>
|
||||
|
||||
<sr write="true"/>
|
||||
<src size="64">Image to read from</src>
|
||||
<src>Varying offset</src>
|
||||
</ins>
|
||||
|
||||
<ins name="VAR_TEX_GRADIENT" title="Fused varying-texturing" opcode="0x13A" unit="VT">
|
||||
<desc>
|
||||
Only works for FP32 varyings. Performance characteristics are similar
|
||||
to LD_VAR_IMM_F32.v2.f32 followed by TEX, using both V and T units.
|
||||
</desc>
|
||||
<slot/>
|
||||
<skip/>
|
||||
<sample_and_update/>
|
||||
<register_type/>
|
||||
<vartex_register_width/>
|
||||
<dimension/>
|
||||
<array_enable/>
|
||||
<shadow/>
|
||||
<lod_bias_disable/>
|
||||
<lod_clamp_disable/>
|
||||
|
||||
<sr_write_count/>
|
||||
|
||||
<sr write="true"/>
|
||||
<src size="64">Image to read from</src>
|
||||
<src>Varying offset</src>
|
||||
</ins>
|
||||
|
||||
<ins name="VAR_TEX_DUAL" title="Fused varying-texturing" opcode="0x13F" unit="VT">
|
||||
<desc>
|
||||
Only works for FP32 varyings. Performance characteristics are similar
|
||||
to LD_VAR_IMM_F32.v2.f32 followed by TEX_DUAL, using both V and T units.
|
||||
</desc>
|
||||
<slot/>
|
||||
<skip/>
|
||||
<sample_and_update/>
|
||||
<register_type/>
|
||||
<vartex_register_width/>
|
||||
<dimension/>
|
||||
<array_enable/>
|
||||
<shadow/>
|
||||
<lod_mode/>
|
||||
|
||||
<sr_write_count/>
|
||||
|
||||
<sr write="true"/>
|
||||
<src size="64">Image to read from</src>
|
||||
<src>Varying offset</src>
|
||||
</ins>
|
||||
|
||||
<ins name="FMA_RSCALE.f32" title="Fused floating-point multiply add with exponent bias" dests="1" opcode="0x160" unit="FMA">
|
||||
<desc>
|
||||
First calculates $A \cdot B + C$ and then biases the exponent by D. Used in
|
||||
|
||||
@@ -220,3 +220,6 @@ c0 f1 00 00 10 c1 2f 08 BRANCHZI.eq.absolute.wait0 0x0, blend_descriptor_0.w1
|
||||
32 00 80 18 02 4c 68 08 ATOM.i32.slot0.aadd.wait0 @r12, r50, offset:0x0
|
||||
32 00 00 18 02 8c 69 08 ATOM1_RETURN.i32.slot0.ainc.wait0 @r12, r50, offset:0x0
|
||||
32 00 00 18 00 80 69 08 ATOM1_RETURN.i32.slot0.ainc.wait0 @, r50, offset:0x0
|
||||
82 00 80 15 b4 80 38 49 VAR_TEX_SINGLE.slot0.skip.sample_store.f.32.2d.zero.wait @r0:r1:r2:r3, u2, u0
|
||||
82 20 80 15 b4 80 38 09 VAR_TEX_SINGLE.slot0.skip.sample_store.f.32.2d.computed.wait0 @r0:r1:r2:r3, u2, u0
|
||||
82 20 80 1d 84 80 38 41 VAR_TEX_SINGLE.slot0.skip.sample_store.s.32.2d.computed.wait0126 @r0, u2, u0
|
||||
|
||||
@@ -66,6 +66,10 @@ SKIP = set([
|
||||
"CLPER.v4u8",
|
||||
|
||||
# VAR_TEX
|
||||
"VAR_TEX_SINGLE",
|
||||
"VAR_TEX_GATHER",
|
||||
"VAR_TEX_GRADIENT",
|
||||
"VAR_TEX_DUAL",
|
||||
"VAR_TEX_BUF_SINGLE",
|
||||
"VAR_TEX_BUF_GATHER",
|
||||
"VAR_TEX_BUF_GRADIENT",
|
||||
|
||||
Reference in New Issue
Block a user