[Mesa-dev] [PATCH] i965: Extend compute-to-mrf pass to understand blocks of MOVs
Kristian Høgsberg
krh at bitplanet.net
Mon Jul 7 23:07:10 PDT 2014
On Mon, Jun 30, 2014 at 3:14 PM, Matt Turner <mattst88 at gmail.com> wrote:
> On Fri, Jun 27, 2014 at 12:00 PM, Kristian Høgsberg <krh at bitplanet.net> wrote:
>> From: Kristian Høgsberg <krh at century-sparrow.local>
>
> With your email address fixed,
Done, thanks for the review. I realized that this also applies to MRT
shaders where we write the same value to two render targets. From
piglits fbo-drawbuffers2-blend:
0x00000000: pln(8) g6<1>F g4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000008: pln(8) g7<1>F g4.4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000010: pln(8) g8<1>F g5.4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000018: math inv(8) g2<1>F g8<8,8,1>F null
{ align1 WE_normal 1Q compacted };
0x00000020: mul(8) g3<1>F g6<8,8,1>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000028: mul(8) g4<1>F g7<8,8,1>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000030: send(8) g2<1>UW g3<8,8,1>F
sampler (1, 0, 0, 1) mlen 2 rlen 4
{ align1 WE_normal 1Q };
0x00000040: mov(8) g113<1>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000048: mov(8) g114<1>F g3<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000050: mov(8) g115<1>F g4<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000058: mov(8) g116<1>F g5<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000060: sendc(8) null g113<8,8,1>F
render RT write SIMD8 LastRT Surface = 0
mlen 4 rlen 0 { align1 WE_normal 1Q EOT };
becomes:
0x00000000: pln(8) g6<1>F g4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000008: pln(8) g8<1>F g4.4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000010: pln(8) g9<1>F g5.4<0,1,0>F g2<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000018: math inv(8) g7<1>F g9<8,8,1>F null
{ align1 WE_normal 1Q compacted };
0x00000020: mul(8) g2<1>F g6<8,8,1>F g7<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000028: mul(8) g3<1>F g8<8,8,1>F g7<8,8,1>F
{ align1 WE_normal 1Q compacted };
0x00000030: send(8) g113<1>UW g2<8,8,1>F
sampler (1, 0, 0, 1) mlen 2 rlen 4
{ align1 WE_normal 1Q };
0x00000040: sendc(8) null g113<8,8,1>F
render RT write SIMD8 LastRT Surface = 0
mlen 4 rlen 0 { align1 WE_normal 1Q EOT };
which is lovely.
Kristian
> Reviewed-by: Matt Turner <mattst88 at gmail.com>
More information about the mesa-dev
mailing list