~gma500/+junk/gma500-natty

« back to all changes in this revision

Viewing changes to libva-0.31.1/i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16.asm

  • Committer: Luca Forina
  • Date: 2011-02-14 10:01:54 UTC
  • Revision ID: luca.forina@gmail.com-20110214100154-ai9gynuqb1dna2ea
new commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright © <2010>, Intel Corporation.
 
3
 *
 
4
 * This program is licensed under the terms and conditions of the
 
5
 * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
 
6
 * http://www.opensource.org/licenses/eclipse-1.0.php.
 
7
 *
 
8
 */
 
9
// Module name: save_Cur_Y_16x16.asm
 
10
//
 
11
// Save a Y 16x16 block 
 
12
//
 
13
//----------------------------------------------------------------
 
14
//  Symbols need to be defined before including this module
 
15
//
 
16
//      Source region in :ud
 
17
//      SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs
 
18
//
 
19
//      Binding table index: 
 
20
//      BI_DEST_Y:              Binding table index of Y surface
 
21
//
 
22
//----------------------------------------------------------------
 
23
 
 
24
#if defined(_DEBUG) 
 
25
        mov             (1)             EntrySignatureC:w                       0xDDD4:w
 
26
#endif
 
27
 
 
28
#if defined(_FIELD)
 
29
    and.nz.f0.1 (1) NULLREGW    BitFields:w     BotFieldFlag:w                  // Get bottom field flag
 
30
#endif
 
31
 
 
32
    mov (2)     MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w       { NoDDClr }             // Block origin
 
33
    mov (1)     MSGSRC.2<1>:ud  0x000F000F:ud           { NoDDChk }             // Block width and height (16x16)
 
34
 
 
35
        // Pack Y    
 
36
        mov     (16)    MSGPAYLOADD(0)<1>               SRC_YD(0)               // Compressed inst
 
37
        mov (16)        MSGPAYLOADD(2)<1>               SRC_YD(2)       
 
38
        mov (16)        MSGPAYLOADD(4)<1>               SRC_YD(4)       
 
39
        mov (16)        MSGPAYLOADD(6)<1>               SRC_YD(6)       
 
40
    
 
41
 
 
42
#if defined(_PROGRESSIVE) 
 
43
        mov (1) MSGDSC  MSG_LEN(8)+DWBWMSGDSC+BI_DEST_Y:ud      
 
44
//    send (8)  NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00800000+BI_DEST_Y
 
45
#endif
 
46
 
 
47
#if defined(_FIELD)
 
48
        // Field picture
 
49
    (f0.1) mov (1)      MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y bottom field
 
50
    (-f0.1) mov (1)     MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y top field
 
51
 
 
52
#endif
 
53
 
 
54
    send (8)    null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC
 
55
        
 
56
// End of save_Cur_Y_16x16.asm