~ubuntu-branches/ubuntu/natty/libva/natty

« back to all changes in this revision

Viewing changes to i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T_Mbaff.asm

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler, Artur Rona, Reinhard Tartler
  • Date: 2011-02-13 19:01:16 UTC
  • mfrom: (3.2.2 sid)
  • Revision ID: james.westby@ubuntu.com-20110213190116-wy9fqh71nmomiacl
Tags: 1.0.8-3
[ Artur Rona ]
* Update library dependencies to fix FTBFS properly.

[ Reinhard Tartler ]
* Disable i965 driver on hurd-i386, Closes: #613102

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: load_Y_16x16T.asm
 
10
//
 
11
// Load and transpose 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_SRC_Y:               Binding table index of Y surface
 
21
//
 
22
//----------------------------------------------------------------
 
23
 
 
24
#if defined(_DEBUG) 
 
25
        mov             (1)             EntrySignatureC:w                       0xDDD1:w
 
26
#endif
 
27
 
 
28
    // FieldModeCurrentMbFlag determines how to access left MB
 
29
        and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                
 
30
        
 
31
    and.nz.f0.1 (1)     NULLREGW        BitFields:w     BotFieldFlag:w          // Get bottom field flag
 
32
 
 
33
        // Read Y
 
34
    mov (2)     MSGSRC.0<1>:d   ORIX_CUR<2;2,1>:w               { NoDDClr }             // Block origin
 
35
    mov (1)     MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }             // Block width and height (16x16)
 
36
    
 
37
    // Set message descriptor, etc.
 
38
    
 
39
        (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_16x16T)
 
40
 
 
41
    // Frame picture
 
42
    mov (1)     MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC+BI_SRC_Y:ud                   // Read 8 GRFs from SRC_Y
 
43
    
 
44
        (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode
 
45
    
 
46
ILDB_LABEL(ELSE_Y_16x16T): 
 
47
        else    (1)             ILDB_LABEL(ENDIF_Y_16x16T)
 
48
 
 
49
        // Field picture
 
50
    (f0.1) mov (1)      MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_BF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y bottom field
 
51
    (-f0.1) mov (1)     MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_TF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y top field
 
52
 
 
53
        asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode
 
54
 
 
55
        endif
 
56
ILDB_LABEL(ENDIF_Y_16x16T):
 
57
 
 
58
    send (8) SRC_YD(0)<1>       MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD MSGDSC
 
59
 
 
60
//      #include "Transpose_Cur_Y_16x16.asm"
 
61
 
 
62
// End of load_Y_16x16T