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 / ildb / writeURB_UV_Child.asm
1 /*\r
2  * Copyright © <2010>, Intel Corporation.\r
3  *\r
4  * This program is licensed under the terms and conditions of the\r
5  * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
6  * http://www.opensource.org/licenses/eclipse-1.0.php.\r
7  *\r
8  */\r
9 // Module name: WriteURB_Child.asm\r
10 //\r
11 // General purpose module to write data to URB using the URB handle/offset in r0\r
12 //\r
13 //----------------------------------------------------------------\r
14 //      Assume:\r
15 //      - a0.0 and a0.1 is meg desc, has been assign with URB offset and msg size\r
16 //      - MRFs are alrady assigned with data.\r
17 //----------------------------------------------------------------\r
18 //\r
19 //  16x16 byte pixel block can be saved using just 1 "send" instruction.\r
20 \r
21 #if defined(_DEBUG) \r
22         mov             (1)             EntrySignatureC:w                       0x3535:w\r
23 #endif\r
24 \r
25 // URB write header:\r
26 //mov (8) MSGSRC.0:ud   r0.0<8;8,1>:ud                  // Copy parent R0 header\r
27 \r
28 //shr (1)       Temp2_W:uw      URBOffsetC:uw   1:w     // divide by 2, because URB entry is counted by 512bits.  Offset is counted by 256bits.\r
29 //add (1) MSGSRC.0:uw           r0.0:uw         Temp2_W:uw      \r
30 \r
31 shr (1) MSGSRC.0:uw             URBOffsetC:uw   1:w     // divide by 2, because URB entry is counted by 512bits.  Offset is counted by 256bits.\r
32 \r
33 //mov (1) MSGSRC.1:ud   0:ud                                    // Reset Handle 1\r
34 \r
35         // URB write 1 MRFs, \r
36         // Current MB offset is in URBOffset, use it as write origin\r
37         // Add 2 to offset to store data be be passed to the right MB\r
38 \r
39 send  null:uw   m0        MSGSRC:uw             URBWRITE        MSG_LEN(1)+URBWMSGDSC+0x20              // URB write\r