~ubuntu-branches/ubuntu/precise/xserver-xorg-video-intel-lts-raring/precise-proposed

« back to all changes in this revision

Viewing changes to src/xvmc/shader/mc/ipicture_igd.g4a

  • Committer: Package Import Robot
  • Author(s): Maarten Lankhorst
  • Date: 2013-05-08 09:07:17 UTC
  • Revision ID: package-import@ubuntu.com-20130508090717-mnzppx36ozrdgyng
Tags: upstream-2.21.6
ImportĀ upstreamĀ versionĀ 2.21.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
   GRF allocation:
 
3
   g1~g30: constant buffer
 
4
           g1~g2:intra IQ matrix
 
5
           g3~g4:non intra IQ matrix
 
6
           g5~g20:IDCT tab
 
7
   g31:    read and write message descriptor
 
8
   g32~g55:DCT data
 
9
   g58~g81:reference data
 
10
   g82:    thread payload 
 
11
   g83~g106:IDCT data 
 
12
*/
 
13
mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
 
14
 
 
15
mov.sat (16) g33.0<2>UB g33.0<16,16,1>W {align1};
 
16
mov.sat (16) g34.0<2>UB g34.0<16,16,1>W {align1};
 
17
mov.sat (16) g35.0<2>UB g35.0<16,16,1>W {align1};
 
18
mov.sat (16) g36.0<2>UB g36.0<16,16,1>W {align1};
 
19
mov.sat (16) g37.0<2>UB g37.0<16,16,1>W {align1};
 
20
mov.sat (16) g38.0<2>UB g38.0<16,16,1>W {align1};
 
21
mov.sat (16) g39.0<2>UB g39.0<16,16,1>W {align1};
 
22
mov.sat (16) g40.0<2>UB g40.0<16,16,1>W {align1};
 
23
mov.sat (16) g41.0<2>UB g41.0<16,16,1>W {align1};
 
24
mov.sat (16) g42.0<2>UB g42.0<16,16,1>W {align1};
 
25
mov.sat (16) g43.0<2>UB g43.0<16,16,1>W {align1};
 
26
mov.sat (16) g44.0<2>UB g44.0<16,16,1>W {align1};
 
27
mov.sat (16) g45.0<2>UB g45.0<16,16,1>W {align1};
 
28
mov.sat (16) g46.0<2>UB g46.0<16,16,1>W {align1};
 
29
mov.sat (16) g47.0<2>UB g47.0<16,16,1>W {align1};
 
30
mov.sat (16) g48.0<2>UB g48.0<16,16,1>W {align1};
 
31
 
 
32
mov.sat (16) g49.0<2>UB g49.0<16,16,1>W {align1};
 
33
mov.sat (16) g50.0<2>UB g50.0<16,16,1>W {align1};
 
34
mov.sat (16) g51.0<2>UB g51.0<16,16,1>W {align1};
 
35
mov.sat (16) g52.0<2>UB g52.0<16,16,1>W {align1};
 
36
mov.sat (16) g53.0<2>UB g53.0<16,16,1>W {align1};
 
37
mov.sat (16) g54.0<2>UB g54.0<16,16,1>W {align1};
 
38
mov.sat (16) g55.0<2>UB g55.0<16,16,1>W {align1};
 
39
mov.sat (16) g56.0<2>UB g56.0<16,16,1>W {align1};
 
40
 
 
41
mov (1) g31.8<1>UD 0x00F000FUD {align1};
 
42
 
 
43
and.nz (1) null g82.30<1,1,1>UB 0x1UW{align1};
 
44
(f0) jmpi field_dct_y;
 
45
 
 
46
mov (16) m1.0<1>UB  g33.0<16,16,2>UB {align1};
 
47
mov (16) m1.16<1>UB g34.0<16,16,2>UB {align1};
 
48
mov (16) m2.0<1>UB  g35.0<16,16,2>UB {align1};
 
49
mov (16) m2.16<1>UB g36.0<16,16,2>UB {align1};
 
50
mov (16) m3.0<1>UB  g37.0<16,16,2>UB {align1};
 
51
mov (16) m3.16<1>UB g38.0<16,16,2>UB {align1};
 
52
mov (16) m4.0<1>UB  g39.0<16,16,2>UB {align1};
 
53
mov (16) m4.16<1>UB g40.0<16,16,2>UB {align1};
 
54
mov (16) m5.0<1>UB  g41.0<16,16,2>UB {align1};
 
55
mov (16) m5.16<1>UB g42.0<16,16,2>UB {align1};
 
56
mov (16) m6.0<1>UB  g43.0<16,16,2>UB {align1};
 
57
mov (16) m6.16<1>UB g44.0<16,16,2>UB {align1};
 
58
mov (16) m7.0<1>UB  g45.0<16,16,2>UB {align1};
 
59
mov (16) m7.16<1>UB g46.0<16,16,2>UB {align1};
 
60
mov (16) m8.0<1>UB  g47.0<16,16,2>UB {align1};
 
61
mov (16) m8.16<1>UB g48.0<16,16,2>UB {align1};
 
62
jmpi write_back_y;
 
63
 
 
64
field_dct_y:
 
65
mov (16) m1.0<1>UB  g33.0<16,16,2>UB {align1};
 
66
mov (16) m1.16<1>UB g41.0<16,16,2>UB {align1};
 
67
mov (16) m2.0<1>UB  g34.0<16,16,2>UB {align1};
 
68
mov (16) m2.16<1>UB g42.0<16,16,2>UB {align1};
 
69
mov (16) m3.0<1>UB  g35.0<16,16,2>UB {align1};
 
70
mov (16) m3.16<1>UB g43.0<16,16,2>UB {align1};
 
71
mov (16) m4.0<1>UB  g36.0<16,16,2>UB {align1};
 
72
mov (16) m4.16<1>UB g44.0<16,16,2>UB {align1};
 
73
mov (16) m5.0<1>UB  g37.0<16,16,2>UB {align1};
 
74
mov (16) m5.16<1>UB g45.0<16,16,2>UB {align1};
 
75
mov (16) m6.0<1>UB  g38.0<16,16,2>UB {align1};
 
76
mov (16) m6.16<1>UB g46.0<16,16,2>UB {align1};
 
77
mov (16) m7.0<1>UB  g39.0<16,16,2>UB {align1};
 
78
mov (16) m7.16<1>UB g47.0<16,16,2>UB {align1};
 
79
mov (16) m8.0<1>UB  g40.0<16,16,2>UB {align1};
 
80
mov (16) m8.16<1>UB g48.0<16,16,2>UB {align1};
 
81
 
 
82
write_back_y:
 
83
send (16) 0 acc0<1>UW g31<8,8,1>UW write(0,0,2,0) mlen 9 rlen 0 {align1};
 
84
 
 
85
//U
 
86
mov (1) g31.8<1>UD 0x0070007UD  { align1 };
 
87
shr (2) g31.0<1>UD g82.0<2,2,1>UD 1D {align1};
 
88
 
 
89
mov (16) m1.0<1>UB  g49.0<16,16,2>UB {align1};
 
90
mov (16) m1.16<1>UB g50.0<16,16,2>UB {align1};
 
91
mov (16) m2.0<1>UB  g51.0<16,16,2>UB {align1};
 
92
mov (16) m2.16<1>UB g52.0<16,16,2>UB {align1};
 
93
send (16) 0 acc0<1>UW g31<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
 
94
 
 
95
//V
 
96
mov (16) m1.0<1>UB  g53.0<16,16,2>UB {align1};
 
97
mov (16) m1.16<1>UB g54.0<16,16,2>UB {align1};
 
98
mov (16) m2.0<1>UB  g55.0<16,16,2>UB {align1};
 
99
mov (16) m2.16<1>UB g56.0<16,16,2>UB {align1};
 
100
send (16) 0 acc0<1>UW g31<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
 
101
 
 
102
OUT:
 
103
send (16) 0 acc0<1>UW g0<8,8,1>UW
 
104
        thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
 
105