Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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_ILDB_Cntrl_Data_64DW.asm
  10. //
  11. // This module loads AVC ILDB 64DW control data for one MB for CLN.  
  12. //
  13. //----------------------------------------------------------------
  14. //  Symbols need to be defined before including this module
  15. //
  16. //      Source region in :ud
  17. //      CNTRL_DATA_D:   CNTRL_DATA_D Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                       // 8 GRFs
  18. //
  19. //      Binding table index:
  20. //      BI_CNTRL_DATA:  Binding table index of control data surface
  21. //
  22. //----------------------------------------------------------------
  23.  
  24. // On CLN, MB control data in memory occupy 64 DWs.
  25.  
  26. #if defined(_MBAFF)
  27.         // We need to get control data offset for the bottom MB in mbaff mode.
  28.         // That is, set f0.1=1 if MbaffFlag==1 && BotFieldFlag==1
  29.         and (1) acc0.0:uw               BitFields:uw    MbaffFlag+BotFieldFlag:uw       // Mute all other bits
  30.         cmp.e.f0.1 (1) NULLREGW         acc0.0:uw       MbaffFlag+BotFieldFlag:uw       // Check mbaff and bot flags
  31. #endif          // CTemp1_W
  32.  
  33.     mov (2)     MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:uw                      { NoDDClr }                             // Block origin X,Y
  34.     mov (1)     MSGSRC.2<1>:ud  0x000F000F:ud                           { NoDDChk }                             // Block width and height (16x16=256 bytes)
  35.  
  36. #if defined(_MBAFF)
  37.         (f0.1) add (1) MSGSRC.1:ud      MSGSRC.1:ud             16:w    // +16 to the bottom MB control data (bot MB)
  38. #endif
  39.  
  40.     send (8) CNTRL_DATA_D(0)<1> MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(8)+DWBRMSGDSC_SC+BI_CNTRL_DATA // Receive 8 GRFs
  41.        
  42. // End of load_ILDB_Cntrl_Data_64DW.asm
  43.