OSDN Git Service

i965_drv_video: add support for H264 on Clarkdale/Arrandale
[android-x86/hardware-intel-common-libva.git] / i965_drv_video / shaders / h264 / mc / scoreboard_restore_AS.asm
1 /*\r
2  * Restore previously stored scoreboard data after content switching back\r
3  * Copyright © <2010>, Intel Corporation.\r
4  *\r
5  * This program is licensed under the terms and conditions of the\r
6  * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
7  * http://www.opensource.org/licenses/eclipse-1.0.php.\r
8  *\r
9  */\r
10 // Module name: scoreboard_restore_AS.asm\r
11 //\r
12 // Restore previously stored scoreboard data after content switching back\r
13 //\r
14 //\r
15         // Restore scoreboard data to r4 - r67\r
16         // They are saved in a 2D surface with width of 32 and height of 80.\r
17         // Each row corresponds to one GRF register in the following order\r
18         // r4 - r67     : Scoreboard message\r
19         //\r
20     mov (8)     MSGSRC<1>:ud    r0.0<8;8,1>:ud {NoDDClr}        // Initialize message header payload with r0\r
21 \r
22     mov (2)     MSGSRC.0:ud             0:ud {NoDDClr, NoDDChk}         // Starting r4\r
23     mov (1)     MSGSRC.2:ud             0x0007001f:ud {NoDDChk}         // for 8 registers\r
24     send (8)    CMD_SB(0)<1>    m1      MSGSRC<8;8,1>:ud        DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r4 - r11\r
25 \r
26     mov (8)     m2:ud           MSGSRC<8;8,1>:ud\r
27     mov (1)     m2.1:ud         8:ud\r
28     send (8)    CMD_SB(8)<1>    m2      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r12 - r19\r
29 \r
30     mov (8)     m3:ud           MSGSRC<8;8,1>:ud\r
31     mov (1)     m3.1:ud         16:ud\r
32     send (8)    CMD_SB(16)<1>   m3      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r20 - r27\r
33 \r
34     mov (8)     m4:ud           MSGSRC<8;8,1>:ud\r
35     mov (1)     m4.1:ud         24:ud\r
36     send (8)    CMD_SB(24)<1>   m4      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r28 - r35\r
37 \r
38     mov (8)     m5:ud           MSGSRC<8;8,1>:ud\r
39     mov (1)     m5.1:ud         32:ud\r
40     send (8)    CMD_SB(32)<1>   m5      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r36 - r43\r
41 \r
42     mov (8)     m6:ud           MSGSRC<8;8,1>:ud\r
43     mov (1)     m6.1:ud         40:ud\r
44     send (8)    CMD_SB(40)<1>   m6      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r44 - r51\r
45 \r
46     mov (8)     m7:ud           MSGSRC<8;8,1>:ud\r
47     mov (1)     m7.1:ud         48:ud\r
48     send (8)    CMD_SB(48)<1>   m7      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r52 - r59\r
49 \r
50     mov (8)     m8:ud           MSGSRC<8;8,1>:ud\r
51     mov (1)     m8.1:ud         56:ud\r
52     send (8)    CMD_SB(56)<1>   m8      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r60 - r67\r
53 \r
54 // End of scoreboard_restore_AS\r