head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC7:1.1.1.1 netbsd-11-0-RC6:1.1.1.1 netbsd-11-0-RC5:1.1.1.1 netbsd-11-0-RC4:1.1.1.1 netbsd-11-0-RC3:1.1.1.1 netbsd-11-0-RC2:1.1.1.1 netbsd-11-0-RC1:1.1.1.1 netbsd-11:1.1.1.1.0.6 netbsd-11-base:1.1.1.1 netbsd-10-1-RELEASE:1.1.1.1 netbsd-9-4-RELEASE:1.1.1.1 netbsd-10-0-RELEASE:1.1.1.1 netbsd-10-0-RC6:1.1.1.1 netbsd-10-0-RC5:1.1.1.1 netbsd-10-0-RC4:1.1.1.1 netbsd-10-0-RC3:1.1.1.1 netbsd-10-0-RC2:1.1.1.1 netbsd-10-0-RC1:1.1.1.1 netbsd-10:1.1.1.1.0.4 netbsd-10-base:1.1.1.1 netbsd-9-3-RELEASE:1.1.1.1 netbsd-9-2-RELEASE:1.1.1.1 netbsd-9-1-RELEASE:1.1.1.1 netbsd-9-0-RELEASE:1.1.1.1 netbsd-9-0-RC2:1.1.1.1 netbsd-9-0-RC1:1.1.1.1 netbsd-9:1.1.1.1.0.2 netbsd-9-base:1.1.1.1 src-current-2019-03-18:1.1.1.1 NetBSD:1.1.1; locks; strict; comment @# @; 1.1 date 2019.05.10.06.22.24; author mrg; state Exp; branches 1.1.1.1; next ; commitid NVvVabT92hhUGCmB; 1.1.1.1 date 2019.05.10.06.22.24; author mrg; state Exp; branches; next ; commitid NVvVabT92hhUGCmB; desc @@ 1.1 log @Initial revision @ text @/* GRF allocation: g1~g30: constant buffer g1~g2:intra IQ matrix g3~g4:non intra IQ matrix g5~g20:IDCT table g31: thread payload g32: message descriptor for reading reference data g58~g81:reference data g82: thread payload backup g83~g106:IDCT data */ mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1}; mov (1) g126.8<1>UD ip {align1}; add (1) ip g21.0<1,1,1>UD 0x50UD {align1}; //jump to the lib to do IDCT //Y, (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) asr (2) g31.14<1>W g82.14<2,2,1>W 1W {align1}; add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1}; mov (1) g32.16<1>UW 0UW {align1}; //0:forward 1:backward mov (1) a0.0<1>UD 0x0A4EUD {align1}; //g82.14,motion vector mov (1) g126.8<1>UD ip {align1}; add (1) ip g21.0<1,1,1>UD 0x00UD {align1}; //jump to the lib to read reference data //UV, (x', y') = (x >> 1, y >> 1) + (motion_vector.x >> 2, motion_vector.y >> 2) shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1}; asr (2) g31.14<1>W g82.14<2,2,1>W 2W {align1}; add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1}; mov (1) g126.8<1>UD ip {align1}; add (1) ip g21.0<1,1,1>UD 0x10UD {align1}; //jump to the lib to read reference data add (1) ip g21.0<1,1,1>UD 0x40UD {align1}; //jump to the lib to add the reference and idct data @ 1.1.1.1 log @import our slightly older intel xf86 driver as "intel-2014". this driver works better on older systems, but doesn't support gen9 as well. @ text @@