va: remove i965 driver from libva repository
authorXiang, Haihao <haihao.xiang@intel.com>
Mon, 19 Sep 2011 02:02:39 +0000 (10:02 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 19 Sep 2011 02:02:39 +0000 (10:02 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
464 files changed:
Makefile.am
configure.ac
i965_drv_video/Makefile.am [deleted file]
i965_drv_video/gen6_mfc.c [deleted file]
i965_drv_video/gen6_mfc.h [deleted file]
i965_drv_video/gen6_mfd.c [deleted file]
i965_drv_video/gen6_mfd.h [deleted file]
i965_drv_video/gen6_vme.c [deleted file]
i965_drv_video/gen6_vme.h [deleted file]
i965_drv_video/gen7_mfd.c [deleted file]
i965_drv_video/gen7_mfd.h [deleted file]
i965_drv_video/i965_avc_bsd.c [deleted file]
i965_drv_video/i965_avc_bsd.h [deleted file]
i965_drv_video/i965_avc_hw_scoreboard.c [deleted file]
i965_drv_video/i965_avc_hw_scoreboard.h [deleted file]
i965_drv_video/i965_avc_ildb.c [deleted file]
i965_drv_video/i965_avc_ildb.h [deleted file]
i965_drv_video/i965_defines.h [deleted file]
i965_drv_video/i965_drv_video.c [deleted file]
i965_drv_video/i965_drv_video.h [deleted file]
i965_drv_video/i965_encoder.c [deleted file]
i965_drv_video/i965_encoder.h [deleted file]
i965_drv_video/i965_media.c [deleted file]
i965_drv_video/i965_media.h [deleted file]
i965_drv_video/i965_media_h264.c [deleted file]
i965_drv_video/i965_media_h264.h [deleted file]
i965_drv_video/i965_media_mpeg2.c [deleted file]
i965_drv_video/i965_media_mpeg2.h [deleted file]
i965_drv_video/i965_mutext.h [deleted file]
i965_drv_video/i965_post_processing.c [deleted file]
i965_drv_video/i965_post_processing.h [deleted file]
i965_drv_video/i965_render.c [deleted file]
i965_drv_video/i965_render.h [deleted file]
i965_drv_video/i965_structs.h [deleted file]
i965_drv_video/intel_batchbuffer.c [deleted file]
i965_drv_video/intel_batchbuffer.h [deleted file]
i965_drv_video/intel_batchbuffer_dump.c [deleted file]
i965_drv_video/intel_batchbuffer_dump.h [deleted file]
i965_drv_video/intel_compiler.h [deleted file]
i965_drv_video/intel_driver.c [deleted file]
i965_drv_video/intel_driver.h [deleted file]
i965_drv_video/intel_memman.c [deleted file]
i965_drv_video/intel_memman.h [deleted file]
i965_drv_video/object_heap.c [deleted file]
i965_drv_video/object_heap.h [deleted file]
i965_drv_video/shaders/Makefile.am [deleted file]
i965_drv_video/shaders/gpp.py [deleted file]
i965_drv_video/shaders/h264/Makefile.am [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB.inc [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_CloseGateway.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Dep_Check.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_h.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_v.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_h.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_v.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_h.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_v.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_h.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_v.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_ForwardMsg.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_LumaThrdLimit.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_OpenGateway.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_UV.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Y.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_Spawn.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChild.asm [deleted file]
i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChromaRoot.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Child_Undefs.inc [deleted file]
i965_drv_video/shaders/h264/ildb/ILDB_header.inc [deleted file]
i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_16DW.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_22DW.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_64DW.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Makefile.am [deleted file]
i965_drv_video/shaders/h264/ildb/Root_Undefs.inc [deleted file]
i965_drv_video/shaders/h264/ildb/SetupVPKernel.asm [deleted file]
i965_drv_video/shaders/h264/ildb/TransposeNV12_16x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/TransposeNV12_4x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_2x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_8x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_Right_Most_2x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_16x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_4x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_Right_Most_4x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Left_UV_2x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/Transpose_Left_Y_4x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/loadNV12_16x16T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/loadNV12_16x4.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_UV_Right_Most_2x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Cur_Y_Right_Most_4x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4.asm [deleted file]
i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/saveNV12_16x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/saveNV12_16x4.asm [deleted file]
i965_drv_video/shaders/h264/ildb/saveNV12_16x4T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4.asm [deleted file]
i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4_Mbaff.asm [deleted file]
i965_drv_video/shaders/h264/ildb/writeURB.asm [deleted file]
i965_drv_video/shaders/h264/ildb/writeURB_UV_Child.asm [deleted file]
i965_drv_video/shaders/h264/ildb/writeURB_Y_Child.asm [deleted file]
i965_drv_video/shaders/h264/mc/AVCMCInter.asm [deleted file]
i965_drv_video/shaders/h264/mc/AllAVC.asm [deleted file]
i965_drv_video/shaders/h264/mc/AllAVCField.asm [deleted file]
i965_drv_video/shaders/h264/mc/AllAVCFrame.asm [deleted file]
i965_drv_video/shaders/h264/mc/AllAVCMBAFF.asm [deleted file]
i965_drv_video/shaders/h264/mc/AllAVC_Build.inc [deleted file]
i965_drv_video/shaders/h264/mc/AllAVC_Export.inc [deleted file]
i965_drv_video/shaders/h264/mc/AllIntra.asm [deleted file]
i965_drv_video/shaders/h264/mc/BSDReset.asm [deleted file]
i965_drv_video/shaders/h264/mc/DCResetDummy.asm [deleted file]
i965_drv_video/shaders/h264/mc/Decode_Chroma_Intra.asm [deleted file]
i965_drv_video/shaders/h264/mc/EndIntraThread.asm [deleted file]
i965_drv_video/shaders/h264/mc/HwmcOnlyHeader.inc [deleted file]
i965_drv_video/shaders/h264/mc/Intra_16x16.asm [deleted file]
i965_drv_video/shaders/h264/mc/Intra_4x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/Intra_8x8.asm [deleted file]
i965_drv_video/shaders/h264/mc/Intra_PCM.asm [deleted file]
i965_drv_video/shaders/h264/mc/Intra_funcLib.asm [deleted file]
i965_drv_video/shaders/h264/mc/Makefile.am [deleted file]
i965_drv_video/shaders/h264/mc/Scoreboard_header.inc [deleted file]
i965_drv_video/shaders/h264/mc/SetHWScoreboard.asm [deleted file]
i965_drv_video/shaders/h264/mc/SetHWScoreboard_MBAFF.asm [deleted file]
i965_drv_video/shaders/h264/mc/SetHWScoreboard_header.inc [deleted file]
i965_drv_video/shaders/h264/mc/SetupForHWMC.asm [deleted file]
i965_drv_video/shaders/h264/mc/add_Error_16x16_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/add_Error_UV.asm [deleted file]
i965_drv_video/shaders/h264/mc/avc_mc.g4b [deleted file]
i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5 [deleted file]
i965_drv_video/shaders/h264/mc/chromaMVAdjust.asm [deleted file]
i965_drv_video/shaders/h264/mc/export.inc [deleted file]
i965_drv_video/shaders/h264/mc/export.inc.gen5 [deleted file]
i965_drv_video/shaders/h264/mc/header.inc [deleted file]
i965_drv_video/shaders/h264/mc/initialize_MBPara.asm [deleted file]
i965_drv_video/shaders/h264/mc/inter_Header.inc [deleted file]
i965_drv_video/shaders/h264/mc/interpolate_C_2x2.asm [deleted file]
i965_drv_video/shaders/h264/mc/interpolate_C_4x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/interpolate_Y_4x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/interpolate_Y_8x8.asm [deleted file]
i965_drv_video/shaders/h264/mc/intra_Header.inc [deleted file]
i965_drv_video/shaders/h264/mc/intra_Pred_4x4_Y_4.asm [deleted file]
i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/intra_Pred_Chroma.asm [deleted file]
i965_drv_video/shaders/h264/mc/intra_pred_16x16_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/list [deleted file]
i965_drv_video/shaders/h264/mc/loadRef_C_10x5.asm [deleted file]
i965_drv_video/shaders/h264/mc/loadRef_C_6x3.asm [deleted file]
i965_drv_video/shaders/h264/mc/loadRef_Y_16x13.asm [deleted file]
i965_drv_video/shaders/h264/mc/loadRef_Y_16x9.asm [deleted file]
i965_drv_video/shaders/h264/mc/load_Intra_Ref_UV.asm [deleted file]
i965_drv_video/shaders/h264/mc/load_Intra_Ref_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/null.g4a [deleted file]
i965_drv_video/shaders/h264/mc/null.g4b [deleted file]
i965_drv_video/shaders/h264/mc/null.g4b.gen5 [deleted file]
i965_drv_video/shaders/h264/mc/recon_C_4x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/recon_Y_8x8.asm [deleted file]
i965_drv_video/shaders/h264/mc/roundShift_C_4x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/save_16x16_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/save_4x4_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/save_8x8_UV.asm [deleted file]
i965_drv_video/shaders/h264/mc/save_8x8_Y.asm [deleted file]
i965_drv_video/shaders/h264/mc/save_I_PCM.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_MBAFF.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_restore_AS.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_save_AS.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_sip.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_start_inter.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_start_intra.asm [deleted file]
i965_drv_video/shaders/h264/mc/scoreboard_update.asm [deleted file]
i965_drv_video/shaders/h264/mc/set_SB_offset.asm [deleted file]
i965_drv_video/shaders/h264/mc/weightedPred.asm [deleted file]
i965_drv_video/shaders/h264/mc/writeRecon_C_8x4.asm [deleted file]
i965_drv_video/shaders/h264/mc/writeRecon_YC.asm [deleted file]
i965_drv_video/shaders/h264/mc/writeRecon_Y_16x8.asm [deleted file]
i965_drv_video/shaders/mpeg2/Makefile.am [deleted file]
i965_drv_video/shaders/mpeg2/vld/Makefile.am [deleted file]
i965_drv_video/shaders/mpeg2/vld/addidct.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/do_iq_intra.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/do_iq_non_intra.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_addidct.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_intra.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_intra.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_intra.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_motion_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_motion_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_intra.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/idct.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/iq_intra.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/iq_non_intra.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/lib.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/lib.g4b [deleted file]
i965_drv_video/shaders/mpeg2/vld/lib.g4b.gen5 [deleted file]
i965_drv_video/shaders/mpeg2/vld/motion_field_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/motion_field_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/motion_frame_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/motion_frame_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/null.g4a [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_y.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_uv.g4i [deleted file]
i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_y.g4i [deleted file]
i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/Expansion.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x5.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/IMC3_Load_9x5.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/Init_All_Regs.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/Multiple_Loop.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/Multiple_Loop_Head.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/NV11_Load_4x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/NV11_Load_5x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/NV12_Load_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/NV12_Load_8x5.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/NV12_Load_9x5.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/P208_Load_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/P208_Load_9x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PA_Load.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PA_Load_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PA_Load_9x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL2_Load.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL3_Load.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL5x8_PL16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL5x8_PL8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x5_PL8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/PL9x5_PL16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/PL9x8_PL16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/RGB_Pack.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/SetupVPKernel.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/common.inc [deleted file]
i965_drv_video/shaders/post_processing/Common/readSampler16x1.asm [deleted file]
i965_drv_video/shaders/post_processing/Common/undefall.inc [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/AVS_IEF.inc [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupFirstBlock.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupSecondBlock.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DI.inc [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DI_Hist_Save.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DI_SAVE_PA.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DNDI.inc [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_COMMAND.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_Hist_Save.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Sample.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_DNDI_ALG.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_DN_ALG.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PA_Scaling.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL2_Scaling.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x4.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL3_Scaling.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV11.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV12.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_P208.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_PL3.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/PL_DN_ALG.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unpack_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unscramble_16x8.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/RGB_Scaling.asm [deleted file]
i965_drv_video/shaders/post_processing/Core_Kernels/Scaling.inc [deleted file]
i965_drv_video/shaders/post_processing/Makefile.am [deleted file]
i965_drv_video/shaders/post_processing/null.g4a [deleted file]
i965_drv_video/shaders/post_processing/null.g4b [deleted file]
i965_drv_video/shaders/post_processing/null.g4b.gen5 [deleted file]
i965_drv_video/shaders/post_processing/null.g6a [deleted file]
i965_drv_video/shaders/post_processing/null.g6b [deleted file]
i965_drv_video/shaders/post_processing/nv12_avs_nv12.asm [deleted file]
i965_drv_video/shaders/post_processing/nv12_avs_nv12.g4b.gen5 [deleted file]
i965_drv_video/shaders/post_processing/nv12_avs_nv12.g6b [deleted file]
i965_drv_video/shaders/post_processing/nv12_dndi_nv12.asm [deleted file]
i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g4b.gen5 [deleted file]
i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g6b [deleted file]
i965_drv_video/shaders/post_processing/nv12_load_save_nv12.asm [deleted file]
i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g4b.gen5 [deleted file]
i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g6b [deleted file]
i965_drv_video/shaders/post_processing/nv12_scaling_nv12.asm [deleted file]
i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g4b.gen5 [deleted file]
i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g6b [deleted file]
i965_drv_video/shaders/render/Makefile.am [deleted file]
i965_drv_video/shaders/render/exa_sf.g4a [deleted file]
i965_drv_video/shaders/render/exa_sf.g4b [deleted file]
i965_drv_video/shaders/render/exa_sf.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm.g4i [deleted file]
i965_drv_video/shaders/render/exa_wm_affine.g4i [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g6a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g6b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g7a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_affine.g7b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6b [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7a [deleted file]
i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7b [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g6a [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g6b [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g7a [deleted file]
i965_drv_video/shaders/render/exa_wm_write.g7b [deleted file]
i965_drv_video/shaders/render/exa_wm_xy.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_xy.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_xy.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4a [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b.gen5 [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6a [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6b [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7a [deleted file]
i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7b [deleted file]
i965_drv_video/shaders/vld/Makefile [deleted file]
i965_drv_video/shaders/vme/Makefile.am [deleted file]
i965_drv_video/shaders/vme/gen6_vme_header.inc [deleted file]
i965_drv_video/shaders/vme/gen7_vme_header.inc [deleted file]
i965_drv_video/shaders/vme/inter_frame.asm [deleted file]
i965_drv_video/shaders/vme/inter_frame.g6a [deleted file]
i965_drv_video/shaders/vme/inter_frame.g6b [deleted file]
i965_drv_video/shaders/vme/inter_frame.g7a [deleted file]
i965_drv_video/shaders/vme/inter_frame.g7b [deleted file]
i965_drv_video/shaders/vme/intra_frame.asm [deleted file]
i965_drv_video/shaders/vme/intra_frame.g6a [deleted file]
i965_drv_video/shaders/vme/intra_frame.g6b [deleted file]
i965_drv_video/shaders/vme/intra_frame.g7a [deleted file]
i965_drv_video/shaders/vme/intra_frame.g7b [deleted file]

index 4d4fb49..f0223e0 100644 (file)
@@ -26,9 +26,6 @@ SUBDIRS = va test
 if BUILD_DUMMY_DRIVER
 SUBDIRS += dummy_drv_video
 endif
-if BUILD_I965_DRIVER
-SUBDIRS += i965_drv_video
-endif
 
 pcfiles = libva.pc libva-tpi.pc
 pcfiles += libva-x11.pc
index 90741ec..0f50222 100644 (file)
@@ -77,11 +77,6 @@ AC_ARG_ENABLE(dummy-backend,
                               [build dummy libva backend])],
               [], [enable_dummy_backend=no])
 
-AC_ARG_ENABLE(i965-driver,
-              [AC_HELP_STRING([--enable-i965-driver],
-                              [build i965 video driver])],
-              [], [enable_i965_driver=no])
-
 AC_ARG_WITH(drivers-path,
            [AC_HELP_STRING([--with-drivers-path=[[path]]], [drivers path])],,
            [with_drivers_path="$libdir/dri"])
@@ -105,13 +100,6 @@ PKG_CHECK_MODULES([DRM], [libdrm])
 PKG_CHECK_MODULES(GEN4ASM, [intel-gen4asm >= 1.2], [gen4asm=yes], [gen4asm=no])
 AM_CONDITIONAL(HAVE_GEN4ASM, test x$gen4asm = xyes)
 
-# Check for libdrm >= 2.4.23 (needed for i965_drv_video.so)
-if test x$enable_i965_driver = xyes && ! $PKG_CONFIG --atleast-version=2.4.23 libdrm; then
-    AC_MSG_WARN([libdrm < 2.4.23 found, disabling build of i965 video driver])
-    enable_i965_driver=no
-fi
-AM_CONDITIONAL(BUILD_I965_DRIVER, test x$enable_i965_driver = xyes)
-
 if test x$enable_dummy_backend = xyes; then
     PKG_CHECK_MODULES([UDEV], [libudev], [libudev=yes], [libudev=no])
 fi
@@ -171,15 +159,6 @@ AC_OUTPUT([
        va/egl/Makefile
        va/dummy/Makefile
        dummy_drv_video/Makefile
-       i965_drv_video/Makefile
-       i965_drv_video/shaders/Makefile
-       i965_drv_video/shaders/h264/Makefile
-       i965_drv_video/shaders/h264/mc/Makefile
-       i965_drv_video/shaders/mpeg2/Makefile
-       i965_drv_video/shaders/mpeg2/vld/Makefile
-       i965_drv_video/shaders/render/Makefile
-       i965_drv_video/shaders/post_processing/Makefile
-       i965_drv_video/shaders/vme/Makefile
        test/Makefile
        test/basic/Makefile
        test/decode/Makefile
@@ -203,7 +182,6 @@ echo " 
 echo "     Prefix: ${prefix}"
 echo ""
 
-AS_IF([test x$enable_i965_driver = xyes], [DRIVERS="i965 $DRIVERS"]) 
 AS_IF([test x$enable_dummy_driver = xyes], [DRIVERS="dummy $DRIVERS"])
 
 echo " \95 Drivers: ${DRIVERS}"
diff --git a/i965_drv_video/Makefile.am b/i965_drv_video/Makefile.am
deleted file mode 100644 (file)
index 405489b..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright (c) 2007 Intel Corporation. All Rights Reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sub license, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-# 
-# The above copyright notice and this permission notice (including the
-# next paragraph) shall be included in all copies or substantial portions
-# of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-# IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-# ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-SUBDIRS = shaders
-
-INCLUDES = \
-       -I$(top_srcdir)         \
-       -I$(top_srcdir)/va      \
-       -I$(top_srcdir)/va/x11  \
-       -DPTHREADS              \
-       $(DRM_CFLAGS)           \
-       $(NULL)
-
-driver_cflags = \
-       -Wall                   \
-       -fvisibility=hidden     \
-       $(NULL)
-
-driver_ldflags = \
-       -module -avoid-version  \
-       -no-undefined           \
-       -Wl,--no-undefined      \
-       $(DRM_LIBS) -ldrm_intel \
-       $(NULL)
-
-source_c = \
-       gen6_mfc.c              \
-       gen6_mfd.c              \
-       gen6_vme.c              \
-       gen7_mfd.c              \
-       i965_avc_bsd.c          \
-       i965_avc_hw_scoreboard.c\
-       i965_avc_ildb.c         \
-       i965_drv_video.c        \
-       i965_encoder.c          \
-       i965_media.c            \
-       i965_media_h264.c       \
-       i965_media_mpeg2.c      \
-       i965_post_processing.c  \
-       i965_render.c           \
-       intel_batchbuffer.c     \
-       intel_batchbuffer_dump.c\
-       intel_driver.c          \
-       intel_memman.c          \
-       object_heap.c           \
-       $(NULL)
-
-source_h = \
-       gen6_mfc.h              \
-       gen6_mfd.h              \
-       gen6_vme.h              \
-       gen7_mfd.h              \
-       i965_avc_bsd.h          \
-       i965_avc_hw_scoreboard.h\
-       i965_avc_ildb.h         \
-       i965_defines.h          \
-       i965_drv_video.h        \
-       i965_encoder.h          \
-       i965_media.h            \
-       i965_media_h264.h       \
-       i965_media_mpeg2.h      \
-       i965_mutext.h           \
-       i965_post_processing.h  \
-       i965_render.h           \
-       i965_structs.h          \
-       intel_batchbuffer.h     \
-       intel_batchbuffer_dump.h\
-       intel_compiler.h        \
-       intel_driver.h          \
-       intel_memman.h          \
-       object_heap.h           \
-       $(NULL)
-
-i965_drv_video_la_LTLIBRARIES  = i965_drv_video.la
-i965_drv_video_ladir           = $(LIBVA_DRIVERS_PATH)
-i965_drv_video_la_CFLAGS       = $(driver_cflags)
-i965_drv_video_la_LDFLAGS      = $(driver_ldflags)
-i965_drv_video_la_LIBADD       = $(top_builddir)/va/libva-x11.la -lpthread
-i965_drv_video_la_SOURCES      = $(source_c)
-noinst_HEADERS                 = $(source_h)
diff --git a/i965_drv_video/gen6_mfc.c b/i965_drv_video/gen6_mfc.c
deleted file mode 100644 (file)
index 34de745..0000000
+++ /dev/null
@@ -1,991 +0,0 @@
-/*
- * Copyright © 2010-2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Zhou Chang <chang.zhou@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "assert.h"
-#include "intel_batchbuffer.h"
-#include "i965_defines.h"
-#include "i965_structs.h"
-#include "i965_drv_video.h"
-#include "i965_encoder.h"
-
-static void
-gen6_mfc_pipe_mode_select(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 4);
-
-    OUT_BCS_BATCH(batch, MFX_PIPE_MODE_SELECT | (4 - 2));
-    OUT_BCS_BATCH(batch,
-                  (0 << 10) | /* disable Stream-Out */
-                  (1 << 9)  | /* Post Deblocking Output */
-                  (0 << 8)  | /* Pre Deblocking Output */
-                  (0 << 7)  | /* disable TLB prefectch */
-                  (0 << 5)  | /* not in stitch mode */
-                  (1 << 4)  | /* encoding mode */
-                  (2 << 0));  /* Standard Select: AVC */
-    OUT_BCS_BATCH(batch,
-                  (0 << 20) | /* round flag in PB slice */
-                  (0 << 19) | /* round flag in Intra8x8 */
-                  (0 << 7)  | /* expand NOA bus flag */
-                  (1 << 6)  | /* must be 1 */
-                  (0 << 5)  | /* disable clock gating for NOA */
-                  (0 << 4)  | /* terminate if AVC motion and POC table error occurs */
-                  (0 << 3)  | /* terminate if AVC mbdata error occurs */
-                  (0 << 2)  | /* terminate if AVC CABAC/CAVLC decode error occurs */
-                  (0 << 1)  | /* AVC long field motion vector */
-                  (0 << 0));  /* always calculate AVC ILDB boundary strength */
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfc_pipe_mode_select(VADriverContextP ctx,
-                          int standard_select,
-                          struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    assert(standard_select == MFX_FORMAT_MPEG2 ||
-           standard_select == MFX_FORMAT_AVC);
-
-    BEGIN_BCS_BATCH(batch, 5);
-    OUT_BCS_BATCH(batch, MFX_PIPE_MODE_SELECT | (5 - 2));
-    OUT_BCS_BATCH(batch,
-                  (MFX_LONG_MODE << 17) | /* Must be long format for encoder */
-                  (MFD_MODE_VLD << 15) | /* VLD mode */
-                  (0 << 10) | /* disable Stream-Out */
-                  (1 << 9)  | /* Post Deblocking Output */
-                  (0 << 8)  | /* Pre Deblocking Output */
-                  (0 << 5)  | /* not in stitch mode */
-                  (1 << 4)  | /* encoding mode */
-                  (standard_select << 0));  /* standard select: avc or mpeg2 */
-    OUT_BCS_BATCH(batch,
-                  (0 << 7)  | /* expand NOA bus flag */
-                  (0 << 6)  | /* disable slice-level clock gating */
-                  (0 << 5)  | /* disable clock gating for NOA */
-                  (0 << 4)  | /* terminate if AVC motion and POC table error occurs */
-                  (0 << 3)  | /* terminate if AVC mbdata error occurs */
-                  (0 << 2)  | /* terminate if AVC CABAC/CAVLC decode error occurs */
-                  (0 << 1)  |
-                  (0 << 0));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfc_surface_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    BEGIN_BCS_BATCH(batch, 6);
-
-    OUT_BCS_BATCH(batch, MFX_SURFACE_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  ((mfc_context->surface_state.height - 1) << 19) |
-                  ((mfc_context->surface_state.width - 1) << 6));
-    OUT_BCS_BATCH(batch,
-                  (MFX_SURFACE_PLANAR_420_8 << 28) | /* 420 planar YUV surface */
-                  (1 << 27) | /* must be 1 for interleave U/V, hardware requirement */
-                  (0 << 22) | /* surface object control state, FIXME??? */
-                  ((mfc_context->surface_state.w_pitch - 1) << 3) | /* pitch */
-                  (0 << 2)  | /* must be 0 for interleave U/V */
-                  (1 << 1)  | /* must be y-tiled */
-                  (I965_TILEWALK_YMAJOR << 0));                        /* tile walk, TILEWALK_YMAJOR */
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) |                                                          /* must be 0 for interleave U/V */
-                  (mfc_context->surface_state.h_pitch));               /* y offset for U(cb) */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfc_surface_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    BEGIN_BCS_BATCH(batch, 6);
-
-    OUT_BCS_BATCH(batch, MFX_SURFACE_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  ((mfc_context->surface_state.height - 1) << 18) |
-                  ((mfc_context->surface_state.width - 1) << 4));
-    OUT_BCS_BATCH(batch,
-                  (MFX_SURFACE_PLANAR_420_8 << 28) | /* 420 planar YUV surface */
-                  (1 << 27) | /* must be 1 for interleave U/V, hardware requirement */
-                  (0 << 22) | /* surface object control state, FIXME??? */
-                  ((mfc_context->surface_state.w_pitch - 1) << 3) | /* pitch */
-                  (0 << 2)  | /* must be 0 for interleave U/V */
-                  (1 << 1)  | /* must be tiled */
-                  (I965_TILEWALK_YMAJOR << 0));  /* tile walk, TILEWALK_YMAJOR */
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) |                                                          /* must be 0 for interleave U/V */
-                  (mfc_context->surface_state.h_pitch));               /* y offset for U(cb) */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfc_pipe_buf_addr_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 24);
-
-    OUT_BCS_BATCH(batch, MFX_PIPE_BUF_ADDR_STATE | (24 - 2));
-
-    OUT_BCS_BATCH(batch, 0);                                                                                   /* pre output addr   */
-
-    OUT_BCS_RELOC(batch, mfc_context->post_deblocking_output.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);                                                                                  /* post output addr  */ 
-
-    OUT_BCS_RELOC(batch, mfc_context->uncompressed_picture_source.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);                                                                                  /* uncompressed data */
-
-    OUT_BCS_BATCH(batch, 0);                                                                                   /* StreamOut data*/
-    OUT_BCS_RELOC(batch, mfc_context->intra_row_store_scratch_buffer.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);  
-    OUT_BCS_RELOC(batch, mfc_context->deblocking_filter_row_store_scratch_buffer.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-    /* 7..22 Reference pictures*/
-    for (i = 0; i < ARRAY_ELEMS(mfc_context->reference_surfaces); i++) {
-        if ( mfc_context->reference_surfaces[i].bo != NULL) {
-            OUT_BCS_RELOC(batch, mfc_context->reference_surfaces[i].bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                          0);                  
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-    OUT_BCS_BATCH(batch, 0);                                                                                           /* no block status  */
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfc_ind_obj_base_addr_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-
-    BEGIN_BCS_BATCH(batch, 11);
-
-    OUT_BCS_BATCH(batch, MFX_IND_OBJ_BASE_ADDR_STATE | (11 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    /* MFX Indirect MV Object Base Address */
-    OUT_BCS_RELOC(batch, vme_context->vme_output.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    OUT_BCS_BATCH(batch, 0);   
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    /*MFC Indirect PAK-BSE Object Base Address for Encoder*/   
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfc_ind_obj_base_addr_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-
-    BEGIN_BCS_BATCH(batch, 11);
-
-    OUT_BCS_BATCH(batch, MFX_IND_OBJ_BASE_ADDR_STATE | (11 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    /* MFX Indirect MV Object Base Address */
-    OUT_BCS_RELOC(batch, vme_context->vme_output.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    OUT_BCS_BATCH(batch, 0x80000000); /* must set, up to 2G */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    /*MFC Indirect PAK-BSE Object Base Address for Encoder*/   
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0x80000000); /* must set, up to 2G */
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfc_bsp_buf_base_addr_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    BEGIN_BCS_BATCH(batch, 4);
-
-    OUT_BCS_BATCH(batch, MFX_BSP_BUF_BASE_ADDR_STATE | (4 - 2));
-    OUT_BCS_RELOC(batch, mfc_context->bsd_mpc_row_store_scratch_buffer.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfc_avc_img_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    int width_in_mbs = (mfc_context->surface_state.width + 15) / 16;
-    int height_in_mbs = (mfc_context->surface_state.height + 15) / 16;
-
-    BEGIN_BCS_BATCH(batch, 13);
-    OUT_BCS_BATCH(batch, MFX_AVC_IMG_STATE | (13 - 2));
-    OUT_BCS_BATCH(batch, 
-                  ((width_in_mbs * height_in_mbs) & 0xFFFF));
-    OUT_BCS_BATCH(batch, 
-                  (height_in_mbs << 16) | 
-                  (width_in_mbs << 0));
-    OUT_BCS_BATCH(batch, 
-                  (0 << 24) |    /*Second Chroma QP Offset*/
-                  (0 << 16) |    /*Chroma QP Offset*/
-                  (0 << 14) |   /*Max-bit conformance Intra flag*/
-                  (0 << 13) |   /*Max Macroblock size conformance Inter flag*/
-                  (1 << 12) |   /*Should always be written as "1" */
-                  (0 << 10) |   /*QM Preset FLag */
-                  (0 << 8)  |   /*Image Structure*/
-                  (0 << 0) );   /*Current Decoed Image Frame Store ID, reserved in Encode mode*/
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) |   /*Mininum Frame size*/ 
-                  (0 << 15) |    /*Disable reading of Macroblock Status Buffer*/
-                  (0 << 14) |   /*Load BitStream Pointer only once, 1 slic 1 frame*/
-                  (0 << 13) |   /*CABAC 0 word insertion test enable*/
-                  (1 << 12) |   /*MVUnpackedEnable,compliant to DXVA*/
-                  (1 << 10) |   /*Chroma Format IDC, 4:2:0*/
-                  (1 << 7)  |   /*0:CAVLC encoding mode,1:CABAC*/
-                  (0 << 6)  |   /*Only valid for VLD decoding mode*/
-                  (0 << 5)  |   /*Constrained Intra Predition Flag, from PPS*/
-                  (0 << 4)  |   /*Direct 8x8 inference flag*/
-                  (0 << 3)  |   /*Only 8x8 IDCT Transform Mode Flag*/
-                  (1 << 2)  |   /*Frame MB only flag*/
-                  (0 << 1)  |   /*MBAFF mode is in active*/
-                  (0 << 0) );   /*Field picture flag*/
-    OUT_BCS_BATCH(batch, 0);           /*Mainly about MB rate control and debug, just ignoring*/
-    OUT_BCS_BATCH(batch,                       /*Inter and Intra Conformance Max size limit*/
-                  (0xBB8 << 16) |              /*InterMbMaxSz*/
-                  (0xEE8) );                   /*IntraMbMaxSz*/
-    OUT_BCS_BATCH(batch, 0);           /*Reserved*/
-    OUT_BCS_BATCH(batch, 0);           /*Slice QP Delta for bitrate control*/
-    OUT_BCS_BATCH(batch, 0);           /*Slice QP Delta for bitrate control*/  
-    OUT_BCS_BATCH(batch, 0x8C000000);
-    OUT_BCS_BATCH(batch, 0x00010000);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfc_avc_img_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    int width_in_mbs = (mfc_context->surface_state.width + 15) / 16;
-    int height_in_mbs = (mfc_context->surface_state.height + 15) / 16;
-
-    BEGIN_BCS_BATCH(batch, 16);
-    OUT_BCS_BATCH(batch, MFX_AVC_IMG_STATE | (16 - 2));
-    OUT_BCS_BATCH(batch,
-                  ((width_in_mbs * height_in_mbs) & 0xFFFF));
-    OUT_BCS_BATCH(batch, 
-                  ((height_in_mbs - 1) << 16) | 
-                  ((width_in_mbs - 1) << 0));
-    OUT_BCS_BATCH(batch, 
-                  (0 << 24) |  /* Second Chroma QP Offset */
-                  (0 << 16) |  /* Chroma QP Offset */
-                  (0 << 14) |   /* Max-bit conformance Intra flag */
-                  (0 << 13) |   /* Max Macroblock size conformance Inter flag */
-                  (0 << 12) |   /* FIXME: Weighted_Pred_Flag */
-                  (0 << 10) |   /* FIXME: Weighted_BiPred_Idc */
-                  (0 << 8)  |   /* FIXME: Image Structure */
-                  (0 << 0) );   /* Current Decoed Image Frame Store ID, reserved in Encode mode */
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) |   /* Mininum Frame size */
-                  (0 << 15) |   /* Disable reading of Macroblock Status Buffer */
-                  (0 << 14) |   /* Load BitStream Pointer only once, 1 slic 1 frame */
-                  (0 << 13) |   /* CABAC 0 word insertion test enable */
-                  (1 << 12) |   /* MVUnpackedEnable,compliant to DXVA */
-                  (1 << 10) |   /* Chroma Format IDC, 4:2:0 */
-                  (0 << 9)  |   /* FIXME: MbMvFormatFlag */
-                  (1 << 7)  |   /* 0:CAVLC encoding mode,1:CABAC */
-                  (0 << 6)  |   /* Only valid for VLD decoding mode */
-                  (0 << 5)  |   /* Constrained Intra Predition Flag, from PPS */
-                  (0 << 4)  |   /* Direct 8x8 inference flag */
-                  (0 << 3)  |   /* Only 8x8 IDCT Transform Mode Flag */
-                  (1 << 2)  |   /* Frame MB only flag */
-                  (0 << 1)  |   /* MBAFF mode is in active */
-                  (0 << 0));    /* Field picture flag */
-    OUT_BCS_BATCH(batch, 0);    /* Mainly about MB rate control and debug, just ignoring */
-    OUT_BCS_BATCH(batch,        /* Inter and Intra Conformance Max size limit */
-                  (0xBB8 << 16) |       /* InterMbMaxSz */
-                  (0xEE8) );            /* IntraMbMaxSz */
-    OUT_BCS_BATCH(batch, 0);            /* Reserved */
-    OUT_BCS_BATCH(batch, 0);            /* Slice QP Delta for bitrate control */
-    OUT_BCS_BATCH(batch, 0);            /* Slice QP Delta for bitrate control */       
-    OUT_BCS_BATCH(batch, 0x8C000000);
-    OUT_BCS_BATCH(batch, 0x00010000);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void gen6_mfc_avc_directmode_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 69);
-
-    OUT_BCS_BATCH(batch, MFX_AVC_DIRECTMODE_STATE | (69 - 2));
-    //TODO: reference DMV
-    for(i = 0; i < 16; i++){
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-    }
-
-    //TODO: current DMV just for test
-#if 0
-    OUT_BCS_RELOC(batch, mfc_context->direct_mv_buffers[0].bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-#else
-    //drm_intel_bo_pin(mfc_context->direct_mv_buffers[0].bo, 0x1000);
-    //OUT_BCS_BATCH(batch, mfc_context->direct_mv_buffers[0].bo->offset);
-    OUT_BCS_BATCH(batch, 0);
-#endif
-
-
-    OUT_BCS_BATCH(batch, 0);
-
-    //TODO: POL list
-    for(i = 0; i < 34; i++) {
-        OUT_BCS_BATCH(batch, 0);
-    }
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void gen6_mfc_avc_slice_state(VADriverContextP ctx,
-                                     int intra_slice,
-                                     struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-
-    BEGIN_BCS_BATCH(batch, 11);;
-
-    OUT_BCS_BATCH(batch, MFX_AVC_SLICE_STATE | (11 - 2) );
-
-    if ( intra_slice )
-        OUT_BCS_BATCH(batch, 2);                       /*Slice Type: I Slice*/
-    else
-        OUT_BCS_BATCH(batch, 0);                       /*Slice Type: P Slice*/
-
-    if ( intra_slice )
-        OUT_BCS_BATCH(batch, 0);                       /*no reference frames and pred_weight_table*/
-    else 
-        OUT_BCS_BATCH(batch, 0x00010000);      /*1 reference frame*/
-
-    OUT_BCS_BATCH(batch, (0<<24) |                /*Enable deblocking operation*/
-                  (26<<16) |                   /*Slice Quantization Parameter*/
-                  0x0202 );
-    OUT_BCS_BATCH(batch, 0);                   /*First MB X&Y , the postion of current slice*/
-    OUT_BCS_BATCH(batch, ( ((mfc_context->surface_state.height+15)/16) << 16) );
-
-    OUT_BCS_BATCH(batch, 
-                  (0<<31) |            /*RateControlCounterEnable = disable*/
-                  (1<<30) |            /*ResetRateControlCounter*/
-                  (2<<28) |            /*RC Triggle Mode = Loose Rate Control*/
-                  (1<<19) |            /*IsLastSlice*/
-                  (0<<18) |            /*BitstreamOutputFlag Compressed BitStream Output Disable Flag 0:enable 1:disable*/
-                  (0<<17) |            /*HeaderPresentFlag*/   
-                  (1<<16) |            /*SliceData PresentFlag*/
-                  (0<<15) |            /*TailPresentFlag*/
-                  (1<<13) |            /*RBSP NAL TYPE*/       
-                  (0<<12) );           /*CabacZeroWordInsertionEnable*/
-       
-    OUT_BCS_RELOC(batch, mfc_context->mfc_indirect_pak_bse_object.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  mfc_context->mfc_indirect_pak_bse_object.offset);
-
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-static void gen6_mfc_avc_qm_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 58);
-
-    OUT_BCS_BATCH(batch, MFX_AVC_QM_STATE | 56);
-    OUT_BCS_BATCH(batch, 0xFF ) ; 
-    for( i = 0; i < 56; i++) {
-        OUT_BCS_BATCH(batch, 0x10101010); 
-    }   
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void gen6_mfc_avc_fqm_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 113);
-    OUT_BCS_BATCH(batch, MFC_AVC_FQM_STATE | (113 - 2));
-
-    for(i = 0; i < 112;i++) {
-        OUT_BCS_BATCH(batch, 0x10001000);
-    }   
-
-    ADVANCE_BCS_BATCH(batch);  
-}
-
-static void
-gen7_mfc_qm_state(VADriverContextP ctx,
-                  int qm_type,
-                  unsigned int *qm,
-                  int qm_length,
-                  struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    unsigned int qm_buffer[16];
-
-    assert(qm_length <= 16);
-    assert(sizeof(*qm) == 4);
-    memcpy(qm_buffer, qm, qm_length * 4);
-
-    BEGIN_BCS_BATCH(batch, 18);
-    OUT_BCS_BATCH(batch, MFX_QM_STATE | (18 - 2));
-    OUT_BCS_BATCH(batch, qm_type << 0);
-    intel_batchbuffer_data(batch, qm_buffer, 16 * 4);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void gen7_mfc_avc_qm_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    unsigned int qm[16] = {
-        0x10101010, 0x10101010, 0x10101010, 0x10101010,
-        0x10101010, 0x10101010, 0x10101010, 0x10101010,
-        0x10101010, 0x10101010, 0x10101010, 0x10101010,
-        0x10101010, 0x10101010, 0x10101010, 0x10101010
-    };
-
-    gen7_mfc_qm_state(ctx, MFX_QM_AVC_4X4_INTRA_MATRIX, qm, 12, gen6_encoder_context);
-    gen7_mfc_qm_state(ctx, MFX_QM_AVC_4X4_INTER_MATRIX, qm, 12, gen6_encoder_context);
-    gen7_mfc_qm_state(ctx, MFX_QM_AVC_8x8_INTRA_MATRIX, qm, 16, gen6_encoder_context);
-    gen7_mfc_qm_state(ctx, MFX_QM_AVC_8x8_INTER_MATRIX, qm, 16, gen6_encoder_context);
-}
-
-static void
-gen7_mfc_fqm_state(VADriverContextP ctx,
-                   int fqm_type,
-                   unsigned int *fqm,
-                   int fqm_length,
-                   struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    unsigned int fqm_buffer[32];
-
-    assert(fqm_length <= 32);
-    assert(sizeof(*fqm) == 4);
-    memcpy(fqm_buffer, fqm, fqm_length * 4);
-
-    BEGIN_BCS_BATCH(batch, 34);
-    OUT_BCS_BATCH(batch, MFX_FQM_STATE | (34 - 2));
-    OUT_BCS_BATCH(batch, fqm_type << 0);
-    intel_batchbuffer_data(batch, fqm_buffer, 32 * 4);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void gen7_mfc_avc_fqm_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    unsigned int qm[32] = {
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000,
-        0x10001000, 0x10001000, 0x10001000, 0x10001000
-    };
-
-    gen7_mfc_fqm_state(ctx, MFX_QM_AVC_4X4_INTRA_MATRIX, qm, 24, gen6_encoder_context);
-    gen7_mfc_fqm_state(ctx, MFX_QM_AVC_4X4_INTER_MATRIX, qm, 24, gen6_encoder_context);
-    gen7_mfc_fqm_state(ctx, MFX_QM_AVC_8x8_INTRA_MATRIX, qm, 32, gen6_encoder_context);
-    gen7_mfc_fqm_state(ctx, MFX_QM_AVC_8x8_INTER_MATRIX, qm, 32, gen6_encoder_context);
-}
-
-static void gen6_mfc_avc_ref_idx_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 10);
-
-    OUT_BCS_BATCH(batch, MFX_AVC_REF_IDX_STATE | 8);
-    OUT_BCS_BATCH(batch, 0);                  //Select L0
-
-    OUT_BCS_BATCH(batch, 0x80808000);         //Only 1 reference
-    for(i = 0; i < 7; i++) {
-        OUT_BCS_BATCH(batch, 0x80808080);
-    }
-
-    ADVANCE_BCS_BATCH(batch);
-}
-       
-static void
-gen6_mfc_avc_insert_object(VADriverContextP ctx, int flush_data, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 4);
-
-    OUT_BCS_BATCH(batch, MFC_AVC_INSERT_OBJECT | (4 -2 ) );
-    OUT_BCS_BATCH(batch, (32<<8) | 
-                  (1 << 3) |
-                  (1 << 2) |
-                  (flush_data << 1) |
-                  (1<<0) );
-    OUT_BCS_BATCH(batch, 0x00000003);
-    OUT_BCS_BATCH(batch, 0xABCD1234);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static int
-gen6_mfc_avc_pak_object_intra(VADriverContextP ctx, int x, int y, int end_mb, int qp,unsigned int *msg,
-                              struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int len_in_dwords = 11;
-
-    BEGIN_BCS_BATCH(batch, len_in_dwords);
-
-    OUT_BCS_BATCH(batch, MFC_AVC_PAK_OBJECT | (len_in_dwords - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 
-                  (0 << 24) |          /* PackedMvNum, Debug*/
-                  (0 << 20) |          /* No motion vector */
-                  (1 << 19) |          /* CbpDcY */
-                  (1 << 18) |          /* CbpDcU */
-                  (1 << 17) |          /* CbpDcV */
-                  (msg[0] & 0xFFFF) );
-
-    OUT_BCS_BATCH(batch, (0xFFFF<<16) | (y << 8) | x);         /* Code Block Pattern for Y*/
-    OUT_BCS_BATCH(batch, 0x000F000F);                                                  /* Code Block Pattern */                
-    OUT_BCS_BATCH(batch, (0 << 27) | (end_mb << 26) | qp);     /* Last MB */
-
-    /*Stuff for Intra MB*/
-    OUT_BCS_BATCH(batch, msg[1]);                      /* We using Intra16x16 no 4x4 predmode*/        
-    OUT_BCS_BATCH(batch, msg[2]);      
-    OUT_BCS_BATCH(batch, msg[3]&0xFC);         
-
-    OUT_BCS_BATCH(batch, 0x8040000);   /*MaxSizeInWord and TargetSzieInWord*/
-
-    ADVANCE_BCS_BATCH(batch);
-
-    return len_in_dwords;
-}
-
-static int gen6_mfc_avc_pak_object_inter(VADriverContextP ctx, int x, int y, int end_mb, int qp, unsigned int offset,
-                                         struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    int len_in_dwords = 11;
-
-    BEGIN_BCS_BATCH(batch, len_in_dwords);
-
-    OUT_BCS_BATCH(batch, MFC_AVC_PAK_OBJECT | (len_in_dwords - 2));
-
-    OUT_BCS_BATCH(batch, 32);         /* 32 MV*/
-    OUT_BCS_BATCH(batch, offset);
-
-    OUT_BCS_BATCH(batch, 
-                  (1 << 24) |     /* PackedMvNum, Debug*/
-                  (4 << 20) |     /* 8 MV, SNB don't use it*/
-                  (1 << 19) |     /* CbpDcY */
-                  (1 << 18) |     /* CbpDcU */
-                  (1 << 17) |     /* CbpDcV */
-                  (0 << 15) |     /* Transform8x8Flag = 0*/
-                  (0 << 14) |     /* Frame based*/
-                  (0 << 13) |     /* Inter MB */
-                  (1 << 8)  |     /* MbType = P_L0_16x16 */   
-                  (0 << 7)  |     /* MBZ for frame */
-                  (0 << 6)  |     /* MBZ */
-                  (2 << 4)  |     /* MBZ for inter*/
-                  (0 << 3)  |     /* MBZ */
-                  (0 << 2)  |     /* SkipMbFlag */
-                  (0 << 0));      /* InterMbMode */
-
-    OUT_BCS_BATCH(batch, (0xFFFF<<16) | (y << 8) | x);        /* Code Block Pattern for Y*/
-    OUT_BCS_BATCH(batch, 0x000F000F);                         /* Code Block Pattern */    
-    OUT_BCS_BATCH(batch, (0 << 27) | (end_mb << 26) | qp);    /* Last MB */
-
-    /*Stuff for Inter MB*/
-    OUT_BCS_BATCH(batch, 0x0);        
-    OUT_BCS_BATCH(batch, 0x0);    
-    OUT_BCS_BATCH(batch, 0x0);        
-
-    OUT_BCS_BATCH(batch, 0xF0020000); /*MaxSizeInWord and TargetSzieInWord*/
-
-    ADVANCE_BCS_BATCH(batch);
-
-    return len_in_dwords;
-}
-
-static void gen6_mfc_init(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-    dri_bo *bo;
-    int i;
-
-    /*Encode common setup for MFC*/
-    dri_bo_unreference(mfc_context->post_deblocking_output.bo);
-    mfc_context->post_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(mfc_context->pre_deblocking_output.bo);
-    mfc_context->pre_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(mfc_context->uncompressed_picture_source.bo);
-    mfc_context->uncompressed_picture_source.bo = NULL;
-
-    dri_bo_unreference(mfc_context->mfc_indirect_pak_bse_object.bo); 
-    mfc_context->mfc_indirect_pak_bse_object.bo = NULL;
-
-    for (i = 0; i < NUM_MFC_DMV_BUFFERS; i++){
-        dri_bo_unreference(mfc_context->direct_mv_buffers[i].bo);
-        mfc_context->direct_mv_buffers[i].bo = NULL;
-    }
-
-    for (i = 0; i < MAX_MFC_REFERENCE_SURFACES; i++){
-        if (mfc_context->reference_surfaces[i].bo != NULL)
-            dri_bo_unreference(mfc_context->reference_surfaces[i].bo);
-        mfc_context->reference_surfaces[i].bo = NULL;  
-    }
-
-    dri_bo_unreference(mfc_context->intra_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "Buffer",
-                      128 * 64,
-                      64);
-    assert(bo);
-    mfc_context->intra_row_store_scratch_buffer.bo = bo;
-
-    dri_bo_unreference(mfc_context->deblocking_filter_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "Buffer",
-                      49152,  /* 6 * 128 * 64 */
-                      64);
-    assert(bo);
-    mfc_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
-
-    dri_bo_unreference(mfc_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "Buffer",
-                      12288, /* 1.5 * 128 * 64 */
-                      0x1000);
-    assert(bo);
-    mfc_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-}
-
-void gen6_mfc_avc_pipeline_programing(VADriverContextP ctx,
-                                      struct encode_state *encode_state,
-                                      struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    VAEncSequenceParameterBufferH264 *pSequenceParameter = (VAEncSequenceParameterBufferH264 *)encode_state->seq_param->buffer;
-    VAEncSliceParameterBuffer *pSliceParameter = (VAEncSliceParameterBuffer *)encode_state->slice_params[0]->buffer; /* FIXME: multi slices */
-    unsigned int *msg = NULL, offset = 0;
-    int emit_new_state = 1, object_len_in_bytes;
-    int is_intra = pSliceParameter->slice_flags.bits.is_intra;
-    int width_in_mbs = (mfc_context->surface_state.width + 15) / 16;
-    int height_in_mbs = (mfc_context->surface_state.height + 15) / 16;
-    int x,y;
-
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000); 
-
-    if (is_intra) {
-        dri_bo_map(vme_context->vme_output.bo , 1);
-        msg = (unsigned int *)vme_context->vme_output.bo->virtual;
-    }
-
-    for (y = 0; y < height_in_mbs; y++) {
-        for (x = 0; x < width_in_mbs; x++) { 
-            int last_mb = (y == (height_in_mbs-1)) && ( x == (width_in_mbs-1) );
-            int qp = pSequenceParameter->initial_qp;
-
-            if (emit_new_state) {
-                intel_batchbuffer_emit_mi_flush(batch);
-                
-                if (IS_GEN7(i965->intel.device_id)) {
-                    gen7_mfc_pipe_mode_select(ctx, MFX_FORMAT_AVC, gen6_encoder_context);
-                    gen7_mfc_surface_state(ctx, gen6_encoder_context);
-                    gen7_mfc_ind_obj_base_addr_state(ctx, gen6_encoder_context);
-                } else {
-                    gen6_mfc_pipe_mode_select(ctx, gen6_encoder_context);
-                    gen6_mfc_surface_state(ctx, gen6_encoder_context);
-                    gen6_mfc_ind_obj_base_addr_state(ctx, gen6_encoder_context);
-                }
-
-                gen6_mfc_pipe_buf_addr_state(ctx, gen6_encoder_context);
-                gen6_mfc_bsp_buf_base_addr_state(ctx, gen6_encoder_context);
-
-                if (IS_GEN7(i965->intel.device_id)) {
-                    gen7_mfc_avc_img_state(ctx, gen6_encoder_context);
-                    gen7_mfc_avc_qm_state(ctx, gen6_encoder_context);
-                    gen7_mfc_avc_fqm_state(ctx, gen6_encoder_context);
-                } else {
-                    gen6_mfc_avc_img_state(ctx, gen6_encoder_context);
-                    gen6_mfc_avc_qm_state(ctx, gen6_encoder_context);
-                    gen6_mfc_avc_fqm_state(ctx, gen6_encoder_context);
-                }
-
-                gen6_mfc_avc_ref_idx_state(ctx, gen6_encoder_context);
-                gen6_mfc_avc_slice_state(ctx, is_intra, gen6_encoder_context);
-                emit_new_state = 0;
-            }
-
-            if (is_intra) {
-                assert(msg);
-                object_len_in_bytes = gen6_mfc_avc_pak_object_intra(ctx, x, y, last_mb, qp, msg, gen6_encoder_context);
-                msg += 4;
-            } else {
-                object_len_in_bytes = gen6_mfc_avc_pak_object_inter(ctx, x, y, last_mb, qp, offset, gen6_encoder_context);
-                offset += 64;
-            }
-
-            if (intel_batchbuffer_check_free_space(batch, object_len_in_bytes) == 0) {
-                intel_batchbuffer_end_atomic(batch);
-                intel_batchbuffer_flush(batch);
-                emit_new_state = 1;
-                intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-            }
-        }
-    }
-
-    if (is_intra)
-        dri_bo_unmap(vme_context->vme_output.bo);
-       
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static VAStatus gen6_mfc_avc_prepare(VADriverContextP ctx, 
-                                     struct encode_state *encode_state,
-                                     struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-    struct object_surface *obj_surface;        
-    struct object_buffer *obj_buffer;
-    dri_bo *bo;
-    VAEncPictureParameterBufferH264 *pPicParameter = (VAEncPictureParameterBufferH264 *)encode_state->pic_param->buffer;
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-
-    /*Setup all the input&output object*/
-    obj_surface = SURFACE(pPicParameter->reconstructed_picture);
-    assert(obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    mfc_context->post_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(mfc_context->post_deblocking_output.bo);
-
-    mfc_context->surface_state.width = obj_surface->orig_width;
-    mfc_context->surface_state.height = obj_surface->orig_height;
-    mfc_context->surface_state.w_pitch = obj_surface->width;
-    mfc_context->surface_state.h_pitch = obj_surface->height;
-
-    obj_surface = SURFACE(pPicParameter->reference_picture);
-    assert(obj_surface);
-    if (obj_surface->bo != NULL) {
-        mfc_context->reference_surfaces[0].bo = obj_surface->bo;
-        dri_bo_reference(obj_surface->bo);
-    }
-       
-    obj_surface = SURFACE(encode_state->current_render_target);
-    assert(obj_surface && obj_surface->bo);
-    mfc_context->uncompressed_picture_source.bo = obj_surface->bo;
-    dri_bo_reference(mfc_context->uncompressed_picture_source.bo);
-
-    obj_buffer = BUFFER (pPicParameter->coded_buf); /* FIXME: fix this later */
-    bo = obj_buffer->buffer_store->bo;
-    assert(bo);
-    mfc_context->mfc_indirect_pak_bse_object.bo = bo;
-    mfc_context->mfc_indirect_pak_bse_object.offset = ALIGN(sizeof(VACodedBufferSegment), 64);
-    dri_bo_reference(mfc_context->mfc_indirect_pak_bse_object.bo);
-
-    /*Programing bcs pipeline*/
-    gen6_mfc_avc_pipeline_programing(ctx, encode_state, gen6_encoder_context); //filling the pipeline
-       
-    return vaStatus;
-}
-
-static VAStatus gen6_mfc_run(VADriverContextP ctx, 
-                             struct encode_state *encode_state,
-                             struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    intel_batchbuffer_flush(batch);            //run the pipeline
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_mfc_stop(VADriverContextP ctx, 
-                              struct encode_state *encode_state,
-                              struct gen6_encoder_context *gen6_encoder_context)
-{
-#if 0
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_mfc_context *mfc_context = &gen6_encoder_context->mfc_context;
-       
-    VAEncPictureParameterBufferH264 *pPicParameter = (VAEncPictureParameterBufferH264 *)encode_state->pic_param->buffer;
-       
-    struct object_surface *obj_surface = SURFACE(pPicParameter->reconstructed_picture);
-    //struct object_surface *obj_surface = SURFACE(pPicParameter->reference_picture[0]);
-    //struct object_surface *obj_surface = SURFACE(encode_state->current_render_target);
-    my_debug(obj_surface);
-
-#endif
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-gen6_mfc_avc_encode_picture(VADriverContextP ctx, 
-                            struct encode_state *encode_state,
-                            struct gen6_encoder_context *gen6_encoder_context)
-{
-    gen6_mfc_init(ctx, gen6_encoder_context);
-    gen6_mfc_avc_prepare(ctx, encode_state, gen6_encoder_context);
-    gen6_mfc_run(ctx, encode_state, gen6_encoder_context);
-    gen6_mfc_stop(ctx, encode_state, gen6_encoder_context);
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus
-gen6_mfc_pipeline(VADriverContextP ctx,
-                  VAProfile profile,
-                  struct encode_state *encode_state,
-                  struct gen6_encoder_context *gen6_encoder_context)
-{
-    VAStatus vaStatus;
-
-    switch (profile) {
-    case VAProfileH264Baseline:
-        vaStatus = gen6_mfc_avc_encode_picture(ctx, encode_state, gen6_encoder_context);
-        break;
-
-        /* FIXME: add for other profile */
-    default:
-        vaStatus = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
-        break;
-    }
-
-    return vaStatus;
-}
-
-Bool gen6_mfc_context_init(VADriverContextP ctx, struct gen6_mfc_context *mfc_context)
-{
-    return True;
-}
-
-Bool gen6_mfc_context_destroy(struct gen6_mfc_context *mfc_context)
-{
-    int i;
-
-    dri_bo_unreference(mfc_context->post_deblocking_output.bo);
-    mfc_context->post_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(mfc_context->pre_deblocking_output.bo);
-    mfc_context->pre_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(mfc_context->uncompressed_picture_source.bo);
-    mfc_context->uncompressed_picture_source.bo = NULL;
-
-    dri_bo_unreference(mfc_context->mfc_indirect_pak_bse_object.bo); 
-    mfc_context->mfc_indirect_pak_bse_object.bo = NULL;
-
-    for (i = 0; i < NUM_MFC_DMV_BUFFERS; i++){
-        dri_bo_unreference(mfc_context->direct_mv_buffers[i].bo);
-        mfc_context->direct_mv_buffers[i].bo = NULL;
-    }
-
-    dri_bo_unreference(mfc_context->intra_row_store_scratch_buffer.bo);
-    mfc_context->intra_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(mfc_context->deblocking_filter_row_store_scratch_buffer.bo);
-    mfc_context->deblocking_filter_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(mfc_context->bsd_mpc_row_store_scratch_buffer.bo);
-    mfc_context->bsd_mpc_row_store_scratch_buffer.bo = NULL;
-
-    return True;
-}
diff --git a/i965_drv_video/gen6_mfc.h b/i965_drv_video/gen6_mfc.h
deleted file mode 100644 (file)
index 75bcf63..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Zhou Chang <chang.zhou@intel.com>
- *
- */
-
-#ifndef _GEN6_MFC_H_
-#define _GEN6_MFC_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-struct encode_state;
-
-#define MAX_MFC_REFERENCE_SURFACES        16
-#define NUM_MFC_DMV_BUFFERS                              34
-
-struct gen6_mfc_context
-{
-    struct {
-        unsigned int width;
-        unsigned int height;
-        unsigned int w_pitch;
-        unsigned int h_pitch;
-    } surface_state;
-
-
-    //MFX_PIPE_BUF_ADDR_STATE
-    struct {
-        dri_bo *bo;                                    
-    } post_deblocking_output;                                  //OUTPUT: reconstructed picture                           
-    
-    struct {  
-        dri_bo *bo;                                                            
-    } pre_deblocking_output;                                   //OUTPUT: reconstructed picture with deblocked                           
-
-    struct {
-        dri_bo *bo;
-    } uncompressed_picture_source;                                             //INPUT: original compressed image
-
-    struct {
-        dri_bo *bo;                                                            
-    } intra_row_store_scratch_buffer;                                  //INTERNAL:
-
-    struct {
-        dri_bo *bo;                                                            
-    } deblocking_filter_row_store_scratch_buffer;              //INTERNAL:
-
-    struct {                                    
-       dri_bo *bo; 
-    } reference_surfaces[MAX_MFC_REFERENCE_SURFACES];  //INTERNAL: refrence surfaces
-
-    //MFX_IND_OBJ_BASE_ADDR_STATE
-    struct{
-        dri_bo *bo;
-    } mfc_indirect_mv_object;                                                  //INPUT: the blocks' mv info
-
-    struct {
-        dri_bo *bo;
-        int offset;
-    } mfc_indirect_pak_bse_object;                                             //OUTPUT: the compressed bitstream 
-
-    //MFX_BSP_BUF_BASE_ADDR_STATE
-    struct {
-        dri_bo *bo;
-    }bsd_mpc_row_store_scratch_buffer;                                 //INTERNAL:
-       
-    //MFX_AVC_DIRECTMODE_STATE
-    struct {
-        dri_bo *bo;
-    }direct_mv_buffers[NUM_MFC_DMV_BUFFERS];                           //INTERNAL:     0-31 as input,32 and 33 as output
-};
-
-VAStatus 
-gen6_mfc_pipeline(VADriverContextP ctx,
-                  VAProfile profile,
-                  struct encode_state *encode_state,
-                  struct gen6_encoder_context *gen6_encoder_context);
-Bool gen6_mfc_context_init(VADriverContextP ctx, struct gen6_mfc_context *mfc_context);
-Bool gen6_mfc_context_destroy(struct gen6_mfc_context *mfc_context);
-
-#endif /* _GEN6_MFC_BCS_H_ */
diff --git a/i965_drv_video/gen6_mfd.c b/i965_drv_video/gen6_mfd.c
deleted file mode 100644 (file)
index 19368f1..0000000
+++ /dev/null
@@ -1,2115 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-
-#include "gen6_mfd.h"
-
-#define DMV_SIZE        0x88000 /* 557056 bytes for a frame */
-
-static const uint32_t zigzag_direct[64] = {
-    0,   1,  8, 16,  9,  2,  3, 10,
-    17, 24, 32, 25, 18, 11,  4,  5,
-    12, 19, 26, 33, 40, 48, 41, 34,
-    27, 20, 13,  6,  7, 14, 21, 28,
-    35, 42, 49, 56, 57, 50, 43, 36,
-    29, 22, 15, 23, 30, 37, 44, 51,
-    58, 59, 52, 45, 38, 31, 39, 46,
-    53, 60, 61, 54, 47, 55, 62, 63
-};
-
-static void
-gen6_mfd_avc_frame_store_index(VADriverContextP ctx,
-                               VAPictureParameterBufferH264 *pic_param,
-                               struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i, j;
-
-    assert(ARRAY_ELEMS(gen6_mfd_context->reference_surface) == ARRAY_ELEMS(pic_param->ReferenceFrames));
-
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++) {
-        int found = 0;
-
-        if (gen6_mfd_context->reference_surface[i].surface_id == VA_INVALID_ID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-            VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[j];
-            if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-                continue;
-
-            if (gen6_mfd_context->reference_surface[i].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            struct object_surface *obj_surface = SURFACE(gen6_mfd_context->reference_surface[i].surface_id);
-            obj_surface->flags &= ~SURFACE_REFERENCED;
-
-            if ((obj_surface->flags & SURFACE_ALL_MASK) == SURFACE_DISPLAYED) {
-                dri_bo_unreference(obj_surface->bo);
-                obj_surface->bo = NULL;
-                obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-            }
-
-            if (obj_surface->free_private_data)
-                obj_surface->free_private_data(&obj_surface->private_data);
-
-            gen6_mfd_context->reference_surface[i].surface_id = VA_INVALID_ID;
-            gen6_mfd_context->reference_surface[i].frame_store_id = -1;
-        }
-    }
-
-    for (i = 0; i < ARRAY_ELEMS(pic_param->ReferenceFrames); i++) {
-        VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[i];
-        int found = 0;
-
-        if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(gen6_mfd_context->reference_surface); j++) {
-            if (gen6_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID)
-                continue;
-            
-            if (gen6_mfd_context->reference_surface[j].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            int frame_idx;
-            struct object_surface *obj_surface = SURFACE(ref_pic->picture_id);
-            
-            assert(obj_surface);
-            i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N', 'V', '1', '2'));
-
-            for (frame_idx = 0; frame_idx < ARRAY_ELEMS(gen6_mfd_context->reference_surface); frame_idx++) {
-                for (j = 0; j < ARRAY_ELEMS(gen6_mfd_context->reference_surface); j++) {
-                    if (gen6_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID)
-                        continue;
-
-                    if (gen6_mfd_context->reference_surface[j].frame_store_id == frame_idx)
-                        break;
-                }
-
-                if (j == ARRAY_ELEMS(gen6_mfd_context->reference_surface))
-                    break;
-            }
-
-            assert(frame_idx < ARRAY_ELEMS(gen6_mfd_context->reference_surface));
-
-            for (j = 0; j < ARRAY_ELEMS(gen6_mfd_context->reference_surface); j++) {
-                if (gen6_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID) {
-                    gen6_mfd_context->reference_surface[j].surface_id = ref_pic->picture_id;
-                    gen6_mfd_context->reference_surface[j].frame_store_id = frame_idx;
-                    break;
-                }
-            }
-        }
-    }
-
-    /* sort */
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface) - 1; i++) {
-        if (gen6_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID &&
-            gen6_mfd_context->reference_surface[i].frame_store_id == i)
-            continue;
-
-        for (j = i + 1; j < ARRAY_ELEMS(gen6_mfd_context->reference_surface); j++) {
-            if (gen6_mfd_context->reference_surface[j].surface_id != VA_INVALID_ID &&
-                gen6_mfd_context->reference_surface[j].frame_store_id == i) {
-                VASurfaceID id = gen6_mfd_context->reference_surface[i].surface_id;
-                int frame_idx = gen6_mfd_context->reference_surface[i].frame_store_id;
-
-                gen6_mfd_context->reference_surface[i].surface_id = gen6_mfd_context->reference_surface[j].surface_id;
-                gen6_mfd_context->reference_surface[i].frame_store_id = gen6_mfd_context->reference_surface[j].frame_store_id;
-                gen6_mfd_context->reference_surface[j].surface_id = id;
-                gen6_mfd_context->reference_surface[j].frame_store_id = frame_idx;
-                break;
-            }
-        }
-    }
-}
-
-static void 
-gen6_mfd_free_avc_surface(void **data)
-{
-    struct gen6_avc_surface *gen6_avc_surface = *data;
-
-    if (!gen6_avc_surface)
-        return;
-
-    dri_bo_unreference(gen6_avc_surface->dmv_top);
-    gen6_avc_surface->dmv_top = NULL;
-    dri_bo_unreference(gen6_avc_surface->dmv_bottom);
-    gen6_avc_surface->dmv_bottom = NULL;
-
-    free(gen6_avc_surface);
-    *data = NULL;
-}
-
-static void
-gen6_mfd_init_avc_surface(VADriverContextP ctx, 
-                          VAPictureParameterBufferH264 *pic_param,
-                          struct object_surface *obj_surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_avc_surface *gen6_avc_surface = obj_surface->private_data;
-
-    obj_surface->free_private_data = gen6_mfd_free_avc_surface;
-
-    if (!gen6_avc_surface) {
-        gen6_avc_surface = calloc(sizeof(struct gen6_avc_surface), 1);
-        assert((obj_surface->size & 0x3f) == 0);
-        obj_surface->private_data = gen6_avc_surface;
-    }
-
-    gen6_avc_surface->dmv_bottom_flag = (pic_param->pic_fields.bits.field_pic_flag &&
-                                         !pic_param->seq_fields.bits.direct_8x8_inference_flag);
-
-    if (gen6_avc_surface->dmv_top == NULL) {
-        gen6_avc_surface->dmv_top = dri_bo_alloc(i965->intel.bufmgr,
-                                                 "direct mv w/r buffer",
-                                                 DMV_SIZE,
-                                                 0x1000);
-    }
-
-    if (gen6_avc_surface->dmv_bottom_flag &&
-        gen6_avc_surface->dmv_bottom == NULL) {
-        gen6_avc_surface->dmv_bottom = dri_bo_alloc(i965->intel.bufmgr,
-                                                    "direct mv w/r buffer",
-                                                    DMV_SIZE,
-                                                    0x1000);
-    }
-}
-
-static void
-gen6_mfd_pipe_mode_select(VADriverContextP ctx,
-                          struct decode_state *decode_state,
-                          int standard_select,
-                          struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-
-    assert(standard_select == MFX_FORMAT_MPEG2 ||
-           standard_select == MFX_FORMAT_AVC ||
-           standard_select == MFX_FORMAT_VC1);
-
-    BEGIN_BCS_BATCH(batch, 4);
-    OUT_BCS_BATCH(batch, MFX_PIPE_MODE_SELECT | (4 - 2));
-    OUT_BCS_BATCH(batch,
-                  (MFD_MODE_VLD << 16) | /* VLD mode */
-                  (0 << 10) | /* disable Stream-Out */
-                  (gen6_mfd_context->post_deblocking_output.valid << 9)  | /* Post Deblocking Output */
-                  (gen6_mfd_context->pre_deblocking_output.valid << 8)  | /* Pre Deblocking Output */
-                  (0 << 7)  | /* disable TLB prefectch */
-                  (0 << 5)  | /* not in stitch mode */
-                  (MFX_CODEC_DECODE << 4)  | /* decoding mode */
-                  (standard_select << 0));
-    OUT_BCS_BATCH(batch,
-                  (0 << 20) | /* round flag in PB slice */
-                  (0 << 19) | /* round flag in Intra8x8 */
-                  (0 << 7)  | /* expand NOA bus flag */
-                  (1 << 6)  | /* must be 1 */
-                  (0 << 5)  | /* disable clock gating for NOA */
-                  (0 << 4)  | /* terminate if AVC motion and POC table error occurs */
-                  (0 << 3)  | /* terminate if AVC mbdata error occurs */
-                  (0 << 2)  | /* terminate if AVC CABAC/CAVLC decode error occurs */
-                  (0 << 1)  | /* AVC long field motion vector */
-                  (1 << 0));  /* always calculate AVC ILDB boundary strength */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_surface_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       int standard_select,
-                       struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFX_SURFACE_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  ((obj_surface->orig_height - 1) << 19) |
-                  ((obj_surface->orig_width - 1) << 6));
-    OUT_BCS_BATCH(batch,
-                  (MFX_SURFACE_PLANAR_420_8 << 28) | /* 420 planar YUV surface */
-                  (1 << 27) | /* must be 1 for interleave U/V, hardware requirement */
-                  (0 << 22) | /* surface object control state, FIXME??? */
-                  ((obj_surface->width - 1) << 3) | /* pitch */
-                  (0 << 2)  | /* must be 0 for interleave U/V */
-                  (1 << 1)  | /* must be y-tiled */
-                  (I965_TILEWALK_YMAJOR << 0));  /* tile walk, FIXME: must be 1 ??? */
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) | /* must be 0 for interleave U/V */
-                  (obj_surface->height)); /* y offset for U(cb) */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_pipe_buf_addr_state(VADriverContextP ctx,
-                             struct decode_state *decode_state,
-                             int standard_select,
-                             struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 24);
-    OUT_BCS_BATCH(batch, MFX_PIPE_BUF_ADDR_STATE | (24 - 2));
-    if (gen6_mfd_context->pre_deblocking_output.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->pre_deblocking_output.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen6_mfd_context->post_deblocking_output.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->post_deblocking_output.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    OUT_BCS_BATCH(batch, 0); /* ignore for decoding */
-    OUT_BCS_BATCH(batch, 0); /* ignore for decoding */
-
-    if (gen6_mfd_context->intra_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->intra_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    /* DW 7..22 */
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++) {
-        struct object_surface *obj_surface;
-
-        if (gen6_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            obj_surface = SURFACE(gen6_mfd_context->reference_surface[i].surface_id);
-            assert(obj_surface && obj_surface->bo);
-
-            OUT_BCS_RELOC(batch, obj_surface->bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          0);
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    OUT_BCS_BATCH(batch, 0);   /* ignore DW23 for decoding */
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_ind_obj_base_addr_state(VADriverContextP ctx,
-                                 dri_bo *slice_data_bo,
-                                 int standard_select,
-                                 struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 11);
-    OUT_BCS_BATCH(batch, MFX_IND_OBJ_BASE_ADDR_STATE | (11 - 2));
-    OUT_BCS_RELOC(batch, slice_data_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0); /* MFX Indirect Bitstream Object Base Address */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_bsp_buf_base_addr_state(VADriverContextP ctx,
-                                 struct decode_state *decode_state,
-                                 int standard_select,
-                                 struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 4);
-    OUT_BCS_BATCH(batch, MFX_BSP_BUF_BASE_ADDR_STATE | (4 - 2));
-
-    if (gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen6_mfd_context->mpr_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->mpr_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen6_mfd_context->bitplane_read_buffer.valid)
-        OUT_BCS_RELOC(batch, gen6_mfd_context->bitplane_read_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_aes_state(VADriverContextP ctx,
-                   struct decode_state *decode_state,
-                   int standard_select)
-{
-    /* FIXME */
-}
-
-static void
-gen6_mfd_wait(VADriverContextP ctx,
-              struct decode_state *decode_state,
-              int standard_select,
-              struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 1);
-    OUT_BCS_BATCH(batch, MFX_WAIT | (1 << 8));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_img_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int qm_present_flag;
-    int img_struct;
-    int mbaff_frame_flag;
-    unsigned int width_in_mbs, height_in_mbs;
-    VAPictureParameterBufferH264 *pic_param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    assert(!(pic_param->CurrPic.flags & VA_PICTURE_H264_INVALID));
-
-    if (decode_state->iq_matrix && decode_state->iq_matrix->buffer)
-        qm_present_flag = 1;
-    else
-        qm_present_flag = 0; /* built-in QM matrices */
-
-    if (pic_param->CurrPic.flags & VA_PICTURE_H264_TOP_FIELD)
-        img_struct = 1;
-    else if (pic_param->CurrPic.flags & VA_PICTURE_H264_BOTTOM_FIELD)
-        img_struct = 3;
-    else
-        img_struct = 0;
-
-    if ((img_struct & 0x1) == 0x1) {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x1);
-    } else {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x0);
-    }
-
-    if (pic_param->seq_fields.bits.frame_mbs_only_flag) { /* a frame containing only frame macroblocks */
-        assert(pic_param->seq_fields.bits.mb_adaptive_frame_field_flag == 0);
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0);
-    } else {
-        assert(pic_param->seq_fields.bits.direct_8x8_inference_flag == 1); /* see H.264 spec */
-    }
-
-    mbaff_frame_flag = (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag &&
-                        !pic_param->pic_fields.bits.field_pic_flag);
-
-    width_in_mbs = ((pic_param->picture_width_in_mbs_minus1 + 1) & 0xff);
-    height_in_mbs = ((pic_param->picture_height_in_mbs_minus1 + 1) & 0xff); /* frame height */
-    assert(!((width_in_mbs * height_in_mbs) & 0x8000)); /* hardware requirement */
-
-    /* MFX unit doesn't support 4:2:2 and 4:4:4 picture */
-    assert(pic_param->seq_fields.bits.chroma_format_idc == 0 || /* monochrome picture */
-           pic_param->seq_fields.bits.chroma_format_idc == 1);  /* 4:2:0 */
-    assert(pic_param->seq_fields.bits.residual_colour_transform_flag == 0); /* only available for 4:4:4 */
-
-    BEGIN_BCS_BATCH(batch, 13);
-    OUT_BCS_BATCH(batch, MFX_AVC_IMG_STATE | (13 - 2));
-    OUT_BCS_BATCH(batch, 
-                  ((width_in_mbs * height_in_mbs) & 0x7fff));
-    OUT_BCS_BATCH(batch, 
-                  (height_in_mbs << 16) | 
-                  (width_in_mbs << 0));
-    OUT_BCS_BATCH(batch, 
-                  ((pic_param->second_chroma_qp_index_offset & 0x1f) << 24) |
-                  ((pic_param->chroma_qp_index_offset & 0x1f) << 16) |
-                  (0 << 14) | /* Max-bit conformance Intra flag ??? FIXME */
-                  (0 << 13) | /* Max Macroblock size conformance Inter flag ??? FIXME */
-                  (1 << 12) | /* always 1, hardware requirement */
-                  (qm_present_flag << 10) |
-                  (img_struct << 8) |
-                  (16 << 0));
-    OUT_BCS_BATCH(batch,
-                  (pic_param->seq_fields.bits.chroma_format_idc << 10) |
-                  (pic_param->pic_fields.bits.entropy_coding_mode_flag << 7) |
-                  ((!pic_param->pic_fields.bits.reference_pic_flag) << 6) |
-                  (pic_param->pic_fields.bits.constrained_intra_pred_flag << 5) |
-                  (pic_param->seq_fields.bits.direct_8x8_inference_flag << 4) |
-                  (pic_param->pic_fields.bits.transform_8x8_mode_flag << 3) |
-                  (pic_param->seq_fields.bits.frame_mbs_only_flag << 2) |
-                  (mbaff_frame_flag << 1) |
-                  (pic_param->pic_fields.bits.field_pic_flag << 0));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_qm_state(VADriverContextP ctx,
-                      struct decode_state *decode_state,
-                      struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int cmd_len;
-    VAIQMatrixBufferH264 *iq_matrix;
-    VAPictureParameterBufferH264 *pic_param;
-
-    if (!decode_state->iq_matrix || !decode_state->iq_matrix->buffer)
-        return;
-
-    iq_matrix = (VAIQMatrixBufferH264 *)decode_state->iq_matrix->buffer;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    cmd_len = 2 + 6 * 4; /* always load six 4x4 scaling matrices */
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        cmd_len += 2 * 16; /* load two 8x8 scaling matrices */
-
-    BEGIN_BCS_BATCH(batch, cmd_len);
-    OUT_BCS_BATCH(batch, MFX_AVC_QM_STATE | (cmd_len - 2));
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        OUT_BCS_BATCH(batch, 
-                      (0x0  << 8) | /* don't use default built-in matrices */
-                      (0xff << 0)); /* six 4x4 and two 8x8 scaling matrices */
-    else
-        OUT_BCS_BATCH(batch, 
-                      (0x0  << 8) | /* don't use default built-in matrices */
-                      (0x3f << 0)); /* six 4x4 scaling matrices */
-
-    intel_batchbuffer_data(batch, &iq_matrix->ScalingList4x4[0][0], 6 * 4 * 4);
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        intel_batchbuffer_data(batch, &iq_matrix->ScalingList8x8[0][0], 2 * 16 * 4);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_directmode_state(VADriverContextP ctx,
-                              VAPictureParameterBufferH264 *pic_param,
-                              VASliceParameterBufferH264 *slice_param,
-                              struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    struct object_surface *obj_surface;
-    struct gen6_avc_surface *gen6_avc_surface;
-    VAPictureH264 *va_pic;
-    int i, j;
-
-    BEGIN_BCS_BATCH(batch, 69);
-    OUT_BCS_BATCH(batch, MFX_AVC_DIRECTMODE_STATE | (69 - 2));
-
-    /* reference surfaces 0..15 */
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++) {
-        if (gen6_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            obj_surface = SURFACE(gen6_mfd_context->reference_surface[i].surface_id);
-            assert(obj_surface);
-            gen6_avc_surface = obj_surface->private_data;
-
-            if (gen6_avc_surface == NULL) {
-                OUT_BCS_BATCH(batch, 0);
-                OUT_BCS_BATCH(batch, 0);
-            } else {
-                OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_top,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0);
-
-                if (gen6_avc_surface->dmv_bottom_flag == 1)
-                    OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_bottom,
-                                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                  0);
-                else
-                    OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_top,
-                                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                  0);
-            }
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    /* the current decoding frame/field */
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface && obj_surface->bo && obj_surface->private_data);
-    gen6_avc_surface = obj_surface->private_data;
-
-    OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_top,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-
-    if (gen6_avc_surface->dmv_bottom_flag == 1)
-        OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_bottom,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_RELOC(batch, gen6_avc_surface->dmv_top,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-
-    /* POC List */
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++) {
-        if (gen6_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            int found = 0;
-            for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-                va_pic = &pic_param->ReferenceFrames[j];
-                
-                if (va_pic->flags & VA_PICTURE_H264_INVALID)
-                    continue;
-
-                if (va_pic->picture_id == gen6_mfd_context->reference_surface[i].surface_id) {
-                    found = 1;
-                    break;
-                }
-            }
-
-            assert(found == 1);
-            assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-            
-            OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-            OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    va_pic = &pic_param->CurrPic;
-    OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-    OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_slice_state(VADriverContextP ctx,
-                         VAPictureParameterBufferH264 *pic_param,
-                         VASliceParameterBufferH264 *slice_param,
-                         VASliceParameterBufferH264 *next_slice_param,
-                         struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1;
-    int height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1;
-    int slice_hor_pos, slice_ver_pos, next_slice_hor_pos, next_slice_ver_pos;
-    int num_ref_idx_l0, num_ref_idx_l1;
-    int mbaff_picture = (!pic_param->pic_fields.bits.field_pic_flag &&
-                         pic_param->seq_fields.bits.mb_adaptive_frame_field_flag);
-    int weighted_pred_idc = 0;
-    int first_mb_in_slice = 0, first_mb_in_next_slice = 0;
-    int slice_type;
-
-    if (slice_param->slice_type == SLICE_TYPE_I ||
-        slice_param->slice_type == SLICE_TYPE_SI) {
-        slice_type = SLICE_TYPE_I;
-    } else if (slice_param->slice_type == SLICE_TYPE_P ||
-               slice_param->slice_type == SLICE_TYPE_SP) {
-        slice_type = SLICE_TYPE_P;
-    } else { 
-        assert(slice_param->slice_type == SLICE_TYPE_B);
-        slice_type = SLICE_TYPE_B;
-    }
-
-    if (slice_type == SLICE_TYPE_I) {
-        assert(slice_param->num_ref_idx_l0_active_minus1 == 0);
-        assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-        num_ref_idx_l0 = 0;
-        num_ref_idx_l1 = 0;
-    } else if (slice_type == SLICE_TYPE_P) {
-        assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-        num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-        num_ref_idx_l1 = 0;
-        weighted_pred_idc = (pic_param->pic_fields.bits.weighted_pred_flag == 1);
-    } else {
-        num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-        num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1;
-        weighted_pred_idc = (pic_param->pic_fields.bits.weighted_bipred_idc == 1);
-    }
-
-    first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture;
-    slice_hor_pos = first_mb_in_slice % width_in_mbs; 
-    slice_ver_pos = first_mb_in_slice / width_in_mbs;
-
-    if (next_slice_param) {
-        first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture;
-        next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; 
-        next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs;
-    } else {
-        next_slice_hor_pos = 0;
-        next_slice_ver_pos = height_in_mbs;
-    }
-
-    BEGIN_BCS_BATCH(batch, 11); /* FIXME: is it 10??? */
-    OUT_BCS_BATCH(batch, MFX_AVC_SLICE_STATE | (11 - 2));
-    OUT_BCS_BATCH(batch, slice_type);
-    OUT_BCS_BATCH(batch, 
-                  (num_ref_idx_l1 << 24) |
-                  (num_ref_idx_l0 << 16) |
-                  (slice_param->chroma_log2_weight_denom << 8) |
-                  (slice_param->luma_log2_weight_denom << 0));
-    OUT_BCS_BATCH(batch, 
-                  (weighted_pred_idc << 30) |
-                  (slice_param->direct_spatial_mv_pred_flag << 29) |
-                  (slice_param->disable_deblocking_filter_idc << 27) |
-                  (slice_param->cabac_init_idc << 24) |
-                  ((pic_param->pic_init_qp_minus26 + 26 + slice_param->slice_qp_delta) << 16) |
-                  ((slice_param->slice_beta_offset_div2 & 0xf) << 8) |
-                  ((slice_param->slice_alpha_c0_offset_div2 & 0xf) << 0));
-    OUT_BCS_BATCH(batch, 
-                  (slice_ver_pos << 24) |
-                  (slice_hor_pos << 16) | 
-                  (first_mb_in_slice << 0));
-    OUT_BCS_BATCH(batch,
-                  (next_slice_ver_pos << 16) |
-                  (next_slice_hor_pos << 0));
-    OUT_BCS_BATCH(batch, 
-                  (next_slice_param == NULL) << 19); /* last slice flag */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_phantom_slice_state(VADriverContextP ctx,
-                                 VAPictureParameterBufferH264 *pic_param,
-                                 struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1;
-    int height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; /* frame height */
-
-    BEGIN_BCS_BATCH(batch, 11); /* FIXME: is it 10??? */
-    OUT_BCS_BATCH(batch, MFX_AVC_SLICE_STATE | (11 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  height_in_mbs << 24 |
-                  width_in_mbs * height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_ref_idx_state(VADriverContextP ctx,
-                           VAPictureParameterBufferH264 *pic_param,
-                           VASliceParameterBufferH264 *slice_param,
-                           struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int i, j, num_ref_list;
-    struct {
-        unsigned char bottom_idc:1;
-        unsigned char frame_store_index:4;
-        unsigned char field_picture:1;
-        unsigned char long_term:1;
-        unsigned char non_exist:1;
-    } refs[32];
-
-    if (slice_param->slice_type == SLICE_TYPE_I ||
-        slice_param->slice_type == SLICE_TYPE_SI)
-        return;
-
-    if (slice_param->slice_type == SLICE_TYPE_P ||
-        slice_param->slice_type == SLICE_TYPE_SP) {
-        num_ref_list = 1;
-    } else {
-        num_ref_list = 2;
-    }
-
-    for (i = 0; i < num_ref_list; i++) {
-        VAPictureH264 *va_pic;
-
-        if (i == 0) {
-            va_pic = slice_param->RefPicList0;
-        } else {
-            va_pic = slice_param->RefPicList1;
-        }
-
-        BEGIN_BCS_BATCH(batch, 10);
-        OUT_BCS_BATCH(batch, MFX_AVC_REF_IDX_STATE | (10 - 2));
-        OUT_BCS_BATCH(batch, i);
-
-        for (j = 0; j < 32; j++) {
-            if (va_pic->flags & VA_PICTURE_H264_INVALID) {
-                refs[j].non_exist = 1;
-                refs[j].long_term = 1;
-                refs[j].field_picture = 1;
-                refs[j].frame_store_index = 0xf;
-                refs[j].bottom_idc = 1;
-            } else {
-                int frame_idx;
-                
-                for (frame_idx = 0; frame_idx < ARRAY_ELEMS(gen6_mfd_context->reference_surface); frame_idx++) {
-                    if (gen6_mfd_context->reference_surface[frame_idx].surface_id != VA_INVALID_ID &&
-                        va_pic->picture_id == gen6_mfd_context->reference_surface[frame_idx].surface_id) {
-                        assert(frame_idx == gen6_mfd_context->reference_surface[frame_idx].frame_store_id);
-                        break;
-                    }
-                }
-
-                assert(frame_idx < ARRAY_ELEMS(gen6_mfd_context->reference_surface));
-                
-                refs[j].non_exist = 0;
-                refs[j].long_term = !!(va_pic->flags & VA_PICTURE_H264_LONG_TERM_REFERENCE);
-                refs[j].field_picture = !!(va_pic->flags & 
-                                           (VA_PICTURE_H264_TOP_FIELD | 
-                                            VA_PICTURE_H264_BOTTOM_FIELD));
-                refs[j].frame_store_index = frame_idx;
-                refs[j].bottom_idc = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-            }
-
-            va_pic++;
-        }
-        
-        intel_batchbuffer_data(batch, refs, sizeof(refs));
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static void
-gen6_mfd_avc_weightoffset_state(VADriverContextP ctx,
-                                VAPictureParameterBufferH264 *pic_param,
-                                VASliceParameterBufferH264 *slice_param,
-                                struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int i, j, num_weight_offset_table = 0;
-    short weightoffsets[32 * 6];
-
-    if ((slice_param->slice_type == SLICE_TYPE_P ||
-         slice_param->slice_type == SLICE_TYPE_SP) &&
-        (pic_param->pic_fields.bits.weighted_pred_flag == 1)) {
-        num_weight_offset_table = 1;
-    }
-    
-    if ((slice_param->slice_type == SLICE_TYPE_B) &&
-        (pic_param->pic_fields.bits.weighted_bipred_idc == 1)) {
-        num_weight_offset_table = 2;
-    }
-
-    for (i = 0; i < num_weight_offset_table; i++) {
-        BEGIN_BCS_BATCH(batch, 98);
-        OUT_BCS_BATCH(batch, MFX_AVC_WEIGHTOFFSET_STATE | (98 - 2));
-        OUT_BCS_BATCH(batch, i);
-
-        if (i == 0) {
-            for (j = 0; j < 32; j++) {
-                weightoffsets[j * 6 + 0] = slice_param->luma_weight_l0[j];
-                weightoffsets[j * 6 + 1] = slice_param->luma_offset_l0[j];
-                weightoffsets[j * 6 + 2] = slice_param->chroma_weight_l0[j][0];
-                weightoffsets[j * 6 + 3] = slice_param->chroma_offset_l0[j][0];
-                weightoffsets[j * 6 + 4] = slice_param->chroma_weight_l0[j][1];
-                weightoffsets[j * 6 + 5] = slice_param->chroma_offset_l0[j][1];
-            }
-        } else {
-            for (j = 0; j < 32; j++) {
-                weightoffsets[j * 6 + 0] = slice_param->luma_weight_l1[j];
-                weightoffsets[j * 6 + 1] = slice_param->luma_offset_l1[j];
-                weightoffsets[j * 6 + 2] = slice_param->chroma_weight_l1[j][0];
-                weightoffsets[j * 6 + 3] = slice_param->chroma_offset_l1[j][0];
-                weightoffsets[j * 6 + 4] = slice_param->chroma_weight_l1[j][1];
-                weightoffsets[j * 6 + 5] = slice_param->chroma_offset_l1[j][1];
-            }
-        }
-
-        intel_batchbuffer_data(batch, weightoffsets, sizeof(weightoffsets));
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static int
-gen6_mfd_avc_get_slice_bit_offset(uint8_t *buf, int mode_flag, int in_slice_data_bit_offset)
-{
-    int out_slice_data_bit_offset;
-    int slice_header_size = in_slice_data_bit_offset / 8;
-    int i, j;
-
-    for (i = 0, j = 0; i < slice_header_size; i++, j++) {
-        if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3) {
-            i++, j += 2;
-        }
-    }
-
-    out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
-
-    if (mode_flag == ENTROPY_CABAC)
-        out_slice_data_bit_offset = ALIGN(out_slice_data_bit_offset, 0x8);
-
-    return out_slice_data_bit_offset;
-}
-
-static void
-gen6_mfd_avc_bsd_object(VADriverContextP ctx,
-                        VAPictureParameterBufferH264 *pic_param,
-                        VASliceParameterBufferH264 *slice_param,
-                        dri_bo *slice_data_bo,
-                        struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int slice_data_bit_offset;
-    uint8_t *slice_data = NULL;
-
-    dri_bo_map(slice_data_bo, 0);
-    slice_data = (uint8_t *)(slice_data_bo->virtual + slice_param->slice_data_offset);
-    slice_data_bit_offset = gen6_mfd_avc_get_slice_bit_offset(slice_data,
-                                                              pic_param->pic_fields.bits.entropy_coding_mode_flag,
-                                                              slice_param->slice_data_bit_offset);
-    dri_bo_unmap(slice_data_bo);
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFD_AVC_BSD_OBJECT | (6 - 2));
-    OUT_BCS_BATCH(batch, 
-                  ((slice_param->slice_data_size - (slice_data_bit_offset >> 3)) << 0));
-    OUT_BCS_BATCH(batch, slice_param->slice_data_offset + (slice_data_bit_offset >> 3));
-    OUT_BCS_BATCH(batch,
-                  (0 << 31) |
-                  (0 << 14) |
-                  (0 << 12) |
-                  (0 << 10) |
-                  (0 << 8));
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) |
-                  (0 << 6)  |
-                  ((0x7 - (slice_data_bit_offset & 0x7)) << 0));
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_phantom_slice_bsd_object(VADriverContextP ctx,
-                                      VAPictureParameterBufferH264 *pic_param,
-                                      struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFD_AVC_BSD_OBJECT | (6 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_avc_phantom_slice(VADriverContextP ctx,
-                           VAPictureParameterBufferH264 *pic_param,
-                           struct gen6_mfd_context *gen6_mfd_context)
-{
-    gen6_mfd_avc_phantom_slice_state(ctx, pic_param, gen6_mfd_context);
-    gen6_mfd_avc_phantom_slice_bsd_object(ctx, pic_param, gen6_mfd_context);
-}
-
-static void
-gen6_mfd_avc_decode_init(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen6_mfd_context *gen6_mfd_context)
-{
-    VAPictureParameterBufferH264 *pic_param;
-    VASliceParameterBufferH264 *slice_param;
-    VAPictureH264 *va_pic;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    dri_bo *bo;
-    int i, j, enable_avc_ildb = 0;
-
-    for (j = 0; j < decode_state->num_slice_params && enable_avc_ildb == 0; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (slice_param->disable_deblocking_filter_idc != 1) {
-                enable_avc_ildb = 1;
-                break;
-            }
-
-            slice_param++;
-        }
-    }
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    gen6_mfd_avc_frame_store_index(ctx, pic_param, gen6_mfd_context);
-
-    /* Current decoded picture */
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface);
-    obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-    obj_surface->flags |= (pic_param->pic_fields.bits.reference_pic_flag ? SURFACE_REFERENCED : 0);
-    gen6_mfd_init_avc_surface(ctx, pic_param, obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen6_mfd_context->post_deblocking_output.bo);
-    gen6_mfd_context->post_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen6_mfd_context->post_deblocking_output.bo);
-    gen6_mfd_context->post_deblocking_output.valid = enable_avc_ildb;
-
-    dri_bo_unreference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.valid = !enable_avc_ildb;
-
-    dri_bo_unreference(gen6_mfd_context->intra_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "intra row store",
-                      128 * 64,
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->intra_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->intra_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "deblocking filter row store",
-                      30720, /* 4 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->mpr_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "mpr row store",
-                      7680, /* 1. 0 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->mpr_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->mpr_row_store_scratch_buffer.valid = 1;
-
-    gen6_mfd_context->bitplane_read_buffer.valid = 0;
-}
-
-static void
-gen6_mfd_avc_decode_picture(VADriverContextP ctx,
-                            struct decode_state *decode_state,
-                            struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferH264 *pic_param;
-    VASliceParameterBufferH264 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    gen6_mfd_avc_decode_init(ctx, decode_state, gen6_mfd_context);
-
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen6_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_AVC, gen6_mfd_context);
-    gen6_mfd_surface_state(ctx, decode_state, MFX_FORMAT_AVC, gen6_mfd_context);
-    gen6_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_AVC, gen6_mfd_context);
-    gen6_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_AVC, gen6_mfd_context);
-    gen6_mfd_avc_img_state(ctx, decode_state, gen6_mfd_context);
-    gen6_mfd_avc_qm_state(ctx, decode_state, gen6_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen6_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_AVC, gen6_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = next_slice_group_param;
-
-            gen6_mfd_avc_directmode_state(ctx, pic_param, slice_param, gen6_mfd_context);
-            gen6_mfd_avc_slice_state(ctx, pic_param, slice_param, next_slice_param, gen6_mfd_context);
-            gen6_mfd_avc_ref_idx_state(ctx, pic_param, slice_param, gen6_mfd_context);
-            gen6_mfd_avc_weightoffset_state(ctx, pic_param, slice_param, gen6_mfd_context);
-            gen6_mfd_avc_bsd_object(ctx, pic_param, slice_param, slice_data_bo, gen6_mfd_context);
-            slice_param++;
-        }
-    }
-    
-    gen6_mfd_avc_phantom_slice(ctx, pic_param, gen6_mfd_context);
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static void
-gen6_mfd_mpeg2_decode_init(VADriverContextP ctx,
-                           struct decode_state *decode_state,
-                           struct gen6_mfd_context *gen6_mfd_context)
-{
-    VAPictureParameterBufferMPEG2 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int i;
-    dri_bo *bo;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    /* reference picture */
-    obj_surface = SURFACE(pic_param->forward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen6_mfd_context->reference_surface[0].surface_id = pic_param->forward_reference_picture;
-    else
-        gen6_mfd_context->reference_surface[0].surface_id = VA_INVALID_ID;
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen6_mfd_context->reference_surface[1].surface_id = pic_param->backward_reference_picture;
-    else
-        gen6_mfd_context->reference_surface[1].surface_id = gen6_mfd_context->reference_surface[0].surface_id;
-
-    /* must do so !!! */
-    for (i = 2; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++)
-        gen6_mfd_context->reference_surface[i].surface_id = gen6_mfd_context->reference_surface[i % 2].surface_id;
-
-    /* Current decoded picture */
-    obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    gen6_mfd_context->post_deblocking_output.valid = 0;
-    gen6_mfd_context->intra_row_store_scratch_buffer.valid = 0;
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 0;
-    gen6_mfd_context->mpr_row_store_scratch_buffer.valid = 0;
-    gen6_mfd_context->bitplane_read_buffer.valid = 0;
-}
-
-static void
-gen6_mfd_mpeg2_pic_state(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferMPEG2 *pic_param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    BEGIN_BCS_BATCH(batch, 4);
-    OUT_BCS_BATCH(batch, MFX_MPEG2_PIC_STATE | (4 - 2));
-    OUT_BCS_BATCH(batch,
-                  (pic_param->f_code & 0xf) << 28 | /* f_code[1][1] */
-                  ((pic_param->f_code >> 4) & 0xf) << 24 | /* f_code[1][0] */
-                  ((pic_param->f_code >> 8) & 0xf) << 20 | /* f_code[0][1] */
-                  ((pic_param->f_code >> 12) & 0xf) << 16 | /* f_code[0][0] */
-                  pic_param->picture_coding_extension.bits.intra_dc_precision << 14 |
-                  pic_param->picture_coding_extension.bits.picture_structure << 12 |
-                  pic_param->picture_coding_extension.bits.top_field_first << 11 |
-                  pic_param->picture_coding_extension.bits.frame_pred_frame_dct << 10 |
-                  pic_param->picture_coding_extension.bits.concealment_motion_vectors << 9 |
-                  pic_param->picture_coding_extension.bits.q_scale_type << 8 |
-                  pic_param->picture_coding_extension.bits.intra_vlc_format << 7 | 
-                  pic_param->picture_coding_extension.bits.alternate_scan << 6);
-    OUT_BCS_BATCH(batch,
-                  pic_param->picture_coding_type << 9);
-    OUT_BCS_BATCH(batch,
-                  (ALIGN(pic_param->vertical_size, 16) / 16) << 16 |
-                  (ALIGN(pic_param->horizontal_size, 16) / 16));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_mpeg2_qm_state(VADriverContextP ctx,
-                        struct decode_state *decode_state,
-                        struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAIQMatrixBufferMPEG2 *iq_matrix;
-    int i;
-
-    if (!decode_state->iq_matrix || !decode_state->iq_matrix->buffer)
-        return;
-
-    iq_matrix = (VAIQMatrixBufferMPEG2 *)decode_state->iq_matrix->buffer;
-
-    for (i = 0; i < 2; i++) {
-        int k, m;
-        unsigned char *qm = NULL;
-        unsigned char qmx[64];
-
-        if (i == 0) {
-            if (iq_matrix->load_intra_quantiser_matrix)
-                qm = iq_matrix->intra_quantiser_matrix;
-        } else {
-            if (iq_matrix->load_non_intra_quantiser_matrix)
-                qm = iq_matrix->non_intra_quantiser_matrix;
-        }
-
-        if (!qm)
-            continue;
-
-        /* Upload quantisation matrix in raster order. The mplayer vaapi
-         * patch passes quantisation matrix in zig-zag order to va library.
-         */
-        for (k = 0; k < 64; k++) {
-            m = zigzag_direct[k];
-            qmx[m] = qm[k];
-        }
-
-        BEGIN_BCS_BATCH(batch, 18);
-        OUT_BCS_BATCH(batch, MFX_MPEG2_QM_STATE | (18 - 2));
-        OUT_BCS_BATCH(batch, i);
-        intel_batchbuffer_data(batch, qmx, 64);
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static void
-gen6_mfd_mpeg2_bsd_object(VADriverContextP ctx,
-                          VAPictureParameterBufferMPEG2 *pic_param,
-                          VASliceParameterBufferMPEG2 *slice_param,
-                          VASliceParameterBufferMPEG2 *next_slice_param,
-                          struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    unsigned int width_in_mbs = ALIGN(pic_param->horizontal_size, 16) / 16;
-    int mb_count, vpos0, hpos0, vpos1, hpos1, is_field_pic = 0;
-
-    if (pic_param->picture_coding_extension.bits.picture_structure == MPEG_TOP_FIELD ||
-        pic_param->picture_coding_extension.bits.picture_structure == MPEG_BOTTOM_FIELD)
-        is_field_pic = 1;
-
-    vpos0 = slice_param->slice_vertical_position / (1 + is_field_pic);
-    hpos0 = slice_param->slice_horizontal_position;
-
-    if (next_slice_param == NULL) {
-        vpos1 = ALIGN(pic_param->vertical_size, 16) / 16 / (1 + is_field_pic);
-        hpos1 = 0;
-    } else {
-        vpos1 = next_slice_param->slice_vertical_position / (1 + is_field_pic);
-        hpos1 = next_slice_param->slice_horizontal_position;
-    }
-
-    mb_count = (vpos1 * width_in_mbs + hpos1) - (vpos0 * width_in_mbs + hpos0);
-
-    BEGIN_BCS_BATCH(batch, 5);
-    OUT_BCS_BATCH(batch, MFD_MPEG2_BSD_OBJECT | (5 - 2));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_size - (slice_param->macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_offset + (slice_param->macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch,
-                  hpos0 << 24 |
-                  vpos0 << 16 |
-                  mb_count << 8 |
-                  (next_slice_param == NULL) << 5 |
-                  (next_slice_param == NULL) << 3 |
-                  (slice_param->macroblock_offset & 0x7));
-    OUT_BCS_BATCH(batch,
-                  slice_param->quantiser_scale_code << 24);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_mpeg2_decode_picture(VADriverContextP ctx,
-                              struct decode_state *decode_state,
-                              struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferMPEG2 *pic_param;
-    VASliceParameterBufferMPEG2 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    gen6_mfd_mpeg2_decode_init(ctx, decode_state, gen6_mfd_context);
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen6_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_MPEG2, gen6_mfd_context);
-    gen6_mfd_surface_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen6_mfd_context);
-    gen6_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen6_mfd_context);
-    gen6_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen6_mfd_context);
-    gen6_mfd_mpeg2_pic_state(ctx, decode_state, gen6_mfd_context);
-    gen6_mfd_mpeg2_qm_state(ctx, decode_state, gen6_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferMPEG2 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen6_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_MPEG2, gen6_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferMPEG2 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = next_slice_group_param;
-
-            gen6_mfd_mpeg2_bsd_object(ctx, pic_param, slice_param, next_slice_param, gen6_mfd_context);
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static const int va_to_gen6_vc1_pic_type[5] = {
-    GEN6_VC1_I_PICTURE,
-    GEN6_VC1_P_PICTURE,
-    GEN6_VC1_B_PICTURE,
-    GEN6_VC1_BI_PICTURE,
-    GEN6_VC1_P_PICTURE,
-};
-
-static const int va_to_gen6_vc1_mv[4] = {
-    1, /* 1-MV */
-    2, /* 1-MV half-pel */
-    3, /* 1-MV half-pef bilinear */
-    0, /* Mixed MV */
-};
-
-static const int b_picture_scale_factor[21] = {
-    128, 85,  170, 64,  192,
-    51,  102, 153, 204, 43,
-    215, 37,  74,  111, 148,
-    185, 222, 32,  96,  160, 
-    224,
-};
-
-static const int va_to_gen6_vc1_condover[3] = {
-    0,
-    2,
-    3
-};
-
-static const int va_to_gen6_vc1_profile[4] = {
-    GEN6_VC1_SIMPLE_PROFILE,
-    GEN6_VC1_MAIN_PROFILE,
-    GEN6_VC1_RESERVED_PROFILE,
-    GEN6_VC1_ADVANCED_PROFILE
-};
-
-static const int va_to_gen6_vc1_ttfrm[8] = {
-    0,  /* 8x8 */
-    1,  /* 8x4 bottom */
-    1,  /* 8x4 top */
-    1,  /* 8x4 */
-    2,  /* 4x8 bottom */
-    2,  /* 4x8 top */
-    2,  /* 4x8 */
-    3,  /* 4x4 */
-};
-
-static void 
-gen6_mfd_free_vc1_surface(void **data)
-{
-    struct gen6_vc1_surface *gen6_vc1_surface = *data;
-
-    if (!gen6_vc1_surface)
-        return;
-
-    dri_bo_unreference(gen6_vc1_surface->dmv);
-    free(gen6_vc1_surface);
-    *data = NULL;
-}
-
-static void
-gen6_mfd_init_vc1_surface(VADriverContextP ctx, 
-                          VAPictureParameterBufferVC1 *pic_param,
-                          struct object_surface *obj_surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_vc1_surface *gen6_vc1_surface = obj_surface->private_data;
-
-    obj_surface->free_private_data = gen6_mfd_free_vc1_surface;
-
-    if (!gen6_vc1_surface) {
-        gen6_vc1_surface = calloc(sizeof(struct gen6_vc1_surface), 1);
-        assert((obj_surface->size & 0x3f) == 0);
-        obj_surface->private_data = gen6_vc1_surface;
-    }
-
-    gen6_vc1_surface->picture_type = pic_param->picture_fields.bits.picture_type;
-
-    if (gen6_vc1_surface->dmv == NULL) {
-        gen6_vc1_surface->dmv = dri_bo_alloc(i965->intel.bufmgr,
-                                             "direct mv w/r buffer",
-                                             557056,    /* 64 * 128 * 64 */
-                                             0x1000);
-    }
-}
-
-static void
-gen6_mfd_vc1_decode_init(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen6_mfd_context *gen6_mfd_context)
-{
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int i;
-    dri_bo *bo;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    /* reference picture */
-    obj_surface = SURFACE(pic_param->forward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen6_mfd_context->reference_surface[0].surface_id = pic_param->forward_reference_picture;
-    else
-        gen6_mfd_context->reference_surface[0].surface_id = VA_INVALID_ID;
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen6_mfd_context->reference_surface[1].surface_id = pic_param->backward_reference_picture;
-    else
-        gen6_mfd_context->reference_surface[1].surface_id = pic_param->forward_reference_picture;
-
-    /* must do so !!! */
-    for (i = 2; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++)
-        gen6_mfd_context->reference_surface[i].surface_id = gen6_mfd_context->reference_surface[i % 2].surface_id;
-
-    /* Current decoded picture */
-    obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    gen6_mfd_init_vc1_surface(ctx, pic_param, obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen6_mfd_context->post_deblocking_output.bo);
-    gen6_mfd_context->post_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen6_mfd_context->post_deblocking_output.bo);
-    gen6_mfd_context->post_deblocking_output.valid = pic_param->entrypoint_fields.bits.loopfilter;
-
-    dri_bo_unreference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.valid = !pic_param->entrypoint_fields.bits.loopfilter;
-
-    dri_bo_unreference(gen6_mfd_context->intra_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "intra row store",
-                      128 * 64,
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->intra_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->intra_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "deblocking filter row store",
-                      46080, /* 6 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    gen6_mfd_context->mpr_row_store_scratch_buffer.valid = 0;
-
-    gen6_mfd_context->bitplane_read_buffer.valid = !!pic_param->bitplane_present.value;
-    dri_bo_unreference(gen6_mfd_context->bitplane_read_buffer.bo);
-    
-    if (gen6_mfd_context->bitplane_read_buffer.valid) {
-        int width_in_mbs = ALIGN(pic_param->coded_width, 16) / 16;
-        int height_in_mbs = ALIGN(pic_param->coded_height, 16) / 16;
-        int bitplane_width = ALIGN(width_in_mbs, 2) / 2;
-        int src_w, src_h;
-        uint8_t *src = NULL, *dst = NULL;
-
-        assert(decode_state->bit_plane->buffer);
-        src = decode_state->bit_plane->buffer;
-
-        bo = dri_bo_alloc(i965->intel.bufmgr,
-                          "VC-1 Bitplane",
-                          bitplane_width * bitplane_width,
-                          0x1000);
-        assert(bo);
-        gen6_mfd_context->bitplane_read_buffer.bo = bo;
-
-        dri_bo_map(bo, True);
-        assert(bo->virtual);
-        dst = bo->virtual;
-
-        for (src_h = 0; src_h < height_in_mbs; src_h++) {
-            for(src_w = 0; src_w < width_in_mbs; src_w++) {
-                int src_index, dst_index;
-                int src_shift;
-                uint8_t src_value;
-
-                src_index = (src_h * width_in_mbs + src_w) / 2;
-                src_shift = !((src_h * width_in_mbs + src_w) & 1) * 4;
-                src_value = ((src[src_index] >> src_shift) & 0xf);
-
-                dst_index = src_w / 2;
-                dst[dst_index] = ((dst[dst_index] >> 4) | (src_value << 4));
-            }
-
-            if (src_w & 1)
-                dst[src_w / 2] >>= 4;
-
-            dst += bitplane_width;
-        }
-
-        dri_bo_unmap(bo);
-    } else
-        gen6_mfd_context->bitplane_read_buffer.bo = NULL;
-}
-
-static void
-gen6_mfd_vc1_pic_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int alt_pquant_config = 0, alt_pquant_edge_mask = 0, alt_pq;
-    int dquant, dquantfrm, dqprofile, dqdbedge, dqsbedge, dqbilevel;
-    int unified_mv_mode;
-    int ref_field_pic_polarity = 0;
-    int scale_factor = 0;
-    int trans_ac_y = 0;
-    int dmv_surface_valid = 0;
-    int brfd = 0;
-    int fcm = 0;
-    int picture_type;
-    int profile;
-    int overlap;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    profile = va_to_gen6_vc1_profile[pic_param->sequence_fields.bits.profile];
-    dquant = pic_param->pic_quantizer_fields.bits.dquant;
-    dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
-    dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
-    dqdbedge = pic_param->pic_quantizer_fields.bits.dq_db_edge;
-    dqsbedge = pic_param->pic_quantizer_fields.bits.dq_sb_edge;
-    dqbilevel = pic_param->pic_quantizer_fields.bits.dq_binary_level;
-    alt_pq = pic_param->pic_quantizer_fields.bits.alt_pic_quantizer;
-
-    if (dquant == 0) {
-        alt_pquant_config = 0;
-        alt_pquant_edge_mask = 0;
-    } else if (dquant == 2) {
-        alt_pquant_config = 1;
-        alt_pquant_edge_mask = 0xf;
-    } else {
-        assert(dquant == 1);
-        if (dquantfrm == 0) {
-            alt_pquant_config = 0;
-            alt_pquant_edge_mask = 0;
-            alt_pq = 0;
-        } else {
-            assert(dquantfrm == 1);
-            alt_pquant_config = 1;
-
-            switch (dqprofile) {
-            case 3:
-                if (dqbilevel == 0) {
-                    alt_pquant_config = 2;
-                    alt_pquant_edge_mask = 0;
-                } else {
-                    assert(dqbilevel == 1);
-                    alt_pquant_config = 3;
-                    alt_pquant_edge_mask = 0;
-                }
-                break;
-                
-            case 0:
-                alt_pquant_edge_mask = 0xf;
-                break;
-
-            case 1:
-                if (dqdbedge == 3)
-                    alt_pquant_edge_mask = 0x9;
-                else
-                    alt_pquant_edge_mask = (0x3 << dqdbedge);
-
-                break;
-
-            case 2:
-                alt_pquant_edge_mask = (0x1 << dqsbedge);
-                break;
-
-            default:
-                assert(0);
-            }
-        }
-    }
-
-    if (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation) {
-        assert(pic_param->mv_fields.bits.mv_mode2 < 4);
-        unified_mv_mode = va_to_gen6_vc1_mv[pic_param->mv_fields.bits.mv_mode2];
-    } else {
-        assert(pic_param->mv_fields.bits.mv_mode < 4);
-        unified_mv_mode = va_to_gen6_vc1_mv[pic_param->mv_fields.bits.mv_mode];
-    }
-
-    if (pic_param->sequence_fields.bits.interlace == 1 &&
-        pic_param->picture_fields.bits.frame_coding_mode != 0) { /* frame-interlace or field-interlace */
-        /* FIXME: calculate reference field picture polarity */
-        assert(0);
-        ref_field_pic_polarity = 0;
-    }
-
-    if (pic_param->b_picture_fraction < 21)
-        scale_factor = b_picture_scale_factor[pic_param->b_picture_fraction];
-
-    picture_type = va_to_gen6_vc1_pic_type[pic_param->picture_fields.bits.picture_type];
-    
-    if (profile == GEN6_VC1_ADVANCED_PROFILE && 
-        picture_type == GEN6_VC1_I_PICTURE)
-        picture_type = GEN6_VC1_BI_PICTURE;
-
-    if (picture_type == GEN6_VC1_I_PICTURE || picture_type == GEN6_VC1_BI_PICTURE) /* I picture */
-        trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx2;
-    else
-        trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx1;
-
-
-    if (picture_type == GEN6_VC1_B_PICTURE) {
-        struct gen6_vc1_surface *gen6_vc1_surface = NULL;
-
-        obj_surface = SURFACE(pic_param->backward_reference_picture);
-        assert(obj_surface);
-        gen6_vc1_surface = obj_surface->private_data;
-
-        if (!gen6_vc1_surface || 
-            (va_to_gen6_vc1_pic_type[gen6_vc1_surface->picture_type] == GEN6_VC1_I_PICTURE ||
-             va_to_gen6_vc1_pic_type[gen6_vc1_surface->picture_type] == GEN6_VC1_BI_PICTURE))
-            dmv_surface_valid = 0;
-        else
-            dmv_surface_valid = 1;
-    }
-
-    assert(pic_param->picture_fields.bits.frame_coding_mode < 3);
-
-    if (pic_param->picture_fields.bits.frame_coding_mode < 2)
-        fcm = pic_param->picture_fields.bits.frame_coding_mode;
-    else {
-        if (pic_param->picture_fields.bits.top_field_first)
-            fcm = 2;
-        else
-            fcm = 3;
-    }
-
-    if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_B_PICTURE) { /* B picture */
-        brfd = pic_param->reference_fields.bits.reference_distance;
-        brfd = (scale_factor * brfd) >> 8;
-        brfd = pic_param->reference_fields.bits.reference_distance - brfd - 1;
-
-        if (brfd < 0)
-            brfd = 0;
-    }
-
-    overlap = pic_param->sequence_fields.bits.overlap;
-    if (profile != GEN6_VC1_ADVANCED_PROFILE && pic_param->pic_quantizer_fields.bits.pic_quantizer_scale < 9)
-        overlap = 0;
-
-    assert(pic_param->conditional_overlap_flag < 3);
-    assert(pic_param->mv_fields.bits.mv_table < 4); /* FIXME: interlace mode */
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFX_VC1_PIC_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch,
-                  (ALIGN(pic_param->coded_height, 16) / 16) << 16 |
-                  (ALIGN(pic_param->coded_width, 16) / 16));
-    OUT_BCS_BATCH(batch,
-                  pic_param->sequence_fields.bits.syncmarker << 31 |
-                  1 << 29 | /* concealment */
-                  alt_pq << 24 |
-                  pic_param->entrypoint_fields.bits.loopfilter << 23 |
-                  overlap << 22 |
-                  (pic_param->pic_quantizer_fields.bits.quantizer == 0) << 21 | /* implicit quantizer */
-                  pic_param->pic_quantizer_fields.bits.pic_quantizer_scale << 16 |
-                  alt_pquant_edge_mask << 12 |
-                  alt_pquant_config << 10 |
-                  pic_param->pic_quantizer_fields.bits.half_qp << 9 |
-                  pic_param->pic_quantizer_fields.bits.pic_quantizer_type << 8 |
-                  va_to_gen6_vc1_condover[pic_param->conditional_overlap_flag] << 6 |
-                  !pic_param->picture_fields.bits.is_first_field << 5 |
-                  picture_type << 2 |
-                  fcm << 0);
-    OUT_BCS_BATCH(batch,
-                  !!pic_param->bitplane_present.value << 23 |
-                  !pic_param->bitplane_present.flags.bp_forward_mb << 22 |
-                  !pic_param->bitplane_present.flags.bp_mv_type_mb << 21 |
-                  !pic_param->bitplane_present.flags.bp_skip_mb << 20 |
-                  !pic_param->bitplane_present.flags.bp_direct_mb << 19 |
-                  !pic_param->bitplane_present.flags.bp_overflags << 18 |
-                  !pic_param->bitplane_present.flags.bp_ac_pred << 17 |
-                  !pic_param->bitplane_present.flags.bp_field_tx << 16 |
-                  pic_param->mv_fields.bits.extended_dmv_range << 14 |
-                  pic_param->mv_fields.bits.extended_mv_range << 12 |
-                  pic_param->mv_fields.bits.four_mv_switch << 11 |
-                  pic_param->fast_uvmc_flag << 10 |
-                  unified_mv_mode << 8 |
-                  ref_field_pic_polarity << 6 |
-                  pic_param->reference_fields.bits.num_reference_pictures << 5 |
-                  pic_param->reference_fields.bits.reference_distance << 0);
-    OUT_BCS_BATCH(batch,
-                  scale_factor << 24 |
-                  pic_param->mv_fields.bits.mv_table << 20 |
-                  pic_param->mv_fields.bits.four_mv_block_pattern_table << 18 |
-                  pic_param->mv_fields.bits.two_mv_block_pattern_table << 16 |
-                  va_to_gen6_vc1_ttfrm[pic_param->transform_fields.bits.frame_level_transform_type] << 12 |
-                  pic_param->transform_fields.bits.mb_level_transform_type_flag << 11 |
-                  pic_param->mb_mode_table << 8 |
-                  trans_ac_y << 6 |
-                  pic_param->transform_fields.bits.transform_ac_codingset_idx1 << 4 |
-                  pic_param->transform_fields.bits.intra_transform_dc_table << 3 |
-                  pic_param->cbp_table << 0);
-    OUT_BCS_BATCH(batch,
-                  dmv_surface_valid << 13 |
-                  brfd << 8 |
-                  ((ALIGN(pic_param->coded_width, 16) / 16 + 1) / 2 - 1));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_vc1_pred_pipe_state(VADriverContextP ctx,
-                             struct decode_state *decode_state,
-                             struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    int interpolation_mode = 0;
-    int intensitycomp_single;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPelBilinear ||
-        (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
-         pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPelBilinear))
-        interpolation_mode = 2; /* Half-pel bilinear */
-    else if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPel ||
-             (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
-              pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPel))
-        interpolation_mode = 0; /* Half-pel bicubic */
-    else
-        interpolation_mode = 1; /* Quarter-pel bicubic */
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-    intensitycomp_single = (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation);
-
-    BEGIN_BCS_BATCH(batch, 7);
-    OUT_BCS_BATCH(batch, MFX_VC1_PRED_PIPE_STATE | (7 - 2));
-    OUT_BCS_BATCH(batch,
-                  0 << 8 | /* FIXME: interlace mode */
-                  pic_param->rounding_control << 4 |
-                  va_to_gen6_vc1_profile[pic_param->sequence_fields.bits.profile] << 2);
-    OUT_BCS_BATCH(batch,
-                  pic_param->luma_shift << 16 |
-                  pic_param->luma_scale << 0); /* FIXME: Luma Scaling */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  interpolation_mode << 19 |
-                  pic_param->fast_uvmc_flag << 18 |
-                  0 << 17 | /* FIXME: scale up or down ??? */
-                  pic_param->range_reduction_frame << 16 |
-                  0 << 6 | /* FIXME: double ??? */
-                  0 << 4 |
-                  intensitycomp_single << 2 |
-                  intensitycomp_single << 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-
-static void
-gen6_mfd_vc1_directmode_state(VADriverContextP ctx,
-                              struct decode_state *decode_state,
-                              struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    dri_bo *dmv_read_buffer = NULL, *dmv_write_buffer = NULL;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    obj_surface = SURFACE(decode_state->current_render_target);
-
-    if (obj_surface && obj_surface->private_data) {
-        dmv_write_buffer = ((struct gen6_vc1_surface *)(obj_surface->private_data))->dmv;
-    }
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->private_data) {
-        dmv_read_buffer = ((struct gen6_vc1_surface *)(obj_surface->private_data))->dmv;
-    }
-
-    BEGIN_BCS_BATCH(batch, 3);
-    OUT_BCS_BATCH(batch, MFX_VC1_DIRECTMODE_STATE | (3 - 2));
-
-    if (dmv_write_buffer)
-        OUT_BCS_RELOC(batch, dmv_write_buffer,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (dmv_read_buffer)
-        OUT_BCS_RELOC(batch, dmv_read_buffer,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-                  
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static int
-gen6_mfd_vc1_get_macroblock_bit_offset(uint8_t *buf, int in_slice_data_bit_offset, int profile)
-{
-    int out_slice_data_bit_offset;
-    int slice_header_size = in_slice_data_bit_offset / 8;
-    int i, j;
-
-    if (profile != 3)
-        out_slice_data_bit_offset = in_slice_data_bit_offset;
-    else {
-        for (i = 0, j = 0; i < slice_header_size; i++, j++) {
-            if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
-                i++, j += 2;
-            }
-        }
-
-        out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
-    }
-
-    return out_slice_data_bit_offset;
-}
-
-static void
-gen6_mfd_vc1_bsd_object(VADriverContextP ctx,
-                        VAPictureParameterBufferVC1 *pic_param,
-                        VASliceParameterBufferVC1 *slice_param,
-                        VASliceParameterBufferVC1 *next_slice_param,
-                        dri_bo *slice_data_bo,
-                        struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    int next_slice_start_vert_pos;
-    int macroblock_offset;
-    uint8_t *slice_data = NULL;
-
-    dri_bo_map(slice_data_bo, 0);
-    slice_data = (uint8_t *)(slice_data_bo->virtual + slice_param->slice_data_offset);
-    macroblock_offset = gen6_mfd_vc1_get_macroblock_bit_offset(slice_data, 
-                                                               slice_param->macroblock_offset,
-                                                               pic_param->sequence_fields.bits.profile);
-    dri_bo_unmap(slice_data_bo);
-
-    if (next_slice_param)
-        next_slice_start_vert_pos = next_slice_param->slice_vertical_position;
-    else
-        next_slice_start_vert_pos = ALIGN(pic_param->coded_height, 16) / 16;
-
-    BEGIN_BCS_BATCH(batch, 4);
-    OUT_BCS_BATCH(batch, MFD_VC1_BSD_OBJECT | (4 - 2));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_size - (macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_offset + (macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch,
-                  slice_param->slice_vertical_position << 24 |
-                  next_slice_start_vert_pos << 16 |
-                  (macroblock_offset & 0x7));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen6_mfd_vc1_decode_picture(VADriverContextP ctx,
-                            struct decode_state *decode_state,
-                            struct gen6_mfd_context *gen6_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen6_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    VASliceParameterBufferVC1 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    gen6_mfd_vc1_decode_init(ctx, decode_state, gen6_mfd_context);
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen6_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_VC1, gen6_mfd_context);
-    gen6_mfd_surface_state(ctx, decode_state, MFX_FORMAT_VC1, gen6_mfd_context);
-    gen6_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_VC1, gen6_mfd_context);
-    gen6_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_VC1, gen6_mfd_context);
-    gen6_mfd_vc1_pic_state(ctx, decode_state, gen6_mfd_context);
-    gen6_mfd_vc1_pred_pipe_state(ctx, decode_state, gen6_mfd_context);
-    gen6_mfd_vc1_directmode_state(ctx, decode_state, gen6_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferVC1 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen6_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_VC1, gen6_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferVC1 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = next_slice_group_param;
-
-            gen6_mfd_vc1_bsd_object(ctx, pic_param, slice_param, next_slice_param, slice_data_bo, gen6_mfd_context);
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static void 
-gen6_mfd_decode_picture(VADriverContextP ctx, 
-                        VAProfile profile, 
-                        union codec_state *codec_state,
-                        struct hw_context *hw_context)
-
-{
-    struct gen6_mfd_context *gen6_mfd_context = (struct gen6_mfd_context *)hw_context;
-    struct decode_state *decode_state = &codec_state->dec;
-
-    assert(gen6_mfd_context);
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        gen6_mfd_mpeg2_decode_picture(ctx, decode_state, gen6_mfd_context);
-        break;
-        
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        gen6_mfd_avc_decode_picture(ctx, decode_state, gen6_mfd_context);
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-        gen6_mfd_vc1_decode_picture(ctx, decode_state, gen6_mfd_context);
-        break;
-
-    default:
-        assert(0);
-        break;
-    }
-}
-
-static void
-gen6_mfd_context_destroy(void *hw_context)
-{
-    struct gen6_mfd_context *gen6_mfd_context = (struct gen6_mfd_context *)hw_context;
-
-    dri_bo_unreference(gen6_mfd_context->post_deblocking_output.bo);
-    gen6_mfd_context->post_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->pre_deblocking_output.bo);
-    gen6_mfd_context->pre_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->intra_row_store_scratch_buffer.bo);
-    gen6_mfd_context->intra_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    gen6_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    gen6_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->mpr_row_store_scratch_buffer.bo);
-    gen6_mfd_context->mpr_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen6_mfd_context->bitplane_read_buffer.bo);
-    gen6_mfd_context->bitplane_read_buffer.bo = NULL;
-
-    intel_batchbuffer_free(gen6_mfd_context->base.batch);
-    free(gen6_mfd_context);
-}
-
-struct hw_context *
-gen6_dec_hw_context_init(VADriverContextP ctx, VAProfile profile)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct gen6_mfd_context *gen6_mfd_context = calloc(1, sizeof(struct gen6_mfd_context));
-    int i;
-
-    gen6_mfd_context->base.destroy = gen6_mfd_context_destroy;
-    gen6_mfd_context->base.run = gen6_mfd_decode_picture;
-    gen6_mfd_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
-
-    for (i = 0; i < ARRAY_ELEMS(gen6_mfd_context->reference_surface); i++) {
-        gen6_mfd_context->reference_surface[i].surface_id = VA_INVALID_ID;
-        gen6_mfd_context->reference_surface[i].frame_store_id = -1;
-    }
-    
-    return (struct hw_context *)gen6_mfd_context;
-}
diff --git a/i965_drv_video/gen6_mfd.h b/i965_drv_video/gen6_mfd.h
deleted file mode 100644 (file)
index 31f7957..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef _GEN6_MFD_H_
-#define _GEN6_MFD_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-struct gen6_avc_surface
-{
-    dri_bo *dmv_top;
-    dri_bo *dmv_bottom;
-    int dmv_bottom_flag;
-};
-
-#define GEN6_VC1_I_PICTURE              0
-#define GEN6_VC1_P_PICTURE              1
-#define GEN6_VC1_B_PICTURE              2
-#define GEN6_VC1_BI_PICTURE             3
-#define GEN6_VC1_SKIPPED_PICTURE        4
-
-#define GEN6_VC1_SIMPLE_PROFILE         0
-#define GEN6_VC1_MAIN_PROFILE           1
-#define GEN6_VC1_ADVANCED_PROFILE       2
-#define GEN6_VC1_RESERVED_PROFILE       3
-
-struct gen6_vc1_surface
-{
-    dri_bo *dmv;
-    int picture_type;
-};
-
-#define MAX_MFX_REFERENCE_SURFACES        16
-struct hw_context;
-
-struct gen6_mfd_context
-{
-    struct hw_context base;
-
-    struct {
-        VASurfaceID surface_id;
-        int frame_store_id;
-    } reference_surface[MAX_MFX_REFERENCE_SURFACES];
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } post_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } pre_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } intra_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } deblocking_filter_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bsd_mpc_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } mpr_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bitplane_read_buffer;
-};
-
-#endif /* _GEN6_MFD_H_ */
diff --git a/i965_drv_video/gen6_vme.c b/i965_drv_video/gen6_vme.c
deleted file mode 100644 (file)
index 09a042f..0000000
+++ /dev/null
@@ -1,1004 +0,0 @@
-/*
- * Copyright © 2010-2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Zhou Chang <chang.zhou@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "gen6_vme.h"
-#include "i965_encoder.h"
-
-#define SURFACE_STATE_PADDED_SIZE_0_GEN7        ALIGN(sizeof(struct gen7_surface_state), 32)
-#define SURFACE_STATE_PADDED_SIZE_1_GEN7        ALIGN(sizeof(struct gen7_surface_state2), 32)
-#define SURFACE_STATE_PADDED_SIZE_GEN7          MAX(SURFACE_STATE_PADDED_SIZE_0_GEN7, SURFACE_STATE_PADDED_SIZE_1_GEN7)
-
-#define SURFACE_STATE_PADDED_SIZE_0_GEN6        ALIGN(sizeof(struct i965_surface_state), 32)
-#define SURFACE_STATE_PADDED_SIZE_1_GEN6        ALIGN(sizeof(struct i965_surface_state2), 32)
-#define SURFACE_STATE_PADDED_SIZE_GEN6          MAX(SURFACE_STATE_PADDED_SIZE_0_GEN6, SURFACE_STATE_PADDED_SIZE_1_GEN7)
-
-#define SURFACE_STATE_PADDED_SIZE               MAX(SURFACE_STATE_PADDED_SIZE_GEN6, SURFACE_STATE_PADDED_SIZE_GEN7)
-#define SURFACE_STATE_OFFSET(index)             (SURFACE_STATE_PADDED_SIZE * index)
-#define BINDING_TABLE_OFFSET                    SURFACE_STATE_OFFSET(MAX_MEDIA_SURFACES_GEN6)
-
-#define VME_INTRA_SHADER       0       
-#define VME_INTER_SHADER       1
-
-#define CURBE_ALLOCATION_SIZE   37              /* in 256-bit */
-#define CURBE_TOTAL_DATA_LENGTH (4 * 32)        /* in byte, it should be less than or equal to CURBE_ALLOCATION_SIZE * 32 */
-#define CURBE_URB_ENTRY_LENGTH  4               /* in 256-bit, it should be less than or equal to CURBE_TOTAL_DATA_LENGTH / 32 */
-  
-static const uint32_t gen6_vme_intra_frame[][4] = {
-#include "shaders/vme/intra_frame.g6b"
-};
-
-static const uint32_t gen6_vme_inter_frame[][4] = {
-#include "shaders/vme/inter_frame.g6b"
-};
-
-static struct i965_kernel gen6_vme_kernels[] = {
-    {
-        "VME Intra Frame",
-        VME_INTRA_SHADER,                                                                              /*index*/
-        gen6_vme_intra_frame,                  
-        sizeof(gen6_vme_intra_frame),          
-        NULL
-    },
-    {
-        "VME inter Frame",
-        VME_INTER_SHADER,
-        gen6_vme_inter_frame,
-        sizeof(gen6_vme_inter_frame),
-        NULL
-    }
-};
-
-static const uint32_t gen7_vme_intra_frame[][4] = {
-#include "shaders/vme/intra_frame.g7b"
-};
-
-static const uint32_t gen7_vme_inter_frame[][4] = {
-#include "shaders/vme/inter_frame.g7b"
-};
-
-static struct i965_kernel gen7_vme_kernels[] = {
-    {
-        "VME Intra Frame",
-        VME_INTRA_SHADER,                                                                              /*index*/
-        gen7_vme_intra_frame,                  
-        sizeof(gen7_vme_intra_frame),          
-        NULL
-    },
-    {
-        "VME inter Frame",
-        VME_INTER_SHADER,
-        gen7_vme_inter_frame,
-        sizeof(gen7_vme_inter_frame),
-        NULL
-    }
-};
-
-static void
-gen6_vme_set_common_surface_tiling(struct i965_surface_state *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss3.tiled_surface = 0;
-        ss->ss3.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-static void
-gen6_vme_set_source_surface_tiling(struct i965_surface_state2 *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss2.tiled_surface = 0;
-        ss->ss2.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-/* only used for VME source surface state */
-static void gen6_vme_source_surface_state(VADriverContextP ctx,
-                                          int index,
-                                          struct object_surface *obj_surface,
-                                          struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct i965_surface_state2 *ss;
-    dri_bo *bo;
-    int w, h, w_pitch, h_pitch;
-    unsigned int tiling, swizzle;
-
-    assert(obj_surface->bo);
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    w = obj_surface->orig_width;
-    h = obj_surface->orig_height;
-    w_pitch = obj_surface->width;
-    h_pitch = obj_surface->height;
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-
-    ss = (struct i965_surface_state2 *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    memset(ss, 0, sizeof(*ss));
-
-    ss->ss0.surface_base_address = obj_surface->bo->offset;
-
-    ss->ss1.cbcr_pixel_offset_v_direction = 2;
-    ss->ss1.width = w - 1;
-    ss->ss1.height = h - 1;
-
-    ss->ss2.surface_format = MFX_SURFACE_PLANAR_420_8;
-    ss->ss2.interleave_chroma = 1;
-    ss->ss2.pitch = w_pitch - 1;
-    ss->ss2.half_pitch_for_chroma = 0;
-
-    gen6_vme_set_source_surface_tiling(ss, tiling);
-
-    /* UV offset for interleave mode */
-    ss->ss3.x_offset_for_cb = 0;
-    ss->ss3.y_offset_for_cb = h_pitch;
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 0,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct i965_surface_state2, ss0),
-                      obj_surface->bo);
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-}
-
-static void
-gen6_vme_media_source_surface_state(VADriverContextP ctx,
-                                    int index,
-                                    struct object_surface *obj_surface,
-                                    struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    int w, h, w_pitch;
-    unsigned int tiling, swizzle;
-
-    w = obj_surface->orig_width;
-    h = obj_surface->orig_height;
-    w_pitch = obj_surface->width;
-
-    /* Y plane */
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-
-    ss = (struct i965_surface_state *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = obj_surface->bo->offset;
-    ss->ss2.width = w / 4 - 1;
-    ss->ss2.height = h - 1;
-    ss->ss3.pitch = w_pitch - 1;
-    gen6_vme_set_common_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct i965_surface_state, ss1),
-                      obj_surface->bo);
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-}
-
-static VAStatus
-gen6_vme_output_buffer_setup(VADriverContextP ctx,
-                             struct encode_state *encode_state,
-                             int index,
-                             struct gen6_encoder_context *gen6_encoder_context)
-
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    VAEncSequenceParameterBufferH264 *pSequenceParameter = (VAEncSequenceParameterBufferH264 *)encode_state->seq_param->buffer;
-    VAEncSliceParameterBuffer *pSliceParameter = (VAEncSliceParameterBuffer *)encode_state->slice_params[0]->buffer;
-    int is_intra = pSliceParameter->slice_flags.bits.is_intra;
-    int width_in_mbs = pSequenceParameter->picture_width_in_mbs;
-    int height_in_mbs = pSequenceParameter->picture_height_in_mbs;
-    int num_entries;
-
-    if ( is_intra ) {
-        vme_context->vme_output.num_blocks = width_in_mbs * height_in_mbs;
-    } else {
-        vme_context->vme_output.num_blocks = width_in_mbs * height_in_mbs * 4;
-    }
-    vme_context->vme_output.size_block = 16; /* an OWORD */
-    vme_context->vme_output.pitch = ALIGN(vme_context->vme_output.size_block, 16);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "VME output buffer",
-                      vme_context->vme_output.num_blocks * vme_context->vme_output.pitch,
-                      0x1000);
-    assert(bo);
-    vme_context->vme_output.bo = bo;
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-
-    ss = (struct i965_surface_state *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    memset(ss, 0, sizeof(*ss));
-
-    /* always use 16 bytes as pitch on Sandy Bridge */
-    num_entries = vme_context->vme_output.num_blocks * vme_context->vme_output.pitch / 16;
-    ss->ss0.render_cache_read_mode = 1;
-    ss->ss0.surface_type = I965_SURFACE_BUFFER;
-    ss->ss1.base_addr = vme_context->vme_output.bo->offset;
-    ss->ss2.width = ((num_entries - 1) & 0x7f);
-    ss->ss2.height = (((num_entries - 1) >> 7) & 0x1fff);
-    ss->ss3.depth = (((num_entries - 1) >> 20) & 0x7f);
-    ss->ss3.pitch = vme_context->vme_output.pitch - 1;
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct i965_surface_state, ss1),
-                      vme_context->vme_output.bo);
-
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_vme_surface_setup(VADriverContextP ctx, 
-                                       struct encode_state *encode_state,
-                                       int is_intra,
-                                       struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    VAEncPictureParameterBufferH264 *pPicParameter = (VAEncPictureParameterBufferH264 *)encode_state->pic_param->buffer;
-
-    /*Setup surfaces state*/
-    /* current picture for encoding */
-    obj_surface = SURFACE(encode_state->current_render_target);
-    assert(obj_surface);
-    gen6_vme_source_surface_state(ctx, 0, obj_surface, gen6_encoder_context);
-    gen6_vme_media_source_surface_state(ctx, 4, obj_surface, gen6_encoder_context);
-
-    if ( ! is_intra ) {
-        /* reference 0 */
-        obj_surface = SURFACE(pPicParameter->reference_picture);
-        assert(obj_surface);
-        gen6_vme_source_surface_state(ctx, 1, obj_surface, gen6_encoder_context);
-        /* reference 1, FIXME: */
-        // obj_surface = SURFACE(pPicParameter->reference_picture);
-        // assert(obj_surface);
-        //gen6_vme_source_surface_state(ctx, 2, obj_surface);
-    }
-
-    /* VME output */
-    gen6_vme_output_buffer_setup(ctx, encode_state, 3, gen6_encoder_context);
-
-    return VA_STATUS_SUCCESS;
-}
-
-/*
- * Surface state for IvyBridge
- */
-static void
-gen7_vme_set_common_surface_tiling(struct gen7_surface_state *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss0.tiled_surface = 0;
-        ss->ss0.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss0.tiled_surface = 1;
-        ss->ss0.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss0.tiled_surface = 1;
-        ss->ss0.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-static void
-gen7_vme_set_source_surface_tiling(struct gen7_surface_state2 *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss2.tiled_surface = 0;
-        ss->ss2.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-/* only used for VME source surface state */
-static void gen7_vme_source_surface_state(VADriverContextP ctx,
-                                          int index,
-                                          struct object_surface *obj_surface,
-                                          struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct gen7_surface_state2 *ss;
-    dri_bo *bo;
-    int w, h, w_pitch, h_pitch;
-    unsigned int tiling, swizzle;
-
-    assert(obj_surface->bo);
-
-    w = obj_surface->orig_width;
-    h = obj_surface->orig_height;
-    w_pitch = obj_surface->width;
-    h_pitch = obj_surface->height;
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-
-    ss = (struct gen7_surface_state2 *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    memset(ss, 0, sizeof(*ss));
-
-    ss->ss0.surface_base_address = obj_surface->bo->offset;
-
-    ss->ss1.cbcr_pixel_offset_v_direction = 2;
-    ss->ss1.width = w - 1;
-    ss->ss1.height = h - 1;
-
-    ss->ss2.surface_format = MFX_SURFACE_PLANAR_420_8;
-    ss->ss2.interleave_chroma = 1;
-    ss->ss2.pitch = w_pitch - 1;
-    ss->ss2.half_pitch_for_chroma = 0;
-
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-    gen7_vme_set_source_surface_tiling(ss, tiling);
-
-    /* UV offset for interleave mode */
-    ss->ss3.x_offset_for_cb = 0;
-    ss->ss3.y_offset_for_cb = h_pitch;
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 0,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct gen7_surface_state2, ss0),
-                      obj_surface->bo);
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-}
-
-static void
-gen7_vme_media_source_surface_state(VADriverContextP ctx,
-                                    int index,
-                                    struct object_surface *obj_surface,
-                                    struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct gen7_surface_state *ss;
-    dri_bo *bo;
-    int w, h, w_pitch;
-    unsigned int tiling, swizzle;
-
-    /* Y plane */
-    w = obj_surface->orig_width;
-    h = obj_surface->orig_height;
-    w_pitch = obj_surface->width;
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-
-    ss = (struct gen7_surface_state *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    memset(ss, 0, sizeof(*ss));
-
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-
-    ss->ss1.base_addr = obj_surface->bo->offset;
-
-    ss->ss2.width = w / 4 - 1;
-    ss->ss2.height = h - 1;
-
-    ss->ss3.pitch = w_pitch - 1;
-
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-    gen7_vme_set_common_surface_tiling(ss, tiling);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 0,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct gen7_surface_state, ss1),
-                      obj_surface->bo);
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-}
-
-static VAStatus
-gen7_vme_output_buffer_setup(VADriverContextP ctx,
-                             struct encode_state *encode_state,
-                             int index,
-                             struct gen6_encoder_context *gen6_encoder_context)
-
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct gen7_surface_state *ss;
-    dri_bo *bo;
-    VAEncSequenceParameterBufferH264 *pSequenceParameter = (VAEncSequenceParameterBufferH264 *)encode_state->seq_param->buffer;
-    VAEncSliceParameterBuffer *pSliceParameter = (VAEncSliceParameterBuffer *)encode_state->slice_params[0]->buffer;
-    int is_intra = pSliceParameter->slice_flags.bits.is_intra;
-    int width_in_mbs = pSequenceParameter->picture_width_in_mbs;
-    int height_in_mbs = pSequenceParameter->picture_height_in_mbs;
-    int num_entries;
-
-    if ( is_intra ) {
-        vme_context->vme_output.num_blocks = width_in_mbs * height_in_mbs;
-    } else {
-        vme_context->vme_output.num_blocks = width_in_mbs * height_in_mbs * 4;
-    }
-    vme_context->vme_output.size_block = 16; /* an OWORD */
-    vme_context->vme_output.pitch = ALIGN(vme_context->vme_output.size_block, 16);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "VME output buffer",
-                      vme_context->vme_output.num_blocks * vme_context->vme_output.pitch,
-                      0x1000);
-    assert(bo);
-    vme_context->vme_output.bo = bo;
-
-    bo = vme_context->surface_state_binding_table.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-
-    ss = (struct gen7_surface_state *)((char *)bo->virtual + SURFACE_STATE_OFFSET(index));
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-
-    /* always use 16 bytes as pitch on Sandy Bridge */
-    num_entries = vme_context->vme_output.num_blocks * vme_context->vme_output.pitch / 16;
-
-    ss->ss0.surface_type = I965_SURFACE_BUFFER;
-
-    ss->ss1.base_addr = vme_context->vme_output.bo->offset;
-
-    ss->ss2.width = ((num_entries - 1) & 0x7f);
-    ss->ss2.height = (((num_entries - 1) >> 7) & 0x3fff);
-    ss->ss3.depth = (((num_entries - 1) >> 21) & 0x3f);
-
-    ss->ss3.pitch = vme_context->vme_output.pitch - 1;
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-                      0,
-                      SURFACE_STATE_OFFSET(index) + offsetof(struct gen7_surface_state, ss1),
-                      vme_context->vme_output.bo);
-
-    ((unsigned int *)((char *)bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(bo);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen7_vme_surface_setup(VADriverContextP ctx, 
-                                       struct encode_state *encode_state,
-                                       int is_intra,
-                                       struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    VAEncPictureParameterBufferH264 *pPicParameter = (VAEncPictureParameterBufferH264 *)encode_state->pic_param->buffer;
-
-    /*Setup surfaces state*/
-    /* current picture for encoding */
-    obj_surface = SURFACE(encode_state->current_render_target);
-    assert(obj_surface);
-    gen7_vme_source_surface_state(ctx, 1, obj_surface, gen6_encoder_context);
-    gen7_vme_media_source_surface_state(ctx, 4, obj_surface, gen6_encoder_context);
-
-    if ( ! is_intra ) {
-        /* reference 0 */
-        obj_surface = SURFACE(pPicParameter->reference_picture);
-        assert(obj_surface);
-        gen7_vme_source_surface_state(ctx, 2, obj_surface, gen6_encoder_context);
-        /* reference 1, FIXME: */
-        // obj_surface = SURFACE(pPicParameter->reference_picture);
-        // assert(obj_surface);
-        //gen7_vme_source_surface_state(ctx, 3, obj_surface);
-    }
-
-    /* VME output */
-    gen7_vme_output_buffer_setup(ctx, encode_state, 0, gen6_encoder_context);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_vme_interface_setup(VADriverContextP ctx, 
-                                         struct encode_state *encode_state,
-                                         struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct gen6_interface_descriptor_data *desc;   
-    int i;
-    dri_bo *bo;
-
-    bo = vme_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-
-    for (i = 0; i < GEN6_VME_KERNEL_NUMBER; i++) {
-        struct i965_kernel *kernel;
-        kernel = &vme_context->vme_kernels[i];
-        assert(sizeof(*desc) == 32);
-        /*Setup the descritor table*/
-        memset(desc, 0, sizeof(*desc));
-        desc->desc0.kernel_start_pointer = (kernel->bo->offset >> 6);
-        desc->desc2.sampler_count = 1; /* FIXME: */
-        desc->desc2.sampler_state_pointer = (vme_context->vme_state.bo->offset >> 5);
-        desc->desc3.binding_table_entry_count = 1; /* FIXME: */
-        desc->desc3.binding_table_pointer = (BINDING_TABLE_OFFSET >> 5);
-        desc->desc4.constant_urb_entry_read_offset = 0;
-        desc->desc4.constant_urb_entry_read_length = CURBE_URB_ENTRY_LENGTH;
-               
-        /*kernel start*/
-        dri_bo_emit_reloc(bo,  
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          0,
-                          i * sizeof(*desc) + offsetof(struct gen6_interface_descriptor_data, desc0),
-                          kernel->bo);
-        /*Sampler State(VME state pointer)*/
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          (1 << 2),                                                                    //
-                          i * sizeof(*desc) + offsetof(struct gen6_interface_descriptor_data, desc2),
-                          vme_context->vme_state.bo);
-        desc++;
-    }
-    dri_bo_unmap(bo);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_vme_constant_setup(VADriverContextP ctx, 
-                                        struct encode_state *encode_state,
-                                        struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    unsigned char *constant_buffer;
-
-    dri_bo_map(vme_context->curbe.bo, 1);
-    assert(vme_context->curbe.bo->virtual);
-    constant_buffer = vme_context->curbe.bo->virtual;
-       
-    /*TODO copy buffer into CURB*/
-
-    dri_bo_unmap( vme_context->curbe.bo);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_vme_vme_state_setup(VADriverContextP ctx,
-                                         struct encode_state *encode_state,
-                                         int is_intra,
-                                         struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    unsigned int *vme_state_message;
-    int i;
-       
-    //building VME state message
-    dri_bo_map(vme_context->vme_state.bo, 1);
-    assert(vme_context->vme_state.bo->virtual);
-    vme_state_message = (unsigned int *)vme_context->vme_state.bo->virtual;
-       
-       vme_state_message[0] = 0x10010101;
-       vme_state_message[1] = 0x100F0F0F;
-       vme_state_message[2] = 0x10010101;
-       vme_state_message[3] = 0x000F0F0F;
-       for(i = 4; i < 14; i++) {
-               vme_state_message[i] = 0x00000000;
-       }       
-
-    for(i = 14; i < 32; i++) {
-        vme_state_message[i] = 0x00000000;
-    }
-
-    //vme_state_message[16] = 0x42424242;                      //cost function LUT set 0 for Intra
-
-    dri_bo_unmap( vme_context->vme_state.bo);
-    return VA_STATUS_SUCCESS;
-}
-
-static void gen6_vme_pipeline_select(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void gen6_vme_state_base_address(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    BEGIN_BATCH(batch, 10);
-
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 8);
-
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);                         //General State Base Address
-    OUT_RELOC(batch, vme_context->surface_state_binding_table.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);                         //Dynamic State Base Address
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);                         //Indirect Object Base Address
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);                         //Instruction Base Address
-
-    OUT_BATCH(batch, 0xFFFFF000 | BASE_ADDRESS_MODIFY);                //General State Access Upper Bound      
-    OUT_BATCH(batch, 0xFFFFF000 | BASE_ADDRESS_MODIFY);                //Dynamic State Access Upper Bound
-    OUT_BATCH(batch, 0xFFFFF000 | BASE_ADDRESS_MODIFY);                //Indirect Object Access Upper Bound
-    OUT_BATCH(batch, 0xFFFFF000 | BASE_ADDRESS_MODIFY);                //Instruction Access Upper Bound
-
-    /*
-      OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);                               //LLC Coherent Base Address
-      OUT_BATCH(batch, 0xFFFFF000 | BASE_ADDRESS_MODIFY );             //LLC Coherent Upper Bound
-    */
-
-    ADVANCE_BATCH(batch);
-}
-
-static void gen6_vme_vfe_state(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-
-    BEGIN_BATCH(batch, 8);
-
-    OUT_BATCH(batch, CMD_MEDIA_VFE_STATE | 6);                                 /*Gen6 CMD_MEDIA_STATE_POINTERS = CMD_MEDIA_STATE */
-    OUT_BATCH(batch, 0);                                                                                               /*Scratch Space Base Pointer and Space*/
-    OUT_BATCH(batch, (vme_context->vfe_state.max_num_threads << 16) 
-              | (vme_context->vfe_state.num_urb_entries << 8) 
-              | (vme_context->vfe_state.gpgpu_mode << 2) );    /*Maximum Number of Threads , Number of URB Entries, MEDIA Mode*/
-    OUT_BATCH(batch, 0);                                                                                               /*Debug: Object ID*/
-    OUT_BATCH(batch, (vme_context->vfe_state.urb_entry_size << 16) 
-              | vme_context->vfe_state.curbe_allocation_size);                         /*URB Entry Allocation Size , CURBE Allocation Size*/
-    OUT_BATCH(batch, 0);                                                                                       /*Disable Scoreboard*/
-    OUT_BATCH(batch, 0);                                                                                       /*Disable Scoreboard*/
-    OUT_BATCH(batch, 0);                                                                                       /*Disable Scoreboard*/
-       
-    ADVANCE_BATCH(batch);
-
-}
-
-static void gen6_vme_curbe_load(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-
-    BEGIN_BATCH(batch, 4);
-
-    OUT_BATCH(batch, CMD_MEDIA_CURBE_LOAD | 2);
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, CURBE_TOTAL_DATA_LENGTH);
-    OUT_RELOC(batch, vme_context->curbe.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-
-    ADVANCE_BATCH(batch);
-}
-
-static void gen6_vme_idrt(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-
-    BEGIN_BATCH(batch, 4);
-
-    OUT_BATCH(batch, CMD_MEDIA_INTERFACE_LOAD | 2);    
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, GEN6_VME_KERNEL_NUMBER * sizeof(struct gen6_interface_descriptor_data));
-    OUT_RELOC(batch, vme_context->idrt.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-
-    ADVANCE_BATCH(batch);
-}
-
-static int gen6_vme_media_object(VADriverContextP ctx, 
-                                 struct encode_state *encode_state,
-                                 int mb_x, int mb_y,
-                                 int kernel,
-                                 struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    struct object_surface *obj_surface = SURFACE(encode_state->current_render_target);
-    int mb_width = ALIGN(obj_surface->orig_width, 16) / 16;
-    int len_in_dowrds = 6 + 1;
-
-    BEGIN_BATCH(batch, len_in_dowrds);
-    
-    OUT_BATCH(batch, CMD_MEDIA_OBJECT | (len_in_dowrds - 2));
-    OUT_BATCH(batch, kernel);          /*Interface Descriptor Offset*/ 
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-   
-    /*inline data */
-    OUT_BATCH(batch, mb_width << 16 | mb_y << 8 | mb_x);                       /*M0.0 Refrence0 X,Y, not used in Intra*/
-    ADVANCE_BATCH(batch);
-
-    return len_in_dowrds * 4;
-}
-
-static void gen6_vme_media_init(VADriverContextP ctx, struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen6_vme_context *vme_context = &gen6_encoder_context->vme_context;
-    dri_bo *bo;
-
-    /* constant buffer */
-    dri_bo_unreference(vme_context->curbe.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "Buffer",
-                      CURBE_TOTAL_DATA_LENGTH, 64);
-    assert(bo);
-    vme_context->curbe.bo = bo;
-
-    dri_bo_unreference(vme_context->surface_state_binding_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "surface state & binding table",
-                      (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) * MAX_MEDIA_SURFACES_GEN6,
-                      4096);
-    assert(bo);
-    vme_context->surface_state_binding_table.bo = bo;
-
-    /* interface descriptor remapping table */
-    dri_bo_unreference(vme_context->idrt.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "Buffer", 
-                      MAX_INTERFACE_DESC_GEN6 * sizeof(struct gen6_interface_descriptor_data), 16);
-    assert(bo);
-    vme_context->idrt.bo = bo;
-
-    /* VME output buffer */
-    dri_bo_unreference(vme_context->vme_output.bo);
-    vme_context->vme_output.bo = NULL;
-
-    /* VME state */
-    dri_bo_unreference(vme_context->vme_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "Buffer",
-                      1024*16, 64);
-    assert(bo);
-    vme_context->vme_state.bo = bo;
-
-    vme_context->vfe_state.max_num_threads = 60 - 1;
-    vme_context->vfe_state.num_urb_entries = 16;
-    vme_context->vfe_state.gpgpu_mode = 0;
-    vme_context->vfe_state.urb_entry_size = 59 - 1;
-    vme_context->vfe_state.curbe_allocation_size = CURBE_ALLOCATION_SIZE - 1;
-}
-
-static void gen6_vme_pipeline_programing(VADriverContextP ctx, 
-                                         struct encode_state *encode_state,
-                                         struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-    VAEncSliceParameterBuffer *pSliceParameter = (VAEncSliceParameterBuffer *)encode_state->slice_params[0]->buffer;
-    VAEncSequenceParameterBufferH264 *pSequenceParameter = (VAEncSequenceParameterBufferH264 *)encode_state->seq_param->buffer;
-    int is_intra = pSliceParameter->slice_flags.bits.is_intra;
-    int width_in_mbs = pSequenceParameter->picture_width_in_mbs;
-    int height_in_mbs = pSequenceParameter->picture_height_in_mbs;
-    int emit_new_state = 1, object_len_in_bytes;
-    int x, y;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-
-    for(y = 0; y < height_in_mbs; y++){
-        for(x = 0; x < width_in_mbs; x++){     
-
-            if (emit_new_state) {
-                /*Step1: MI_FLUSH/PIPE_CONTROL*/
-                intel_batchbuffer_emit_mi_flush(batch);
-
-                /*Step2: State command PIPELINE_SELECT*/
-                gen6_vme_pipeline_select(ctx, gen6_encoder_context);
-
-                /*Step3: State commands configuring pipeline states*/
-                gen6_vme_state_base_address(ctx, gen6_encoder_context);
-                gen6_vme_vfe_state(ctx, gen6_encoder_context);
-                gen6_vme_curbe_load(ctx, gen6_encoder_context);
-                gen6_vme_idrt(ctx, gen6_encoder_context);
-
-                emit_new_state = 0;
-            }
-
-            /*Step4: Primitive commands*/
-            object_len_in_bytes = gen6_vme_media_object(ctx, encode_state, x, y, is_intra ? VME_INTRA_SHADER : VME_INTER_SHADER, gen6_encoder_context);
-
-            if (intel_batchbuffer_check_free_space(batch, object_len_in_bytes) == 0) {
-                assert(0);
-                intel_batchbuffer_end_atomic(batch);   
-                intel_batchbuffer_flush(batch);
-                emit_new_state = 1;
-                intel_batchbuffer_start_atomic(batch, 0x1000);
-            }
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);       
-}
-
-static VAStatus gen6_vme_prepare(VADriverContextP ctx, 
-                                 struct encode_state *encode_state,
-                                 struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-    VAEncSliceParameterBuffer *pSliceParameter = (VAEncSliceParameterBuffer *)encode_state->slice_params[0]->buffer;
-    int is_intra = pSliceParameter->slice_flags.bits.is_intra;
-       
-    /*Setup all the memory object*/
-    if (IS_GEN7(i965->intel.device_id))
-        gen7_vme_surface_setup(ctx, encode_state, is_intra, gen6_encoder_context);
-    else
-        gen6_vme_surface_setup(ctx, encode_state, is_intra, gen6_encoder_context);
-
-    gen6_vme_interface_setup(ctx, encode_state, gen6_encoder_context);
-    gen6_vme_constant_setup(ctx, encode_state, gen6_encoder_context);
-    gen6_vme_vme_state_setup(ctx, encode_state, is_intra, gen6_encoder_context);
-
-    /*Programing media pipeline*/
-    gen6_vme_pipeline_programing(ctx, encode_state, gen6_encoder_context);
-
-    return vaStatus;
-}
-
-static VAStatus gen6_vme_run(VADriverContextP ctx, 
-                             struct encode_state *encode_state,
-                             struct gen6_encoder_context *gen6_encoder_context)
-{
-    struct intel_batchbuffer *batch = gen6_encoder_context->base.batch;
-
-    intel_batchbuffer_flush(batch);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus gen6_vme_stop(VADriverContextP ctx, 
-                              struct encode_state *encode_state,
-                              struct gen6_encoder_context *gen6_encoder_context)
-{
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus gen6_vme_pipeline(VADriverContextP ctx,
-                           VAProfile profile,
-                           struct encode_state *encode_state,
-                           struct gen6_encoder_context *gen6_encoder_context)
-{
-    gen6_vme_media_init(ctx, gen6_encoder_context);
-    gen6_vme_prepare(ctx, encode_state, gen6_encoder_context);
-    gen6_vme_run(ctx, encode_state, gen6_encoder_context);
-    gen6_vme_stop(ctx, encode_state, gen6_encoder_context);
-
-    return VA_STATUS_SUCCESS;
-}
-
-Bool gen6_vme_context_init(VADriverContextP ctx, struct gen6_vme_context *vme_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-
-    if (IS_GEN7(i965->intel.device_id))
-        memcpy(vme_context->vme_kernels, gen7_vme_kernels, sizeof(vme_context->vme_kernels));
-    else
-        memcpy(vme_context->vme_kernels, gen6_vme_kernels, sizeof(vme_context->vme_kernels));
-
-    for (i = 0; i < GEN6_VME_KERNEL_NUMBER; i++) {
-        /*Load kernel into GPU memory*/        
-        struct i965_kernel *kernel = &vme_context->vme_kernels[i];
-
-        kernel->bo = dri_bo_alloc(i965->intel.bufmgr, 
-                                  kernel->name, 
-                                  kernel->size,
-                                  0x1000);
-        assert(kernel->bo);
-        dri_bo_subdata(kernel->bo, 0, kernel->size, kernel->bin);
-    }
-    
-    return True;
-}
-
-Bool gen6_vme_context_destroy(struct gen6_vme_context *vme_context)
-{
-    int i;
-
-    dri_bo_unreference(vme_context->idrt.bo);
-    vme_context->idrt.bo = NULL;
-
-    dri_bo_unreference(vme_context->surface_state_binding_table.bo);
-    vme_context->surface_state_binding_table.bo = NULL;
-
-    dri_bo_unreference(vme_context->curbe.bo);
-    vme_context->curbe.bo = NULL;
-
-    dri_bo_unreference(vme_context->vme_output.bo);
-    vme_context->vme_output.bo = NULL;
-
-    dri_bo_unreference(vme_context->vme_state.bo);
-    vme_context->vme_state.bo = NULL;
-
-    for (i = 0; i < GEN6_VME_KERNEL_NUMBER; i++) {
-        /*Load kernel into GPU memory*/        
-        struct i965_kernel *kernel = &vme_context->vme_kernels[i];
-
-        dri_bo_unreference(kernel->bo);
-        kernel->bo = NULL;
-    }
-
-    return True;
-}
diff --git a/i965_drv_video/gen6_vme.h b/i965_drv_video/gen6_vme.h
deleted file mode 100644 (file)
index 800898c..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWAR
- *
- * Authors:
- *    Zhou Chang <chang.zhou@intel.com>
- *
- */
-
-#ifndef _GEN6_VME_H_
-#define _GEN6_VME_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-
-#define MAX_INTERFACE_DESC_GEN6      32
-#define MAX_MEDIA_SURFACES_GEN6      34
-
-#define GEN6_VME_KERNEL_NUMBER          2
-
-struct encode_state;
-struct gen6_encoder_context;
-
-struct gen6_vme_context
-{
-    struct {
-        dri_bo *bo;
-    } surface_state_binding_table;
-
-    struct {
-        dri_bo *bo;
-    } idrt;  /* interface descriptor remap table */
-
-    struct {
-        dri_bo *bo;
-    } curbe;
-
-    struct {
-        unsigned int gpgpu_mode:1;
-        unsigned int max_num_threads:16;
-        unsigned int num_urb_entries:8;
-        unsigned int urb_entry_size:16;
-        unsigned int curbe_allocation_size:16;
-    } vfe_state;
-
-    struct {
-        dri_bo *bo;
-    } vme_state;
-
-    struct {
-        dri_bo *bo;
-        unsigned int num_blocks;
-        unsigned int size_block; /* in bytes */
-        unsigned int pitch;
-    } vme_output;
-
-    struct i965_kernel vme_kernels[GEN6_VME_KERNEL_NUMBER];
-};
-
-VAStatus gen6_vme_pipeline(VADriverContextP ctx,
-                           VAProfile profile,
-                           struct encode_state *encode_state,
-                           struct gen6_encoder_context *gen6_encoder_context);
-Bool gen6_vme_context_init(VADriverContextP ctx, struct gen6_vme_context *vme_context);
-Bool gen6_vme_context_destroy(struct gen6_vme_context *vme_context);
-
-#endif /* _GEN6_VME_H_ */
diff --git a/i965_drv_video/gen7_mfd.c b/i965_drv_video/gen7_mfd.c
deleted file mode 100644 (file)
index 1188b84..0000000
+++ /dev/null
@@ -1,2069 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-
-#include "gen7_mfd.h"
-
-#define DMV_SIZE        0x88000 /* 557056 bytes for a frame */
-
-static const uint32_t zigzag_direct[64] = {
-    0,   1,  8, 16,  9,  2,  3, 10,
-    17, 24, 32, 25, 18, 11,  4,  5,
-    12, 19, 26, 33, 40, 48, 41, 34,
-    27, 20, 13,  6,  7, 14, 21, 28,
-    35, 42, 49, 56, 57, 50, 43, 36,
-    29, 22, 15, 23, 30, 37, 44, 51,
-    58, 59, 52, 45, 38, 31, 39, 46,
-    53, 60, 61, 54, 47, 55, 62, 63
-};
-
-static void
-gen7_mfd_avc_frame_store_index(VADriverContextP ctx,
-                               VAPictureParameterBufferH264 *pic_param,
-                               struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i, j;
-
-    assert(ARRAY_ELEMS(gen7_mfd_context->reference_surface) == ARRAY_ELEMS(pic_param->ReferenceFrames));
-
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++) {
-        int found = 0;
-
-        if (gen7_mfd_context->reference_surface[i].surface_id == VA_INVALID_ID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-            VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[j];
-            if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-                continue;
-
-            if (gen7_mfd_context->reference_surface[i].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            struct object_surface *obj_surface = SURFACE(gen7_mfd_context->reference_surface[i].surface_id);
-            obj_surface->flags &= ~SURFACE_REFERENCED;
-
-            if ((obj_surface->flags & SURFACE_ALL_MASK) == SURFACE_DISPLAYED) {
-                dri_bo_unreference(obj_surface->bo);
-                obj_surface->bo = NULL;
-                obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-            }
-
-            if (obj_surface->free_private_data)
-                obj_surface->free_private_data(&obj_surface->private_data);
-
-            gen7_mfd_context->reference_surface[i].surface_id = VA_INVALID_ID;
-            gen7_mfd_context->reference_surface[i].frame_store_id = -1;
-        }
-    }
-
-    for (i = 0; i < ARRAY_ELEMS(pic_param->ReferenceFrames); i++) {
-        VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[i];
-        int found = 0;
-
-        if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(gen7_mfd_context->reference_surface); j++) {
-            if (gen7_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID)
-                continue;
-            
-            if (gen7_mfd_context->reference_surface[j].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            int frame_idx;
-            struct object_surface *obj_surface = SURFACE(ref_pic->picture_id);
-            
-            assert(obj_surface);
-            i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-            for (frame_idx = 0; frame_idx < ARRAY_ELEMS(gen7_mfd_context->reference_surface); frame_idx++) {
-                for (j = 0; j < ARRAY_ELEMS(gen7_mfd_context->reference_surface); j++) {
-                    if (gen7_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID)
-                        continue;
-
-                    if (gen7_mfd_context->reference_surface[j].frame_store_id == frame_idx)
-                        break;
-                }
-
-                if (j == ARRAY_ELEMS(gen7_mfd_context->reference_surface))
-                    break;
-            }
-
-            assert(frame_idx < ARRAY_ELEMS(gen7_mfd_context->reference_surface));
-
-            for (j = 0; j < ARRAY_ELEMS(gen7_mfd_context->reference_surface); j++) {
-                if (gen7_mfd_context->reference_surface[j].surface_id == VA_INVALID_ID) {
-                    gen7_mfd_context->reference_surface[j].surface_id = ref_pic->picture_id;
-                    gen7_mfd_context->reference_surface[j].frame_store_id = frame_idx;
-                    break;
-                }
-            }
-        }
-    }
-
-    /* sort */
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface) - 1; i++) {
-        if (gen7_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID &&
-            gen7_mfd_context->reference_surface[i].frame_store_id == i)
-            continue;
-
-        for (j = i + 1; j < ARRAY_ELEMS(gen7_mfd_context->reference_surface); j++) {
-            if (gen7_mfd_context->reference_surface[j].surface_id != VA_INVALID_ID &&
-                gen7_mfd_context->reference_surface[j].frame_store_id == i) {
-                VASurfaceID id = gen7_mfd_context->reference_surface[i].surface_id;
-                int frame_idx = gen7_mfd_context->reference_surface[i].frame_store_id;
-
-                gen7_mfd_context->reference_surface[i].surface_id = gen7_mfd_context->reference_surface[j].surface_id;
-                gen7_mfd_context->reference_surface[i].frame_store_id = gen7_mfd_context->reference_surface[j].frame_store_id;
-                gen7_mfd_context->reference_surface[j].surface_id = id;
-                gen7_mfd_context->reference_surface[j].frame_store_id = frame_idx;
-                break;
-            }
-        }
-    }
-}
-
-static void 
-gen7_mfd_free_avc_surface(void **data)
-{
-    struct gen7_avc_surface *gen7_avc_surface = *data;
-
-    if (!gen7_avc_surface)
-        return;
-
-    dri_bo_unreference(gen7_avc_surface->dmv_top);
-    gen7_avc_surface->dmv_top = NULL;
-    dri_bo_unreference(gen7_avc_surface->dmv_bottom);
-    gen7_avc_surface->dmv_bottom = NULL;
-
-    free(gen7_avc_surface);
-    *data = NULL;
-}
-
-static void
-gen7_mfd_init_avc_surface(VADriverContextP ctx, 
-                          VAPictureParameterBufferH264 *pic_param,
-                          struct object_surface *obj_surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen7_avc_surface *gen7_avc_surface = obj_surface->private_data;
-
-    obj_surface->free_private_data = gen7_mfd_free_avc_surface;
-
-    if (!gen7_avc_surface) {
-        gen7_avc_surface = calloc(sizeof(struct gen7_avc_surface), 1);
-        assert((obj_surface->size & 0x3f) == 0);
-        obj_surface->private_data = gen7_avc_surface;
-    }
-
-    gen7_avc_surface->dmv_bottom_flag = (pic_param->pic_fields.bits.field_pic_flag &&
-                                         !pic_param->seq_fields.bits.direct_8x8_inference_flag);
-
-    if (gen7_avc_surface->dmv_top == NULL) {
-        gen7_avc_surface->dmv_top = dri_bo_alloc(i965->intel.bufmgr,
-                                                 "direct mv w/r buffer",
-                                                 DMV_SIZE,
-                                                 0x1000);
-    }
-
-    if (gen7_avc_surface->dmv_bottom_flag &&
-        gen7_avc_surface->dmv_bottom == NULL) {
-        gen7_avc_surface->dmv_bottom = dri_bo_alloc(i965->intel.bufmgr,
-                                                    "direct mv w/r buffer",
-                                                    DMV_SIZE,
-                                                    0x1000);
-    }
-}
-
-static void
-gen7_mfd_pipe_mode_select(VADriverContextP ctx,
-                          struct decode_state *decode_state,
-                          int standard_select,
-                          struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-
-    assert(standard_select == MFX_FORMAT_MPEG2 ||
-           standard_select == MFX_FORMAT_AVC ||
-           standard_select == MFX_FORMAT_VC1 ||
-           standard_select == MFX_FORMAT_JPEG);
-
-    BEGIN_BCS_BATCH(batch, 5); /* FIXME: 5 ??? */
-    OUT_BCS_BATCH(batch, MFX_PIPE_MODE_SELECT | (5 - 2));
-    OUT_BCS_BATCH(batch,
-                  (MFX_LONG_MODE << 17) | /* Currently only support long format */
-                  (MFD_MODE_VLD << 15) | /* VLD mode */
-                  (0 << 10) | /* disable Stream-Out */
-                  (gen7_mfd_context->post_deblocking_output.valid << 9)  | /* Post Deblocking Output */
-                  (gen7_mfd_context->pre_deblocking_output.valid << 8)  | /* Pre Deblocking Output */
-                  (0 << 5)  | /* not in stitch mode */
-                  (MFX_CODEC_DECODE << 4)  | /* decoding mode */
-                  (standard_select << 0));
-    OUT_BCS_BATCH(batch,
-                  (0 << 4)  | /* terminate if AVC motion and POC table error occurs */
-                  (0 << 3)  | /* terminate if AVC mbdata error occurs */
-                  (0 << 2)  | /* terminate if AVC CABAC/CAVLC decode error occurs */
-                  (0 << 1)  |
-                  (0 << 0));
-    OUT_BCS_BATCH(batch, 0); /* pic status/error report id */ 
-    OUT_BCS_BATCH(batch, 0); /* reserved */
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_surface_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       int standard_select,
-                       struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFX_SURFACE_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch,
-                  ((obj_surface->orig_height - 1) << 18) |
-                  ((obj_surface->orig_width - 1) << 4));
-    OUT_BCS_BATCH(batch,
-                  (MFX_SURFACE_PLANAR_420_8 << 28) | /* 420 planar YUV surface */
-                  (1 << 27) | /* FIXME: set to 0 for JPEG */
-                  (0 << 22) | /* surface object control state, FIXME??? */
-                  ((obj_surface->width - 1) << 3) | /* pitch */
-                  (0 << 2)  | /* must be 0 for interleave U/V */
-                  (1 << 1)  | /* must be tiled */
-                  (I965_TILEWALK_YMAJOR << 0));  /* tile walk, must be 1 */
-    OUT_BCS_BATCH(batch,
-                  (0 << 16) | /* FIXME: fix it for JPEG */
-                  (obj_surface->height)); /* FIXME: fix it for JPEG */
-    OUT_BCS_BATCH(batch, 0); /* FIXME: fix it for JPEG */
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_pipe_buf_addr_state(VADriverContextP ctx,
-                             struct decode_state *decode_state,
-                             int standard_select,
-                             struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-
-    BEGIN_BCS_BATCH(batch, 24);
-    OUT_BCS_BATCH(batch, MFX_PIPE_BUF_ADDR_STATE | (24 - 2));
-    if (gen7_mfd_context->pre_deblocking_output.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->pre_deblocking_output.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen7_mfd_context->post_deblocking_output.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->post_deblocking_output.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    OUT_BCS_BATCH(batch, 0); /* ignore for decoding */
-    OUT_BCS_BATCH(batch, 0); /* ignore for decoding */
-
-    if (gen7_mfd_context->intra_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->intra_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    /* DW 7..22 */
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++) {
-        struct object_surface *obj_surface;
-
-        if (gen7_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            obj_surface = SURFACE(gen7_mfd_context->reference_surface[i].surface_id);
-            assert(obj_surface && obj_surface->bo);
-
-            OUT_BCS_RELOC(batch, obj_surface->bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          0);
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    OUT_BCS_BATCH(batch, 0);   /* ignore DW23 for decoding */
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_ind_obj_base_addr_state(VADriverContextP ctx,
-                                 dri_bo *slice_data_bo,
-                                 int standard_select,
-                                 struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 11);
-    OUT_BCS_BATCH(batch, MFX_IND_OBJ_BASE_ADDR_STATE | (11 - 2));
-    OUT_BCS_RELOC(batch, slice_data_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0); /* MFX Indirect Bitstream Object Base Address */
-    OUT_BCS_BATCH(batch, 0x80000000); /* must set, up to 2G */
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0); /* ignore for VLD mode */
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_bsp_buf_base_addr_state(VADriverContextP ctx,
-                                 struct decode_state *decode_state,
-                                 int standard_select,
-                                 struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 4);
-    OUT_BCS_BATCH(batch, MFX_BSP_BUF_BASE_ADDR_STATE | (4 - 2));
-
-    if (gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen7_mfd_context->mpr_row_store_scratch_buffer.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->mpr_row_store_scratch_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (gen7_mfd_context->bitplane_read_buffer.valid)
-        OUT_BCS_RELOC(batch, gen7_mfd_context->bitplane_read_buffer.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_aes_state(VADriverContextP ctx,
-                   struct decode_state *decode_state,
-                   int standard_select)
-{
-    /* FIXME */
-}
-
-static void
-gen7_mfd_qm_state(VADriverContextP ctx,
-                  int qm_type,
-                  unsigned char *qm,
-                  int qm_length,
-                  struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    unsigned int qm_buffer[16];
-
-    assert(qm_length <= 16 * 4);
-    memcpy(qm_buffer, qm, qm_length);
-
-    BEGIN_BCS_BATCH(batch, 18);
-    OUT_BCS_BATCH(batch, MFX_QM_STATE | (18 - 2));
-    OUT_BCS_BATCH(batch, qm_type << 0);
-    intel_batchbuffer_data(batch, qm_buffer, 16 * 4);
-    ADVANCE_BCS_BATCH(batch);
-}
-static void
-gen7_mfd_wait(VADriverContextP ctx,
-              struct decode_state *decode_state,
-              int standard_select,
-              struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-
-    BEGIN_BCS_BATCH(batch, 1);
-    OUT_BCS_BATCH(batch, MFX_WAIT | (1 << 8));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_avc_img_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int qm_present_flag;
-    int img_struct;
-    int mbaff_frame_flag;
-    unsigned int width_in_mbs, height_in_mbs;
-    VAPictureParameterBufferH264 *pic_param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    assert(!(pic_param->CurrPic.flags & VA_PICTURE_H264_INVALID));
-
-    if (decode_state->iq_matrix && decode_state->iq_matrix->buffer)
-        qm_present_flag = 1;
-    else
-        qm_present_flag = 0; /* built-in QM matrices */
-
-    if (pic_param->CurrPic.flags & VA_PICTURE_H264_TOP_FIELD)
-        img_struct = 1;
-    else if (pic_param->CurrPic.flags & VA_PICTURE_H264_BOTTOM_FIELD)
-        img_struct = 3;
-    else
-        img_struct = 0;
-
-    if ((img_struct & 0x1) == 0x1) {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x1);
-    } else {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x0);
-    }
-
-    if (pic_param->seq_fields.bits.frame_mbs_only_flag) { /* a frame containing only frame macroblocks */
-        assert(pic_param->seq_fields.bits.mb_adaptive_frame_field_flag == 0);
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0);
-    } else {
-        assert(pic_param->seq_fields.bits.direct_8x8_inference_flag == 1); /* see H.264 spec */
-    }
-
-    mbaff_frame_flag = (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag &&
-                        !pic_param->pic_fields.bits.field_pic_flag);
-
-    width_in_mbs = ((pic_param->picture_width_in_mbs_minus1 + 1) & 0xff);
-    height_in_mbs = ((pic_param->picture_height_in_mbs_minus1 + 1) & 0xff); /* frame height */
-
-    /* MFX unit doesn't support 4:2:2 and 4:4:4 picture */
-    assert(pic_param->seq_fields.bits.chroma_format_idc == 0 || /* monochrome picture */
-           pic_param->seq_fields.bits.chroma_format_idc == 1);  /* 4:2:0 */
-    assert(pic_param->seq_fields.bits.residual_colour_transform_flag == 0); /* only available for 4:4:4 */
-
-    BEGIN_BCS_BATCH(batch, 16);
-    OUT_BCS_BATCH(batch, MFX_AVC_IMG_STATE | (16 - 2));
-    OUT_BCS_BATCH(batch, 
-                  width_in_mbs * height_in_mbs);
-    OUT_BCS_BATCH(batch, 
-                  ((height_in_mbs - 1) << 16) | 
-                  ((width_in_mbs - 1) << 0));
-    OUT_BCS_BATCH(batch, 
-                  ((pic_param->second_chroma_qp_index_offset & 0x1f) << 24) |
-                  ((pic_param->chroma_qp_index_offset & 0x1f) << 16) |
-                  (0 << 14) | /* Max-bit conformance Intra flag ??? FIXME */
-                  (0 << 13) | /* Max Macroblock size conformance Inter flag ??? FIXME */
-                  (pic_param->pic_fields.bits.weighted_pred_flag << 12) | /* differ from GEN6 */
-                  (pic_param->pic_fields.bits.weighted_bipred_idc << 10) |
-                  (img_struct << 8));
-    OUT_BCS_BATCH(batch,
-                  (pic_param->seq_fields.bits.chroma_format_idc << 10) |
-                  (pic_param->pic_fields.bits.entropy_coding_mode_flag << 7) |
-                  ((!pic_param->pic_fields.bits.reference_pic_flag) << 6) |
-                  (pic_param->pic_fields.bits.constrained_intra_pred_flag << 5) |
-                  (pic_param->seq_fields.bits.direct_8x8_inference_flag << 4) |
-                  (pic_param->pic_fields.bits.transform_8x8_mode_flag << 3) |
-                  (pic_param->seq_fields.bits.frame_mbs_only_flag << 2) |
-                  (mbaff_frame_flag << 1) |
-                  (pic_param->pic_fields.bits.field_pic_flag << 0));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_avc_qm_state(VADriverContextP ctx,
-                      struct decode_state *decode_state,
-                      struct gen7_mfd_context *gen7_mfd_context)
-{
-    VAIQMatrixBufferH264 *iq_matrix;
-    VAPictureParameterBufferH264 *pic_param;
-
-    if (!decode_state->iq_matrix || !decode_state->iq_matrix->buffer)
-        return;
-
-    iq_matrix = (VAIQMatrixBufferH264 *)decode_state->iq_matrix->buffer;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    gen7_mfd_qm_state(ctx, MFX_QM_AVC_4X4_INTRA_MATRIX, &iq_matrix->ScalingList4x4[0][0], 3 * 16, gen7_mfd_context);
-    gen7_mfd_qm_state(ctx, MFX_QM_AVC_4X4_INTER_MATRIX, &iq_matrix->ScalingList4x4[3][0], 3 * 16, gen7_mfd_context);
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag) {
-        gen7_mfd_qm_state(ctx, MFX_QM_AVC_8x8_INTRA_MATRIX, &iq_matrix->ScalingList8x8[0][0], 64, gen7_mfd_context);
-        gen7_mfd_qm_state(ctx, MFX_QM_AVC_8x8_INTER_MATRIX, &iq_matrix->ScalingList8x8[1][0], 64, gen7_mfd_context);
-    }
-}
-
-static void
-gen7_mfd_avc_directmode_state(VADriverContextP ctx,
-                              VAPictureParameterBufferH264 *pic_param,
-                              VASliceParameterBufferH264 *slice_param,
-                              struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    struct object_surface *obj_surface;
-    struct gen7_avc_surface *gen7_avc_surface;
-    VAPictureH264 *va_pic;
-    int i, j;
-
-    BEGIN_BCS_BATCH(batch, 69);
-    OUT_BCS_BATCH(batch, MFX_AVC_DIRECTMODE_STATE | (69 - 2));
-
-    /* reference surfaces 0..15 */
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++) {
-        if (gen7_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            obj_surface = SURFACE(gen7_mfd_context->reference_surface[i].surface_id);
-            assert(obj_surface);
-            gen7_avc_surface = obj_surface->private_data;
-
-            if (gen7_avc_surface == NULL) {
-                OUT_BCS_BATCH(batch, 0);
-                OUT_BCS_BATCH(batch, 0);
-            } else {
-                OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_top,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0);
-
-                if (gen7_avc_surface->dmv_bottom_flag == 1)
-                    OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_bottom,
-                                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                  0);
-                else
-                    OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_top,
-                                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                  0);
-            }
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    /* the current decoding frame/field */
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface && obj_surface->bo && obj_surface->private_data);
-    gen7_avc_surface = obj_surface->private_data;
-
-    OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_top,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-
-    if (gen7_avc_surface->dmv_bottom_flag == 1)
-        OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_bottom,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_RELOC(batch, gen7_avc_surface->dmv_top,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-
-    /* POC List */
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++) {
-        if (gen7_mfd_context->reference_surface[i].surface_id != VA_INVALID_ID) {
-            int found = 0;
-            for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-                va_pic = &pic_param->ReferenceFrames[j];
-                
-                if (va_pic->flags & VA_PICTURE_H264_INVALID)
-                    continue;
-
-                if (va_pic->picture_id == gen7_mfd_context->reference_surface[i].surface_id) {
-                    found = 1;
-                    break;
-                }
-            }
-
-            assert(found == 1);
-            assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-            
-            OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-            OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    va_pic = &pic_param->CurrPic;
-    OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-    OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_avc_slice_state(VADriverContextP ctx,
-                         VAPictureParameterBufferH264 *pic_param,
-                         VASliceParameterBufferH264 *slice_param,
-                         VASliceParameterBufferH264 *next_slice_param,
-                         struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1;
-    int height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1;
-    int slice_hor_pos, slice_ver_pos, next_slice_hor_pos, next_slice_ver_pos;
-    int num_ref_idx_l0, num_ref_idx_l1;
-    int mbaff_picture = (!pic_param->pic_fields.bits.field_pic_flag &&
-                         pic_param->seq_fields.bits.mb_adaptive_frame_field_flag);
-    int first_mb_in_slice = 0, first_mb_in_next_slice = 0;
-    int slice_type;
-
-    if (slice_param->slice_type == SLICE_TYPE_I ||
-        slice_param->slice_type == SLICE_TYPE_SI) {
-        slice_type = SLICE_TYPE_I;
-    } else if (slice_param->slice_type == SLICE_TYPE_P ||
-               slice_param->slice_type == SLICE_TYPE_SP) {
-        slice_type = SLICE_TYPE_P;
-    } else { 
-        assert(slice_param->slice_type == SLICE_TYPE_B);
-        slice_type = SLICE_TYPE_B;
-    }
-
-    if (slice_type == SLICE_TYPE_I) {
-        assert(slice_param->num_ref_idx_l0_active_minus1 == 0);
-        assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-        num_ref_idx_l0 = 0;
-        num_ref_idx_l1 = 0;
-    } else if (slice_type == SLICE_TYPE_P) {
-        assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-        num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-        num_ref_idx_l1 = 0;
-    } else {
-        num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-        num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1;
-    }
-
-    first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture;
-    slice_hor_pos = first_mb_in_slice % width_in_mbs; 
-    slice_ver_pos = first_mb_in_slice / width_in_mbs;
-
-    if (next_slice_param) {
-        first_mb_in_next_slice = next_slice_param->first_mb_in_slice << mbaff_picture;
-        next_slice_hor_pos = first_mb_in_next_slice % width_in_mbs; 
-        next_slice_ver_pos = first_mb_in_next_slice / width_in_mbs;
-    } else {
-        next_slice_hor_pos = 0;
-        next_slice_ver_pos = height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag);
-    }
-
-    BEGIN_BCS_BATCH(batch, 11); /* FIXME: is it 10??? */
-    OUT_BCS_BATCH(batch, MFX_AVC_SLICE_STATE | (11 - 2));
-    OUT_BCS_BATCH(batch, slice_type);
-    OUT_BCS_BATCH(batch, 
-                  (num_ref_idx_l1 << 24) |
-                  (num_ref_idx_l0 << 16) |
-                  (slice_param->chroma_log2_weight_denom << 8) |
-                  (slice_param->luma_log2_weight_denom << 0));
-    OUT_BCS_BATCH(batch, 
-                  (slice_param->direct_spatial_mv_pred_flag << 29) |
-                  (slice_param->disable_deblocking_filter_idc << 27) |
-                  (slice_param->cabac_init_idc << 24) |
-                  ((pic_param->pic_init_qp_minus26 + 26 + slice_param->slice_qp_delta) << 16) |
-                  ((slice_param->slice_beta_offset_div2 & 0xf) << 8) |
-                  ((slice_param->slice_alpha_c0_offset_div2 & 0xf) << 0));
-    OUT_BCS_BATCH(batch, 
-                  (slice_ver_pos << 24) |
-                  (slice_hor_pos << 16) | 
-                  (first_mb_in_slice << 0));
-    OUT_BCS_BATCH(batch,
-                  (next_slice_ver_pos << 16) |
-                  (next_slice_hor_pos << 0));
-    OUT_BCS_BATCH(batch, 
-                  (next_slice_param == NULL) << 19); /* last slice flag */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_avc_ref_idx_state(VADriverContextP ctx,
-                           VAPictureParameterBufferH264 *pic_param,
-                           VASliceParameterBufferH264 *slice_param,
-                           struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int i, j, num_ref_list;
-    struct {
-        unsigned char bottom_idc:1;
-        unsigned char frame_store_index:4;
-        unsigned char field_picture:1;
-        unsigned char long_term:1;
-        unsigned char non_exist:1;
-    } refs[32];
-
-    if (slice_param->slice_type == SLICE_TYPE_I ||
-        slice_param->slice_type == SLICE_TYPE_SI)
-        return;
-
-    if (slice_param->slice_type == SLICE_TYPE_P ||
-        slice_param->slice_type == SLICE_TYPE_SP) {
-        num_ref_list = 1;
-    } else {
-        num_ref_list = 2;
-    }
-
-    for (i = 0; i < num_ref_list; i++) {
-        VAPictureH264 *va_pic;
-
-        if (i == 0) {
-            va_pic = slice_param->RefPicList0;
-        } else {
-            va_pic = slice_param->RefPicList1;
-        }
-
-        BEGIN_BCS_BATCH(batch, 10);
-        OUT_BCS_BATCH(batch, MFX_AVC_REF_IDX_STATE | (10 - 2));
-        OUT_BCS_BATCH(batch, i);
-
-        for (j = 0; j < 32; j++) {
-            if (va_pic->flags & VA_PICTURE_H264_INVALID) {
-                refs[j].non_exist = 1;
-                refs[j].long_term = 1;
-                refs[j].field_picture = 1;
-                refs[j].frame_store_index = 0xf;
-                refs[j].bottom_idc = 1;
-            } else {
-                int frame_idx;
-                
-                for (frame_idx = 0; frame_idx < ARRAY_ELEMS(gen7_mfd_context->reference_surface); frame_idx++) {
-                    if (gen7_mfd_context->reference_surface[frame_idx].surface_id != VA_INVALID_ID &&
-                        va_pic->picture_id == gen7_mfd_context->reference_surface[frame_idx].surface_id) {
-                        assert(frame_idx == gen7_mfd_context->reference_surface[frame_idx].frame_store_id);
-                        break;
-                    }
-                }
-
-                assert(frame_idx < ARRAY_ELEMS(gen7_mfd_context->reference_surface));
-                
-                refs[j].non_exist = 0;
-                refs[j].long_term = !!(va_pic->flags & VA_PICTURE_H264_LONG_TERM_REFERENCE);
-                refs[j].field_picture = !!(va_pic->flags & 
-                                           (VA_PICTURE_H264_TOP_FIELD | 
-                                            VA_PICTURE_H264_BOTTOM_FIELD));
-                refs[j].frame_store_index = frame_idx;
-                refs[j].bottom_idc = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-            }
-
-            va_pic++;
-        }
-        
-        intel_batchbuffer_data(batch, refs, sizeof(refs));
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static void
-gen7_mfd_avc_weightoffset_state(VADriverContextP ctx,
-                                VAPictureParameterBufferH264 *pic_param,
-                                VASliceParameterBufferH264 *slice_param,
-                                struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int i, j, num_weight_offset_table = 0;
-    short weightoffsets[32 * 6];
-
-    if ((slice_param->slice_type == SLICE_TYPE_P ||
-         slice_param->slice_type == SLICE_TYPE_SP) &&
-        (pic_param->pic_fields.bits.weighted_pred_flag == 1)) {
-        num_weight_offset_table = 1;
-    }
-    
-    if ((slice_param->slice_type == SLICE_TYPE_B) &&
-        (pic_param->pic_fields.bits.weighted_bipred_idc == 1)) {
-        num_weight_offset_table = 2;
-    }
-
-    for (i = 0; i < num_weight_offset_table; i++) {
-        BEGIN_BCS_BATCH(batch, 98);
-        OUT_BCS_BATCH(batch, MFX_AVC_WEIGHTOFFSET_STATE | (98 - 2));
-        OUT_BCS_BATCH(batch, i);
-
-        if (i == 0) {
-            for (j = 0; j < 32; j++) {
-                weightoffsets[j * 6 + 0] = slice_param->luma_weight_l0[j];
-                weightoffsets[j * 6 + 1] = slice_param->luma_offset_l0[j];
-                weightoffsets[j * 6 + 2] = slice_param->chroma_weight_l0[j][0];
-                weightoffsets[j * 6 + 3] = slice_param->chroma_offset_l0[j][0];
-                weightoffsets[j * 6 + 4] = slice_param->chroma_weight_l0[j][1];
-                weightoffsets[j * 6 + 5] = slice_param->chroma_offset_l0[j][1];
-            }
-        } else {
-            for (j = 0; j < 32; j++) {
-                weightoffsets[j * 6 + 0] = slice_param->luma_weight_l1[j];
-                weightoffsets[j * 6 + 1] = slice_param->luma_offset_l1[j];
-                weightoffsets[j * 6 + 2] = slice_param->chroma_weight_l1[j][0];
-                weightoffsets[j * 6 + 3] = slice_param->chroma_offset_l1[j][0];
-                weightoffsets[j * 6 + 4] = slice_param->chroma_weight_l1[j][1];
-                weightoffsets[j * 6 + 5] = slice_param->chroma_offset_l1[j][1];
-            }
-        }
-
-        intel_batchbuffer_data(batch, weightoffsets, sizeof(weightoffsets));
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static int
-gen7_mfd_avc_get_slice_bit_offset(uint8_t *buf, int mode_flag, int in_slice_data_bit_offset)
-{
-    int out_slice_data_bit_offset;
-    int slice_header_size = in_slice_data_bit_offset / 8;
-    int i, j;
-
-    for (i = 0, j = 0; i < slice_header_size; i++, j++) {
-        if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3) {
-            i++, j += 2;
-        }
-    }
-
-    out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
-
-    if (mode_flag == ENTROPY_CABAC)
-        out_slice_data_bit_offset = ALIGN(out_slice_data_bit_offset, 0x8);
-
-    return out_slice_data_bit_offset;
-}
-
-static void
-gen7_mfd_avc_bsd_object(VADriverContextP ctx,
-                        VAPictureParameterBufferH264 *pic_param,
-                        VASliceParameterBufferH264 *slice_param,
-                        dri_bo *slice_data_bo,
-                        VASliceParameterBufferH264 *next_slice_param,
-                        struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int slice_data_bit_offset;
-    uint8_t *slice_data = NULL;
-
-    dri_bo_map(slice_data_bo, 0);
-    slice_data = (uint8_t *)(slice_data_bo->virtual + slice_param->slice_data_offset);
-    slice_data_bit_offset = gen7_mfd_avc_get_slice_bit_offset(slice_data,
-                                                              pic_param->pic_fields.bits.entropy_coding_mode_flag,
-                                                              slice_param->slice_data_bit_offset);
-    dri_bo_unmap(slice_data_bo);
-
-    /* the input bitsteam format on GEN7 differs from GEN6 */
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFD_AVC_BSD_OBJECT | (6 - 2));
-    OUT_BCS_BATCH(batch, 
-                  (slice_param->slice_data_size));
-    OUT_BCS_BATCH(batch, slice_param->slice_data_offset);
-    OUT_BCS_BATCH(batch,
-                  (0 << 31) |
-                  (0 << 14) |
-                  (0 << 12) |
-                  (0 << 10) |
-                  (0 << 8));
-    OUT_BCS_BATCH(batch,
-                  ((slice_data_bit_offset >> 3) << 16) |
-                  (0 << 5)  |
-                  (0 << 4)  |
-                  ((next_slice_param == NULL) << 3) | /* LastSlice Flag */
-                  (slice_data_bit_offset & 0x7));
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_avc_decode_init(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen7_mfd_context *gen7_mfd_context)
-{
-    VAPictureParameterBufferH264 *pic_param;
-    VASliceParameterBufferH264 *slice_param;
-    VAPictureH264 *va_pic;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    dri_bo *bo;
-    int i, j, enable_avc_ildb = 0;
-
-    for (j = 0; j < decode_state->num_slice_params && enable_avc_ildb == 0; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (slice_param->disable_deblocking_filter_idc != 1) {
-                enable_avc_ildb = 1;
-                break;
-            }
-
-            slice_param++;
-        }
-    }
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    gen7_mfd_avc_frame_store_index(ctx, pic_param, gen7_mfd_context);
-
-    /* Current decoded picture */
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface);
-    obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-    obj_surface->flags |= (pic_param->pic_fields.bits.reference_pic_flag ? SURFACE_REFERENCED : 0);
-    gen7_mfd_init_avc_surface(ctx, pic_param, obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.valid = enable_avc_ildb;
-
-    dri_bo_unreference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.valid = !enable_avc_ildb;
-
-    dri_bo_unreference(gen7_mfd_context->intra_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "intra row store",
-                      128 * 64,
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->intra_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->intra_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "deblocking filter row store",
-                      30720, /* 4 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->mpr_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "mpr row store",
-                      7680, /* 1. 0 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->mpr_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->mpr_row_store_scratch_buffer.valid = 1;
-
-    gen7_mfd_context->bitplane_read_buffer.valid = 0;
-}
-
-static void
-gen7_mfd_avc_decode_picture(VADriverContextP ctx,
-                            struct decode_state *decode_state,
-                            struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferH264 *pic_param;
-    VASliceParameterBufferH264 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    gen7_mfd_avc_decode_init(ctx, decode_state, gen7_mfd_context);
-
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen7_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_AVC, gen7_mfd_context);
-    gen7_mfd_surface_state(ctx, decode_state, MFX_FORMAT_AVC, gen7_mfd_context);
-    gen7_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_AVC, gen7_mfd_context);
-    gen7_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_AVC, gen7_mfd_context);
-    gen7_mfd_avc_qm_state(ctx, decode_state, gen7_mfd_context);
-    gen7_mfd_avc_img_state(ctx, decode_state, gen7_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen7_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_AVC, gen7_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = next_slice_group_param;
-
-            gen7_mfd_avc_directmode_state(ctx, pic_param, slice_param, gen7_mfd_context);
-            gen7_mfd_avc_ref_idx_state(ctx, pic_param, slice_param, gen7_mfd_context);
-            gen7_mfd_avc_weightoffset_state(ctx, pic_param, slice_param, gen7_mfd_context);
-            gen7_mfd_avc_slice_state(ctx, pic_param, slice_param, next_slice_param, gen7_mfd_context);
-            gen7_mfd_avc_bsd_object(ctx, pic_param, slice_param, slice_data_bo, next_slice_param, gen7_mfd_context);
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static void
-gen7_mfd_mpeg2_decode_init(VADriverContextP ctx,
-                           struct decode_state *decode_state,
-                           struct gen7_mfd_context *gen7_mfd_context)
-{
-    VAPictureParameterBufferMPEG2 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int i;
-    dri_bo *bo;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    /* reference picture */
-    obj_surface = SURFACE(pic_param->forward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen7_mfd_context->reference_surface[0].surface_id = pic_param->forward_reference_picture;
-    else
-        gen7_mfd_context->reference_surface[0].surface_id = VA_INVALID_ID;
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen7_mfd_context->reference_surface[1].surface_id = pic_param->backward_reference_picture;
-    else
-        gen7_mfd_context->reference_surface[1].surface_id = pic_param->forward_reference_picture;
-
-    /* must do so !!! */
-    for (i = 2; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++)
-        gen7_mfd_context->reference_surface[i].surface_id = gen7_mfd_context->reference_surface[i % 2].surface_id;
-
-    /* Current decoded picture */
-    obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    gen7_mfd_context->post_deblocking_output.valid = 0;
-    gen7_mfd_context->intra_row_store_scratch_buffer.valid = 0;
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 0;
-    gen7_mfd_context->mpr_row_store_scratch_buffer.valid = 0;
-    gen7_mfd_context->bitplane_read_buffer.valid = 0;
-}
-
-static void
-gen7_mfd_mpeg2_pic_state(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferMPEG2 *pic_param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    BEGIN_BCS_BATCH(batch, 13);
-    OUT_BCS_BATCH(batch, MFX_MPEG2_PIC_STATE | (13 - 2));
-    OUT_BCS_BATCH(batch,
-                  (pic_param->f_code & 0xf) << 28 | /* f_code[1][1] */
-                  ((pic_param->f_code >> 4) & 0xf) << 24 | /* f_code[1][0] */
-                  ((pic_param->f_code >> 8) & 0xf) << 20 | /* f_code[0][1] */
-                  ((pic_param->f_code >> 12) & 0xf) << 16 | /* f_code[0][0] */
-                  pic_param->picture_coding_extension.bits.intra_dc_precision << 14 |
-                  pic_param->picture_coding_extension.bits.picture_structure << 12 |
-                  pic_param->picture_coding_extension.bits.top_field_first << 11 |
-                  pic_param->picture_coding_extension.bits.frame_pred_frame_dct << 10 |
-                  pic_param->picture_coding_extension.bits.concealment_motion_vectors << 9 |
-                  pic_param->picture_coding_extension.bits.q_scale_type << 8 |
-                  pic_param->picture_coding_extension.bits.intra_vlc_format << 7 | 
-                  pic_param->picture_coding_extension.bits.alternate_scan << 6);
-    OUT_BCS_BATCH(batch,
-                  pic_param->picture_coding_type << 9);
-    OUT_BCS_BATCH(batch,
-                  ((ALIGN(pic_param->vertical_size, 16) / 16) - 1) << 16 |
-                  ((ALIGN(pic_param->horizontal_size, 16) / 16) - 1));
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_mpeg2_qm_state(VADriverContextP ctx,
-                        struct decode_state *decode_state,
-                        struct gen7_mfd_context *gen7_mfd_context)
-{
-    VAIQMatrixBufferMPEG2 *iq_matrix;
-    int i;
-
-    if (!decode_state->iq_matrix || !decode_state->iq_matrix->buffer)
-        return;
-
-    iq_matrix = (VAIQMatrixBufferMPEG2 *)decode_state->iq_matrix->buffer;
-
-    for (i = 0; i < 2; i++) {
-        int k, m;
-        unsigned char *qm = NULL;
-        unsigned char qmx[64];
-        int qm_type;
-
-        if (i == 0) {
-            if (iq_matrix->load_intra_quantiser_matrix) {
-                qm = iq_matrix->intra_quantiser_matrix;
-                qm_type = MFX_QM_MPEG_INTRA_QUANTIZER_MATRIX;
-            }
-        } else {
-            if (iq_matrix->load_non_intra_quantiser_matrix) {
-                qm = iq_matrix->non_intra_quantiser_matrix;
-                qm_type = MFX_QM_MPEG_NON_INTRA_QUANTIZER_MATRIX;
-            }
-        }
-
-        if (!qm)
-            continue;
-
-        /* Upload quantisation matrix in raster order. The mplayer vaapi
-         * patch passes quantisation matrix in zig-zag order to va library.
-         */
-        for (k = 0; k < 64; k++) {
-            m = zigzag_direct[k];
-            qmx[m] = qm[k];
-        }
-
-        gen7_mfd_qm_state(ctx, qm_type, qmx, 64, gen7_mfd_context);
-    }
-}
-
-static void
-gen7_mfd_mpeg2_bsd_object(VADriverContextP ctx,
-                          VAPictureParameterBufferMPEG2 *pic_param,
-                          VASliceParameterBufferMPEG2 *slice_param,
-                          VASliceParameterBufferMPEG2 *next_slice_param,
-                          struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    unsigned int width_in_mbs = ALIGN(pic_param->horizontal_size, 16) / 16;
-    int mb_count, vpos0, hpos0, vpos1, hpos1, is_field_pic = 0;
-
-    if (pic_param->picture_coding_extension.bits.picture_structure == MPEG_TOP_FIELD ||
-        pic_param->picture_coding_extension.bits.picture_structure == MPEG_BOTTOM_FIELD)
-        is_field_pic = 1;
-
-    vpos0 = slice_param->slice_vertical_position / (1 + is_field_pic);
-    hpos0 = slice_param->slice_horizontal_position;
-
-    if (next_slice_param == NULL) {
-        vpos1 = ALIGN(pic_param->vertical_size, 16) / 16 / (1 + is_field_pic);
-        hpos1 = 0;
-    } else {
-        vpos1 = next_slice_param->slice_vertical_position / (1 + is_field_pic);
-        hpos1 = next_slice_param->slice_horizontal_position;
-    }
-
-    mb_count = (vpos1 * width_in_mbs + hpos1) - (vpos0 * width_in_mbs + hpos0);
-
-    BEGIN_BCS_BATCH(batch, 5);
-    OUT_BCS_BATCH(batch, MFD_MPEG2_BSD_OBJECT | (5 - 2));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_size - (slice_param->macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_offset + (slice_param->macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch,
-                  hpos0 << 24 |
-                  vpos0 << 16 |
-                  mb_count << 8 |
-                  (next_slice_param == NULL) << 5 |
-                  (next_slice_param == NULL) << 3 |
-                  (slice_param->macroblock_offset & 0x7));
-    OUT_BCS_BATCH(batch,
-                  slice_param->quantiser_scale_code << 24);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_mpeg2_decode_picture(VADriverContextP ctx,
-                              struct decode_state *decode_state,
-                              struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferMPEG2 *pic_param;
-    VASliceParameterBufferMPEG2 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    gen7_mfd_mpeg2_decode_init(ctx, decode_state, gen7_mfd_context);
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen7_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_MPEG2, gen7_mfd_context);
-    gen7_mfd_surface_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen7_mfd_context);
-    gen7_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen7_mfd_context);
-    gen7_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_MPEG2, gen7_mfd_context);
-    gen7_mfd_mpeg2_pic_state(ctx, decode_state, gen7_mfd_context);
-    gen7_mfd_mpeg2_qm_state(ctx, decode_state, gen7_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferMPEG2 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen7_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_MPEG2, gen7_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferMPEG2 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = NULL;
-
-            gen7_mfd_mpeg2_bsd_object(ctx, pic_param, slice_param, next_slice_param, gen7_mfd_context);
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static const int va_to_gen7_vc1_pic_type[5] = {
-    GEN7_VC1_I_PICTURE,
-    GEN7_VC1_P_PICTURE,
-    GEN7_VC1_B_PICTURE,
-    GEN7_VC1_BI_PICTURE,
-    GEN7_VC1_P_PICTURE,
-};
-
-static const int va_to_gen7_vc1_mv[4] = {
-    1, /* 1-MV */
-    2, /* 1-MV half-pel */
-    3, /* 1-MV half-pef bilinear */
-    0, /* Mixed MV */
-};
-
-static const int b_picture_scale_factor[21] = {
-    128, 85,  170, 64,  192,
-    51,  102, 153, 204, 43,
-    215, 37,  74,  111, 148,
-    185, 222, 32,  96,  160, 
-    224,
-};
-
-static const int va_to_gen7_vc1_condover[3] = {
-    0,
-    2,
-    3
-};
-
-static const int va_to_gen7_vc1_profile[4] = {
-    GEN7_VC1_SIMPLE_PROFILE,
-    GEN7_VC1_MAIN_PROFILE,
-    GEN7_VC1_RESERVED_PROFILE,
-    GEN7_VC1_ADVANCED_PROFILE
-};
-
-static const int va_to_gen7_vc1_ttfrm[8] = {
-    0,  /* 8x8 */
-    1,  /* 8x4 bottom */
-    1,  /* 8x4 top */
-    1,  /* 8x4 */
-    2,  /* 4x8 bottom */
-    2,  /* 4x8 top */
-    2,  /* 4x8 */
-    3,  /* 4x4 */
-};
-
-static void 
-gen7_mfd_free_vc1_surface(void **data)
-{
-    struct gen7_vc1_surface *gen7_vc1_surface = *data;
-
-    if (!gen7_vc1_surface)
-        return;
-
-    dri_bo_unreference(gen7_vc1_surface->dmv);
-    free(gen7_vc1_surface);
-    *data = NULL;
-}
-
-static void
-gen7_mfd_init_vc1_surface(VADriverContextP ctx, 
-                          VAPictureParameterBufferVC1 *pic_param,
-                          struct object_surface *obj_surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct gen7_vc1_surface *gen7_vc1_surface = obj_surface->private_data;
-
-    obj_surface->free_private_data = gen7_mfd_free_vc1_surface;
-
-    if (!gen7_vc1_surface) {
-        gen7_vc1_surface = calloc(sizeof(struct gen7_vc1_surface), 1);
-        assert((obj_surface->size & 0x3f) == 0);
-        obj_surface->private_data = gen7_vc1_surface;
-    }
-
-    gen7_vc1_surface->picture_type = pic_param->picture_fields.bits.picture_type;
-
-    if (gen7_vc1_surface->dmv == NULL) {
-        gen7_vc1_surface->dmv = dri_bo_alloc(i965->intel.bufmgr,
-                                             "direct mv w/r buffer",
-                                             557056,    /* 64 * 128 * 64 */
-                                             0x1000);
-    }
-}
-
-static void
-gen7_mfd_vc1_decode_init(VADriverContextP ctx,
-                         struct decode_state *decode_state,
-                         struct gen7_mfd_context *gen7_mfd_context)
-{
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int i;
-    dri_bo *bo;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    /* reference picture */
-    obj_surface = SURFACE(pic_param->forward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen7_mfd_context->reference_surface[0].surface_id = pic_param->forward_reference_picture;
-    else
-        gen7_mfd_context->reference_surface[0].surface_id = VA_INVALID_ID;
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->bo)
-        gen7_mfd_context->reference_surface[1].surface_id = pic_param->backward_reference_picture;
-    else
-        gen7_mfd_context->reference_surface[1].surface_id = pic_param->forward_reference_picture;
-
-    /* must do so !!! */
-    for (i = 2; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++)
-        gen7_mfd_context->reference_surface[i].surface_id = gen7_mfd_context->reference_surface[i % 2].surface_id;
-
-    /* Current decoded picture */
-    obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    gen7_mfd_init_vc1_surface(ctx, pic_param, obj_surface);
-    i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC('N','V','1','2'));
-
-    dri_bo_unreference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.valid = pic_param->entrypoint_fields.bits.loopfilter;
-
-    dri_bo_unreference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.bo = obj_surface->bo;
-    dri_bo_reference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.valid = !pic_param->entrypoint_fields.bits.loopfilter;
-
-    dri_bo_unreference(gen7_mfd_context->intra_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "intra row store",
-                      128 * 64,
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->intra_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->intra_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "deblocking filter row store",
-                      46080, /* 6 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.valid = 1;
-
-    dri_bo_unreference(gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd mpc row store",
-                      11520, /* 1.5 * 120 * 64 */
-                      0x1000);
-    assert(bo);
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = bo;
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.valid = 1;
-
-    gen7_mfd_context->mpr_row_store_scratch_buffer.valid = 0;
-
-    gen7_mfd_context->bitplane_read_buffer.valid = !!pic_param->bitplane_present.value;
-    dri_bo_unreference(gen7_mfd_context->bitplane_read_buffer.bo);
-    
-    if (gen7_mfd_context->bitplane_read_buffer.valid) {
-        int width_in_mbs = ALIGN(pic_param->coded_width, 16) / 16;
-        int height_in_mbs = ALIGN(pic_param->coded_height, 16) / 16;
-        int bitplane_width = ALIGN(width_in_mbs, 2) / 2;
-        int src_w, src_h;
-        uint8_t *src = NULL, *dst = NULL;
-
-        assert(decode_state->bit_plane->buffer);
-        src = decode_state->bit_plane->buffer;
-
-        bo = dri_bo_alloc(i965->intel.bufmgr,
-                          "VC-1 Bitplane",
-                          bitplane_width * bitplane_width,
-                          0x1000);
-        assert(bo);
-        gen7_mfd_context->bitplane_read_buffer.bo = bo;
-
-        dri_bo_map(bo, True);
-        assert(bo->virtual);
-        dst = bo->virtual;
-
-        for (src_h = 0; src_h < height_in_mbs; src_h++) {
-            for(src_w = 0; src_w < width_in_mbs; src_w++) {
-                int src_index, dst_index;
-                int src_shift;
-                uint8_t src_value;
-
-                src_index = (src_h * width_in_mbs + src_w) / 2;
-                src_shift = !((src_h * width_in_mbs + src_w) & 1) * 4;
-                src_value = ((src[src_index] >> src_shift) & 0xf);
-
-                dst_index = src_w / 2;
-                dst[dst_index] = ((dst[dst_index] >> 4) | (src_value << 4));
-            }
-
-            if (src_w & 1)
-                dst[src_w / 2] >>= 4;
-
-            dst += bitplane_width;
-        }
-
-        dri_bo_unmap(bo);
-    } else
-        gen7_mfd_context->bitplane_read_buffer.bo = NULL;
-}
-
-static void
-gen7_mfd_vc1_pic_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    int alt_pquant_config = 0, alt_pquant_edge_mask = 0, alt_pq;
-    int dquant, dquantfrm, dqprofile, dqdbedge, dqsbedge, dqbilevel;
-    int unified_mv_mode;
-    int ref_field_pic_polarity = 0;
-    int scale_factor = 0;
-    int trans_ac_y = 0;
-    int dmv_surface_valid = 0;
-    int brfd = 0;
-    int fcm = 0;
-    int picture_type;
-    int profile;
-    int overlap;
-    int interpolation_mode = 0;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    profile = va_to_gen7_vc1_profile[pic_param->sequence_fields.bits.profile];
-    dquant = pic_param->pic_quantizer_fields.bits.dquant;
-    dquantfrm = pic_param->pic_quantizer_fields.bits.dq_frame;
-    dqprofile = pic_param->pic_quantizer_fields.bits.dq_profile;
-    dqdbedge = pic_param->pic_quantizer_fields.bits.dq_db_edge;
-    dqsbedge = pic_param->pic_quantizer_fields.bits.dq_sb_edge;
-    dqbilevel = pic_param->pic_quantizer_fields.bits.dq_binary_level;
-    alt_pq = pic_param->pic_quantizer_fields.bits.alt_pic_quantizer;
-
-    if (dquant == 0) {
-        alt_pquant_config = 0;
-        alt_pquant_edge_mask = 0;
-    } else if (dquant == 2) {
-        alt_pquant_config = 1;
-        alt_pquant_edge_mask = 0xf;
-    } else {
-        assert(dquant == 1);
-        if (dquantfrm == 0) {
-            alt_pquant_config = 0;
-            alt_pquant_edge_mask = 0;
-            alt_pq = 0;
-        } else {
-            assert(dquantfrm == 1);
-            alt_pquant_config = 1;
-
-            switch (dqprofile) {
-            case 3:
-                if (dqbilevel == 0) {
-                    alt_pquant_config = 2;
-                    alt_pquant_edge_mask = 0;
-                } else {
-                    assert(dqbilevel == 1);
-                    alt_pquant_config = 3;
-                    alt_pquant_edge_mask = 0;
-                }
-                break;
-                
-            case 0:
-                alt_pquant_edge_mask = 0xf;
-                break;
-
-            case 1:
-                if (dqdbedge == 3)
-                    alt_pquant_edge_mask = 0x9;
-                else
-                    alt_pquant_edge_mask = (0x3 << dqdbedge);
-
-                break;
-
-            case 2:
-                alt_pquant_edge_mask = (0x1 << dqsbedge);
-                break;
-
-            default:
-                assert(0);
-            }
-        }
-    }
-
-    if (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation) {
-        assert(pic_param->mv_fields.bits.mv_mode2 < 4);
-        unified_mv_mode = va_to_gen7_vc1_mv[pic_param->mv_fields.bits.mv_mode2];
-    } else {
-        assert(pic_param->mv_fields.bits.mv_mode < 4);
-        unified_mv_mode = va_to_gen7_vc1_mv[pic_param->mv_fields.bits.mv_mode];
-    }
-
-    if (pic_param->sequence_fields.bits.interlace == 1 &&
-        pic_param->picture_fields.bits.frame_coding_mode != 0) { /* frame-interlace or field-interlace */
-        /* FIXME: calculate reference field picture polarity */
-        assert(0);
-        ref_field_pic_polarity = 0;
-    }
-
-    if (pic_param->b_picture_fraction < 21)
-        scale_factor = b_picture_scale_factor[pic_param->b_picture_fraction];
-
-    picture_type = va_to_gen7_vc1_pic_type[pic_param->picture_fields.bits.picture_type];
-    
-    if (profile == GEN7_VC1_ADVANCED_PROFILE && 
-        picture_type == GEN7_VC1_I_PICTURE)
-        picture_type = GEN7_VC1_BI_PICTURE;
-
-    if (picture_type == GEN7_VC1_I_PICTURE || picture_type == GEN7_VC1_BI_PICTURE) /* I picture */
-        trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx2;
-    else
-        trans_ac_y = pic_param->transform_fields.bits.transform_ac_codingset_idx1;
-
-
-    if (picture_type == GEN7_VC1_B_PICTURE) {
-        struct gen7_vc1_surface *gen7_vc1_surface = NULL;
-
-        obj_surface = SURFACE(pic_param->backward_reference_picture);
-        assert(obj_surface);
-        gen7_vc1_surface = obj_surface->private_data;
-
-        if (!gen7_vc1_surface || 
-            (va_to_gen7_vc1_pic_type[gen7_vc1_surface->picture_type] == GEN7_VC1_I_PICTURE ||
-             va_to_gen7_vc1_pic_type[gen7_vc1_surface->picture_type] == GEN7_VC1_BI_PICTURE))
-            dmv_surface_valid = 0;
-        else
-            dmv_surface_valid = 1;
-    }
-
-    assert(pic_param->picture_fields.bits.frame_coding_mode < 3);
-
-    if (pic_param->picture_fields.bits.frame_coding_mode < 2)
-        fcm = pic_param->picture_fields.bits.frame_coding_mode;
-    else {
-        if (pic_param->picture_fields.bits.top_field_first)
-            fcm = 2;
-        else
-            fcm = 3;
-    }
-
-    if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_B_PICTURE) { /* B picture */
-        brfd = pic_param->reference_fields.bits.reference_distance;
-        brfd = (scale_factor * brfd) >> 8;
-        brfd = pic_param->reference_fields.bits.reference_distance - brfd - 1;
-
-        if (brfd < 0)
-            brfd = 0;
-    }
-
-    overlap = pic_param->sequence_fields.bits.overlap;
-    if (profile != GEN7_VC1_ADVANCED_PROFILE && pic_param->pic_quantizer_fields.bits.pic_quantizer_scale < 9)
-        overlap = 0;
-
-    assert(pic_param->conditional_overlap_flag < 3);
-    assert(pic_param->mv_fields.bits.mv_table < 4); /* FIXME: interlace mode */
-
-    if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPelBilinear ||
-        (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
-         pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPelBilinear))
-        interpolation_mode = 8; /* Half-pel bilinear */
-    else if (pic_param->mv_fields.bits.mv_mode == VAMvMode1MvHalfPel ||
-             (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation &&
-              pic_param->mv_fields.bits.mv_mode2 == VAMvMode1MvHalfPel))
-        interpolation_mode = 0; /* Half-pel bicubic */
-    else
-        interpolation_mode = 1; /* Quarter-pel bicubic */
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFD_VC1_LONG_PIC_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch,
-                  (((ALIGN(pic_param->coded_height, 16) / 16) - 1) << 16) |
-                  ((ALIGN(pic_param->coded_width, 16) / 16) - 1));
-    OUT_BCS_BATCH(batch,
-                  ((ALIGN(pic_param->coded_width, 16) / 16 + 1) / 2 - 1) << 24 |
-                  dmv_surface_valid << 15 |
-                  (pic_param->pic_quantizer_fields.bits.quantizer == 0) << 14 | /* implicit quantizer */
-                  pic_param->rounding_control << 13 |
-                  pic_param->sequence_fields.bits.syncmarker << 12 |
-                  interpolation_mode << 8 |
-                  0 << 7 | /* FIXME: scale up or down ??? */
-                  pic_param->range_reduction_frame << 6 |
-                  pic_param->entrypoint_fields.bits.loopfilter << 5 |
-                  overlap << 4 |
-                  !pic_param->picture_fields.bits.is_first_field << 3 |
-                  (pic_param->sequence_fields.bits.profile == 3) << 0);
-    OUT_BCS_BATCH(batch,
-                  va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] << 29 |
-                  picture_type << 26 |
-                  fcm << 24 |
-                  alt_pq << 16 |
-                  pic_param->pic_quantizer_fields.bits.pic_quantizer_scale << 8 |
-                  scale_factor << 0);
-    OUT_BCS_BATCH(batch,
-                  unified_mv_mode << 28 |
-                  pic_param->mv_fields.bits.four_mv_switch << 27 |
-                  pic_param->fast_uvmc_flag << 26 |
-                  ref_field_pic_polarity << 25 |
-                  pic_param->reference_fields.bits.num_reference_pictures << 24 |
-                  pic_param->reference_fields.bits.reference_distance << 20 |
-                  pic_param->reference_fields.bits.reference_distance << 16 | /* FIXME: ??? */
-                  pic_param->mv_fields.bits.extended_dmv_range << 10 |
-                  pic_param->mv_fields.bits.extended_mv_range << 8 |
-                  alt_pquant_edge_mask << 4 |
-                  alt_pquant_config << 2 |
-                  pic_param->pic_quantizer_fields.bits.half_qp << 1 |                  
-                  pic_param->pic_quantizer_fields.bits.pic_quantizer_type << 0);
-    OUT_BCS_BATCH(batch,
-                  !!pic_param->bitplane_present.value << 31 |
-                  !pic_param->bitplane_present.flags.bp_forward_mb << 30 |
-                  !pic_param->bitplane_present.flags.bp_mv_type_mb << 29 |
-                  !pic_param->bitplane_present.flags.bp_skip_mb << 28 |
-                  !pic_param->bitplane_present.flags.bp_direct_mb << 27 |
-                  !pic_param->bitplane_present.flags.bp_overflags << 26 |
-                  !pic_param->bitplane_present.flags.bp_ac_pred << 25 |
-                  !pic_param->bitplane_present.flags.bp_field_tx << 24 |
-                  pic_param->mv_fields.bits.mv_table << 20 |
-                  pic_param->mv_fields.bits.four_mv_block_pattern_table << 18 |
-                  pic_param->mv_fields.bits.two_mv_block_pattern_table << 16 |
-                  va_to_gen7_vc1_ttfrm[pic_param->transform_fields.bits.frame_level_transform_type] << 12 |                  
-                  pic_param->transform_fields.bits.mb_level_transform_type_flag << 11 |
-                  pic_param->mb_mode_table << 8 |
-                  trans_ac_y << 6 |
-                  pic_param->transform_fields.bits.transform_ac_codingset_idx1 << 4 |
-                  pic_param->transform_fields.bits.intra_transform_dc_table << 3 |
-                  pic_param->cbp_table << 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_vc1_pred_pipe_state(VADriverContextP ctx,
-                             struct decode_state *decode_state,
-                             struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    int intensitycomp_single;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-    intensitycomp_single = (pic_param->mv_fields.bits.mv_mode == VAMvModeIntensityCompensation);
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, MFX_VC1_PRED_PIPE_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch,
-                  0 << 14 | /* FIXME: double ??? */
-                  0 << 12 |
-                  intensitycomp_single << 10 |
-                  intensitycomp_single << 8 |
-                  0 << 4 | /* FIXME: interlace mode */
-                  0);
-    OUT_BCS_BATCH(batch,
-                  pic_param->luma_shift << 16 |
-                  pic_param->luma_scale << 0); /* FIXME: Luma Scaling */
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-
-static void
-gen7_mfd_vc1_directmode_state(VADriverContextP ctx,
-                              struct decode_state *decode_state,
-                              struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface;
-    dri_bo *dmv_read_buffer = NULL, *dmv_write_buffer = NULL;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    obj_surface = SURFACE(decode_state->current_render_target);
-
-    if (obj_surface && obj_surface->private_data) {
-        dmv_write_buffer = ((struct gen7_vc1_surface *)(obj_surface->private_data))->dmv;
-    }
-
-    obj_surface = SURFACE(pic_param->backward_reference_picture);
-
-    if (obj_surface && obj_surface->private_data) {
-        dmv_read_buffer = ((struct gen7_vc1_surface *)(obj_surface->private_data))->dmv;
-    }
-
-    BEGIN_BCS_BATCH(batch, 3);
-    OUT_BCS_BATCH(batch, MFX_VC1_DIRECTMODE_STATE | (3 - 2));
-
-    if (dmv_write_buffer)
-        OUT_BCS_RELOC(batch, dmv_write_buffer,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    if (dmv_read_buffer)
-        OUT_BCS_RELOC(batch, dmv_read_buffer,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-                  
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static int
-gen7_mfd_vc1_get_macroblock_bit_offset(uint8_t *buf, int in_slice_data_bit_offset, int profile)
-{
-    int out_slice_data_bit_offset;
-    int slice_header_size = in_slice_data_bit_offset / 8;
-    int i, j;
-
-    if (profile != 3)
-        out_slice_data_bit_offset = in_slice_data_bit_offset;
-    else {
-        for (i = 0, j = 0; i < slice_header_size; i++, j++) {
-            if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3 && buf[j + 3] < 4) {
-                i++, j += 2;
-            }
-        }
-
-        out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
-    }
-
-    return out_slice_data_bit_offset;
-}
-
-static void
-gen7_mfd_vc1_bsd_object(VADriverContextP ctx,
-                        VAPictureParameterBufferVC1 *pic_param,
-                        VASliceParameterBufferVC1 *slice_param,
-                        VASliceParameterBufferVC1 *next_slice_param,
-                        dri_bo *slice_data_bo,
-                        struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    int next_slice_start_vert_pos;
-    int macroblock_offset;
-    uint8_t *slice_data = NULL;
-
-    dri_bo_map(slice_data_bo, 0);
-    slice_data = (uint8_t *)(slice_data_bo->virtual + slice_param->slice_data_offset);
-    macroblock_offset = gen7_mfd_vc1_get_macroblock_bit_offset(slice_data, 
-                                                               slice_param->macroblock_offset,
-                                                               pic_param->sequence_fields.bits.profile);
-    dri_bo_unmap(slice_data_bo);
-
-    if (next_slice_param)
-        next_slice_start_vert_pos = next_slice_param->slice_vertical_position;
-    else
-        next_slice_start_vert_pos = ALIGN(pic_param->coded_height, 16) / 16;
-
-    BEGIN_BCS_BATCH(batch, 5);
-    OUT_BCS_BATCH(batch, MFD_VC1_BSD_OBJECT | (5 - 2));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_size - (macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch, 
-                  slice_param->slice_data_offset + (macroblock_offset >> 3));
-    OUT_BCS_BATCH(batch,
-                  slice_param->slice_vertical_position << 16 |
-                  next_slice_start_vert_pos << 0);
-    OUT_BCS_BATCH(batch,
-                  (macroblock_offset & 0x7));
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-gen7_mfd_vc1_decode_picture(VADriverContextP ctx,
-                            struct decode_state *decode_state,
-                            struct gen7_mfd_context *gen7_mfd_context)
-{
-    struct intel_batchbuffer *batch = gen7_mfd_context->base.batch;
-    VAPictureParameterBufferVC1 *pic_param;
-    VASliceParameterBufferVC1 *slice_param, *next_slice_param, *next_slice_group_param;
-    dri_bo *slice_data_bo;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferVC1 *)decode_state->pic_param->buffer;
-
-    gen7_mfd_vc1_decode_init(ctx, decode_state, gen7_mfd_context);
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen7_mfd_pipe_mode_select(ctx, decode_state, MFX_FORMAT_VC1, gen7_mfd_context);
-    gen7_mfd_surface_state(ctx, decode_state, MFX_FORMAT_VC1, gen7_mfd_context);
-    gen7_mfd_pipe_buf_addr_state(ctx, decode_state, MFX_FORMAT_VC1, gen7_mfd_context);
-    gen7_mfd_bsp_buf_base_addr_state(ctx, decode_state, MFX_FORMAT_VC1, gen7_mfd_context);
-    gen7_mfd_vc1_pic_state(ctx, decode_state, gen7_mfd_context);
-    gen7_mfd_vc1_pred_pipe_state(ctx, decode_state, gen7_mfd_context);
-    gen7_mfd_vc1_directmode_state(ctx, decode_state, gen7_mfd_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferVC1 *)decode_state->slice_params[j]->buffer;
-        slice_data_bo = decode_state->slice_datas[j]->bo;
-        gen7_mfd_ind_obj_base_addr_state(ctx, slice_data_bo, MFX_FORMAT_VC1, gen7_mfd_context);
-
-        if (j == decode_state->num_slice_params - 1)
-            next_slice_group_param = NULL;
-        else
-            next_slice_group_param = (VASliceParameterBufferVC1 *)decode_state->slice_params[j + 1]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-
-            if (i < decode_state->slice_params[j]->num_elements - 1)
-                next_slice_param = slice_param + 1;
-            else
-                next_slice_param = next_slice_group_param;
-
-            gen7_mfd_vc1_bsd_object(ctx, pic_param, slice_param, next_slice_param, slice_data_bo, gen7_mfd_context);
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-static void 
-gen7_mfd_decode_picture(VADriverContextP ctx, 
-                        VAProfile profile, 
-                        union codec_state *codec_state,
-                        struct hw_context *hw_context)
-
-{
-    struct gen7_mfd_context *gen7_mfd_context = (struct gen7_mfd_context *)hw_context;
-    struct decode_state *decode_state = &codec_state->dec;
-
-    assert(gen7_mfd_context);
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        gen7_mfd_mpeg2_decode_picture(ctx, decode_state, gen7_mfd_context);
-        break;
-        
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        gen7_mfd_avc_decode_picture(ctx, decode_state, gen7_mfd_context);
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-        gen7_mfd_vc1_decode_picture(ctx, decode_state, gen7_mfd_context);
-        break;
-
-    default:
-        assert(0);
-        break;
-    }
-}
-
-static void
-gen7_mfd_context_destroy(void *hw_context)
-{
-    struct gen7_mfd_context *gen7_mfd_context = (struct gen7_mfd_context *)hw_context;
-
-    dri_bo_unreference(gen7_mfd_context->post_deblocking_output.bo);
-    gen7_mfd_context->post_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->pre_deblocking_output.bo);
-    gen7_mfd_context->pre_deblocking_output.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->intra_row_store_scratch_buffer.bo);
-    gen7_mfd_context->intra_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo);
-    gen7_mfd_context->deblocking_filter_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo);
-    gen7_mfd_context->bsd_mpc_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->mpr_row_store_scratch_buffer.bo);
-    gen7_mfd_context->mpr_row_store_scratch_buffer.bo = NULL;
-
-    dri_bo_unreference(gen7_mfd_context->bitplane_read_buffer.bo);
-    gen7_mfd_context->bitplane_read_buffer.bo = NULL;
-
-    intel_batchbuffer_free(gen7_mfd_context->base.batch);
-    free(gen7_mfd_context);
-}
-
-struct hw_context *
-gen7_dec_hw_context_init(VADriverContextP ctx, VAProfile profile)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct gen7_mfd_context *gen7_mfd_context = calloc(1, sizeof(struct gen7_mfd_context));
-    int i;
-
-    gen7_mfd_context->base.destroy = gen7_mfd_context_destroy;
-    gen7_mfd_context->base.run = gen7_mfd_decode_picture;
-    gen7_mfd_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
-
-    for (i = 0; i < ARRAY_ELEMS(gen7_mfd_context->reference_surface); i++) {
-        gen7_mfd_context->reference_surface[i].surface_id = VA_INVALID_ID;
-        gen7_mfd_context->reference_surface[i].frame_store_id = -1;
-    }
-
-    return (struct hw_context *)gen7_mfd_context;
-}
diff --git a/i965_drv_video/gen7_mfd.h b/i965_drv_video/gen7_mfd.h
deleted file mode 100644 (file)
index af9cc54..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright © 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef _GEN7_MFD_H_
-#define _GEN7_MFD_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-struct gen7_avc_surface
-{
-    dri_bo *dmv_top;
-    dri_bo *dmv_bottom;
-    int dmv_bottom_flag;
-};
-
-#define GEN7_VC1_I_PICTURE              0
-#define GEN7_VC1_P_PICTURE              1
-#define GEN7_VC1_B_PICTURE              2
-#define GEN7_VC1_BI_PICTURE             3
-#define GEN7_VC1_SKIPPED_PICTURE        4
-
-#define GEN7_VC1_SIMPLE_PROFILE         0
-#define GEN7_VC1_MAIN_PROFILE           1
-#define GEN7_VC1_ADVANCED_PROFILE       2
-#define GEN7_VC1_RESERVED_PROFILE       3
-
-struct gen7_vc1_surface
-{
-    dri_bo *dmv;
-    int picture_type;
-};
-
-#define MAX_MFX_REFERENCE_SURFACES        16
-struct hw_context;
-
-struct gen7_mfd_context
-{
-    struct hw_context base;
-
-    struct {
-        VASurfaceID surface_id;
-        int frame_store_id;
-    } reference_surface[MAX_MFX_REFERENCE_SURFACES];
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } post_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } pre_deblocking_output;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } intra_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } deblocking_filter_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bsd_mpc_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } mpr_row_store_scratch_buffer;
-
-    struct {
-        dri_bo *bo;
-        int valid;
-    } bitplane_read_buffer;
-};
-
-#endif /* _GEN7_MFD_H_ */
diff --git a/i965_drv_video/i965_avc_bsd.c b/i965_drv_video/i965_avc_bsd.c
deleted file mode 100644 (file)
index 2fa53fc..0000000
+++ /dev/null
@@ -1,1119 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "va_backend.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_avc_bsd.h"
-#include "i965_media_h264.h"
-#include "i965_media.h"
-
-static void 
-i965_avc_bsd_free_avc_bsd_surface(void **data)
-{
-    struct i965_avc_bsd_surface *avc_bsd_surface = *data;
-
-    if (!avc_bsd_surface)
-        return;
-
-    dri_bo_unreference(avc_bsd_surface->dmv_top);
-    avc_bsd_surface->dmv_top = NULL;
-    dri_bo_unreference(avc_bsd_surface->dmv_bottom);
-    avc_bsd_surface->dmv_bottom = NULL;
-
-    free(avc_bsd_surface);
-    *data = NULL;
-}
-
-static void
-i965_avc_bsd_init_avc_bsd_surface(VADriverContextP ctx, 
-                                  struct object_surface *obj_surface,
-                                  VAPictureParameterBufferH264 *pic_param,
-                                  struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_avc_bsd_context *i965_avc_bsd_context = &i965_h264_context->i965_avc_bsd_context;
-    struct i965_avc_bsd_surface *avc_bsd_surface = obj_surface->private_data;
-
-    obj_surface->free_private_data = i965_avc_bsd_free_avc_bsd_surface;
-
-    if (!avc_bsd_surface) {
-        avc_bsd_surface = calloc(sizeof(struct i965_avc_bsd_surface), 1);
-        assert((obj_surface->size & 0x3f) == 0);
-        obj_surface->private_data = avc_bsd_surface;
-    }
-
-    avc_bsd_surface->ctx = i965_avc_bsd_context;
-    avc_bsd_surface->dmv_bottom_flag = (pic_param->pic_fields.bits.field_pic_flag &&
-                                        !pic_param->seq_fields.bits.direct_8x8_inference_flag);
-
-    if (avc_bsd_surface->dmv_top == NULL) {
-        avc_bsd_surface->dmv_top = dri_bo_alloc(i965->intel.bufmgr,
-                                                "direct mv w/r buffer",
-                                                DMV_SIZE,
-                                                0x1000);
-    }
-
-    if (avc_bsd_surface->dmv_bottom_flag &&
-        avc_bsd_surface->dmv_bottom == NULL) {
-        avc_bsd_surface->dmv_bottom = dri_bo_alloc(i965->intel.bufmgr,
-                                                   "direct mv w/r buffer",
-                                                   DMV_SIZE,
-                                                   0x1000);
-    }
-}
-
-static void
-i965_bsd_ind_obj_base_address(VADriverContextP ctx,
-                              struct decode_state *decode_state,
-                              int slice,
-                              struct i965_h264_context *i965_h264_context)
-                              
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    dri_bo *ind_bo = decode_state->slice_datas[slice]->bo;
-
-    BEGIN_BCS_BATCH(batch, 3);
-    OUT_BCS_BATCH(batch, CMD_BSD_IND_OBJ_BASE_ADDR | (3 - 2));
-    OUT_BCS_RELOC(batch, ind_bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                  0);
-    OUT_BCS_BATCH(batch, 0);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-i965_avc_bsd_img_state(VADriverContextP ctx,
-                       struct decode_state *decode_state,
-                       struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int qm_present_flag;
-    int img_struct;
-    int mbaff_frame_flag;
-    unsigned int avc_it_command_header;
-    unsigned int width_in_mbs, height_in_mbs;
-    VAPictureParameterBufferH264 *pic_param;
-
-    if (decode_state->iq_matrix && decode_state->iq_matrix->buffer)
-        qm_present_flag = 1;
-    else
-        qm_present_flag = 0; /* built-in QM matrices */
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    assert(!(pic_param->CurrPic.flags & VA_PICTURE_H264_INVALID));
-
-    if (pic_param->CurrPic.flags & VA_PICTURE_H264_TOP_FIELD)
-        img_struct = 1;
-    else if (pic_param->CurrPic.flags & VA_PICTURE_H264_BOTTOM_FIELD)
-        img_struct = 3;
-    else
-        img_struct = 0;
-
-    if ((img_struct & 0x1) == 0x1) {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x1);
-    } else {
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0x0);
-    }
-
-    if (pic_param->seq_fields.bits.frame_mbs_only_flag) { /* a frame containing only frame macroblocks */
-        assert(pic_param->seq_fields.bits.mb_adaptive_frame_field_flag == 0);
-        assert(pic_param->pic_fields.bits.field_pic_flag == 0);
-    } else {
-        assert(pic_param->seq_fields.bits.direct_8x8_inference_flag == 1); /* see H.264 spec */
-    }
-
-    mbaff_frame_flag = (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag &&
-                        !pic_param->pic_fields.bits.field_pic_flag);
-
-    width_in_mbs = ((pic_param->picture_width_in_mbs_minus1 + 1) & 0xff);
-    height_in_mbs = ((pic_param->picture_height_in_mbs_minus1 + 1) & 0xff); /* frame height */
-                                                                               
-    assert(!((width_in_mbs * height_in_mbs) & 0x8000)); /* hardware requirement */
-
-    /* BSD unit doesn't support 4:2:2 and 4:4:4 picture */
-    assert(pic_param->seq_fields.bits.chroma_format_idc == 0 || /* monochrome picture */
-           pic_param->seq_fields.bits.chroma_format_idc == 1);  /* 4:2:0 */
-    assert(pic_param->seq_fields.bits.residual_colour_transform_flag == 0); /* only available for 4:4:4 */
-
-    avc_it_command_header = (CMD_MEDIA_OBJECT_EX | (12 - 2));
-
-    BEGIN_BCS_BATCH(batch, 6);
-    OUT_BCS_BATCH(batch, CMD_AVC_BSD_IMG_STATE | (6 - 2));
-    OUT_BCS_BATCH(batch, 
-                  ((width_in_mbs * height_in_mbs) & 0x7fff));
-    OUT_BCS_BATCH(batch, 
-                  (height_in_mbs << 16) | 
-                  (width_in_mbs << 0));
-    OUT_BCS_BATCH(batch, 
-                  ((pic_param->second_chroma_qp_index_offset & 0x1f) << 24) |
-                  ((pic_param->chroma_qp_index_offset & 0x1f) << 16) | 
-                  (SCAN_RASTER_ORDER << 15) | /* AVC ILDB Data */
-                  (SCAN_SPECIAL_ORDER << 14) | /* AVC IT Command */
-                  (SCAN_RASTER_ORDER << 13) | /* AVC IT Data */
-                  (1 << 12) | /* always 1, hardware requirement */
-                  (qm_present_flag << 10) |
-                  (img_struct << 8) |
-                  (16 << 0)); /* FIXME: always support 16 reference frames ??? */
-    OUT_BCS_BATCH(batch,
-                  (RESIDUAL_DATA_OFFSET << 24) | /* residual data offset */
-                  (0 << 17) | /* don't overwrite SRT */
-                  (0 << 16) | /* Un-SRT (Unsynchronized Root Thread) */
-                  (0 << 12) | /* FIXME: no 16MV ??? */
-                  (pic_param->seq_fields.bits.chroma_format_idc << 10) |
-                  (i965_h264_context->enable_avc_ildb << 8)  | /* Enable ILDB writing output */
-                  (pic_param->pic_fields.bits.entropy_coding_mode_flag << 7) |
-                  ((!pic_param->pic_fields.bits.reference_pic_flag) << 6) |
-                  (pic_param->pic_fields.bits.constrained_intra_pred_flag << 5) |
-                  (pic_param->seq_fields.bits.direct_8x8_inference_flag << 4) |
-                  (pic_param->pic_fields.bits.transform_8x8_mode_flag << 3) |
-                  (pic_param->seq_fields.bits.frame_mbs_only_flag << 2) |
-                  (mbaff_frame_flag << 1) |
-                  (pic_param->pic_fields.bits.field_pic_flag << 0));
-    OUT_BCS_BATCH(batch, avc_it_command_header);
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-i965_avc_bsd_qm_state(VADriverContextP ctx,
-                      struct decode_state *decode_state,
-                      struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int cmd_len;
-    VAIQMatrixBufferH264 *iq_matrix;
-    VAPictureParameterBufferH264 *pic_param;
-
-    if (!decode_state->iq_matrix || !decode_state->iq_matrix->buffer)
-        return;
-
-    iq_matrix = (VAIQMatrixBufferH264 *)decode_state->iq_matrix->buffer;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    cmd_len = 2 + 6 * 4; /* always load six 4x4 scaling matrices */
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        cmd_len += 2 * 16; /* load two 8x8 scaling matrices */
-
-    BEGIN_BCS_BATCH(batch, cmd_len);
-    OUT_BCS_BATCH(batch, CMD_AVC_BSD_QM_STATE | (cmd_len - 2));
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        OUT_BCS_BATCH(batch, 
-                      (0x0  << 8) | /* don't use default built-in matrices */
-                      (0xff << 0)); /* six 4x4 and two 8x8 scaling matrices */
-    else
-        OUT_BCS_BATCH(batch, 
-                      (0x0  << 8) | /* don't use default built-in matrices */
-                      (0x3f << 0)); /* six 4x4 scaling matrices */
-
-    intel_batchbuffer_data(batch, &iq_matrix->ScalingList4x4[0][0], 6 * 4 * 4);
-
-    if (pic_param->pic_fields.bits.transform_8x8_mode_flag)
-        intel_batchbuffer_data(batch, &iq_matrix->ScalingList8x8[0][0], 2 * 16 * 4);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-i965_avc_bsd_slice_state(VADriverContextP ctx, 
-                         VAPictureParameterBufferH264 *pic_param, 
-                         VASliceParameterBufferH264 *slice_param,
-                         struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int present_flag, cmd_len, list, j;
-    struct {
-        unsigned char bottom_idc:1;
-        unsigned char frame_store_index:4;
-        unsigned char field_picture:1;
-        unsigned char long_term:1;
-        unsigned char non_exist:1;
-    } refs[32];
-    char weightoffsets[32 * 6];
-
-    /* don't issue SLICE_STATE for intra-prediction decoding */
-    if (slice_param->slice_type == SLICE_TYPE_I ||
-        slice_param->slice_type == SLICE_TYPE_SI)
-        return;
-
-    cmd_len = 2;
-
-    if (slice_param->slice_type == SLICE_TYPE_P ||
-        slice_param->slice_type == SLICE_TYPE_SP) {
-        present_flag = PRESENT_REF_LIST0;
-        cmd_len += 8;
-    } else { 
-        present_flag = PRESENT_REF_LIST0 | PRESENT_REF_LIST1;
-        cmd_len += 16;
-    }
-
-    if ((slice_param->slice_type == SLICE_TYPE_P ||
-         slice_param->slice_type == SLICE_TYPE_SP) && 
-        (pic_param->pic_fields.bits.weighted_pred_flag == 1)) {
-        present_flag |= PRESENT_WEIGHT_OFFSET_L0;
-        cmd_len += 48;
-    }
-
-    if ((slice_param->slice_type == SLICE_TYPE_B) &&
-        (pic_param->pic_fields.bits.weighted_bipred_idc == 1)) {
-        present_flag |= PRESENT_WEIGHT_OFFSET_L0 | PRESENT_WEIGHT_OFFSET_L1;
-        cmd_len += 96;
-    }
-
-    BEGIN_BCS_BATCH(batch, cmd_len);
-    OUT_BCS_BATCH(batch, CMD_AVC_BSD_SLICE_STATE | (cmd_len - 2));
-    OUT_BCS_BATCH(batch, present_flag);
-
-    for (list = 0; list < 2; list++) {
-        int flag;
-        VAPictureH264 *va_pic;
-
-        if (list == 0) {
-            flag = PRESENT_REF_LIST0;
-            va_pic = slice_param->RefPicList0;
-        } else {
-            flag = PRESENT_REF_LIST1;
-            va_pic = slice_param->RefPicList1;
-        }
-
-        if (!(present_flag & flag))
-            continue;
-
-        for (j = 0; j < 32; j++) {
-            if (va_pic->flags & VA_PICTURE_H264_INVALID) {
-                refs[j].non_exist = 1;
-                refs[j].long_term = 1;
-                refs[j].field_picture = 1;
-                refs[j].frame_store_index = 0xf;
-                refs[j].bottom_idc = 1;
-            } else {
-                int frame_idx;
-                
-                for (frame_idx = 0; frame_idx < ARRAY_ELEMS(i965_h264_context->fsid_list); frame_idx++) {
-                    if (i965_h264_context->fsid_list[frame_idx].surface_id != VA_INVALID_ID &&
-                        va_pic->picture_id == i965_h264_context->fsid_list[frame_idx].surface_id) {
-                        assert(frame_idx == i965_h264_context->fsid_list[frame_idx].frame_store_id);
-                        break;
-                    }
-                }
-
-                assert(frame_idx < ARRAY_ELEMS(i965_h264_context->fsid_list));
-                
-                refs[j].non_exist = 0;
-                refs[j].long_term = !!(va_pic->flags & VA_PICTURE_H264_LONG_TERM_REFERENCE);
-                refs[j].field_picture = !!(va_pic->flags & 
-                                           (VA_PICTURE_H264_TOP_FIELD | 
-                                            VA_PICTURE_H264_BOTTOM_FIELD));
-                refs[j].frame_store_index = frame_idx;
-                refs[j].bottom_idc = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-            }
-
-            va_pic++;
-        }
-        
-        intel_batchbuffer_data(batch, refs, sizeof(refs));
-    }
-
-    i965_h264_context->weight128_luma_l0 = 0;
-    i965_h264_context->weight128_luma_l1 = 0;
-    i965_h264_context->weight128_chroma_l0 = 0;
-    i965_h264_context->weight128_chroma_l1 = 0;
-
-    i965_h264_context->weight128_offset0_flag = 0;
-    i965_h264_context->weight128_offset0 = 0;
-
-    if (present_flag & PRESENT_WEIGHT_OFFSET_L0) {
-        for (j = 0; j < 32; j++) {
-            weightoffsets[j * 6 + 0] = slice_param->luma_offset_l0[j];
-            weightoffsets[j * 6 + 1] = slice_param->luma_weight_l0[j];
-            weightoffsets[j * 6 + 2] = slice_param->chroma_offset_l0[j][0];
-            weightoffsets[j * 6 + 3] = slice_param->chroma_weight_l0[j][0];
-            weightoffsets[j * 6 + 4] = slice_param->chroma_offset_l0[j][1];
-            weightoffsets[j * 6 + 5] = slice_param->chroma_weight_l0[j][1];
-
-            if (pic_param->pic_fields.bits.weighted_pred_flag == 1 ||
-                pic_param->pic_fields.bits.weighted_bipred_idc == 1) {
-                if (i965_h264_context->use_hw_w128) {
-                    if (slice_param->luma_weight_l0[j] == 128)
-                        i965_h264_context->weight128_luma_l0 |= (1 << j);
-
-                    if (slice_param->chroma_weight_l0[j][0] == 128 ||
-                        slice_param->chroma_weight_l0[j][1] == 128)
-                        i965_h264_context->weight128_chroma_l0 |= (1 << j);
-                } else {
-                    /* FIXME: workaround for weight 128 */
-                    if (slice_param->luma_weight_l0[j] == 128 ||
-                        slice_param->chroma_weight_l0[j][0] == 128 ||
-                        slice_param->chroma_weight_l0[j][1] == 128)
-                        i965_h264_context->weight128_offset0_flag = 1;
-                }
-            }
-        }
-
-        intel_batchbuffer_data(batch, weightoffsets, sizeof(weightoffsets));
-    }
-
-    if (present_flag & PRESENT_WEIGHT_OFFSET_L1) {
-        for (j = 0; j < 32; j++) {
-            weightoffsets[j * 6 + 0] = slice_param->luma_offset_l1[j];
-            weightoffsets[j * 6 + 1] = slice_param->luma_weight_l1[j];
-            weightoffsets[j * 6 + 2] = slice_param->chroma_offset_l1[j][0];
-            weightoffsets[j * 6 + 3] = slice_param->chroma_weight_l1[j][0];
-            weightoffsets[j * 6 + 4] = slice_param->chroma_offset_l1[j][1];
-            weightoffsets[j * 6 + 5] = slice_param->chroma_weight_l1[j][1];
-
-            if (pic_param->pic_fields.bits.weighted_bipred_idc == 1) {
-                if (i965_h264_context->use_hw_w128) {
-                    if (slice_param->luma_weight_l1[j] == 128)
-                        i965_h264_context->weight128_luma_l1 |= (1 << j);
-
-                    if (slice_param->chroma_weight_l1[j][0] == 128 ||
-                        slice_param->chroma_weight_l1[j][1] == 128)
-                        i965_h264_context->weight128_chroma_l1 |= (1 << j);
-                } else {
-                    if (slice_param->luma_weight_l0[j] == 128 ||
-                        slice_param->chroma_weight_l0[j][0] == 128 ||
-                        slice_param->chroma_weight_l0[j][1] == 128)
-                        i965_h264_context->weight128_offset0_flag = 1;
-                }
-            }
-        }
-
-        intel_batchbuffer_data(batch, weightoffsets, sizeof(weightoffsets));
-    }
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-static void
-i965_avc_bsd_buf_base_state(VADriverContextP ctx,
-                            VAPictureParameterBufferH264 *pic_param, 
-                            VASliceParameterBufferH264 *slice_param,
-                            struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    struct i965_avc_bsd_context *i965_avc_bsd_context;
-    int i, j;
-    VAPictureH264 *va_pic;
-    struct object_surface *obj_surface;
-    struct i965_avc_bsd_surface *avc_bsd_surface;
-
-    i965_avc_bsd_context = &i965_h264_context->i965_avc_bsd_context;
-
-    BEGIN_BCS_BATCH(batch, 74);
-    OUT_BCS_BATCH(batch, CMD_AVC_BSD_BUF_BASE_STATE | (74 - 2));
-    OUT_BCS_RELOC(batch, i965_avc_bsd_context->bsd_raw_store.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-    OUT_BCS_RELOC(batch, i965_avc_bsd_context->mpr_row_store.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-    OUT_BCS_RELOC(batch, i965_h264_context->avc_it_command_mb_info.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  i965_h264_context->avc_it_command_mb_info.mbs * i965_h264_context->use_avc_hw_scoreboard * MB_CMD_IN_BYTES);
-    OUT_BCS_RELOC(batch, i965_h264_context->avc_it_data.bo,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  (i965_h264_context->avc_it_data.write_offset << 6));
-
-    if (i965_h264_context->enable_avc_ildb)
-        OUT_BCS_RELOC(batch, i965_h264_context->avc_ildb_data.bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_BATCH(batch, 0);
-
-    for (i = 0; i < ARRAY_ELEMS(i965_h264_context->fsid_list); i++) {
-        if (i965_h264_context->fsid_list[i].surface_id != VA_INVALID_ID) {
-            int found = 0;
-            for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-                va_pic = &pic_param->ReferenceFrames[j];
-                
-                if (va_pic->flags & VA_PICTURE_H264_INVALID)
-                    continue;
-
-                if (va_pic->picture_id == i965_h264_context->fsid_list[i].surface_id) {
-                    found = 1;
-                    break;
-                }
-            }
-
-            assert(found == 1);
-
-            if (!(va_pic->flags & VA_PICTURE_H264_INVALID)) {
-                obj_surface = SURFACE(va_pic->picture_id);
-                assert(obj_surface);
-                avc_bsd_surface = obj_surface->private_data;
-            
-                if (avc_bsd_surface == NULL) {
-                    OUT_BCS_BATCH(batch, 0);
-                    OUT_BCS_BATCH(batch, 0);
-                } else {
-                    OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_top,
-                                  I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                  0);
-
-                    if (avc_bsd_surface->dmv_bottom_flag == 1)
-                        OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_bottom,
-                                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                      0);
-                    else
-                        OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_top,
-                                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                                      0);
-                }
-            } 
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface);
-    obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-    obj_surface->flags |= (pic_param->pic_fields.bits.reference_pic_flag ? SURFACE_REFERENCED : 0);
-    i965_avc_bsd_init_avc_bsd_surface(ctx, obj_surface, pic_param, i965_h264_context);
-    avc_bsd_surface = obj_surface->private_data;
-    i965_check_alloc_surface_bo(ctx, obj_surface, 0, VA_FOURCC('N','V','1','2'));
-
-    OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_top,
-                  I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                  0);
-
-    if (avc_bsd_surface->dmv_bottom_flag == 1)
-        OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_bottom,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-    else
-        OUT_BCS_RELOC(batch, avc_bsd_surface->dmv_top,
-                      I915_GEM_DOMAIN_INSTRUCTION, I915_GEM_DOMAIN_INSTRUCTION,
-                      0);
-
-    /* POC List */
-    for (i = 0; i < ARRAY_ELEMS(i965_h264_context->fsid_list); i++) {
-        if (i965_h264_context->fsid_list[i].surface_id != VA_INVALID_ID) {
-            int found = 0;
-            for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-                va_pic = &pic_param->ReferenceFrames[j];
-                
-                if (va_pic->flags & VA_PICTURE_H264_INVALID)
-                    continue;
-
-                if (va_pic->picture_id == i965_h264_context->fsid_list[i].surface_id) {
-                    found = 1;
-                    break;
-                }
-            }
-
-            assert(found == 1);
-
-            if (!(va_pic->flags & VA_PICTURE_H264_INVALID)) {
-                OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-                OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-            } 
-        } else {
-            OUT_BCS_BATCH(batch, 0);
-            OUT_BCS_BATCH(batch, 0);
-        }
-    }
-
-    va_pic = &pic_param->CurrPic;
-    OUT_BCS_BATCH(batch, va_pic->TopFieldOrderCnt);
-    OUT_BCS_BATCH(batch, va_pic->BottomFieldOrderCnt);
-
-    ADVANCE_BCS_BATCH(batch);
-}
-
-/*
- * Return the bit offset to the first bit of the slice data
- *
- * VASliceParameterBufferH264.slice_data_bit_offset will point into the part
- * of slice header if there are some escaped bytes in the slice header. The offset 
- * to slice data is needed for BSD unit so that BSD unit can fetch right slice data
- * for processing. This fixes conformance case BASQP1_Sony_C.jsv
- */
-static int
-i965_avc_bsd_get_slice_bit_offset(uint8_t *buf, int mode_flag, int in_slice_data_bit_offset)
-{
-    int out_slice_data_bit_offset;
-    int slice_header_size = in_slice_data_bit_offset / 8;
-    int i, j;
-
-    for (i = 0, j = 0; i < slice_header_size; i++, j++) {
-        if (!buf[j] && !buf[j + 1] && buf[j + 2] == 3) {
-            i++, j += 2;
-        }
-    }
-
-    out_slice_data_bit_offset = 8 * j + in_slice_data_bit_offset % 8;
-
-    if (mode_flag == ENTROPY_CABAC)
-        out_slice_data_bit_offset = ALIGN(out_slice_data_bit_offset, 0x8);
-
-    return out_slice_data_bit_offset;
-}
-
-static void
-g4x_avc_bsd_object(VADriverContextP ctx, 
-                   struct decode_state *decode_state,
-                   VAPictureParameterBufferH264 *pic_param,
-                   VASliceParameterBufferH264 *slice_param,
-                   int slice_index,
-                   struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1;
-    int height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; /* frame height */
-
-    if (slice_param) {
-        int encrypted, counter_value, cmd_len;
-        int slice_hor_pos, slice_ver_pos;
-        int num_ref_idx_l0, num_ref_idx_l1;
-        int mbaff_picture = (!pic_param->pic_fields.bits.field_pic_flag &&
-                             pic_param->seq_fields.bits.mb_adaptive_frame_field_flag);
-        int slice_data_bit_offset;
-        int weighted_pred_idc = 0;
-        int first_mb_in_slice = 0;
-        int slice_type;
-        uint8_t *slice_data = NULL;
-
-        encrypted = 0; /* FIXME: which flag in VAAPI is used for encryption? */
-
-        if (encrypted) {
-            cmd_len = 9;
-            counter_value = 0; /* FIXME: ??? */
-        } else 
-            cmd_len = 8;
-
-        dri_bo_map(decode_state->slice_datas[slice_index]->bo, 0);
-        slice_data = (uint8_t *)(decode_state->slice_datas[slice_index]->bo->virtual + slice_param->slice_data_offset);
-        slice_data_bit_offset = i965_avc_bsd_get_slice_bit_offset(slice_data,
-                                                                  pic_param->pic_fields.bits.entropy_coding_mode_flag,
-                                                                  slice_param->slice_data_bit_offset);
-        dri_bo_unmap(decode_state->slice_datas[slice_index]->bo);
-
-        if (slice_param->slice_type == SLICE_TYPE_I ||
-            slice_param->slice_type == SLICE_TYPE_SI)
-            slice_type = SLICE_TYPE_I;
-        else if (slice_param->slice_type == SLICE_TYPE_P ||
-                 slice_param->slice_type == SLICE_TYPE_SP)
-            slice_type = SLICE_TYPE_P;
-        else {
-            assert(slice_param->slice_type == SLICE_TYPE_B);
-            slice_type = SLICE_TYPE_B;
-        }
-
-        if (slice_type == SLICE_TYPE_I) {
-            assert(slice_param->num_ref_idx_l0_active_minus1 == 0);
-            assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-            num_ref_idx_l0 = 0;
-            num_ref_idx_l1 = 0;
-        } else if (slice_type == SLICE_TYPE_P) {
-            assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-            num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-            num_ref_idx_l1 = 0;
-        } else {
-            num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-            num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1;
-        }
-
-        if (slice_type == SLICE_TYPE_P)
-            weighted_pred_idc = pic_param->pic_fields.bits.weighted_pred_flag;
-        else if (slice_type == SLICE_TYPE_B)
-            weighted_pred_idc = pic_param->pic_fields.bits.weighted_bipred_idc;
-
-        first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture;
-        slice_hor_pos = first_mb_in_slice % width_in_mbs; 
-        slice_ver_pos = first_mb_in_slice / width_in_mbs;
-
-        BEGIN_BCS_BATCH(batch, cmd_len);
-        OUT_BCS_BATCH(batch, CMD_AVC_BSD_OBJECT | (cmd_len - 2));
-        OUT_BCS_BATCH(batch, 
-                      (encrypted << 31) |
-                      ((slice_param->slice_data_size - (slice_data_bit_offset >> 3)) << 0));
-        OUT_BCS_BATCH(batch, 
-                      (slice_param->slice_data_offset +
-                       (slice_data_bit_offset >> 3)));
-        OUT_BCS_BATCH(batch, 
-                      (0 << 31) | /* concealment mode: 0->intra 16x16 prediction, 1->inter P Copy */
-                      (0 << 14) | /* ignore BSDPrematureComplete Error handling */
-                      (0 << 13) | /* FIXME: ??? */
-                      (0 << 12) | /* ignore MPR Error handling */
-                      (0 << 10) | /* ignore Entropy Error handling */
-                      (0 << 8)  | /* ignore MB Header Error handling */
-                      (slice_type << 0));
-        OUT_BCS_BATCH(batch, 
-                      (num_ref_idx_l1 << 24) |
-                      (num_ref_idx_l0 << 16) |
-                      (slice_param->chroma_log2_weight_denom << 8) |
-                      (slice_param->luma_log2_weight_denom << 0));
-        OUT_BCS_BATCH(batch, 
-                      (weighted_pred_idc << 30) |
-                      (slice_param->direct_spatial_mv_pred_flag << 29) |
-                      (slice_param->disable_deblocking_filter_idc << 27) |
-                      (slice_param->cabac_init_idc << 24) |
-                      ((pic_param->pic_init_qp_minus26 + 26 + slice_param->slice_qp_delta) << 16) |
-                      ((slice_param->slice_beta_offset_div2 & 0xf) << 8) |
-                      ((slice_param->slice_alpha_c0_offset_div2 & 0xf) << 0));
-        OUT_BCS_BATCH(batch, 
-                      (slice_ver_pos << 24) |
-                      (slice_hor_pos << 16) | 
-                      (first_mb_in_slice << 0));
-        OUT_BCS_BATCH(batch, 
-                      (0 << 7) | /* FIXME: ??? */
-                      ((0x7 - (slice_data_bit_offset & 0x7)) << 0));
-
-        if (encrypted) {
-            OUT_BCS_BATCH(batch, counter_value);
-        }
-
-        ADVANCE_BCS_BATCH(batch); 
-    } else {
-        BEGIN_BCS_BATCH(batch, 8); 
-        OUT_BCS_BATCH(batch, CMD_AVC_BSD_OBJECT | (8 - 2));
-        OUT_BCS_BATCH(batch, 0); /* indirect data length for phantom slice is 0 */
-        OUT_BCS_BATCH(batch, 0); /* indirect data start address for phantom slice is 0 */
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, width_in_mbs * height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag));
-        OUT_BCS_BATCH(batch, 0);
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static void
-ironlake_avc_bsd_object(VADriverContextP ctx, 
-                        struct decode_state *decode_state,
-                        VAPictureParameterBufferH264 *pic_param,
-                        VASliceParameterBufferH264 *slice_param,
-                        int slice_index,
-                        struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int width_in_mbs = pic_param->picture_width_in_mbs_minus1 + 1;
-    int height_in_mbs = pic_param->picture_height_in_mbs_minus1 + 1; /* frame height */
-
-    if (slice_param) {
-        int encrypted, counter_value;
-        int slice_hor_pos, slice_ver_pos;
-        int num_ref_idx_l0, num_ref_idx_l1;
-        int mbaff_picture = (!pic_param->pic_fields.bits.field_pic_flag &&
-                             pic_param->seq_fields.bits.mb_adaptive_frame_field_flag);
-        int slice_data_bit_offset;
-        int weighted_pred_idc = 0;
-        int first_mb_in_slice;
-        int slice_type;
-        uint8_t *slice_data = NULL;
-
-        encrypted = 0; /* FIXME: which flag in VAAPI is used for encryption? */
-
-        if (encrypted) {
-            counter_value = 0; /* FIXME: ??? */
-        } else 
-            counter_value = 0;
-
-        dri_bo_map(decode_state->slice_datas[slice_index]->bo, 0);
-        slice_data = (uint8_t *)(decode_state->slice_datas[slice_index]->bo->virtual + slice_param->slice_data_offset);
-        slice_data_bit_offset = i965_avc_bsd_get_slice_bit_offset(slice_data,
-                                                                  pic_param->pic_fields.bits.entropy_coding_mode_flag,
-                                                                  slice_param->slice_data_bit_offset);
-        dri_bo_unmap(decode_state->slice_datas[slice_index]->bo);
-
-        if (slice_param->slice_type == SLICE_TYPE_I ||
-            slice_param->slice_type == SLICE_TYPE_SI)
-            slice_type = SLICE_TYPE_I;
-        else if (slice_param->slice_type == SLICE_TYPE_P ||
-                 slice_param->slice_type == SLICE_TYPE_SP)
-            slice_type = SLICE_TYPE_P;
-        else {
-            assert(slice_param->slice_type == SLICE_TYPE_B);
-            slice_type = SLICE_TYPE_B;
-        }
-
-        if (slice_type == SLICE_TYPE_I) {
-            assert(slice_param->num_ref_idx_l0_active_minus1 == 0);
-            assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-            num_ref_idx_l0 = 0;
-            num_ref_idx_l1 = 0;
-        } else if (slice_type == SLICE_TYPE_P) {
-            assert(slice_param->num_ref_idx_l1_active_minus1 == 0);
-            num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-            num_ref_idx_l1 = 0;
-        } else {
-            num_ref_idx_l0 = slice_param->num_ref_idx_l0_active_minus1 + 1;
-            num_ref_idx_l1 = slice_param->num_ref_idx_l1_active_minus1 + 1;
-        }
-
-        if (slice_type == SLICE_TYPE_P)
-            weighted_pred_idc = pic_param->pic_fields.bits.weighted_pred_flag;
-        else if (slice_type == SLICE_TYPE_B)
-            weighted_pred_idc = pic_param->pic_fields.bits.weighted_bipred_idc;
-
-        first_mb_in_slice = slice_param->first_mb_in_slice << mbaff_picture;
-        slice_hor_pos = first_mb_in_slice % width_in_mbs; 
-        slice_ver_pos = first_mb_in_slice / width_in_mbs;
-
-        BEGIN_BCS_BATCH(batch, 16);
-        OUT_BCS_BATCH(batch, CMD_AVC_BSD_OBJECT | (16 - 2));
-        OUT_BCS_BATCH(batch, 
-                      (encrypted << 31) |
-                      (0 << 30) | /* FIXME: packet based bit stream */
-                      (0 << 29) | /* FIXME: packet format */
-                      ((slice_param->slice_data_size - (slice_data_bit_offset >> 3)) << 0));
-        OUT_BCS_BATCH(batch, 
-                      (slice_param->slice_data_offset +
-                       (slice_data_bit_offset >> 3)));
-        OUT_BCS_BATCH(batch, 
-                      (0 << 31) | /* concealment mode: 0->intra 16x16 prediction, 1->inter P Copy */
-                      (0 << 14) | /* ignore BSDPrematureComplete Error handling */
-                      (0 << 13) | /* FIXME: ??? */
-                      (0 << 12) | /* ignore MPR Error handling */
-                      (0 << 10) | /* ignore Entropy Error handling */
-                      (0 << 8)  | /* ignore MB Header Error handling */
-                      (slice_type << 0));
-        OUT_BCS_BATCH(batch, 
-                      (num_ref_idx_l1 << 24) |
-                      (num_ref_idx_l0 << 16) |
-                      (slice_param->chroma_log2_weight_denom << 8) |
-                      (slice_param->luma_log2_weight_denom << 0));
-        OUT_BCS_BATCH(batch, 
-                      (weighted_pred_idc << 30) |
-                      (slice_param->direct_spatial_mv_pred_flag << 29) |
-                      (slice_param->disable_deblocking_filter_idc << 27) |
-                      (slice_param->cabac_init_idc << 24) |
-                      ((pic_param->pic_init_qp_minus26 + 26 + slice_param->slice_qp_delta) << 16) |
-                      ((slice_param->slice_beta_offset_div2 & 0xf) << 8) |
-                      ((slice_param->slice_alpha_c0_offset_div2 & 0xf) << 0));
-        OUT_BCS_BATCH(batch, 
-                      (slice_ver_pos << 24) |
-                      (slice_hor_pos << 16) | 
-                      (first_mb_in_slice << 0));
-        OUT_BCS_BATCH(batch, 
-                      (0 << 7) | /* FIXME: ??? */
-                      ((0x7 - (slice_data_bit_offset & 0x7)) << 0));
-        OUT_BCS_BATCH(batch, counter_value);
-        
-        /* FIXME: dw9-dw11 */
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, i965_h264_context->weight128_luma_l0);
-        OUT_BCS_BATCH(batch, i965_h264_context->weight128_luma_l1);
-        OUT_BCS_BATCH(batch, i965_h264_context->weight128_chroma_l0);
-        OUT_BCS_BATCH(batch, i965_h264_context->weight128_chroma_l1);
-
-        ADVANCE_BCS_BATCH(batch); 
-    } else {
-        BEGIN_BCS_BATCH(batch, 16);
-        OUT_BCS_BATCH(batch, CMD_AVC_BSD_OBJECT | (16 - 2));
-        OUT_BCS_BATCH(batch, 0); /* indirect data length for phantom slice is 0 */
-        OUT_BCS_BATCH(batch, 0); /* indirect data start address for phantom slice is 0 */
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, width_in_mbs * height_in_mbs / (1 + !!pic_param->pic_fields.bits.field_pic_flag));
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        OUT_BCS_BATCH(batch, 0);
-        ADVANCE_BCS_BATCH(batch);
-    }
-}
-
-static void
-i965_avc_bsd_object(VADriverContextP ctx, 
-                    struct decode_state *decode_state,
-                    VAPictureParameterBufferH264 *pic_param,
-                    VASliceParameterBufferH264 *slice_param,
-                    int slice_index,
-                    struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        ironlake_avc_bsd_object(ctx, decode_state, pic_param, slice_param, slice_index, i965_h264_context);
-    else
-        g4x_avc_bsd_object(ctx, decode_state, pic_param, slice_param, slice_index, i965_h264_context);
-}
-
-static void
-i965_avc_bsd_phantom_slice(VADriverContextP ctx, 
-                           struct decode_state *decode_state,
-                           VAPictureParameterBufferH264 *pic_param,
-                           struct i965_h264_context *i965_h264_context)
-{
-    i965_avc_bsd_object(ctx, decode_state, pic_param, NULL, 0, i965_h264_context);
-}
-
-static void
-i965_avc_bsd_frame_store_index(VADriverContextP ctx,
-                               VAPictureParameterBufferH264 *pic_param,
-                               struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i, j;
-
-    assert(ARRAY_ELEMS(i965_h264_context->fsid_list) == ARRAY_ELEMS(pic_param->ReferenceFrames));
-
-    for (i = 0; i < ARRAY_ELEMS(i965_h264_context->fsid_list); i++) {
-        int found = 0;
-
-        if (i965_h264_context->fsid_list[i].surface_id == VA_INVALID_ID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-            VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[j];
-            if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-                continue;
-
-            if (i965_h264_context->fsid_list[i].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            struct object_surface *obj_surface = SURFACE(i965_h264_context->fsid_list[i].surface_id);
-            obj_surface->flags &= ~SURFACE_REFERENCED;
-
-            if ((obj_surface->flags & SURFACE_ALL_MASK) == SURFACE_DISPLAYED) {
-                dri_bo_unreference(obj_surface->bo);
-                obj_surface->bo = NULL;
-                obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-            }
-
-            if (obj_surface->free_private_data)
-                obj_surface->free_private_data(&obj_surface->private_data);
-
-            i965_h264_context->fsid_list[i].surface_id = VA_INVALID_ID;
-            i965_h264_context->fsid_list[i].frame_store_id = -1;
-        }
-    }
-
-    for (i = 0; i < ARRAY_ELEMS(pic_param->ReferenceFrames); i++) {
-        VAPictureH264 *ref_pic = &pic_param->ReferenceFrames[i];
-        int found = 0;
-
-        if (ref_pic->flags & VA_PICTURE_H264_INVALID)
-            continue;
-
-        for (j = 0; j < ARRAY_ELEMS(i965_h264_context->fsid_list); j++) {
-            if (i965_h264_context->fsid_list[j].surface_id == VA_INVALID_ID)
-                continue;
-            
-            if (i965_h264_context->fsid_list[j].surface_id == ref_pic->picture_id) {
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            int frame_idx;
-            struct object_surface *obj_surface = SURFACE(ref_pic->picture_id);
-            assert(obj_surface);
-            i965_check_alloc_surface_bo(ctx, obj_surface, 0, VA_FOURCC('N','V','1','2'));
-            
-            for (frame_idx = 0; frame_idx < ARRAY_ELEMS(i965_h264_context->fsid_list); frame_idx++) {
-                for (j = 0; j < ARRAY_ELEMS(i965_h264_context->fsid_list); j++) {
-                    if (i965_h264_context->fsid_list[j].surface_id == VA_INVALID_ID)
-                        continue;
-
-                    if (i965_h264_context->fsid_list[j].frame_store_id == frame_idx)
-                        break;
-                }
-
-                if (j == ARRAY_ELEMS(i965_h264_context->fsid_list))
-                    break;
-            }
-
-            assert(frame_idx < ARRAY_ELEMS(i965_h264_context->fsid_list));
-
-            for (j = 0; j < ARRAY_ELEMS(i965_h264_context->fsid_list); j++) {
-                if (i965_h264_context->fsid_list[j].surface_id == VA_INVALID_ID) {
-                    i965_h264_context->fsid_list[j].surface_id = ref_pic->picture_id;
-                    i965_h264_context->fsid_list[j].frame_store_id = frame_idx;
-                    break;
-                }
-            }
-        }
-    }
-
-    for (i = 0; i < ARRAY_ELEMS(i965_h264_context->fsid_list) - 1; i++) {
-        if (i965_h264_context->fsid_list[i].surface_id != VA_INVALID_ID &&
-            i965_h264_context->fsid_list[i].frame_store_id == i)
-            continue;
-
-        for (j = i + 1; j < ARRAY_ELEMS(i965_h264_context->fsid_list); j++) {
-            if (i965_h264_context->fsid_list[j].surface_id != VA_INVALID_ID &&
-                i965_h264_context->fsid_list[j].frame_store_id == i) {
-                VASurfaceID id = i965_h264_context->fsid_list[i].surface_id;
-                int frame_idx = i965_h264_context->fsid_list[i].frame_store_id;
-
-                i965_h264_context->fsid_list[i].surface_id = i965_h264_context->fsid_list[j].surface_id;
-                i965_h264_context->fsid_list[i].frame_store_id = i965_h264_context->fsid_list[j].frame_store_id;
-                i965_h264_context->fsid_list[j].surface_id = id;
-                i965_h264_context->fsid_list[j].frame_store_id = frame_idx;
-                break;
-            }
-        }
-    }
-}
-
-void 
-i965_avc_bsd_pipeline(VADriverContextP ctx, struct decode_state *decode_state, void *h264_context)
-{
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    VAPictureParameterBufferH264 *pic_param;
-    VASliceParameterBufferH264 *slice_param;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    i965_avc_bsd_frame_store_index(ctx, pic_param, i965_h264_context);
-
-    i965_h264_context->enable_avc_ildb = 0;
-    i965_h264_context->picture.i_flag = 1;
-
-    for (j = 0; j < decode_state->num_slice_params && i965_h264_context->enable_avc_ildb == 0; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (slice_param->disable_deblocking_filter_idc != 1) {
-                i965_h264_context->enable_avc_ildb = 1;
-                break;
-            }
-
-            slice_param++;
-        }
-    }
-
-    intel_batchbuffer_start_atomic_bcs(batch, 0x1000);
-
-    i965_avc_bsd_img_state(ctx, decode_state, i965_h264_context);
-    i965_avc_bsd_qm_state(ctx, decode_state, i965_h264_context);
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params && decode_state->slice_params[j]->buffer);
-        slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[j]->buffer;
-
-        i965_bsd_ind_obj_base_address(ctx, decode_state, j, i965_h264_context);
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            assert((slice_param->slice_type == SLICE_TYPE_I) ||
-                   (slice_param->slice_type == SLICE_TYPE_SI) ||
-                   (slice_param->slice_type == SLICE_TYPE_P) ||
-                   (slice_param->slice_type == SLICE_TYPE_SP) ||
-                   (slice_param->slice_type == SLICE_TYPE_B));
-
-            if (i965_h264_context->picture.i_flag && 
-                (slice_param->slice_type != SLICE_TYPE_I ||
-                 slice_param->slice_type != SLICE_TYPE_SI))
-                i965_h264_context->picture.i_flag = 0;
-
-            i965_avc_bsd_slice_state(ctx, pic_param, slice_param, i965_h264_context);
-            i965_avc_bsd_buf_base_state(ctx, pic_param, slice_param, i965_h264_context);
-            i965_avc_bsd_object(ctx, decode_state, pic_param, slice_param, j, i965_h264_context);
-            slice_param++;
-        }
-    }
-
-    i965_avc_bsd_phantom_slice(ctx, decode_state, pic_param, i965_h264_context);
-    intel_batchbuffer_emit_mi_flush(batch);
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-}
-
-void 
-i965_avc_bsd_decode_init(VADriverContextP ctx, void *h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-    struct i965_avc_bsd_context *i965_avc_bsd_context;
-    dri_bo *bo;
-
-    assert(i965_h264_context);
-    i965_avc_bsd_context = &i965_h264_context->i965_avc_bsd_context;
-
-    dri_bo_unreference(i965_avc_bsd_context->bsd_raw_store.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "bsd raw store",
-                      0x3000, /* at least 11520 bytes to support 120 MBs per row */
-                      64);
-    assert(bo);
-    i965_avc_bsd_context->bsd_raw_store.bo = bo;
-
-    dri_bo_unreference(i965_avc_bsd_context->mpr_row_store.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "mpr row store",
-                      0x2000, /* at least 7680 bytes to support 120 MBs per row */
-                      64);
-    assert(bo);
-    i965_avc_bsd_context->mpr_row_store.bo = bo;
-}
-
-Bool 
-i965_avc_bsd_ternimate(struct i965_avc_bsd_context *i965_avc_bsd_context)
-{
-    dri_bo_unreference(i965_avc_bsd_context->bsd_raw_store.bo);
-    dri_bo_unreference(i965_avc_bsd_context->mpr_row_store.bo);
-
-    return True;
-}
diff --git a/i965_drv_video/i965_avc_bsd.h b/i965_drv_video/i965_avc_bsd.h
deleted file mode 100644 (file)
index 25606ba..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef __I965_AVC_BSD_H__
-#define __I965_AVC_BSD_H__
-
-#define DMV_SIZE        0x88000 /* 557056 bytes for a frame */
-
-struct i965_avc_bsd_context
-{
-    struct {
-        dri_bo *bo;
-    } bsd_raw_store;
-
-    struct {
-        dri_bo *bo;
-    } mpr_row_store;
-};
-
-struct i965_avc_bsd_surface
-{
-    struct i965_avc_bsd_context *ctx;
-    dri_bo *dmv_top;
-    dri_bo *dmv_bottom;
-    int dmv_bottom_flag;
-};
-
-void i965_avc_bsd_pipeline(VADriverContextP, struct decode_state *, void *h264_context);
-void i965_avc_bsd_decode_init(VADriverContextP, void *h264_context);
-Bool i965_avc_bsd_ternimate(struct i965_avc_bsd_context *);
-
-#endif /* __I965_AVC_BSD_H__ */
-
diff --git a/i965_drv_video/i965_avc_hw_scoreboard.c b/i965_drv_video/i965_avc_hw_scoreboard.c
deleted file mode 100644 (file)
index 3fb7ae3..0000000
+++ /dev/null
@@ -1,463 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#include "va_backend.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_avc_hw_scoreboard.h"
-#include "i965_media_h264.h"
-#include "i965_media.h"
-
-/* On Ironlake */
-#include "shaders/h264/mc/export.inc.gen5"
-
-enum {
-    AVC_HW_SCOREBOARD = 0,
-    AVC_HW_SCOREBOARD_MBAFF
-};
-
-static unsigned long avc_hw_scoreboard_kernel_offset[] = {
-    SETHWSCOREBOARD_IP_GEN5 * INST_UNIT_GEN5,
-    SETHWSCOREBOARD_MBAFF_IP_GEN5 * INST_UNIT_GEN5
-};
-
-static unsigned int avc_hw_scoreboard_constants[] = {
-    0x08040201,
-    0x00000010,
-    0x08000210,
-    0x00000000,
-    0x08040201,
-    0x08040210,
-    0x01000010,
-    0x08040200
-};
-
-static void
-i965_avc_hw_scoreboard_surface_state(struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-
-    bo = avc_hw_scoreboard_context->surface.ss_bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_BUFFER;
-    ss->ss1.base_addr = avc_hw_scoreboard_context->surface.s_bo->offset;
-    ss->ss2.width = ((avc_hw_scoreboard_context->surface.total_mbs * MB_CMD_IN_OWS - 1) & 0x7f);
-    ss->ss2.height = (((avc_hw_scoreboard_context->surface.total_mbs * MB_CMD_IN_OWS - 1) >> 7) & 0x1fff);
-    ss->ss3.depth = (((avc_hw_scoreboard_context->surface.total_mbs * MB_CMD_IN_OWS - 1) >> 20) & 0x7f);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      avc_hw_scoreboard_context->surface.s_bo);
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_hw_scoreboard_interface_descriptor_table(struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct i965_interface_descriptor *desc;
-    dri_bo *bo;
-
-    bo = avc_hw_scoreboard_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-    memset(desc, 0, sizeof(*desc));
-    desc->desc0.grf_reg_blocks = 7;
-    desc->desc0.kernel_start_pointer = (avc_hw_scoreboard_context->hw_kernel.bo->offset + 
-                                        avc_hw_scoreboard_context->hw_kernel.offset) >> 6; /* reloc */
-    desc->desc1.const_urb_entry_read_offset = 0;
-    desc->desc1.const_urb_entry_read_len = 1;
-    desc->desc3.binding_table_entry_count = 0;
-    desc->desc3.binding_table_pointer = 
-        avc_hw_scoreboard_context->binding_table.bo->offset >> 5; /*reloc */
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc0.grf_reg_blocks + avc_hw_scoreboard_context->hw_kernel.offset,
-                      offsetof(struct i965_interface_descriptor, desc0),
-                      avc_hw_scoreboard_context->hw_kernel.bo);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc3.binding_table_entry_count,
-                      offsetof(struct i965_interface_descriptor, desc3),
-                      avc_hw_scoreboard_context->binding_table.bo);
-
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_hw_scoreboard_binding_table(struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    unsigned int *binding_table;
-    dri_bo *bo = avc_hw_scoreboard_context->binding_table.bo;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-    binding_table[0] = avc_hw_scoreboard_context->surface.ss_bo->offset;
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      0,
-                      avc_hw_scoreboard_context->surface.ss_bo);
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_hw_scoreboard_vfe_state(struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct i965_vfe_state *vfe_state;
-    dri_bo *bo;
-
-    bo = avc_hw_scoreboard_context->vfe_state.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    vfe_state = bo->virtual;
-    memset(vfe_state, 0, sizeof(*vfe_state));
-    vfe_state->vfe1.max_threads = avc_hw_scoreboard_context->urb.num_vfe_entries - 1;
-    vfe_state->vfe1.urb_entry_alloc_size = avc_hw_scoreboard_context->urb.size_vfe_entry - 1;
-    vfe_state->vfe1.num_urb_entries = avc_hw_scoreboard_context->urb.num_vfe_entries;
-    vfe_state->vfe1.vfe_mode = VFE_GENERIC_MODE;
-    vfe_state->vfe1.children_present = 0;
-    vfe_state->vfe2.interface_descriptor_base = 
-        avc_hw_scoreboard_context->idrt.bo->offset >> 4; /* reloc */
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_vfe_state, vfe2),
-                      avc_hw_scoreboard_context->idrt.bo);
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_hw_scoreboard_upload_constants(struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    unsigned char *constant_buffer;
-
-    if (avc_hw_scoreboard_context->curbe.upload)
-        return;
-
-    dri_bo_map(avc_hw_scoreboard_context->curbe.bo, 1);
-    assert(avc_hw_scoreboard_context->curbe.bo->virtual);
-    constant_buffer = avc_hw_scoreboard_context->curbe.bo->virtual;
-    memcpy(constant_buffer, avc_hw_scoreboard_constants, sizeof(avc_hw_scoreboard_constants));
-    dri_bo_unmap(avc_hw_scoreboard_context->curbe.bo);
-    avc_hw_scoreboard_context->curbe.upload = 1;
-}
-
-static void
-i965_avc_hw_scoreboard_states_setup(struct i965_h264_context *i965_h264_context)
-{
-    i965_avc_hw_scoreboard_surface_state(i965_h264_context);
-    i965_avc_hw_scoreboard_binding_table(i965_h264_context);
-    i965_avc_hw_scoreboard_interface_descriptor_table(i965_h264_context);
-    i965_avc_hw_scoreboard_vfe_state(i965_h264_context);
-    i965_avc_hw_scoreboard_upload_constants(i965_h264_context);
-}
-
-static void
-i965_avc_hw_scoreboard_pipeline_select(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_hw_scoreboard_urb_layout(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    unsigned int vfe_fence, cs_fence;
-
-    vfe_fence = avc_hw_scoreboard_context->urb.cs_start;
-    cs_fence = URB_SIZE((&i965->intel));
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_URB_FENCE | UF0_VFE_REALLOC | UF0_CS_REALLOC | 1);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 
-              (vfe_fence << UF2_VFE_FENCE_SHIFT) |      /* VFE_SIZE */
-              (cs_fence << UF2_CS_FENCE_SHIFT));        /* CS_SIZE */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_hw_scoreboard_state_base_address(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 8);
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 6);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_hw_scoreboard_state_pointers(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_MEDIA_STATE_POINTERS | 1);
-    OUT_BATCH(batch, 0);
-    OUT_RELOC(batch, avc_hw_scoreboard_context->vfe_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_avc_hw_scoreboard_cs_urb_layout(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CS_URB_STATE | 0);
-    OUT_BATCH(batch,
-              ((avc_hw_scoreboard_context->urb.size_cs_entry - 1) << 4) |     /* URB Entry Allocation Size */
-              (avc_hw_scoreboard_context->urb.num_cs_entries << 0));          /* Number of URB Entries */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_hw_scoreboard_constant_buffer(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CONSTANT_BUFFER | (1 << 8) | (2 - 2));
-    OUT_RELOC(batch, avc_hw_scoreboard_context->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              avc_hw_scoreboard_context->urb.size_cs_entry - 1);
-    ADVANCE_BATCH(batch);    
-}
-
-static void
-i965_avc_hw_scoreboard_objects(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    int number_mb_cmds = 512;
-    int starting_mb_number = avc_hw_scoreboard_context->inline_data.starting_mb_number;
-    int i;
-
-    for (i = 0; i < avc_hw_scoreboard_context->inline_data.num_mb_cmds / 512; i++) {
-        BEGIN_BATCH(batch, 6);
-        OUT_BATCH(batch, CMD_MEDIA_OBJECT | 4);
-        OUT_BATCH(batch, 0); /* interface descriptor offset: 0 */
-        OUT_BATCH(batch, 0); /* no indirect data */
-        OUT_BATCH(batch, 0);
-        OUT_BATCH(batch, ((number_mb_cmds << 16) |
-                        (starting_mb_number << 0)));
-        OUT_BATCH(batch, avc_hw_scoreboard_context->inline_data.pic_width_in_mbs);
-        ADVANCE_BATCH(batch);
-
-        starting_mb_number += 512;
-    }
-
-    number_mb_cmds = avc_hw_scoreboard_context->inline_data.num_mb_cmds % 512;
-
-    if (number_mb_cmds) {
-        BEGIN_BATCH(batch, 6);
-        OUT_BATCH(batch, CMD_MEDIA_OBJECT | 4);
-        OUT_BATCH(batch, 0); /* interface descriptor offset: 0 */
-        OUT_BATCH(batch, 0); /* no indirect data */
-        OUT_BATCH(batch, 0);
-        OUT_BATCH(batch, ((number_mb_cmds << 16) |
-                        (starting_mb_number << 0)));
-        OUT_BATCH(batch, avc_hw_scoreboard_context->inline_data.pic_width_in_mbs);
-        ADVANCE_BATCH(batch);
-    }
-}
-
-static void
-i965_avc_hw_scoreboard_pipeline_setup(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    i965_avc_hw_scoreboard_pipeline_select(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_state_base_address(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_state_pointers(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_urb_layout(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_cs_urb_layout(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_constant_buffer(ctx, i965_h264_context);
-    i965_avc_hw_scoreboard_objects(ctx, i965_h264_context);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-void
-i965_avc_hw_scoreboard(VADriverContextP ctx, struct decode_state *decode_state, void *h264_context)
-{
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-
-    if (i965_h264_context->use_avc_hw_scoreboard) {
-        struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-
-        avc_hw_scoreboard_context->inline_data.num_mb_cmds = i965_h264_context->avc_it_command_mb_info.mbs;
-        avc_hw_scoreboard_context->inline_data.starting_mb_number = i965_h264_context->avc_it_command_mb_info.mbs;
-        avc_hw_scoreboard_context->inline_data.pic_width_in_mbs = i965_h264_context->picture.width_in_mbs;
-        avc_hw_scoreboard_context->surface.total_mbs = i965_h264_context->avc_it_command_mb_info.mbs * 2;
-        
-        dri_bo_unreference(avc_hw_scoreboard_context->hw_kernel.bo);
-        avc_hw_scoreboard_context->hw_kernel.bo = i965_h264_context->avc_kernels[H264_AVC_COMBINED].bo;
-        assert(avc_hw_scoreboard_context->hw_kernel.bo != NULL);
-        dri_bo_reference(avc_hw_scoreboard_context->hw_kernel.bo);
-
-        if (i965_h264_context->picture.mbaff_frame_flag)
-            avc_hw_scoreboard_context->hw_kernel.offset = avc_hw_scoreboard_kernel_offset[AVC_HW_SCOREBOARD_MBAFF];
-        else
-            avc_hw_scoreboard_context->hw_kernel.offset = avc_hw_scoreboard_kernel_offset[AVC_HW_SCOREBOARD];
-
-        i965_avc_hw_scoreboard_states_setup(i965_h264_context);
-        i965_avc_hw_scoreboard_pipeline_setup(ctx, i965_h264_context);
-    }
-}
-
-void
-i965_avc_hw_scoreboard_decode_init(VADriverContextP ctx, void *h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-
-    if (i965_h264_context->use_avc_hw_scoreboard) {
-        struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context = &i965_h264_context->avc_hw_scoreboard_context;
-        dri_bo *bo;
-
-        if (avc_hw_scoreboard_context->curbe.bo == NULL) {
-            bo = dri_bo_alloc(i965->intel.bufmgr,
-                              "constant buffer",
-                              4096, 64);
-            assert(bo);
-            avc_hw_scoreboard_context->curbe.bo = bo;
-            avc_hw_scoreboard_context->curbe.upload = 0;
-        }
-
-        dri_bo_unreference(avc_hw_scoreboard_context->surface.s_bo);
-        avc_hw_scoreboard_context->surface.s_bo = i965_h264_context->avc_it_command_mb_info.bo;
-        assert(avc_hw_scoreboard_context->surface.s_bo != NULL);
-        dri_bo_reference(avc_hw_scoreboard_context->surface.s_bo);
-
-        dri_bo_unreference(avc_hw_scoreboard_context->surface.ss_bo);
-        bo = dri_bo_alloc(i965->intel.bufmgr, 
-                          "surface state", 
-                          sizeof(struct i965_surface_state), 32);
-        assert(bo);
-        avc_hw_scoreboard_context->surface.ss_bo = bo;
-
-        dri_bo_unreference(avc_hw_scoreboard_context->binding_table.bo);
-        bo = dri_bo_alloc(i965->intel.bufmgr, 
-                          "binding table",
-                          MAX_MEDIA_SURFACES * sizeof(unsigned int), 32);
-        assert(bo);
-        avc_hw_scoreboard_context->binding_table.bo = bo;
-
-        dri_bo_unreference(avc_hw_scoreboard_context->idrt.bo);
-        bo = dri_bo_alloc(i965->intel.bufmgr, 
-                          "interface discriptor", 
-                          MAX_INTERFACE_DESC * sizeof(struct i965_interface_descriptor), 16);
-        assert(bo);
-        avc_hw_scoreboard_context->idrt.bo = bo;
-
-        dri_bo_unreference(avc_hw_scoreboard_context->vfe_state.bo);
-        bo = dri_bo_alloc(i965->intel.bufmgr, 
-                          "vfe state", 
-                          sizeof(struct i965_vfe_state), 32);
-        assert(bo);
-        avc_hw_scoreboard_context->vfe_state.bo = bo;
-
-        avc_hw_scoreboard_context->urb.num_vfe_entries = 32;
-        avc_hw_scoreboard_context->urb.size_vfe_entry = 2;
-        avc_hw_scoreboard_context->urb.num_cs_entries = 1;
-        avc_hw_scoreboard_context->urb.size_cs_entry = 1;
-        avc_hw_scoreboard_context->urb.vfe_start = 0;
-        avc_hw_scoreboard_context->urb.cs_start = avc_hw_scoreboard_context->urb.vfe_start + 
-            avc_hw_scoreboard_context->urb.num_vfe_entries * avc_hw_scoreboard_context->urb.size_vfe_entry;
-        assert(avc_hw_scoreboard_context->urb.cs_start + 
-               avc_hw_scoreboard_context->urb.num_cs_entries * avc_hw_scoreboard_context->urb.size_cs_entry <= URB_SIZE((&i965->intel)));
-    }
-}
-
-Bool 
-i965_avc_hw_scoreboard_ternimate(struct i965_avc_hw_scoreboard_context *avc_hw_scoreboard_context)
-{
-    dri_bo_unreference(avc_hw_scoreboard_context->curbe.bo);
-    avc_hw_scoreboard_context->curbe.bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->surface.ss_bo);
-    avc_hw_scoreboard_context->surface.ss_bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->surface.s_bo);
-    avc_hw_scoreboard_context->surface.s_bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->binding_table.bo);
-    avc_hw_scoreboard_context->binding_table.bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->idrt.bo);
-    avc_hw_scoreboard_context->idrt.bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->vfe_state.bo);
-    avc_hw_scoreboard_context->vfe_state.bo = NULL;
-
-    dri_bo_unreference(avc_hw_scoreboard_context->hw_kernel.bo);
-    avc_hw_scoreboard_context->hw_kernel.bo = NULL;
-
-    return True;
-}
diff --git a/i965_drv_video/i965_avc_hw_scoreboard.h b/i965_drv_video/i965_avc_hw_scoreboard.h
deleted file mode 100644 (file)
index bca8831..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef __I965_AVC_HW_SCOREBOARD_H__
-#define __I965_AVC_HW_SCOREBOARD_H__
-
-struct i965_avc_hw_scoreboard_context
-{
-    struct {
-        unsigned int num_mb_cmds;
-        unsigned int starting_mb_number;
-        unsigned int pic_width_in_mbs;
-    } inline_data;
-
-    struct {
-        dri_bo *ss_bo;
-        dri_bo *s_bo;
-        unsigned int total_mbs;
-    } surface;
-
-    struct {
-        dri_bo *bo;
-    } binding_table;
-
-    struct {
-        dri_bo *bo;
-    } idrt;
-
-    struct {
-        dri_bo *bo;
-    } vfe_state;
-
-    struct {
-        dri_bo *bo;
-        int upload;
-    } curbe;
-
-    struct {
-        dri_bo *bo;
-        unsigned long offset;
-    } hw_kernel;
-
-    struct {
-        unsigned int vfe_start;
-        unsigned int cs_start;
-
-        unsigned int num_vfe_entries;
-        unsigned int num_cs_entries;
-
-        unsigned int size_vfe_entry;
-        unsigned int size_cs_entry;
-    } urb;
-};
-
-void i965_avc_hw_scoreboard(VADriverContextP, struct decode_state *, void *h264_context);
-void i965_avc_hw_scoreboard_decode_init(VADriverContextP, void *h264_context);
-Bool i965_avc_hw_scoreboard_ternimate(struct i965_avc_hw_scoreboard_context *);
-
-#endif /* __I965_AVC_HW_SCOREBOARD_H__ */
-
diff --git a/i965_drv_video/i965_avc_ildb.c b/i965_drv_video/i965_avc_ildb.c
deleted file mode 100644 (file)
index 0518a18..0000000
+++ /dev/null
@@ -1,654 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#include "va_backend.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_avc_ildb.h"
-#include "i965_media_h264.h"
-#include "i965_media.h"
-
-/* On Cantiga */
-#include "shaders/h264/mc/export.inc"
-
-/* On Ironlake */
-#include "shaders/h264/mc/export.inc.gen5"
-
-#define PICTURE_FRAME   0
-#define PICTURE_FIELD   1
-#define PICTURE_MBAFF   2
-
-enum {
-    AVC_ILDB_ROOT_Y_ILDB_FRAME,
-    AVC_ILDB_CHILD_Y_ILDB_FRAME,
-    AVC_ILDB_ROOT_UV_ILDB_FRAME,
-    AVC_ILDB_CHILD_UV_ILDB_FRAME,
-    AVC_ILDB_ROOT_Y_ILDB_FIELD,
-    AVC_ILDB_CHILD_Y_ILDB_FIELD,
-    AVC_ILDB_ROOT_UV_ILDB_FIELD,
-    AVC_ILDB_CHILD_UV_ILDB_FIELD,
-    AVC_ILDB_ROOT_Y_ILDB_MBAFF,
-    AVC_ILDB_CHILD_Y_ILDB_MBAFF,
-    AVC_ILDB_ROOT_UV_ILDB_MBAFF,
-    AVC_ILDB_CHILD_UV_ILDB_MBAFF
-};
-
-static unsigned long avc_ildb_kernel_offset_gen4[] = {
-    AVC_ILDB_ROOT_Y_ILDB_FRAME_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_Y_ILDB_FRAME_IP * INST_UNIT_GEN4,
-    AVC_ILDB_ROOT_UV_ILDB_FRAME_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_UV_ILDB_FRAME_IP * INST_UNIT_GEN4,
-    AVC_ILDB_ROOT_Y_ILDB_FIELD_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_Y_ILDB_FIELD_IP * INST_UNIT_GEN4,
-    AVC_ILDB_ROOT_UV_ILDB_FIELD_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_UV_ILDB_FIELD_IP * INST_UNIT_GEN4,
-    AVC_ILDB_ROOT_Y_ILDB_MBAFF_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_Y_ILDB_MBAFF_IP * INST_UNIT_GEN4,
-    AVC_ILDB_ROOT_UV_ILDB_MBAFF_IP * INST_UNIT_GEN4,
-    AVC_ILDB_CHILD_UV_ILDB_MBAFF_IP * INST_UNIT_GEN4
-};
-
-static unsigned long avc_ildb_kernel_offset_gen5[] = {
-    AVC_ILDB_ROOT_Y_ILDB_FRAME_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_Y_ILDB_FRAME_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_ROOT_UV_ILDB_FRAME_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_UV_ILDB_FRAME_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_ROOT_Y_ILDB_FIELD_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_Y_ILDB_FIELD_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_ROOT_UV_ILDB_FIELD_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_UV_ILDB_FIELD_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_ROOT_Y_ILDB_MBAFF_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_Y_ILDB_MBAFF_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_ROOT_UV_ILDB_MBAFF_IP_GEN5 * INST_UNIT_GEN5,
-    AVC_ILDB_CHILD_UV_ILDB_MBAFF_IP_GEN5 * INST_UNIT_GEN5
-};
-
-struct avc_ildb_root_input
-{
-    unsigned int blocks_per_row : 16;
-    unsigned int blocks_per_column : 16;
-
-    unsigned int picture_type : 16;
-    unsigned int max_concurrent_threads : 16;
-
-    unsigned int debug_field : 16;
-    unsigned int mbaff_frame_flag : 1;
-    unsigned int bottom_field_flag : 1;
-    unsigned int control_data_expansion_flag : 1;
-    unsigned int chroma_format : 1;
-    unsigned int pad0 : 12;
-
-    unsigned int ramp_constant_0;
-    
-    unsigned int ramp_constant_1;
-
-    int constant_0 : 8;
-    int constant_1 : 8;
-    int pad1 : 16;
-
-    unsigned int pad2;
-    unsigned int pad3;
-};
-
-#define NUM_AVC_ILDB_INTERFACES ARRAY_ELEMS(avc_ildb_kernel_offset_gen4)
-static unsigned long *avc_ildb_kernel_offset = NULL;
-
-static void
-i965_avc_ildb_surface_state(VADriverContextP ctx,
-                            struct decode_state *decode_state,
-                            struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct i965_surface_state *ss;
-    struct object_surface *obj_surface;
-    VAPictureParameterBufferH264 *pic_param;
-    VAPictureH264 *va_pic;
-    dri_bo *bo;
-    int i;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface);
-
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].s_bo = i965_h264_context->avc_ildb_data.bo;
-    dri_bo_reference(avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].s_bo);
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].offset = 0;
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].surface_type = I965_SURFACE_BUFFER;
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].width = ((avc_ildb_context->mbs_per_picture * EDGE_CONTROL_DATA_IN_DWS - 1) & 0x7f);
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].height = (((avc_ildb_context->mbs_per_picture * EDGE_CONTROL_DATA_IN_DWS - 1) >> 7) & 0x1fff);
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].depth = (((avc_ildb_context->mbs_per_picture * EDGE_CONTROL_DATA_IN_DWS - 1) >> 20) & 0x7f);
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].pitch = EDGE_CONTROL_DATA_IN_BTYES - 1;
-    avc_ildb_context->surface[SURFACE_EDGE_CONTROL_DATA].is_target = 0;
-    
-    avc_ildb_context->surface[SURFACE_SRC_Y].s_bo = obj_surface->bo;
-    dri_bo_reference(avc_ildb_context->surface[SURFACE_SRC_Y].s_bo);
-    avc_ildb_context->surface[SURFACE_SRC_Y].offset = 0;
-    avc_ildb_context->surface[SURFACE_SRC_Y].surface_type = I965_SURFACE_2D;
-    avc_ildb_context->surface[SURFACE_SRC_Y].format = I965_SURFACEFORMAT_R8_SINT;
-    avc_ildb_context->surface[SURFACE_SRC_Y].width = obj_surface->width / 4 - 1;
-    avc_ildb_context->surface[SURFACE_SRC_Y].height = obj_surface->height - 1;
-    avc_ildb_context->surface[SURFACE_SRC_Y].depth = 0;
-    avc_ildb_context->surface[SURFACE_SRC_Y].pitch = obj_surface->width - 1;
-    avc_ildb_context->surface[SURFACE_SRC_Y].vert_line_stride = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-    avc_ildb_context->surface[SURFACE_SRC_Y].vert_line_stride_ofs = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-    avc_ildb_context->surface[SURFACE_SRC_Y].is_target = 0;
-    
-    avc_ildb_context->surface[SURFACE_SRC_UV].s_bo = obj_surface->bo;
-    dri_bo_reference(avc_ildb_context->surface[SURFACE_SRC_UV].s_bo);
-    avc_ildb_context->surface[SURFACE_SRC_UV].offset = obj_surface->width * obj_surface->height;
-    avc_ildb_context->surface[SURFACE_SRC_UV].surface_type = I965_SURFACE_2D;
-    avc_ildb_context->surface[SURFACE_SRC_UV].format = I965_SURFACEFORMAT_R8G8_SINT;
-    avc_ildb_context->surface[SURFACE_SRC_UV].width = obj_surface->width / 4 - 1;
-    avc_ildb_context->surface[SURFACE_SRC_UV].height = obj_surface->height / 2 - 1;
-    avc_ildb_context->surface[SURFACE_SRC_UV].depth = 0;
-    avc_ildb_context->surface[SURFACE_SRC_UV].pitch = obj_surface->width - 1;
-    avc_ildb_context->surface[SURFACE_SRC_UV].vert_line_stride = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-    avc_ildb_context->surface[SURFACE_SRC_UV].vert_line_stride_ofs = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-    avc_ildb_context->surface[SURFACE_SRC_UV].is_target = 0;
-
-    avc_ildb_context->surface[SURFACE_DEST_Y].s_bo = obj_surface->bo;
-    dri_bo_reference(avc_ildb_context->surface[SURFACE_DEST_Y].s_bo);
-    avc_ildb_context->surface[SURFACE_DEST_Y].offset = 0;
-    avc_ildb_context->surface[SURFACE_DEST_Y].surface_type = I965_SURFACE_2D;
-    avc_ildb_context->surface[SURFACE_DEST_Y].format = I965_SURFACEFORMAT_R8_SINT;
-    avc_ildb_context->surface[SURFACE_DEST_Y].width = obj_surface->width / 4 - 1;
-    avc_ildb_context->surface[SURFACE_DEST_Y].height = obj_surface->height - 1;
-    avc_ildb_context->surface[SURFACE_DEST_Y].depth = 0;
-    avc_ildb_context->surface[SURFACE_DEST_Y].pitch = obj_surface->width - 1;
-    avc_ildb_context->surface[SURFACE_DEST_Y].vert_line_stride = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-    avc_ildb_context->surface[SURFACE_DEST_Y].vert_line_stride_ofs = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-    avc_ildb_context->surface[SURFACE_DEST_Y].is_target = 1;
-
-    avc_ildb_context->surface[SURFACE_DEST_UV].s_bo = obj_surface->bo;
-    dri_bo_reference(avc_ildb_context->surface[SURFACE_DEST_UV].s_bo);
-    avc_ildb_context->surface[SURFACE_DEST_UV].offset = obj_surface->width * obj_surface->height;
-    avc_ildb_context->surface[SURFACE_DEST_UV].surface_type = I965_SURFACE_2D;
-    avc_ildb_context->surface[SURFACE_DEST_UV].format = I965_SURFACEFORMAT_R8G8_SINT;
-    avc_ildb_context->surface[SURFACE_DEST_UV].width = obj_surface->width / 4 - 1;
-    avc_ildb_context->surface[SURFACE_DEST_UV].height = obj_surface->height / 2 - 1;
-    avc_ildb_context->surface[SURFACE_DEST_UV].depth = 0;
-    avc_ildb_context->surface[SURFACE_DEST_UV].pitch = obj_surface->width - 1;
-    avc_ildb_context->surface[SURFACE_DEST_UV].vert_line_stride = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-    avc_ildb_context->surface[SURFACE_DEST_UV].vert_line_stride_ofs = !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD);
-    avc_ildb_context->surface[SURFACE_DEST_UV].is_target = 1;
-
-    for (i = 0; i < NUM_AVC_ILDB_SURFACES; i++) {
-        bo = avc_ildb_context->surface[i].ss_bo;
-        dri_bo_map(bo, 1);
-        assert(bo->virtual);
-        ss = bo->virtual;
-        memset(ss, 0, sizeof(*ss));
-        ss->ss0.surface_type = avc_ildb_context->surface[i].surface_type;
-        ss->ss0.surface_format = avc_ildb_context->surface[i].format;
-        ss->ss0.vert_line_stride = avc_ildb_context->surface[i].vert_line_stride;
-        ss->ss0.vert_line_stride_ofs = avc_ildb_context->surface[i].vert_line_stride_ofs;
-        ss->ss1.base_addr = avc_ildb_context->surface[i].s_bo->offset + avc_ildb_context->surface[i].offset;
-        ss->ss2.width = avc_ildb_context->surface[i].width;
-        ss->ss2.height = avc_ildb_context->surface[i].height;
-        ss->ss3.depth = avc_ildb_context->surface[i].depth;
-        ss->ss3.pitch = avc_ildb_context->surface[i].pitch;
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_RENDER, 
-                          avc_ildb_context->surface[i].is_target ? I915_GEM_DOMAIN_RENDER : 0,
-                          avc_ildb_context->surface[i].offset,
-                          offsetof(struct i965_surface_state, ss1),
-                          avc_ildb_context->surface[i].s_bo);
-        dri_bo_unmap(bo);
-    }
-}
-
-static void
-i965_avc_ildb_binding_table(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    unsigned int *binding_table;
-    dri_bo *bo = avc_ildb_context->binding_table.bo;
-    int i;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-
-    for (i = 0; i < NUM_AVC_ILDB_SURFACES; i++) {
-        binding_table[i] = avc_ildb_context->surface[i].ss_bo->offset;
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          0,
-                          i * sizeof(*binding_table),
-                          avc_ildb_context->surface[i].ss_bo);
-    }
-
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_ildb_interface_descriptor_table(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct i965_interface_descriptor *desc;
-    dri_bo *bo;
-    int i;
-
-    bo = avc_ildb_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-
-    for (i = 0; i < NUM_AVC_ILDB_INTERFACES; i++) {
-        int kernel_offset = avc_ildb_kernel_offset[i];
-        memset(desc, 0, sizeof(*desc));
-        desc->desc0.grf_reg_blocks = 7; 
-        desc->desc0.kernel_start_pointer = (i965_h264_context->avc_kernels[H264_AVC_COMBINED].bo->offset + kernel_offset) >> 6; /* reloc */
-        desc->desc1.const_urb_entry_read_offset = 0;
-        desc->desc1.const_urb_entry_read_len = ((i == AVC_ILDB_ROOT_Y_ILDB_FRAME ||
-                                                 i == AVC_ILDB_ROOT_Y_ILDB_FIELD ||
-                                                 i == AVC_ILDB_ROOT_Y_ILDB_MBAFF) ? 1 : 0);
-        desc->desc3.binding_table_entry_count = 0;
-        desc->desc3.binding_table_pointer = 
-            avc_ildb_context->binding_table.bo->offset >> 5; /*reloc */
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc0.grf_reg_blocks + kernel_offset,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc0),
-                          i965_h264_context->avc_kernels[H264_AVC_COMBINED].bo);
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc3.binding_table_entry_count,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc3),
-                          avc_ildb_context->binding_table.bo);
-        desc++;
-    }
-
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_ildb_vfe_state(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct i965_vfe_state *vfe_state;
-    dri_bo *bo;
-
-    bo = avc_ildb_context->vfe_state.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    vfe_state = bo->virtual;
-    memset(vfe_state, 0, sizeof(*vfe_state));
-    vfe_state->vfe1.max_threads = 0;
-    vfe_state->vfe1.urb_entry_alloc_size = avc_ildb_context->urb.size_vfe_entry - 1;
-    vfe_state->vfe1.num_urb_entries = avc_ildb_context->urb.num_vfe_entries;
-    vfe_state->vfe1.vfe_mode = VFE_GENERIC_MODE;
-    vfe_state->vfe1.children_present = 1;
-    vfe_state->vfe2.interface_descriptor_base = 
-        avc_ildb_context->idrt.bo->offset >> 4; /* reloc */
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_vfe_state, vfe2),
-                      avc_ildb_context->idrt.bo);
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_avc_ildb_upload_constants(VADriverContextP ctx,
-                               struct decode_state *decode_state,
-                               struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    VAPictureParameterBufferH264 *pic_param;
-    struct avc_ildb_root_input *root_input;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    dri_bo_map(avc_ildb_context->curbe.bo, 1);
-    assert(avc_ildb_context->curbe.bo->virtual);
-    root_input = avc_ildb_context->curbe.bo->virtual;
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        root_input->max_concurrent_threads = 76; /* 72 - 2 + 8 - 2 */
-    } else {
-        root_input->max_concurrent_threads = 54; /* 50 - 2 + 8 - 2 */
-    }
-
-    if (pic_param->pic_fields.bits.field_pic_flag)
-        root_input->picture_type = PICTURE_FIELD;
-    else {
-        if (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag)
-            root_input->picture_type = PICTURE_MBAFF;
-        else
-            root_input->picture_type = PICTURE_FRAME;
-    }
-
-    avc_ildb_context->picture_type = root_input->picture_type;
-    root_input->blocks_per_row = pic_param->picture_width_in_mbs_minus1 + 1;
-    root_input->blocks_per_column = (pic_param->picture_height_in_mbs_minus1 + 1) / 
-        (1 + (root_input->picture_type != PICTURE_FRAME));
-    avc_ildb_context->mbs_per_picture = (pic_param->picture_width_in_mbs_minus1 + 1) *
-        (pic_param->picture_height_in_mbs_minus1 + 1);
-    
-    root_input->mbaff_frame_flag = (root_input->picture_type == PICTURE_MBAFF);
-    root_input->bottom_field_flag = !!(pic_param->CurrPic.flags & VA_PICTURE_H264_BOTTOM_FIELD);
-    root_input->control_data_expansion_flag = 1; /* Always 1 on G4x+ */
-    root_input->chroma_format = (pic_param->seq_fields.bits.chroma_format_idc != 1); /* 0=4:0:0, 1=4:2:0 */
-    
-    root_input->ramp_constant_0 = 0x03020100;
-    
-    root_input->ramp_constant_1 = 0x07060504;
-
-    root_input->constant_0 = -2;
-    root_input->constant_1 = 1;
-
-    dri_bo_unmap(avc_ildb_context->curbe.bo);
-}
-
-static void
-i965_avc_ildb_states_setup(VADriverContextP ctx,
-                           struct decode_state *decode_state,
-                           struct i965_h264_context *i965_h264_context)
-{
-    i965_avc_ildb_surface_state(ctx, decode_state, i965_h264_context);
-    i965_avc_ildb_binding_table(ctx, i965_h264_context);
-    i965_avc_ildb_interface_descriptor_table(ctx, i965_h264_context);
-    i965_avc_ildb_vfe_state(ctx, i965_h264_context);
-    i965_avc_ildb_upload_constants(ctx, decode_state, i965_h264_context);
-}
-
-static void
-i965_avc_ildb_pipeline_select(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_ildb_urb_layout(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-    unsigned int vfe_fence, cs_fence;
-
-    vfe_fence = avc_ildb_context->urb.cs_start;
-    cs_fence = URB_SIZE((&i965->intel));
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_URB_FENCE | UF0_VFE_REALLOC | UF0_CS_REALLOC | 1);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 
-              (vfe_fence << UF2_VFE_FENCE_SHIFT) |      /* VFE_SIZE */
-              (cs_fence << UF2_CS_FENCE_SHIFT));        /* CS_SIZE */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_ildb_state_base_address(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        BEGIN_BATCH(batch, 8);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 6);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    } else {
-        BEGIN_BATCH(batch, 6);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 4);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    }
-}
-
-static void
-i965_avc_ildb_state_pointers(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_MEDIA_STATE_POINTERS | 1);
-    OUT_BATCH(batch, 0);
-    OUT_RELOC(batch, avc_ildb_context->vfe_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_avc_ildb_cs_urb_layout(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CS_URB_STATE | 0);
-    OUT_BATCH(batch,
-              ((avc_ildb_context->urb.size_cs_entry - 1) << 4) |     /* URB Entry Allocation Size */
-              (avc_ildb_context->urb.num_cs_entries << 0));          /* Number of URB Entries */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_ildb_constant_buffer(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CONSTANT_BUFFER | (1 << 8) | (2 - 2));
-    OUT_RELOC(batch, avc_ildb_context->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              avc_ildb_context->urb.size_cs_entry - 1);
-    ADVANCE_BATCH(batch);    
-}
-
-static void
-i965_avc_ildb_objects(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    BEGIN_BATCH(batch, 6);
-    OUT_BATCH(batch, CMD_MEDIA_OBJECT | 4);
-
-    switch (avc_ildb_context->picture_type) {
-    case PICTURE_FRAME:
-        OUT_BATCH(batch, AVC_ILDB_ROOT_Y_ILDB_FRAME);
-        break;
-
-    case PICTURE_FIELD:
-        OUT_BATCH(batch, AVC_ILDB_ROOT_Y_ILDB_FIELD);
-        break;
-
-    case PICTURE_MBAFF:
-        OUT_BATCH(batch, AVC_ILDB_ROOT_Y_ILDB_MBAFF);
-        break;
-
-    default:
-        assert(0);
-        OUT_BATCH(batch, 0);
-        break;
-    }
-
-    OUT_BATCH(batch, 0); /* no indirect data */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_avc_ildb_pipeline_setup(VADriverContextP ctx, struct i965_h264_context *i965_h264_context)
-{
-    struct intel_batchbuffer *batch = i965_h264_context->batch;
-
-    intel_batchbuffer_emit_mi_flush(batch);
-    i965_avc_ildb_pipeline_select(ctx, i965_h264_context);
-    i965_avc_ildb_state_base_address(ctx, i965_h264_context);
-    i965_avc_ildb_state_pointers(ctx, i965_h264_context);
-    i965_avc_ildb_urb_layout(ctx, i965_h264_context);
-    i965_avc_ildb_cs_urb_layout(ctx, i965_h264_context);
-    i965_avc_ildb_constant_buffer(ctx, i965_h264_context);
-    i965_avc_ildb_objects(ctx, i965_h264_context);
-}
-
-void
-i965_avc_ildb(VADriverContextP ctx, struct decode_state *decode_state, void *h264_context)
-{
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-
-    if (i965_h264_context->enable_avc_ildb) {
-        i965_avc_ildb_states_setup(ctx, decode_state, i965_h264_context);
-        i965_avc_ildb_pipeline_setup(ctx, i965_h264_context);
-    }
-}
-
-void
-i965_avc_ildb_decode_init(VADriverContextP ctx, void *h264_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)h264_context;
-    struct i965_avc_ildb_context *avc_ildb_context = &i965_h264_context->avc_ildb_context;;
-    dri_bo *bo;
-    int i;
-
-    dri_bo_unreference(avc_ildb_context->curbe.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "constant buffer",
-                      4096, 64);
-    assert(bo);
-    avc_ildb_context->curbe.bo = bo;
-
-    dri_bo_unreference(avc_ildb_context->binding_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "binding table",
-                      NUM_AVC_ILDB_SURFACES * sizeof(unsigned int), 32);
-    assert(bo);
-    avc_ildb_context->binding_table.bo = bo;
-
-    dri_bo_unreference(avc_ildb_context->idrt.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "interface discriptor", 
-                      NUM_AVC_ILDB_INTERFACES * sizeof(struct i965_interface_descriptor), 16);
-    assert(bo);
-    avc_ildb_context->idrt.bo = bo;
-
-    dri_bo_unreference(avc_ildb_context->vfe_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "vfe state", 
-                      sizeof(struct i965_vfe_state), 32);
-    assert(bo);
-    avc_ildb_context->vfe_state.bo = bo;
-
-    avc_ildb_context->urb.num_vfe_entries = 1;
-    avc_ildb_context->urb.size_vfe_entry = 640;
-    avc_ildb_context->urb.num_cs_entries = 1;
-    avc_ildb_context->urb.size_cs_entry = 1;
-    avc_ildb_context->urb.vfe_start = 0;
-    avc_ildb_context->urb.cs_start = avc_ildb_context->urb.vfe_start + 
-        avc_ildb_context->urb.num_vfe_entries * avc_ildb_context->urb.size_vfe_entry;
-    assert(avc_ildb_context->urb.cs_start + 
-           avc_ildb_context->urb.num_cs_entries * avc_ildb_context->urb.size_cs_entry <= URB_SIZE((&i965->intel)));
-
-    for (i = 0; i < NUM_AVC_ILDB_SURFACES; i++) {
-        dri_bo_unreference(avc_ildb_context->surface[i].s_bo);
-        avc_ildb_context->surface[i].s_bo = NULL;
-
-        dri_bo_unreference(avc_ildb_context->surface[i].ss_bo);
-        bo = dri_bo_alloc(i965->intel.bufmgr, 
-                          "surface state", 
-                          sizeof(struct i965_surface_state), 32);
-        assert(bo);
-        avc_ildb_context->surface[i].ss_bo = bo;
-    }
-
-    /* kernel offset */
-    assert(NUM_AVC_ILDB_INTERFACES == ARRAY_ELEMS(avc_ildb_kernel_offset_gen5));
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        avc_ildb_kernel_offset = avc_ildb_kernel_offset_gen5;
-    } else {
-        avc_ildb_kernel_offset = avc_ildb_kernel_offset_gen4;
-    }
-}
-
-Bool 
-i965_avc_ildb_ternimate(struct i965_avc_ildb_context *avc_ildb_context)
-{
-    int i;
-
-    dri_bo_unreference(avc_ildb_context->curbe.bo);
-    avc_ildb_context->curbe.bo = NULL;
-
-    dri_bo_unreference(avc_ildb_context->binding_table.bo);
-    avc_ildb_context->binding_table.bo = NULL;
-
-    dri_bo_unreference(avc_ildb_context->idrt.bo);
-    avc_ildb_context->idrt.bo = NULL;
-
-    dri_bo_unreference(avc_ildb_context->vfe_state.bo);
-    avc_ildb_context->vfe_state.bo = NULL;
-
-    for (i = 0; i < NUM_AVC_ILDB_SURFACES; i++) {
-        dri_bo_unreference(avc_ildb_context->surface[i].ss_bo);
-        avc_ildb_context->surface[i].ss_bo = NULL;
-
-        dri_bo_unreference(avc_ildb_context->surface[i].s_bo);
-        avc_ildb_context->surface[i].s_bo = NULL;
-    }
-
-    return True;
-}
diff --git a/i965_drv_video/i965_avc_ildb.h b/i965_drv_video/i965_avc_ildb.h
deleted file mode 100644 (file)
index ff16ac6..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef __I965_AVC_ILDB_H__
-#define __I965_AVC_ILDB_H__
-
-#define SURFACE_EDGE_CONTROL_DATA       0
-#define SURFACE_SRC_Y                   1
-#define SURFACE_SRC_UV                  2
-#define SURFACE_DEST_Y                  3
-#define SURFACE_DEST_UV                 4
-
-#define NUM_AVC_ILDB_SURFACES           5
-
-#define EDGE_CONTROL_DATA_IN_DWS        16
-#define EDGE_CONTROL_DATA_IN_BTYES      64
-
-struct i965_avc_ildb_context
-{
-    struct {
-        dri_bo *bo;
-    } curbe;
-
-    struct {
-        dri_bo *ss_bo;
-        dri_bo *s_bo;
-        unsigned long offset;
-        int surface_type;
-        int width;
-        int height;
-        int depth;
-        int pitch;
-        int format;
-        int vert_line_stride;
-        int vert_line_stride_ofs;
-        int is_target;
-    } surface[NUM_AVC_ILDB_SURFACES];
-
-    struct {
-        dri_bo *bo;
-    } binding_table;
-
-    struct {
-        dri_bo *bo;
-    } idrt;
-
-    struct {
-        dri_bo *bo;
-    } vfe_state;
-
-    struct {
-        unsigned int vfe_start;
-        unsigned int cs_start;
-
-        unsigned int num_vfe_entries;
-        unsigned int num_cs_entries;
-
-        unsigned int size_vfe_entry;
-        unsigned int size_cs_entry;
-    } urb;
-
-    int picture_type;
-    int mbs_per_picture;
-};
-
-void i965_avc_ildb(VADriverContextP, struct decode_state *, void *h264_context);
-void i965_avc_ildb_decode_init(VADriverContextP, void *h264_context);
-Bool i965_avc_ildb_ternimate(struct i965_avc_ildb_context *);
-
-#endif /* __I965_AVC_ILDB_H__ */
-
diff --git a/i965_drv_video/i965_defines.h b/i965_drv_video/i965_defines.h
deleted file mode 100644 (file)
index 509ae9e..0000000
+++ /dev/null
@@ -1,708 +0,0 @@
-#ifndef _I965_DEFINES_H_
-#define _I965_DEFINES_H_
-
-#define CMD(pipeline,op,sub_op)                ((3 << 29) | \
-                                               ((pipeline) << 27) | \
-                                               ((op) << 24) | \
-                                               ((sub_op) << 16))
-
-#define CMD_URB_FENCE                           CMD(0, 0, 0)
-#define CMD_CS_URB_STATE                        CMD(0, 0, 1)
-#define CMD_CONSTANT_BUFFER                     CMD(0, 0, 2)
-#define CMD_STATE_PREFETCH                      CMD(0, 0, 3)
-
-#define CMD_STATE_BASE_ADDRESS                  CMD(0, 1, 1)
-#define CMD_STATE_SIP                           CMD(0, 1, 2)
-#define CMD_PIPELINE_SELECT                     CMD(1, 1, 4)
-#define CMD_SAMPLER_PALETTE_LOAD                CMD(3, 1, 2)
-
-#define CMD_MEDIA_STATE_POINTERS                CMD(2, 0, 0)
-#define CMD_MEDIA_VFE_STATE                     CMD(2, 0, 0)
-#define CMD_MEDIA_CURBE_LOAD                    CMD(2, 0, 1)
-#define CMD_MEDIA_INTERFACE_LOAD                CMD(2, 0, 2)
-#define CMD_MEDIA_OBJECT                        CMD(2, 1, 0)
-#define CMD_MEDIA_OBJECT_EX                     CMD(2, 1, 1)
-
-#define CMD_AVC_BSD_IMG_STATE                   CMD(2, 4, 0)
-#define CMD_AVC_BSD_QM_STATE                    CMD(2, 4, 1)
-#define CMD_AVC_BSD_SLICE_STATE                 CMD(2, 4, 2)
-#define CMD_AVC_BSD_BUF_BASE_STATE              CMD(2, 4, 3)
-#define CMD_BSD_IND_OBJ_BASE_ADDR               CMD(2, 4, 4)
-#define CMD_AVC_BSD_OBJECT                      CMD(2, 4, 8)
-
-#define CMD_MEDIA_VFE_STATE                     CMD(2, 0, 0)
-#define CMD_MEDIA_CURBE_LOAD                    CMD(2, 0, 1)
-#define CMD_MEDIA_INTERFACE_DESCRIPTOR_LOAD     CMD(2, 0, 2)
-#define CMD_MEDIA_GATEWAY_STATE                 CMD(2, 0, 3)
-#define CMD_MEDIA_STATE_FLUSH                   CMD(2, 0, 4)
-#define CMD_MEDIA_OBJECT_WALKER                 CMD(2, 1, 3)
-
-#define CMD_PIPELINED_POINTERS                  CMD(3, 0, 0)
-#define CMD_BINDING_TABLE_POINTERS              CMD(3, 0, 1)
-# define GEN6_BINDING_TABLE_MODIFY_PS           (1 << 12)/* for GEN6 */
-# define GEN6_BINDING_TABLE_MODIFY_GS           (1 << 9) /* for GEN6 */
-# define GEN6_BINDING_TABLE_MODIFY_VS           (1 << 8) /* for GEN6 */
-
-#define CMD_VERTEX_BUFFERS                      CMD(3, 0, 8)
-#define CMD_VERTEX_ELEMENTS                     CMD(3, 0, 9)
-#define CMD_DRAWING_RECTANGLE                   CMD(3, 1, 0)
-#define CMD_CONSTANT_COLOR                      CMD(3, 1, 1)
-#define CMD_3DPRIMITIVE                         CMD(3, 3, 0)
-
-#define CMD_DEPTH_BUFFER                        CMD(3, 1, 5)
-# define CMD_DEPTH_BUFFER_TYPE_SHIFT            29
-# define CMD_DEPTH_BUFFER_FORMAT_SHIFT          18
-
-#define CMD_CLEAR_PARAMS                        CMD(3, 1, 0x10)
-/* DW1 */
-# define CMD_CLEAR_PARAMS_DEPTH_CLEAR_VALID     (1 << 15)
-
-/* for GEN6+ */
-#define GEN6_3DSTATE_SAMPLER_STATE_POINTERS    CMD(3, 0, 0x02)
-# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_PS  (1 << 12)
-# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_GS  (1 << 9)
-# define GEN6_3DSTATE_SAMPLER_STATE_MODIFY_VS  (1 << 8)
-
-#define GEN6_3DSTATE_URB                       CMD(3, 0, 0x05)
-/* DW1 */
-# define GEN6_3DSTATE_URB_VS_SIZE_SHIFT                16
-# define GEN6_3DSTATE_URB_VS_ENTRIES_SHIFT     0
-/* DW2 */
-# define GEN6_3DSTATE_URB_GS_ENTRIES_SHIFT     8
-# define GEN6_3DSTATE_URB_GS_SIZE_SHIFT                0
-
-#define GEN6_3DSTATE_VIEWPORT_STATE_POINTERS   CMD(3, 0, 0x0d)
-# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_CC         (1 << 12)
-# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_SF         (1 << 11)
-# define GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_CLIP       (1 << 10)
-
-#define GEN6_3DSTATE_CC_STATE_POINTERS         CMD(3, 0, 0x0e)
-
-#define GEN6_3DSTATE_VS                                CMD(3, 0, 0x10)
-
-#define GEN6_3DSTATE_GS                                CMD(3, 0, 0x11)
-/* DW4 */
-# define GEN6_3DSTATE_GS_DISPATCH_START_GRF_SHIFT      0
-
-#define GEN6_3DSTATE_CLIP                      CMD(3, 0, 0x12)
-
-#define GEN6_3DSTATE_SF                                CMD(3, 0, 0x13)
-/* DW1 on GEN6 */
-# define GEN6_3DSTATE_SF_NUM_OUTPUTS_SHIFT              22
-# define GEN6_3DSTATE_SF_URB_ENTRY_READ_LENGTH_SHIFT    11
-# define GEN6_3DSTATE_SF_URB_ENTRY_READ_OFFSET_SHIFT    4
-/* DW1 on GEN7 */
-# define GEN7_SF_DEPTH_BUFFER_SURFACE_FORMAT_SHIFT      12
-
-
-/* DW2 */
-/* DW3 */
-# define GEN6_3DSTATE_SF_CULL_BOTH                     (0 << 29)
-# define GEN6_3DSTATE_SF_CULL_NONE                     (1 << 29)
-# define GEN6_3DSTATE_SF_CULL_FRONT                    (2 << 29)
-# define GEN6_3DSTATE_SF_CULL_BACK                     (3 << 29)
-/* DW4 */
-# define GEN6_3DSTATE_SF_TRI_PROVOKE_SHIFT             29
-# define GEN6_3DSTATE_SF_LINE_PROVOKE_SHIFT            27
-# define GEN6_3DSTATE_SF_TRIFAN_PROVOKE_SHIFT          25
-
-
-#define GEN6_3DSTATE_WM                                CMD(3, 0, 0x14)
-/* DW2 */
-# define GEN6_3DSTATE_WM_SAMPLER_COUNT_SHITF                   27
-# define GEN6_3DSTATE_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT       18
-/* DW4 */
-# define GEN6_3DSTATE_WM_DISPATCH_START_GRF_0_SHIFT            16
-/* DW5 */
-# define GEN6_3DSTATE_WM_MAX_THREADS_SHIFT                     25
-# define GEN6_3DSTATE_WM_DISPATCH_ENABLE                       (1 << 19)
-# define GEN6_3DSTATE_WM_16_DISPATCH_ENABLE                    (1 << 1)
-# define GEN6_3DSTATE_WM_8_DISPATCH_ENABLE                     (1 << 0)
-/* DW6 */
-# define GEN6_3DSTATE_WM_NUM_SF_OUTPUTS_SHIFT                  20
-# define GEN6_3DSTATE_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC     (1 << 15)
-# define GEN6_3DSTATE_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC   (1 << 14)
-# define GEN6_3DSTATE_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC      (1 << 13)
-# define GEN6_3DSTATE_WM_PERSPECTIVE_SAMPLE_BARYCENTRIC                (1 << 12)
-# define GEN6_3DSTATE_WM_PERSPECTIVE_CENTROID_BARYCENTRIC      (1 << 11)
-# define GEN6_3DSTATE_WM_PERSPECTIVE_PIXEL_BARYCENTRIC         (1 << 10)
-
-/* 3DSTATE_WM on GEN7 */
-/* DW1 */
-# define GEN7_WM_STATISTICS_ENABLE                              (1 << 31)
-# define GEN7_WM_DEPTH_CLEAR                                    (1 << 30)
-# define GEN7_WM_DISPATCH_ENABLE                                (1 << 29)
-# define GEN6_WM_DEPTH_RESOLVE                                  (1 << 28)
-# define GEN7_WM_HIERARCHICAL_DEPTH_RESOLVE                     (1 << 27)
-# define GEN7_WM_KILL_ENABLE                                    (1 << 25)
-# define GEN7_WM_PSCDEPTH_OFF                                   (0 << 23)
-# define GEN7_WM_PSCDEPTH_ON                                    (1 << 23)
-# define GEN7_WM_PSCDEPTH_ON_GE                                 (2 << 23)
-# define GEN7_WM_PSCDEPTH_ON_LE                                 (3 << 23)
-# define GEN7_WM_USES_SOURCE_DEPTH                              (1 << 20)
-# define GEN7_WM_USES_SOURCE_W                                  (1 << 19)
-# define GEN7_WM_POSITION_ZW_PIXEL                              (0 << 17)
-# define GEN7_WM_POSITION_ZW_CENTROID                           (2 << 17)
-# define GEN7_WM_POSITION_ZW_SAMPLE                             (3 << 17)
-# define GEN7_WM_NONPERSPECTIVE_SAMPLE_BARYCENTRIC              (1 << 16)
-# define GEN7_WM_NONPERSPECTIVE_CENTROID_BARYCENTRIC            (1 << 15)
-# define GEN7_WM_NONPERSPECTIVE_PIXEL_BARYCENTRIC               (1 << 14)
-# define GEN7_WM_PERSPECTIVE_SAMPLE_BARYCENTRIC                 (1 << 13)
-# define GEN7_WM_PERSPECTIVE_CENTROID_BARYCENTRIC               (1 << 12)
-# define GEN7_WM_PERSPECTIVE_PIXEL_BARYCENTRIC                  (1 << 11)
-# define GEN7_WM_USES_INPUT_COVERAGE_MASK                       (1 << 10)
-# define GEN7_WM_LINE_END_CAP_AA_WIDTH_0_5                      (0 << 8)
-# define GEN7_WM_LINE_END_CAP_AA_WIDTH_1_0                      (1 << 8)
-# define GEN7_WM_LINE_END_CAP_AA_WIDTH_2_0                      (2 << 8)
-# define GEN7_WM_LINE_END_CAP_AA_WIDTH_4_0                      (3 << 8)
-# define GEN7_WM_LINE_AA_WIDTH_0_5                              (0 << 6)
-# define GEN7_WM_LINE_AA_WIDTH_1_0                              (1 << 6)
-# define GEN7_WM_LINE_AA_WIDTH_2_0                              (2 << 6)
-# define GEN7_WM_LINE_AA_WIDTH_4_0                              (3 << 6)
-# define GEN7_WM_POLYGON_STIPPLE_ENABLE                         (1 << 4)
-# define GEN7_WM_LINE_STIPPLE_ENABLE                            (1 << 3)
-# define GEN7_WM_POINT_RASTRULE_UPPER_RIGHT                     (1 << 2)
-# define GEN7_WM_MSRAST_OFF_PIXEL                               (0 << 0)
-# define GEN7_WM_MSRAST_OFF_PATTERN                             (1 << 0)
-# define GEN7_WM_MSRAST_ON_PIXEL                                (2 << 0)
-# define GEN7_WM_MSRAST_ON_PATTERN                              (3 << 0)
-/* DW2 */
-# define GEN7_WM_MSDISPMODE_PERPIXEL                            (1 << 31)
-
-#define GEN6_3DSTATE_CONSTANT_VS               CMD(3, 0, 0x15)
-#define GEN6_3DSTATE_CONSTANT_GS               CMD(3, 0, 0x16)
-#define GEN6_3DSTATE_CONSTANT_PS               CMD(3, 0, 0x17)
-
-# define GEN6_3DSTATE_CONSTANT_BUFFER_3_ENABLE  (1 << 15)
-# define GEN6_3DSTATE_CONSTANT_BUFFER_2_ENABLE  (1 << 14)
-# define GEN6_3DSTATE_CONSTANT_BUFFER_1_ENABLE  (1 << 13)
-# define GEN6_3DSTATE_CONSTANT_BUFFER_0_ENABLE  (1 << 12)
-
-#define GEN6_3DSTATE_SAMPLE_MASK               CMD(3, 0, 0x18)
-
-#define GEN6_3DSTATE_MULTISAMPLE               CMD(3, 1, 0x0d)
-/* DW1 */
-# define GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_CENTER         (0 << 4)
-# define GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_UPPER_LEFT     (1 << 4)
-# define GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_1                  (0 << 1)
-# define GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_4                  (2 << 1)
-# define GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_8                  (3 << 1)
-
-/* GEN7 */
-#define GEN7_3DSTATE_CLEAR_PARAMS               CMD(3, 0, 0x04)
-#define GEN7_3DSTATE_DEPTH_BUFFER               CMD(3, 0, 0x05)
-
-#define GEN7_3DSTATE_URB_VS                     CMD(3, 0, 0x30)
-#define GEN7_3DSTATE_URB_HS                     CMD(3, 0, 0x31)
-#define GEN7_3DSTATE_URB_DS                     CMD(3, 0, 0x32)
-#define GEN7_3DSTATE_URB_GS                     CMD(3, 0, 0x33)
-/* DW1 */
-# define GEN7_URB_ENTRY_NUMBER_SHIFT            0
-# define GEN7_URB_ENTRY_SIZE_SHIFT              16
-# define GEN7_URB_STARTING_ADDRESS_SHIFT        25
-
-#define GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_VS     CMD(3, 1, 0x12)
-#define GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_PS     CMD(3, 1, 0x16)
-/* DW1 */
-# define GEN7_PUSH_CONSTANT_BUFFER_OFFSET_SHIFT 16
-
-#define GEN7_3DSTATE_CONSTANT_HS                CMD(3, 0, 0x19)
-#define GEN7_3DSTATE_CONSTANT_DS                CMD(3, 0, 0x1a)
-
-#define GEN7_3DSTATE_HS                         CMD(3, 0, 0x1b)
-#define GEN7_3DSTATE_TE                         CMD(3, 0, 0x1c)
-#define GEN7_3DSTATE_DS                         CMD(3, 0, 0x1d)
-#define GEN7_3DSTATE_STREAMOUT                  CMD(3, 0, 0x1e)
-#define GEN7_3DSTATE_SBE                        CMD(3, 0, 0x1f)
-
-/* DW1 */
-# define GEN7_SBE_SWIZZLE_CONTROL_MODE          (1 << 28)
-# define GEN7_SBE_NUM_OUTPUTS_SHIFT             22
-# define GEN7_SBE_SWIZZLE_ENABLE                (1 << 21)
-# define GEN7_SBE_POINT_SPRITE_LOWERLEFT        (1 << 20)
-# define GEN7_SBE_URB_ENTRY_READ_LENGTH_SHIFT   11
-# define GEN7_SBE_URB_ENTRY_READ_OFFSET_SHIFT   4
-
-#define GEN7_3DSTATE_PS                                 CMD(3, 0, 0x20)
-/* DW1: kernel pointer */
-/* DW2 */
-# define GEN7_PS_SPF_MODE                               (1 << 31)
-# define GEN7_PS_VECTOR_MASK_ENABLE                     (1 << 30)
-# define GEN7_PS_SAMPLER_COUNT_SHIFT                    27
-# define GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT        18
-# define GEN7_PS_FLOATING_POINT_MODE_IEEE_754           (0 << 16)
-# define GEN7_PS_FLOATING_POINT_MODE_ALT                (1 << 16)
-/* DW3: scratch space */
-/* DW4 */
-# define GEN7_PS_MAX_THREADS_SHIFT                      23
-# define GEN7_PS_PUSH_CONSTANT_ENABLE                   (1 << 11)
-# define GEN7_PS_ATTRIBUTE_ENABLE                       (1 << 10)
-# define GEN7_PS_OMASK_TO_RENDER_TARGET                 (1 << 9)
-# define GEN7_PS_DUAL_SOURCE_BLEND_ENABLE               (1 << 7)
-# define GEN7_PS_POSOFFSET_NONE                         (0 << 3)
-# define GEN7_PS_POSOFFSET_CENTROID                     (2 << 3)
-# define GEN7_PS_POSOFFSET_SAMPLE                       (3 << 3)
-# define GEN7_PS_32_DISPATCH_ENABLE                     (1 << 2)
-# define GEN7_PS_16_DISPATCH_ENABLE                     (1 << 1)
-# define GEN7_PS_8_DISPATCH_ENABLE                      (1 << 0)
-/* DW5 */
-# define GEN7_PS_DISPATCH_START_GRF_SHIFT_0             16
-# define GEN7_PS_DISPATCH_START_GRF_SHIFT_1             8
-# define GEN7_PS_DISPATCH_START_GRF_SHIFT_2             0
-/* DW6: kernel 1 pointer */
-/* DW7: kernel 2 pointer */
-
-#define GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CL      CMD(3, 0, 0x21)
-#define GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC         CMD(3, 0, 0x23)
-
-#define GEN7_3DSTATE_BLEND_STATE_POINTERS               CMD(3, 0, 0x24)
-#define GEN7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS       CMD(3, 0, 0x25)
-
-#define GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS          CMD(3, 0, 0x26)
-#define GEN7_3DSTATE_BINDING_TABLE_POINTERS_HS          CMD(3, 0, 0x27)
-#define GEN7_3DSTATE_BINDING_TABLE_POINTERS_DS          CMD(3, 0, 0x28)
-#define GEN7_3DSTATE_BINDING_TABLE_POINTERS_GS          CMD(3, 0, 0x29)
-#define GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS          CMD(3, 0, 0x2a)
-
-#define GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS          CMD(3, 0, 0x2b)
-#define GEN7_3DSTATE_SAMPLER_STATE_POINTERS_GS          CMD(3, 0, 0x2e)
-#define GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS          CMD(3, 0, 0x2f)
-
-#define MFX(pipeline, op, sub_opa, sub_opb)     \
-    (3 << 29 |                                  \
-     (pipeline) << 27 |                         \
-     (op) << 24 |                               \
-     (sub_opa) << 21 |                          \
-     (sub_opb) << 16)
-
-#define MFX_PIPE_MODE_SELECT                    MFX(2, 0, 0, 0)
-#define MFX_SURFACE_STATE                       MFX(2, 0, 0, 1)
-#define MFX_PIPE_BUF_ADDR_STATE                 MFX(2, 0, 0, 2)
-#define MFX_IND_OBJ_BASE_ADDR_STATE             MFX(2, 0, 0, 3)
-#define MFX_BSP_BUF_BASE_ADDR_STATE             MFX(2, 0, 0, 4)
-#define MFX_AES_STATE                           MFX(2, 0, 0, 5)
-#define MFX_STATE_POINTER                       MFX(2, 0, 0, 6)
-#define MFX_QM_STATE                            MFX(2, 0, 0, 7)
-#define MFX_FQM_STATE                           MFX(2, 0, 0, 8)
-
-#define MFX_WAIT                                MFX(1, 0, 0, 0)
-
-#define MFX_AVC_IMG_STATE                       MFX(2, 1, 0, 0)
-#define MFX_AVC_QM_STATE                        MFX(2, 1, 0, 1)
-#define MFX_AVC_DIRECTMODE_STATE                MFX(2, 1, 0, 2)
-#define MFX_AVC_SLICE_STATE                     MFX(2, 1, 0, 3)
-#define MFX_AVC_REF_IDX_STATE                   MFX(2, 1, 0, 4)
-#define MFX_AVC_WEIGHTOFFSET_STATE              MFX(2, 1, 0, 5)
-
-#define MFD_AVC_BSD_OBJECT                      MFX(2, 1, 1, 8)
-
-#define MFC_AVC_FQM_STATE                       MFX(2, 1, 2, 2)
-#define MFC_AVC_INSERT_OBJECT                   MFX(2, 1, 2, 8)
-#define MFC_AVC_PAK_OBJECT                      MFX(2, 1, 2, 9)
-
-#define MFX_MPEG2_PIC_STATE                     MFX(2, 3, 0, 0)
-#define MFX_MPEG2_QM_STATE                      MFX(2, 3, 0, 1)
-
-#define MFD_MPEG2_BSD_OBJECT                    MFX(2, 3, 1, 8)
-
-#define MFX_VC1_PIC_STATE                       MFX(2, 2, 0, 0)
-#define MFX_VC1_PRED_PIPE_STATE                 MFX(2, 2, 0, 1)
-#define MFX_VC1_DIRECTMODE_STATE                MFX(2, 2, 0, 2)
-
-#define MFD_VC1_SHORT_PIC_STATE                 MFX(2, 2, 1, 0)
-#define MFD_VC1_LONG_PIC_STATE                  MFX(2, 2, 1, 1)
-
-#define MFD_VC1_BSD_OBJECT                      MFX(2, 2, 1, 8)
-
-#define I965_DEPTHFORMAT_D32_FLOAT              1
-
-#define BASE_ADDRESS_MODIFY             (1 << 0)
-
-#define PIPELINE_SELECT_3D              0
-#define PIPELINE_SELECT_MEDIA           1
-
-
-#define UF0_CS_REALLOC                  (1 << 13)
-#define UF0_VFE_REALLOC                 (1 << 12)
-#define UF0_SF_REALLOC                  (1 << 11)
-#define UF0_CLIP_REALLOC                (1 << 10)
-#define UF0_GS_REALLOC                  (1 << 9)
-#define UF0_VS_REALLOC                  (1 << 8)
-#define UF1_CLIP_FENCE_SHIFT            20
-#define UF1_GS_FENCE_SHIFT              10
-#define UF1_VS_FENCE_SHIFT              0
-#define UF2_CS_FENCE_SHIFT              20
-#define UF2_VFE_FENCE_SHIFT             10
-#define UF2_SF_FENCE_SHIFT              0
-
-#define VFE_GENERIC_MODE        0x0
-#define VFE_VLD_MODE            0x1
-#define VFE_IS_MODE             0x2
-#define VFE_AVC_MC_MODE         0x4
-#define VFE_AVC_IT_MODE         0x7
-
-#define FLOATING_POINT_IEEE_754        0
-#define FLOATING_POINT_NON_IEEE_754    1
-
-
-#define I965_SURFACE_1D      0
-#define I965_SURFACE_2D      1
-#define I965_SURFACE_3D      2
-#define I965_SURFACE_CUBE    3
-#define I965_SURFACE_BUFFER  4
-#define I965_SURFACE_NULL    7
-
-#define I965_SURFACEFORMAT_R32G32B32A32_FLOAT             0x000 
-#define I965_SURFACEFORMAT_R32G32B32A32_SINT              0x001 
-#define I965_SURFACEFORMAT_R32G32B32A32_UINT              0x002 
-#define I965_SURFACEFORMAT_R32G32B32A32_UNORM             0x003 
-#define I965_SURFACEFORMAT_R32G32B32A32_SNORM             0x004 
-#define I965_SURFACEFORMAT_R64G64_FLOAT                   0x005 
-#define I965_SURFACEFORMAT_R32G32B32X32_FLOAT             0x006 
-#define I965_SURFACEFORMAT_R32G32B32A32_SSCALED           0x007
-#define I965_SURFACEFORMAT_R32G32B32A32_USCALED           0x008
-#define I965_SURFACEFORMAT_R32G32B32_FLOAT                0x040 
-#define I965_SURFACEFORMAT_R32G32B32_SINT                 0x041 
-#define I965_SURFACEFORMAT_R32G32B32_UINT                 0x042 
-#define I965_SURFACEFORMAT_R32G32B32_UNORM                0x043 
-#define I965_SURFACEFORMAT_R32G32B32_SNORM                0x044 
-#define I965_SURFACEFORMAT_R32G32B32_SSCALED              0x045 
-#define I965_SURFACEFORMAT_R32G32B32_USCALED              0x046 
-#define I965_SURFACEFORMAT_R16G16B16A16_UNORM             0x080 
-#define I965_SURFACEFORMAT_R16G16B16A16_SNORM             0x081 
-#define I965_SURFACEFORMAT_R16G16B16A16_SINT              0x082 
-#define I965_SURFACEFORMAT_R16G16B16A16_UINT              0x083 
-#define I965_SURFACEFORMAT_R16G16B16A16_FLOAT             0x084 
-#define I965_SURFACEFORMAT_R32G32_FLOAT                   0x085 
-#define I965_SURFACEFORMAT_R32G32_SINT                    0x086 
-#define I965_SURFACEFORMAT_R32G32_UINT                    0x087 
-#define I965_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS       0x088 
-#define I965_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT        0x089 
-#define I965_SURFACEFORMAT_L32A32_FLOAT                   0x08A 
-#define I965_SURFACEFORMAT_R32G32_UNORM                   0x08B 
-#define I965_SURFACEFORMAT_R32G32_SNORM                   0x08C 
-#define I965_SURFACEFORMAT_R64_FLOAT                      0x08D 
-#define I965_SURFACEFORMAT_R16G16B16X16_UNORM             0x08E 
-#define I965_SURFACEFORMAT_R16G16B16X16_FLOAT             0x08F 
-#define I965_SURFACEFORMAT_A32X32_FLOAT                   0x090 
-#define I965_SURFACEFORMAT_L32X32_FLOAT                   0x091 
-#define I965_SURFACEFORMAT_I32X32_FLOAT                   0x092 
-#define I965_SURFACEFORMAT_R16G16B16A16_SSCALED           0x093
-#define I965_SURFACEFORMAT_R16G16B16A16_USCALED           0x094
-#define I965_SURFACEFORMAT_R32G32_SSCALED                 0x095
-#define I965_SURFACEFORMAT_R32G32_USCALED                 0x096
-#define I965_SURFACEFORMAT_B8G8R8A8_UNORM                 0x0C0 
-#define I965_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB            0x0C1 
-#define I965_SURFACEFORMAT_R10G10B10A2_UNORM              0x0C2 
-#define I965_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB         0x0C3 
-#define I965_SURFACEFORMAT_R10G10B10A2_UINT               0x0C4 
-#define I965_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM       0x0C5 
-#define I965_SURFACEFORMAT_R8G8B8A8_UNORM                 0x0C7 
-#define I965_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB            0x0C8 
-#define I965_SURFACEFORMAT_R8G8B8A8_SNORM                 0x0C9 
-#define I965_SURFACEFORMAT_R8G8B8A8_SINT                  0x0CA 
-#define I965_SURFACEFORMAT_R8G8B8A8_UINT                  0x0CB 
-#define I965_SURFACEFORMAT_R16G16_UNORM                   0x0CC 
-#define I965_SURFACEFORMAT_R16G16_SNORM                   0x0CD 
-#define I965_SURFACEFORMAT_R16G16_SINT                    0x0CE 
-#define I965_SURFACEFORMAT_R16G16_UINT                    0x0CF 
-#define I965_SURFACEFORMAT_R16G16_FLOAT                   0x0D0 
-#define I965_SURFACEFORMAT_B10G10R10A2_UNORM              0x0D1 
-#define I965_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB         0x0D2 
-#define I965_SURFACEFORMAT_R11G11B10_FLOAT                0x0D3 
-#define I965_SURFACEFORMAT_R32_SINT                       0x0D6 
-#define I965_SURFACEFORMAT_R32_UINT                       0x0D7 
-#define I965_SURFACEFORMAT_R32_FLOAT                      0x0D8 
-#define I965_SURFACEFORMAT_R24_UNORM_X8_TYPELESS          0x0D9 
-#define I965_SURFACEFORMAT_X24_TYPELESS_G8_UINT           0x0DA 
-#define I965_SURFACEFORMAT_L16A16_UNORM                   0x0DF 
-#define I965_SURFACEFORMAT_I24X8_UNORM                    0x0E0 
-#define I965_SURFACEFORMAT_L24X8_UNORM                    0x0E1 
-#define I965_SURFACEFORMAT_A24X8_UNORM                    0x0E2 
-#define I965_SURFACEFORMAT_I32_FLOAT                      0x0E3 
-#define I965_SURFACEFORMAT_L32_FLOAT                      0x0E4 
-#define I965_SURFACEFORMAT_A32_FLOAT                      0x0E5 
-#define I965_SURFACEFORMAT_B8G8R8X8_UNORM                 0x0E9 
-#define I965_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB            0x0EA 
-#define I965_SURFACEFORMAT_R8G8B8X8_UNORM                 0x0EB 
-#define I965_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB            0x0EC 
-#define I965_SURFACEFORMAT_R9G9B9E5_SHAREDEXP             0x0ED 
-#define I965_SURFACEFORMAT_B10G10R10X2_UNORM              0x0EE 
-#define I965_SURFACEFORMAT_L16A16_FLOAT                   0x0F0 
-#define I965_SURFACEFORMAT_R32_UNORM                      0x0F1 
-#define I965_SURFACEFORMAT_R32_SNORM                      0x0F2 
-#define I965_SURFACEFORMAT_R10G10B10X2_USCALED            0x0F3
-#define I965_SURFACEFORMAT_R8G8B8A8_SSCALED               0x0F4
-#define I965_SURFACEFORMAT_R8G8B8A8_USCALED               0x0F5
-#define I965_SURFACEFORMAT_R16G16_SSCALED                 0x0F6
-#define I965_SURFACEFORMAT_R16G16_USCALED                 0x0F7
-#define I965_SURFACEFORMAT_R32_SSCALED                    0x0F8
-#define I965_SURFACEFORMAT_R32_USCALED                    0x0F9
-#define I965_SURFACEFORMAT_B5G6R5_UNORM                   0x100 
-#define I965_SURFACEFORMAT_B5G6R5_UNORM_SRGB              0x101 
-#define I965_SURFACEFORMAT_B5G5R5A1_UNORM                 0x102 
-#define I965_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB            0x103 
-#define I965_SURFACEFORMAT_B4G4R4A4_UNORM                 0x104 
-#define I965_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB            0x105 
-#define I965_SURFACEFORMAT_R8G8_UNORM                     0x106 
-#define I965_SURFACEFORMAT_R8G8_SNORM                     0x107 
-#define I965_SURFACEFORMAT_R8G8_SINT                      0x108 
-#define I965_SURFACEFORMAT_R8G8_UINT                      0x109 
-#define I965_SURFACEFORMAT_R16_UNORM                      0x10A 
-#define I965_SURFACEFORMAT_R16_SNORM                      0x10B 
-#define I965_SURFACEFORMAT_R16_SINT                       0x10C 
-#define I965_SURFACEFORMAT_R16_UINT                       0x10D 
-#define I965_SURFACEFORMAT_R16_FLOAT                      0x10E 
-#define I965_SURFACEFORMAT_I16_UNORM                      0x111 
-#define I965_SURFACEFORMAT_L16_UNORM                      0x112 
-#define I965_SURFACEFORMAT_A16_UNORM                      0x113 
-#define I965_SURFACEFORMAT_L8A8_UNORM                     0x114 
-#define I965_SURFACEFORMAT_I16_FLOAT                      0x115
-#define I965_SURFACEFORMAT_L16_FLOAT                      0x116
-#define I965_SURFACEFORMAT_A16_FLOAT                      0x117 
-#define I965_SURFACEFORMAT_R5G5_SNORM_B6_UNORM            0x119 
-#define I965_SURFACEFORMAT_B5G5R5X1_UNORM                 0x11A 
-#define I965_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB            0x11B
-#define I965_SURFACEFORMAT_R8G8_SSCALED                   0x11C
-#define I965_SURFACEFORMAT_R8G8_USCALED                   0x11D
-#define I965_SURFACEFORMAT_R16_SSCALED                    0x11E
-#define I965_SURFACEFORMAT_R16_USCALED                    0x11F
-#define I965_SURFACEFORMAT_R8_UNORM                       0x140 
-#define I965_SURFACEFORMAT_R8_SNORM                       0x141 
-#define I965_SURFACEFORMAT_R8_SINT                        0x142 
-#define I965_SURFACEFORMAT_R8_UINT                        0x143 
-#define I965_SURFACEFORMAT_A8_UNORM                       0x144 
-#define I965_SURFACEFORMAT_I8_UNORM                       0x145 
-#define I965_SURFACEFORMAT_L8_UNORM                       0x146 
-#define I965_SURFACEFORMAT_P4A4_UNORM                     0x147 
-#define I965_SURFACEFORMAT_A4P4_UNORM                     0x148
-#define I965_SURFACEFORMAT_R8_SSCALED                     0x149
-#define I965_SURFACEFORMAT_R8_USCALED                     0x14A
-#define I965_SURFACEFORMAT_R1_UINT                        0x181 
-#define I965_SURFACEFORMAT_YCRCB_NORMAL                   0x182 
-#define I965_SURFACEFORMAT_YCRCB_SWAPUVY                  0x183 
-#define I965_SURFACEFORMAT_BC1_UNORM                      0x186 
-#define I965_SURFACEFORMAT_BC2_UNORM                      0x187 
-#define I965_SURFACEFORMAT_BC3_UNORM                      0x188 
-#define I965_SURFACEFORMAT_BC4_UNORM                      0x189 
-#define I965_SURFACEFORMAT_BC5_UNORM                      0x18A 
-#define I965_SURFACEFORMAT_BC1_UNORM_SRGB                 0x18B 
-#define I965_SURFACEFORMAT_BC2_UNORM_SRGB                 0x18C 
-#define I965_SURFACEFORMAT_BC3_UNORM_SRGB                 0x18D 
-#define I965_SURFACEFORMAT_MONO8                          0x18E 
-#define I965_SURFACEFORMAT_YCRCB_SWAPUV                   0x18F 
-#define I965_SURFACEFORMAT_YCRCB_SWAPY                    0x190 
-#define I965_SURFACEFORMAT_DXT1_RGB                       0x191 
-#define I965_SURFACEFORMAT_FXT1                           0x192 
-#define I965_SURFACEFORMAT_R8G8B8_UNORM                   0x193 
-#define I965_SURFACEFORMAT_R8G8B8_SNORM                   0x194 
-#define I965_SURFACEFORMAT_R8G8B8_SSCALED                 0x195 
-#define I965_SURFACEFORMAT_R8G8B8_USCALED                 0x196 
-#define I965_SURFACEFORMAT_R64G64B64A64_FLOAT             0x197 
-#define I965_SURFACEFORMAT_R64G64B64_FLOAT                0x198 
-#define I965_SURFACEFORMAT_BC4_SNORM                      0x199 
-#define I965_SURFACEFORMAT_BC5_SNORM                      0x19A 
-#define I965_SURFACEFORMAT_R16G16B16_UNORM                0x19C 
-#define I965_SURFACEFORMAT_R16G16B16_SNORM                0x19D 
-#define I965_SURFACEFORMAT_R16G16B16_SSCALED              0x19E 
-#define I965_SURFACEFORMAT_R16G16B16_USCALED              0x19F
-
-#define I965_CULLMODE_BOTH      0
-#define I965_CULLMODE_NONE      1
-#define I965_CULLMODE_FRONT     2
-#define I965_CULLMODE_BACK      3
-
-#define I965_MAPFILTER_NEAREST        0x0 
-#define I965_MAPFILTER_LINEAR         0x1 
-#define I965_MAPFILTER_ANISOTROPIC    0x2
-
-#define I965_MIPFILTER_NONE        0   
-#define I965_MIPFILTER_NEAREST     1   
-#define I965_MIPFILTER_LINEAR      3
-
-#define I965_TEXCOORDMODE_WRAP            0
-#define I965_TEXCOORDMODE_MIRROR          1
-#define I965_TEXCOORDMODE_CLAMP           2
-#define I965_TEXCOORDMODE_CUBE            3
-#define I965_TEXCOORDMODE_CLAMP_BORDER    4
-#define I965_TEXCOORDMODE_MIRROR_ONCE     5
-
-#define I965_BLENDFACTOR_ONE                 0x1
-#define I965_BLENDFACTOR_SRC_COLOR           0x2
-#define I965_BLENDFACTOR_SRC_ALPHA           0x3
-#define I965_BLENDFACTOR_DST_ALPHA           0x4
-#define I965_BLENDFACTOR_DST_COLOR           0x5
-#define I965_BLENDFACTOR_SRC_ALPHA_SATURATE  0x6
-#define I965_BLENDFACTOR_CONST_COLOR         0x7
-#define I965_BLENDFACTOR_CONST_ALPHA         0x8
-#define I965_BLENDFACTOR_SRC1_COLOR          0x9
-#define I965_BLENDFACTOR_SRC1_ALPHA          0x0A
-#define I965_BLENDFACTOR_ZERO                0x11
-#define I965_BLENDFACTOR_INV_SRC_COLOR       0x12
-#define I965_BLENDFACTOR_INV_SRC_ALPHA       0x13
-#define I965_BLENDFACTOR_INV_DST_ALPHA       0x14
-#define I965_BLENDFACTOR_INV_DST_COLOR       0x15
-#define I965_BLENDFACTOR_INV_CONST_COLOR     0x17
-#define I965_BLENDFACTOR_INV_CONST_ALPHA     0x18
-#define I965_BLENDFACTOR_INV_SRC1_COLOR      0x19
-#define I965_BLENDFACTOR_INV_SRC1_ALPHA      0x1A
-
-#define I965_BLENDFUNCTION_ADD               0
-#define I965_BLENDFUNCTION_SUBTRACT          1
-#define I965_BLENDFUNCTION_REVERSE_SUBTRACT  2
-#define I965_BLENDFUNCTION_MIN               3
-#define I965_BLENDFUNCTION_MAX               4
-
-#define I965_SURFACERETURNFORMAT_FLOAT32  0
-#define I965_SURFACERETURNFORMAT_S1       1
-
-#define I965_VFCOMPONENT_NOSTORE      0
-#define I965_VFCOMPONENT_STORE_SRC    1
-#define I965_VFCOMPONENT_STORE_0      2
-#define I965_VFCOMPONENT_STORE_1_FLT  3
-#define I965_VFCOMPONENT_STORE_1_INT  4
-#define I965_VFCOMPONENT_STORE_VID    5
-#define I965_VFCOMPONENT_STORE_IID    6
-#define I965_VFCOMPONENT_STORE_PID    7
-
-#define VE0_VERTEX_BUFFER_INDEX_SHIFT  27
-#define GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT      26 /* for GEN6 */
-#define VE0_VALID                      (1 << 26)
-#define GEN6_VE0_VALID                  (1 << 25) /* for GEN6 */
-#define VE0_FORMAT_SHIFT               16
-#define VE0_OFFSET_SHIFT               0
-#define VE1_VFCOMPONENT_0_SHIFT                28
-#define VE1_VFCOMPONENT_1_SHIFT                24
-#define VE1_VFCOMPONENT_2_SHIFT                20
-#define VE1_VFCOMPONENT_3_SHIFT                16
-#define VE1_DESTINATION_ELEMENT_OFFSET_SHIFT   0
-
-#define VB0_BUFFER_INDEX_SHIFT          27
-#define GEN6_VB0_BUFFER_INDEX_SHIFT     26
-#define VB0_VERTEXDATA                  (0 << 26)
-#define VB0_INSTANCEDATA                (1 << 26)
-#define GEN6_VB0_VERTEXDATA             (0 << 20)
-#define GEN6_VB0_INSTANCEDATA           (1 << 20)
-#define GEN7_VB0_ADDRESS_MODIFYENABLE   (1 << 14)
-#define VB0_BUFFER_PITCH_SHIFT          0
-
-#define _3DPRIMITIVE_VERTEX_SEQUENTIAL  (0 << 15)
-#define _3DPRIMITIVE_VERTEX_RANDOM      (1 << 15)
-#define _3DPRIMITIVE_TOPOLOGY_SHIFT     10
-/* DW1 on GEN7*/
-# define GEN7_3DPRIM_VERTEXBUFFER_ACCESS_SEQUENTIAL     (0 << 8)
-# define GEN7_3DPRIM_VERTEXBUFFER_ACCESS_RANDOM         (1 << 8)
-
-#define _3DPRIM_POINTLIST         0x01
-#define _3DPRIM_LINELIST          0x02
-#define _3DPRIM_LINESTRIP         0x03
-#define _3DPRIM_TRILIST           0x04
-#define _3DPRIM_TRISTRIP          0x05
-#define _3DPRIM_TRIFAN            0x06
-#define _3DPRIM_QUADLIST          0x07
-#define _3DPRIM_QUADSTRIP         0x08
-#define _3DPRIM_LINELIST_ADJ      0x09
-#define _3DPRIM_LINESTRIP_ADJ     0x0A
-#define _3DPRIM_TRILIST_ADJ       0x0B
-#define _3DPRIM_TRISTRIP_ADJ      0x0C
-#define _3DPRIM_TRISTRIP_REVERSE  0x0D
-#define _3DPRIM_POLYGON           0x0E
-#define _3DPRIM_RECTLIST          0x0F
-#define _3DPRIM_LINELOOP          0x10
-#define _3DPRIM_POINTLIST_BF      0x11
-#define _3DPRIM_LINESTRIP_CONT    0x12
-#define _3DPRIM_LINESTRIP_BF      0x13
-#define _3DPRIM_LINESTRIP_CONT_BF 0x14
-#define _3DPRIM_TRIFAN_NOSTIPPLE  0x15
-
-#define I965_TILEWALK_XMAJOR                 0
-#define I965_TILEWALK_YMAJOR                 1
-
-#define SCAN_RASTER_ORDER       0
-#define SCAN_SPECIAL_ORDER      1
-
-#define ENTROPY_CAVLD           0
-#define ENTROPY_CABAC           1
-
-#define SLICE_TYPE_P            0
-#define SLICE_TYPE_B            1
-#define SLICE_TYPE_I            2
-#define SLICE_TYPE_SP           3
-#define SLICE_TYPE_SI           4
-
-#define PRESENT_REF_LIST0               (1 << 0)
-#define PRESENT_REF_LIST1               (1 << 1)
-#define PRESENT_WEIGHT_OFFSET_L0        (1 << 2)
-#define PRESENT_WEIGHT_OFFSET_L1        (1 << 3)
-
-#define RESIDUAL_DATA_OFFSET    48
-
-#define PRESENT_NOMV            0
-#define PRESENT_NOWO            1
-#define PRESENT_MV_WO           3
-
-#define SCOREBOARD_STALLING     0
-#define SCOREBOARD_NON_STALLING 1
-
-#define SURFACE_FORMAT_YCRCB_NORMAL     0
-#define SURFACE_FORMAT_YCRCB_SWAPUVY    1
-#define SURFACE_FORMAT_YCRCB_SWAPUV     2
-#define SURFACE_FORMAT_YCRCB_SWAPY      3
-#define SURFACE_FORMAT_PLANAR_420_8     4
-#define SURFACE_FORMAT_PLANAR_411_8     5
-#define SURFACE_FORMAT_PLANAR_422_8     6
-#define SURFACE_FORMAT_STMM_DN_STATISTICS       7
-#define SURFACE_FORMAT_R10G10B10A2_UNORM        8
-#define SURFACE_FORMAT_R8G8B8A8_UNORM   9
-#define SURFACE_FORMAT_R8B8_UNORM       10
-#define SURFACE_FORMAT_R8_UNORM         11
-#define SURFACE_FORMAT_Y8_UNORM         12
-
-#define AVS_FILTER_ADAPTIVE_8_TAP       0
-#define AVS_FILTER_NEAREST              1
-
-#define IEF_FILTER_COMBO                0
-#define IEF_FILTER_DETAIL               1
-
-#define IEF_FILTER_SIZE_3X3             0
-#define IEF_FILTER_SIZE_5X5             1
-
-#define MFX_FORMAT_MPEG2        0
-#define MFX_FORMAT_VC1          1
-#define MFX_FORMAT_AVC          2
-#define MFX_FORMAT_JPEG         3
-
-#define MFX_SHORT_MODE          0
-#define MFX_LONG_MODE           1
-
-#define MFX_CODEC_DECODE        0
-#define MFX_CODEC_ENCODE        1
-
-#define MFX_QM_AVC_4X4_INTRA_MATRIX     0
-#define MFX_QM_AVC_4X4_INTER_MATRIX     1
-#define MFX_QM_AVC_8x8_INTRA_MATRIX     2
-#define MFX_QM_AVC_8x8_INTER_MATRIX     3
-
-#define MFX_QM_MPEG_INTRA_QUANTIZER_MATRIX      0
-#define MFX_QM_MPEG_NON_INTRA_QUANTIZER_MATRIX  1
-
-#define MFX_QM_JPEG_LUMA_Y_QUANTIZER_MATRIX     0
-#define MFX_QM_JPEG_CHROMA_CB_QUANTIZER_MATRIX  1
-#define MFX_QM_JPEG_CHROMA_CR_QUANTIZER_MATRIX  2
-
-#define MFD_MODE_VLD            0
-#define MFD_MODE_IT             1
-
-#define MFX_SURFACE_PLANAR_420_8        4
-#define MFX_SURFACE_MONOCHROME          12
-
-#define MPEG_TOP_FIELD         1
-#define MPEG_BOTTOM_FIELD      2
-#define MPEG_FRAME             3
-
-#define URB_SIZE(intel)         (IS_GEN7(intel->device_id) ? 4096 :     \
-                                 IS_GEN6(intel->device_id) ? 1024 :     \
-                                 IS_IRONLAKE(intel->device_id) ? 1024 : \
-                                 IS_G4X(intel->device_id) ? 384 : 256)
-
-#endif /* _I965_DEFINES_H_ */
diff --git a/i965_drv_video/i965_drv_video.c b/i965_drv_video/i965_drv_video.c
deleted file mode 100644 (file)
index 72f82b7..0000000
+++ /dev/null
@@ -1,2626 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#include "config.h"
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include "va/x11/va_dricommon.h"
-
-#include "intel_driver.h"
-#include "intel_memman.h"
-#include "intel_batchbuffer.h"
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-
-#define CONFIG_ID_OFFSET                0x01000000
-#define CONTEXT_ID_OFFSET               0x02000000
-#define SURFACE_ID_OFFSET               0x04000000
-#define BUFFER_ID_OFFSET                0x08000000
-#define IMAGE_ID_OFFSET                 0x0a000000
-#define SUBPIC_ID_OFFSET                0x10000000
-
-#define HAS_MPEG2(ctx)  (IS_G4X((ctx)->intel.device_id) ||      \
-                         IS_IRONLAKE((ctx)->intel.device_id) || \
-                         ((IS_GEN6((ctx)->intel.device_id) ||   \
-                           IS_GEN7((ctx)->intel.device_id)) &&  \
-                          (ctx)->intel.has_bsd))
-
-#define HAS_H264(ctx)   ((IS_GEN7((ctx)->intel.device_id) ||            \
-                          IS_GEN6((ctx)->intel.device_id) ||            \
-                          IS_IRONLAKE((ctx)->intel.device_id)) &&       \
-                         (ctx)->intel.has_bsd)
-
-#define HAS_VC1(ctx)    ((IS_GEN7((ctx)->intel.device_id) ||    \
-                          IS_GEN6((ctx)->intel.device_id)) &&   \
-                         (ctx)->intel.has_bsd)
-
-#define HAS_TILED_SURFACE(ctx) ((IS_GEN7((ctx)->intel.device_id) ||     \
-                                 IS_GEN6((ctx)->intel.device_id)) &&    \
-                                (ctx)->render_state.interleaved_uv)
-
-#define HAS_ENCODER(ctx)        ((IS_GEN7((ctx)->intel.device_id) ||    \
-                                  IS_GEN6((ctx)->intel.device_id)) &&   \
-                                 (ctx)->intel.has_bsd)
-
-enum {
-    I965_SURFACETYPE_RGBA = 1,
-    I965_SURFACETYPE_YUV,
-    I965_SURFACETYPE_INDEXED
-};
-
-/* List of supported image formats */
-typedef struct {
-    unsigned int        type;
-    VAImageFormat       va_format;
-} i965_image_format_map_t;
-
-static const i965_image_format_map_t
-i965_image_formats_map[I965_MAX_IMAGE_FORMATS + 1] = {
-    { I965_SURFACETYPE_YUV,
-      { VA_FOURCC('Y','V','1','2'), VA_LSB_FIRST, 12, } },
-    { I965_SURFACETYPE_YUV,
-      { VA_FOURCC('I','4','2','0'), VA_LSB_FIRST, 12, } },
-    { I965_SURFACETYPE_YUV,
-      { VA_FOURCC('N','V','1','2'), VA_LSB_FIRST, 12, } },
-};
-
-/* List of supported subpicture formats */
-typedef struct {
-    unsigned int        type;
-    unsigned int        format;
-    VAImageFormat       va_format;
-    unsigned int        va_flags;
-} i965_subpic_format_map_t;
-
-static const i965_subpic_format_map_t
-i965_subpic_formats_map[I965_MAX_SUBPIC_FORMATS + 1] = {
-    { I965_SURFACETYPE_INDEXED, I965_SURFACEFORMAT_P4A4_UNORM,
-      { VA_FOURCC('I','A','4','4'), VA_MSB_FIRST, 8, },
-      VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD },
-    { I965_SURFACETYPE_INDEXED, I965_SURFACEFORMAT_A4P4_UNORM,
-      { VA_FOURCC('A','I','4','4'), VA_MSB_FIRST, 8, },
-      VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD },
-    { I965_SURFACETYPE_RGBA, I965_SURFACEFORMAT_B8G8R8A8_UNORM,
-      { VA_FOURCC('B','G','R','A'), VA_LSB_FIRST, 32,
-        32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
-      VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD },
-    { I965_SURFACETYPE_RGBA, I965_SURFACEFORMAT_R8G8B8A8_UNORM,
-      { VA_FOURCC('R','G','B','A'), VA_LSB_FIRST, 32,
-        32, 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 },
-      VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD },
-};
-
-static const i965_subpic_format_map_t *
-get_subpic_format(const VAImageFormat *va_format)
-{
-    unsigned int i;
-    for (i = 0; i965_subpic_formats_map[i].type != 0; i++) {
-        const i965_subpic_format_map_t * const m = &i965_subpic_formats_map[i];
-        if (m->va_format.fourcc == va_format->fourcc &&
-            (m->type == I965_SURFACETYPE_RGBA ?
-             (m->va_format.byte_order == va_format->byte_order &&
-              m->va_format.red_mask   == va_format->red_mask   &&
-              m->va_format.green_mask == va_format->green_mask &&
-              m->va_format.blue_mask  == va_format->blue_mask  &&
-              m->va_format.alpha_mask == va_format->alpha_mask) : 1))
-            return m;
-    }
-    return NULL;
-}
-
-extern struct hw_context *g4x_dec_hw_context_init(VADriverContextP, VAProfile);
-static struct hw_codec_info g4x_hw_codec_info = {
-    .dec_hw_context_init = g4x_dec_hw_context_init,
-    .enc_hw_context_init = NULL,
-};
-
-extern struct hw_context *ironlake_dec_hw_context_init(VADriverContextP, VAProfile);
-static struct hw_codec_info ironlake_hw_codec_info = {
-    .dec_hw_context_init = ironlake_dec_hw_context_init,
-    .enc_hw_context_init = NULL,
-};
-
-extern struct hw_context *gen6_dec_hw_context_init(VADriverContextP, VAProfile);
-extern struct hw_context *gen6_enc_hw_context_init(VADriverContextP, VAProfile);
-static struct hw_codec_info gen6_hw_codec_info = {
-    .dec_hw_context_init = gen6_dec_hw_context_init,
-    .enc_hw_context_init = gen6_enc_hw_context_init,
-};
-
-extern struct hw_context *gen7_dec_hw_context_init(VADriverContextP, VAProfile);
-static struct hw_codec_info gen7_hw_codec_info = {
-    .dec_hw_context_init = gen7_dec_hw_context_init,
-    .enc_hw_context_init = gen6_enc_hw_context_init,
-};
-
-VAStatus 
-i965_QueryConfigProfiles(VADriverContextP ctx,
-                         VAProfile *profile_list,       /* out */
-                         int *num_profiles)             /* out */
-{
-    struct i965_driver_data * const i965 = i965_driver_data(ctx);
-    int i = 0;
-
-    if (HAS_MPEG2(i965)) {
-        profile_list[i++] = VAProfileMPEG2Simple;
-        profile_list[i++] = VAProfileMPEG2Main;
-    }
-
-    if (HAS_H264(i965)) {
-        profile_list[i++] = VAProfileH264Baseline;
-        profile_list[i++] = VAProfileH264Main;
-        profile_list[i++] = VAProfileH264High;
-    }
-
-    if (HAS_VC1(i965)) {
-        profile_list[i++] = VAProfileVC1Simple;
-        profile_list[i++] = VAProfileVC1Main;
-        profile_list[i++] = VAProfileVC1Advanced;
-    }
-
-    /* If the assert fails then I965_MAX_PROFILES needs to be bigger */
-    assert(i <= I965_MAX_PROFILES);
-    *num_profiles = i;
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_QueryConfigEntrypoints(VADriverContextP ctx,
-                            VAProfile profile,
-                            VAEntrypoint *entrypoint_list,      /* out */
-                            int *num_entrypoints)               /* out */
-{
-    struct i965_driver_data * const i965 = i965_driver_data(ctx);
-    int n = 0;
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        if (HAS_MPEG2(i965))
-            entrypoint_list[n++] = VAEntrypointVLD;
-        break;
-
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        if (HAS_H264(i965))
-            entrypoint_list[n++] = VAEntrypointVLD;
-        
-        if (HAS_ENCODER(i965))
-            entrypoint_list[n++] = VAEntrypointEncSlice;
-
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-        if (HAS_VC1(i965))
-            entrypoint_list[n++] = VAEntrypointVLD;
-        break;
-
-    default:
-        break;
-    }
-
-    /* If the assert fails then I965_MAX_ENTRYPOINTS needs to be bigger */
-    assert(n <= I965_MAX_ENTRYPOINTS);
-    *num_entrypoints = n;
-    return n > 0 ? VA_STATUS_SUCCESS : VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
-}
-
-VAStatus 
-i965_GetConfigAttributes(VADriverContextP ctx,
-                         VAProfile profile,
-                         VAEntrypoint entrypoint,
-                         VAConfigAttrib *attrib_list,  /* in/out */
-                         int num_attribs)
-{
-    int i;
-
-    /* Other attributes don't seem to be defined */
-    /* What to do if we don't know the attribute? */
-    for (i = 0; i < num_attribs; i++) {
-        switch (attrib_list[i].type) {
-        case VAConfigAttribRTFormat:
-            attrib_list[i].value = VA_RT_FORMAT_YUV420;
-            break;
-
-        case VAConfigAttribRateControl:
-            attrib_list[i].value = VA_RC_VBR;
-            break;
-
-        default:
-            /* Do nothing */
-            attrib_list[i].value = VA_ATTRIB_NOT_SUPPORTED;
-            break;
-        }
-    }
-
-    return VA_STATUS_SUCCESS;
-}
-
-static void 
-i965_destroy_config(struct object_heap *heap, struct object_base *obj)
-{
-    object_heap_free(heap, obj);
-}
-
-static VAStatus 
-i965_update_attribute(struct object_config *obj_config, VAConfigAttrib *attrib)
-{
-    int i;
-
-    /* Check existing attrbiutes */
-    for (i = 0; obj_config->num_attribs < i; i++) {
-        if (obj_config->attrib_list[i].type == attrib->type) {
-            /* Update existing attribute */
-            obj_config->attrib_list[i].value = attrib->value;
-            return VA_STATUS_SUCCESS;
-        }
-    }
-
-    if (obj_config->num_attribs < I965_MAX_CONFIG_ATTRIBUTES) {
-        i = obj_config->num_attribs;
-        obj_config->attrib_list[i].type = attrib->type;
-        obj_config->attrib_list[i].value = attrib->value;
-        obj_config->num_attribs++;
-        return VA_STATUS_SUCCESS;
-    }
-
-    return VA_STATUS_ERROR_MAX_NUM_EXCEEDED;
-}
-
-VAStatus 
-i965_CreateConfig(VADriverContextP ctx,
-                  VAProfile profile,
-                  VAEntrypoint entrypoint,
-                  VAConfigAttrib *attrib_list,
-                  int num_attribs,
-                  VAConfigID *config_id)        /* out */
-{
-    struct i965_driver_data * const i965 = i965_driver_data(ctx);
-    struct object_config *obj_config;
-    int configID;
-    int i;
-    VAStatus vaStatus;
-
-    /* Validate profile & entrypoint */
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        if (HAS_MPEG2(i965) && VAEntrypointVLD == entrypoint) {
-            vaStatus = VA_STATUS_SUCCESS;
-        } else {
-            vaStatus = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
-        }
-        break;
-
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        if ((HAS_H264(i965) && VAEntrypointVLD == entrypoint) ||
-            (HAS_ENCODER(i965) && VAEntrypointEncSlice == entrypoint)) {
-            vaStatus = VA_STATUS_SUCCESS;
-        } else {
-            vaStatus = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
-        }
-
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-        if (HAS_VC1(i965) && VAEntrypointVLD == entrypoint) {
-            vaStatus = VA_STATUS_SUCCESS;
-        } else {
-            vaStatus = VA_STATUS_ERROR_UNSUPPORTED_ENTRYPOINT;
-        }
-
-        break;
-
-    default:
-        vaStatus = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
-        break;
-    }
-
-    if (VA_STATUS_SUCCESS != vaStatus) {
-        return vaStatus;
-    }
-
-    configID = NEW_CONFIG_ID();
-    obj_config = CONFIG(configID);
-
-    if (NULL == obj_config) {
-        vaStatus = VA_STATUS_ERROR_ALLOCATION_FAILED;
-        return vaStatus;
-    }
-
-    obj_config->profile = profile;
-    obj_config->entrypoint = entrypoint;
-    obj_config->attrib_list[0].type = VAConfigAttribRTFormat;
-    obj_config->attrib_list[0].value = VA_RT_FORMAT_YUV420;
-    obj_config->num_attribs = 1;
-
-    for(i = 0; i < num_attribs; i++) {
-        vaStatus = i965_update_attribute(obj_config, &(attrib_list[i]));
-
-        if (VA_STATUS_SUCCESS != vaStatus) {
-            break;
-        }
-    }
-
-    /* Error recovery */
-    if (VA_STATUS_SUCCESS != vaStatus) {
-        i965_destroy_config(&i965->config_heap, (struct object_base *)obj_config);
-    } else {
-        *config_id = configID;
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_DestroyConfig(VADriverContextP ctx, VAConfigID config_id)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_config *obj_config = CONFIG(config_id);
-    VAStatus vaStatus;
-
-    if (NULL == obj_config) {
-        vaStatus = VA_STATUS_ERROR_INVALID_CONFIG;
-        return vaStatus;
-    }
-
-    i965_destroy_config(&i965->config_heap, (struct object_base *)obj_config);
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus i965_QueryConfigAttributes(VADriverContextP ctx,
-                                    VAConfigID config_id,
-                                    VAProfile *profile,                 /* out */
-                                    VAEntrypoint *entrypoint,           /* out */
-                                    VAConfigAttrib *attrib_list,        /* out */
-                                    int *num_attribs)                   /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_config *obj_config = CONFIG(config_id);
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-    int i;
-
-    assert(obj_config);
-    *profile = obj_config->profile;
-    *entrypoint = obj_config->entrypoint;
-    *num_attribs = obj_config->num_attribs;
-
-    for(i = 0; i < obj_config->num_attribs; i++) {
-        attrib_list[i] = obj_config->attrib_list[i];
-    }
-
-    return vaStatus;
-}
-
-static void 
-i965_destroy_surface(struct object_heap *heap, struct object_base *obj)
-{
-    struct object_surface *obj_surface = (struct object_surface *)obj;
-
-    dri_bo_unreference(obj_surface->bo);
-    obj_surface->bo = NULL;
-
-    if (obj_surface->free_private_data != NULL) {
-        obj_surface->free_private_data(&obj_surface->private_data);
-        obj_surface->private_data = NULL;
-    }
-
-    object_heap_free(heap, obj);
-}
-
-VAStatus 
-i965_CreateSurfaces(VADriverContextP ctx,
-                    int width,
-                    int height,
-                    int format,
-                    int num_surfaces,
-                    VASurfaceID *surfaces)      /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-
-    /* We only support one format */
-    if (VA_RT_FORMAT_YUV420 != format) {
-        return VA_STATUS_ERROR_UNSUPPORTED_RT_FORMAT;
-    }
-
-    for (i = 0; i < num_surfaces; i++) {
-        int surfaceID = NEW_SURFACE_ID();
-        struct object_surface *obj_surface = SURFACE(surfaceID);
-
-        if (NULL == obj_surface) {
-            vaStatus = VA_STATUS_ERROR_ALLOCATION_FAILED;
-            break;
-        }
-
-        surfaces[i] = surfaceID;
-        obj_surface->status = VASurfaceReady;
-        obj_surface->subpic = VA_INVALID_ID;
-        obj_surface->orig_width = width;
-        obj_surface->orig_height = height;
-
-        if (IS_GEN6(i965->intel.device_id) ||
-            IS_GEN7(i965->intel.device_id)) {
-            obj_surface->width = ALIGN(obj_surface->orig_width, 128);
-            obj_surface->height = ALIGN(obj_surface->orig_height, 32);
-        } else {
-            obj_surface->width = ALIGN(obj_surface->orig_width, 16);
-            obj_surface->height = ALIGN(obj_surface->orig_height, 16);
-        }
-
-        obj_surface->size = SIZE_YUV420(obj_surface->width, obj_surface->height);
-        obj_surface->flags = SURFACE_REFERENCED;
-        obj_surface->fourcc = 0;
-        obj_surface->bo = NULL;
-        obj_surface->locked_image_id = VA_INVALID_ID;
-        obj_surface->private_data = NULL;
-        obj_surface->free_private_data = NULL;
-    }
-
-    /* Error recovery */
-    if (VA_STATUS_SUCCESS != vaStatus) {
-        /* surfaces[i-1] was the last successful allocation */
-        for (; i--; ) {
-            struct object_surface *obj_surface = SURFACE(surfaces[i]);
-
-            surfaces[i] = VA_INVALID_SURFACE;
-            assert(obj_surface);
-            i965_destroy_surface(&i965->surface_heap, (struct object_base *)obj_surface);
-        }
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_DestroySurfaces(VADriverContextP ctx,
-                     VASurfaceID *surface_list,
-                     int num_surfaces)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-
-    for (i = num_surfaces; i--; ) {
-        struct object_surface *obj_surface = SURFACE(surface_list[i]);
-
-        assert(obj_surface);
-        i965_destroy_surface(&i965->surface_heap, (struct object_base *)obj_surface);
-    }
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_QueryImageFormats(VADriverContextP ctx,
-                       VAImageFormat *format_list,      /* out */
-                       int *num_formats)                /* out */
-{
-    int n;
-
-    for (n = 0; i965_image_formats_map[n].va_format.fourcc != 0; n++) {
-        const i965_image_format_map_t * const m = &i965_image_formats_map[n];
-        if (format_list)
-            format_list[n] = m->va_format;
-    }
-
-    if (num_formats)
-        *num_formats = n;
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_PutImage(VADriverContextP ctx,
-              VASurfaceID surface,
-              VAImageID image,
-              int src_x,
-              int src_y,
-              unsigned int src_width,
-              unsigned int src_height,
-              int dest_x,
-              int dest_y,
-              unsigned int dest_width,
-              unsigned int dest_height)
-{
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_QuerySubpictureFormats(VADriverContextP ctx,
-                            VAImageFormat *format_list,         /* out */
-                            unsigned int *flags,                /* out */
-                            unsigned int *num_formats)          /* out */
-{
-    int n;
-
-    for (n = 0; i965_subpic_formats_map[n].va_format.fourcc != 0; n++) {
-        const i965_subpic_format_map_t * const m = &i965_subpic_formats_map[n];
-        if (format_list)
-            format_list[n] = m->va_format;
-        if (flags)
-            flags[n] = m->va_flags;
-    }
-
-    if (num_formats)
-        *num_formats = n;
-
-    return VA_STATUS_SUCCESS;
-}
-
-static void 
-i965_destroy_subpic(struct object_heap *heap, struct object_base *obj)
-{
-    //    struct object_subpic *obj_subpic = (struct object_subpic *)obj;
-
-    object_heap_free(heap, obj);
-}
-
-VAStatus 
-i965_CreateSubpicture(VADriverContextP ctx,
-                      VAImageID image,
-                      VASubpictureID *subpicture)         /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    VASubpictureID subpicID = NEW_SUBPIC_ID()
-    struct object_subpic *obj_subpic = SUBPIC(subpicID);
-
-    if (!obj_subpic)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-
-    struct object_image *obj_image = IMAGE(image);
-    if (!obj_image)
-        return VA_STATUS_ERROR_INVALID_IMAGE;
-
-    const i965_subpic_format_map_t * const m = get_subpic_format(&obj_image->image.format);
-    if (!m)
-        return VA_STATUS_ERROR_UNKNOWN; /* XXX: VA_STATUS_ERROR_UNSUPPORTED_FORMAT? */
-
-    *subpicture = subpicID;
-    obj_subpic->image  = image;
-    obj_subpic->format = m->format;
-    obj_subpic->width  = obj_image->image.width;
-    obj_subpic->height = obj_image->image.height;
-    obj_subpic->pitch  = obj_image->image.pitches[0];
-    obj_subpic->bo     = obj_image->bo;
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_DestroySubpicture(VADriverContextP ctx,
-                       VASubpictureID subpicture)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_subpic *obj_subpic = SUBPIC(subpicture);
-    i965_destroy_subpic(&i965->subpic_heap, (struct object_base *)obj_subpic);
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_SetSubpictureImage(VADriverContextP ctx,
-                        VASubpictureID subpicture,
-                        VAImageID image)
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-VAStatus 
-i965_SetSubpictureChromakey(VADriverContextP ctx,
-                            VASubpictureID subpicture,
-                            unsigned int chromakey_min,
-                            unsigned int chromakey_max,
-                            unsigned int chromakey_mask)
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-VAStatus 
-i965_SetSubpictureGlobalAlpha(VADriverContextP ctx,
-                              VASubpictureID subpicture,
-                              float global_alpha)
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-VAStatus 
-i965_AssociateSubpicture(VADriverContextP ctx,
-                         VASubpictureID subpicture,
-                         VASurfaceID *target_surfaces,
-                         int num_surfaces,
-                         short src_x, /* upper left offset in subpicture */
-                         short src_y,
-                         unsigned short src_width,
-                         unsigned short src_height,
-                         short dest_x, /* upper left offset in surface */
-                         short dest_y,
-                         unsigned short dest_width,
-                         unsigned short dest_height,
-                         /*
-                          * whether to enable chroma-keying or global-alpha
-                          * see VA_SUBPICTURE_XXX values
-                          */
-                         unsigned int flags)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_subpic *obj_subpic = SUBPIC(subpicture);
-    int i;
-
-    obj_subpic->src_rect.x      = src_x;
-    obj_subpic->src_rect.y      = src_y;
-    obj_subpic->src_rect.width  = src_width;
-    obj_subpic->src_rect.height = src_height;
-    obj_subpic->dst_rect.x      = dest_x;
-    obj_subpic->dst_rect.y      = dest_y;
-    obj_subpic->dst_rect.width  = dest_width;
-    obj_subpic->dst_rect.height = dest_height;
-    obj_subpic->flags           = flags;
-
-    for (i = 0; i < num_surfaces; i++) {
-        struct object_surface *obj_surface = SURFACE(target_surfaces[i]);
-        if (!obj_surface)
-            return VA_STATUS_ERROR_INVALID_SURFACE;
-        obj_surface->subpic = subpicture;
-    }
-    return VA_STATUS_SUCCESS;
-}
-
-
-VAStatus 
-i965_DeassociateSubpicture(VADriverContextP ctx,
-                           VASubpictureID subpicture,
-                           VASurfaceID *target_surfaces,
-                           int num_surfaces)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int i;
-
-    for (i = 0; i < num_surfaces; i++) {
-        struct object_surface *obj_surface = SURFACE(target_surfaces[i]);
-        if (!obj_surface)
-            return VA_STATUS_ERROR_INVALID_SURFACE;
-        if (obj_surface->subpic == subpicture)
-            obj_surface->subpic = VA_INVALID_ID;
-    }
-    return VA_STATUS_SUCCESS;
-}
-
-void
-i965_reference_buffer_store(struct buffer_store **ptr, 
-                            struct buffer_store *buffer_store)
-{
-    assert(*ptr == NULL);
-
-    if (buffer_store) {
-        buffer_store->ref_count++;
-        *ptr = buffer_store;
-    }
-}
-
-void 
-i965_release_buffer_store(struct buffer_store **ptr)
-{
-    struct buffer_store *buffer_store = *ptr;
-
-    if (buffer_store == NULL)
-        return;
-
-    assert(buffer_store->bo || buffer_store->buffer);
-    assert(!(buffer_store->bo && buffer_store->buffer));
-    buffer_store->ref_count--;
-    
-    if (buffer_store->ref_count == 0) {
-        dri_bo_unreference(buffer_store->bo);
-        free(buffer_store->buffer);
-        buffer_store->bo = NULL;
-        buffer_store->buffer = NULL;
-        free(buffer_store);
-    }
-
-    *ptr = NULL;
-}
-
-static void 
-i965_destroy_context(struct object_heap *heap, struct object_base *obj)
-{
-    struct object_context *obj_context = (struct object_context *)obj;
-    int i;
-
-    if (obj_context->hw_context) {
-        obj_context->hw_context->destroy(obj_context->hw_context);
-        obj_context->hw_context = NULL;
-    }
-
-    if (obj_context->codec_type == CODEC_ENC) {
-        assert(obj_context->codec_state.enc.num_slice_params <= obj_context->codec_state.enc.max_slice_params);
-        i965_release_buffer_store(&obj_context->codec_state.enc.pic_param);
-        i965_release_buffer_store(&obj_context->codec_state.enc.seq_param);
-    } else {
-        assert(obj_context->codec_state.dec.num_slice_params <= obj_context->codec_state.dec.max_slice_params);
-        assert(obj_context->codec_state.dec.num_slice_datas <= obj_context->codec_state.dec.max_slice_datas);
-
-        i965_release_buffer_store(&obj_context->codec_state.dec.pic_param);
-        i965_release_buffer_store(&obj_context->codec_state.dec.iq_matrix);
-        i965_release_buffer_store(&obj_context->codec_state.dec.bit_plane);
-
-        for (i = 0; i < obj_context->codec_state.dec.num_slice_params; i++)
-            i965_release_buffer_store(&obj_context->codec_state.dec.slice_params[i]);
-
-        for (i = 0; i < obj_context->codec_state.dec.num_slice_datas; i++)
-            i965_release_buffer_store(&obj_context->codec_state.dec.slice_datas[i]);
-
-        free(obj_context->codec_state.dec.slice_params);
-        free(obj_context->codec_state.dec.slice_datas);
-    }
-
-    free(obj_context->render_targets);
-    object_heap_free(heap, obj);
-}
-
-VAStatus
-i965_CreateContext(VADriverContextP ctx,
-                   VAConfigID config_id,
-                   int picture_width,
-                   int picture_height,
-                   int flag,
-                   VASurfaceID *render_targets,
-                   int num_render_targets,
-                   VAContextID *context)                /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct object_config *obj_config = CONFIG(config_id);
-    struct object_context *obj_context = NULL;
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-    int contextID;
-    int i;
-
-    if (NULL == obj_config) {
-        vaStatus = VA_STATUS_ERROR_INVALID_CONFIG;
-        return vaStatus;
-    }
-
-    /* Validate flag */
-    /* Validate picture dimensions */
-    contextID = NEW_CONTEXT_ID();
-    obj_context = CONTEXT(contextID);
-
-    if (NULL == obj_context) {
-        vaStatus = VA_STATUS_ERROR_ALLOCATION_FAILED;
-        return vaStatus;
-    }
-
-    render_state->inited = 1;
-
-    switch (obj_config->profile) {
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        if (!HAS_H264(i965))
-            return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
-        render_state->interleaved_uv = 1;
-        break;
-    default:
-        render_state->interleaved_uv = !!(IS_GEN6(i965->intel.device_id) || IS_GEN7(i965->intel.device_id));
-        break;
-    }
-
-    *context = contextID;
-    obj_context->flags = flag;
-    obj_context->context_id = contextID;
-    obj_context->config_id = config_id;
-    obj_context->picture_width = picture_width;
-    obj_context->picture_height = picture_height;
-    obj_context->num_render_targets = num_render_targets;
-    obj_context->render_targets = 
-        (VASurfaceID *)calloc(num_render_targets, sizeof(VASurfaceID));
-    obj_context->hw_context = NULL;
-
-    for(i = 0; i < num_render_targets; i++) {
-        if (NULL == SURFACE(render_targets[i])) {
-            vaStatus = VA_STATUS_ERROR_INVALID_SURFACE;
-            break;
-        }
-
-        obj_context->render_targets[i] = render_targets[i];
-    }
-
-    if (VA_STATUS_SUCCESS == vaStatus) {
-        if (VAEntrypointEncSlice == obj_config->entrypoint ) { /*encode routin only*/
-            obj_context->codec_type = CODEC_ENC;
-            memset(&obj_context->codec_state.enc, 0, sizeof(obj_context->codec_state.enc));
-            obj_context->codec_state.enc.current_render_target = VA_INVALID_ID;
-            obj_context->codec_state.enc.max_slice_params = NUM_SLICES;
-            obj_context->codec_state.enc.slice_params = calloc(obj_context->codec_state.enc.max_slice_params,
-                                                               sizeof(*obj_context->codec_state.enc.slice_params));
-            assert(i965->codec_info->enc_hw_context_init);
-            obj_context->hw_context = i965->codec_info->enc_hw_context_init(ctx, obj_config->profile);
-        } else {
-            obj_context->codec_type = CODEC_DEC;
-            memset(&obj_context->codec_state.dec, 0, sizeof(obj_context->codec_state.dec));
-            obj_context->codec_state.dec.current_render_target = -1;
-            obj_context->codec_state.dec.max_slice_params = NUM_SLICES;
-            obj_context->codec_state.dec.max_slice_datas = NUM_SLICES;
-            obj_context->codec_state.dec.slice_params = calloc(obj_context->codec_state.dec.max_slice_params,
-                                                               sizeof(*obj_context->codec_state.dec.slice_params));
-            obj_context->codec_state.dec.slice_datas = calloc(obj_context->codec_state.dec.max_slice_datas,
-                                                              sizeof(*obj_context->codec_state.dec.slice_datas));
-
-            assert(i965->codec_info->dec_hw_context_init);
-            obj_context->hw_context = i965->codec_info->dec_hw_context_init(ctx, obj_config->profile);
-        }
-    }
-
-    /* Error recovery */
-    if (VA_STATUS_SUCCESS != vaStatus) {
-        i965_destroy_context(&i965->context_heap, (struct object_base *)obj_context);
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_DestroyContext(VADriverContextP ctx, VAContextID context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_context *obj_context = CONTEXT(context);
-
-    assert(obj_context);
-    i965_destroy_context(&i965->context_heap, (struct object_base *)obj_context);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static void 
-i965_destroy_buffer(struct object_heap *heap, struct object_base *obj)
-{
-    struct object_buffer *obj_buffer = (struct object_buffer *)obj;
-
-    assert(obj_buffer->buffer_store);
-    i965_release_buffer_store(&obj_buffer->buffer_store);
-    object_heap_free(heap, obj);
-}
-
-static VAStatus
-i965_create_buffer_internal(VADriverContextP ctx,
-                            VAContextID context,
-                            VABufferType type,
-                            unsigned int size,
-                            unsigned int num_elements,
-                            void *data,
-                            dri_bo *store_bo,
-                            VABufferID *buf_id)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_buffer *obj_buffer = NULL;
-    struct buffer_store *buffer_store = NULL;
-    int bufferID;
-
-    /* Validate type */
-    switch (type) {
-    case VAPictureParameterBufferType:
-    case VAIQMatrixBufferType:
-    case VABitPlaneBufferType:
-    case VASliceGroupMapBufferType:
-    case VASliceParameterBufferType:
-    case VASliceDataBufferType:
-    case VAMacroblockParameterBufferType:
-    case VAResidualDataBufferType:
-    case VADeblockingParameterBufferType:
-    case VAImageBufferType:
-    case VAEncCodedBufferType:
-    case VAEncSequenceParameterBufferType:
-    case VAEncPictureParameterBufferType:
-    case VAEncSliceParameterBufferType:
-        /* Ok */
-        break;
-
-    default:
-        return VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE;
-    }
-
-    bufferID = NEW_BUFFER_ID();
-    obj_buffer = BUFFER(bufferID);
-
-    if (NULL == obj_buffer) {
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-    }
-
-    if (type == VAEncCodedBufferType) {
-        size += ALIGN(sizeof(VACodedBufferSegment), 64);
-    }
-
-    obj_buffer->max_num_elements = num_elements;
-    obj_buffer->num_elements = num_elements;
-    obj_buffer->size_element = size;
-    obj_buffer->type = type;
-    obj_buffer->buffer_store = NULL;
-    buffer_store = calloc(1, sizeof(struct buffer_store));
-    assert(buffer_store);
-    buffer_store->ref_count = 1;
-
-    if (store_bo != NULL) {
-        buffer_store->bo = store_bo;
-        dri_bo_reference(buffer_store->bo);
-        
-        if (data)
-            dri_bo_subdata(buffer_store->bo, 0, size * num_elements, data);
-    } else if (type == VASliceDataBufferType || type == VAImageBufferType || type == VAEncCodedBufferType) {
-        buffer_store->bo = dri_bo_alloc(i965->intel.bufmgr, 
-                                        "Buffer", 
-                                        size * num_elements, 64);
-        assert(buffer_store->bo);
-
-        if (type == VAEncCodedBufferType) {
-            VACodedBufferSegment *coded_buffer_segment;
-            dri_bo_map(buffer_store->bo, 1);
-            coded_buffer_segment = (VACodedBufferSegment *)buffer_store->bo->virtual;
-            coded_buffer_segment->size = size - ALIGN(sizeof(VACodedBufferSegment), 64);
-            coded_buffer_segment->bit_offset = 0;
-            coded_buffer_segment->status = 0;
-            coded_buffer_segment->buf = NULL;
-            coded_buffer_segment->next = NULL;
-            dri_bo_unmap(buffer_store->bo);
-        } else if (data) {
-            dri_bo_subdata(buffer_store->bo, 0, size * num_elements, data);
-        }
-
-    } else {
-        buffer_store->buffer = malloc(size * num_elements);
-        assert(buffer_store->buffer);
-
-        if (data)
-            memcpy(buffer_store->buffer, data, size * num_elements);
-    }
-
-    buffer_store->num_elements = obj_buffer->num_elements;
-    i965_reference_buffer_store(&obj_buffer->buffer_store, buffer_store);
-    i965_release_buffer_store(&buffer_store);
-    *buf_id = bufferID;
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_CreateBuffer(VADriverContextP ctx,
-                  VAContextID context,          /* in */
-                  VABufferType type,            /* in */
-                  unsigned int size,            /* in */
-                  unsigned int num_elements,    /* in */
-                  void *data,                   /* in */
-                  VABufferID *buf_id)           /* out */
-{
-    return i965_create_buffer_internal(ctx, context, type, size, num_elements, data, NULL, buf_id);
-}
-
-
-VAStatus 
-i965_BufferSetNumElements(VADriverContextP ctx,
-                          VABufferID buf_id,           /* in */
-                          unsigned int num_elements)   /* in */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_buffer *obj_buffer = BUFFER(buf_id);
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-
-    assert(obj_buffer);
-
-    if ((num_elements < 0) || 
-        (num_elements > obj_buffer->max_num_elements)) {
-        vaStatus = VA_STATUS_ERROR_UNKNOWN;
-    } else {
-        obj_buffer->num_elements = num_elements;
-        if (obj_buffer->buffer_store != NULL) {
-            obj_buffer->buffer_store->num_elements = num_elements;
-        }
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_MapBuffer(VADriverContextP ctx,
-               VABufferID buf_id,       /* in */
-               void **pbuf)             /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_buffer *obj_buffer = BUFFER(buf_id);
-    VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
-
-    assert(obj_buffer && obj_buffer->buffer_store);
-    assert(obj_buffer->buffer_store->bo || obj_buffer->buffer_store->buffer);
-    assert(!(obj_buffer->buffer_store->bo && obj_buffer->buffer_store->buffer));
-
-    if (NULL != obj_buffer->buffer_store->bo) {
-        unsigned int tiling, swizzle;
-
-        dri_bo_get_tiling(obj_buffer->buffer_store->bo, &tiling, &swizzle);
-
-        if (tiling != I915_TILING_NONE)
-            drm_intel_gem_bo_map_gtt(obj_buffer->buffer_store->bo);
-        else
-            dri_bo_map(obj_buffer->buffer_store->bo, 1);
-
-        assert(obj_buffer->buffer_store->bo->virtual);
-        *pbuf = obj_buffer->buffer_store->bo->virtual;
-
-        if (obj_buffer->type == VAEncCodedBufferType) {
-            VACodedBufferSegment *coded_buffer_segment = (VACodedBufferSegment *)(obj_buffer->buffer_store->bo->virtual);
-            coded_buffer_segment->buf = (unsigned char *)(obj_buffer->buffer_store->bo->virtual) + ALIGN(sizeof(VACodedBufferSegment), 64);
-        }
-
-        vaStatus = VA_STATUS_SUCCESS;
-    } else if (NULL != obj_buffer->buffer_store->buffer) {
-        *pbuf = obj_buffer->buffer_store->buffer;
-        vaStatus = VA_STATUS_SUCCESS;
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_UnmapBuffer(VADriverContextP ctx, VABufferID buf_id)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_buffer *obj_buffer = BUFFER(buf_id);
-    VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
-
-    assert(obj_buffer && obj_buffer->buffer_store);
-    assert(obj_buffer->buffer_store->bo || obj_buffer->buffer_store->buffer);
-    assert(!(obj_buffer->buffer_store->bo && obj_buffer->buffer_store->buffer));
-
-    if (NULL != obj_buffer->buffer_store->bo) {
-        unsigned int tiling, swizzle;
-
-        dri_bo_get_tiling(obj_buffer->buffer_store->bo, &tiling, &swizzle);
-
-        if (tiling != I915_TILING_NONE)
-            drm_intel_gem_bo_unmap_gtt(obj_buffer->buffer_store->bo);
-        else
-            dri_bo_unmap(obj_buffer->buffer_store->bo);
-
-        vaStatus = VA_STATUS_SUCCESS;
-    } else if (NULL != obj_buffer->buffer_store->buffer) {
-        /* Do nothing */
-        vaStatus = VA_STATUS_SUCCESS;
-    }
-
-    return vaStatus;    
-}
-
-VAStatus 
-i965_DestroyBuffer(VADriverContextP ctx, VABufferID buffer_id)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_buffer *obj_buffer = BUFFER(buffer_id);
-
-    assert(obj_buffer);
-    i965_destroy_buffer(&i965->buffer_heap, (struct object_base *)obj_buffer);
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_BeginPicture(VADriverContextP ctx,
-                  VAContextID context,
-                  VASurfaceID render_target)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_context *obj_context = CONTEXT(context);
-    struct object_surface *obj_surface = SURFACE(render_target);
-    struct object_config *obj_config;
-    VAContextID config;
-    VAStatus vaStatus;
-
-    assert(obj_context);
-    assert(obj_surface);
-
-    config = obj_context->config_id;
-    obj_config = CONFIG(config);
-    assert(obj_config);
-
-    switch (obj_config->profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        vaStatus = VA_STATUS_SUCCESS;
-        break;
-
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        vaStatus = VA_STATUS_SUCCESS;
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-        vaStatus = VA_STATUS_SUCCESS;
-        break;
-
-    default:
-        assert(0);
-        vaStatus = VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
-        break;
-    }
-
-    if (obj_context->codec_type == CODEC_ENC)
-        obj_context->codec_state.enc.current_render_target = render_target;     /*This is input new frame*/
-    else
-        obj_context->codec_state.dec.current_render_target = render_target;
-
-    return vaStatus;
-}
-
-static VAStatus
-i965_render_picture_parameter_buffer(VADriverContextP ctx,
-                                     struct object_context *obj_context,
-                                     struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.dec.pic_param);
-    i965_reference_buffer_store(&obj_context->codec_state.dec.pic_param,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_render_iq_matrix_buffer(VADriverContextP ctx,
-                             struct object_context *obj_context,
-                             struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.dec.iq_matrix);
-    i965_reference_buffer_store(&obj_context->codec_state.dec.iq_matrix,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_render_bit_plane_buffer(VADriverContextP ctx,
-                             struct object_context *obj_context,
-                             struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.dec.bit_plane);
-    i965_reference_buffer_store(&obj_context->codec_state.dec.bit_plane,
-                                obj_buffer->buffer_store);
-    
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_render_slice_parameter_buffer(VADriverContextP ctx,
-                                   struct object_context *obj_context,
-                                   struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    
-    if (obj_context->codec_state.dec.num_slice_params == obj_context->codec_state.dec.max_slice_params) {
-        obj_context->codec_state.dec.slice_params = realloc(obj_context->codec_state.dec.slice_params,
-                                                         (obj_context->codec_state.dec.max_slice_params + NUM_SLICES) * sizeof(*obj_context->codec_state.dec.slice_params));
-        memset(obj_context->codec_state.dec.slice_params + obj_context->codec_state.dec.max_slice_params, 0, NUM_SLICES * sizeof(*obj_context->codec_state.dec.slice_params));
-        obj_context->codec_state.dec.max_slice_params += NUM_SLICES;
-    }
-        
-    i965_release_buffer_store(&obj_context->codec_state.dec.slice_params[obj_context->codec_state.dec.num_slice_params]);
-    i965_reference_buffer_store(&obj_context->codec_state.dec.slice_params[obj_context->codec_state.dec.num_slice_params],
-                                obj_buffer->buffer_store);
-    obj_context->codec_state.dec.num_slice_params++;
-    
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_render_slice_data_buffer(VADriverContextP ctx,
-                              struct object_context *obj_context,
-                              struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->buffer == NULL);
-    assert(obj_buffer->buffer_store->bo);
-
-    if (obj_context->codec_state.dec.num_slice_datas == obj_context->codec_state.dec.max_slice_datas) {
-        obj_context->codec_state.dec.slice_datas = realloc(obj_context->codec_state.dec.slice_datas,
-                                                        (obj_context->codec_state.dec.max_slice_datas + NUM_SLICES) * sizeof(*obj_context->codec_state.dec.slice_datas));
-        memset(obj_context->codec_state.dec.slice_datas + obj_context->codec_state.dec.max_slice_datas, 0, NUM_SLICES * sizeof(*obj_context->codec_state.dec.slice_datas));
-        obj_context->codec_state.dec.max_slice_datas += NUM_SLICES;
-    }
-        
-    i965_release_buffer_store(&obj_context->codec_state.dec.slice_datas[obj_context->codec_state.dec.num_slice_datas]);
-    i965_reference_buffer_store(&obj_context->codec_state.dec.slice_datas[obj_context->codec_state.dec.num_slice_datas],
-                                obj_buffer->buffer_store);
-    obj_context->codec_state.dec.num_slice_datas++;
-    
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus 
-i965_decoder_render_picture(VADriverContextP ctx,
-                            VAContextID context,
-                            VABufferID *buffers,
-                            int num_buffers)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_context *obj_context = CONTEXT(context);
-    VAStatus vaStatus;
-    int i;
-
-    for (i = 0; i < num_buffers; i++) {
-        struct object_buffer *obj_buffer = BUFFER(buffers[i]);
-        assert(obj_buffer);
-
-        switch (obj_buffer->type) {
-        case VAPictureParameterBufferType:
-            vaStatus = i965_render_picture_parameter_buffer(ctx, obj_context, obj_buffer);
-            break;
-            
-        case VAIQMatrixBufferType:
-            vaStatus = i965_render_iq_matrix_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VABitPlaneBufferType:
-            vaStatus = i965_render_bit_plane_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VASliceParameterBufferType:
-            vaStatus = i965_render_slice_parameter_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VASliceDataBufferType:
-            vaStatus = i965_render_slice_data_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        default:
-            vaStatus = VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE;
-            break;
-        }
-    }
-
-    return vaStatus;
-}
-
-static VAStatus
-i965_encoder_render_squence_parameter_buffer(VADriverContextP ctx, 
-                                             struct object_context *obj_context,
-                                             struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.enc.seq_param);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.seq_param,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-
-static VAStatus
-i965_encoder_render_picture_parameter_buffer(VADriverContextP ctx, 
-                                             struct object_context *obj_context,
-                                             struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.enc.pic_param);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.pic_param,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_encoder_render_slice_parameter_buffer(VADriverContextP ctx, 
-                                           struct object_context *obj_context,
-                                           struct object_buffer *obj_buffer)
-{
-    if (obj_context->codec_state.enc.num_slice_params == obj_context->codec_state.enc.max_slice_params) {
-        obj_context->codec_state.enc.slice_params = realloc(obj_context->codec_state.enc.slice_params,
-                                                            (obj_context->codec_state.enc.max_slice_params + NUM_SLICES) * sizeof(*obj_context->codec_state.enc.slice_params));
-        memset(obj_context->codec_state.enc.slice_params + obj_context->codec_state.enc.max_slice_params, 0, NUM_SLICES * sizeof(*obj_context->codec_state.enc.slice_params));
-        obj_context->codec_state.enc.max_slice_params += NUM_SLICES;
-    }
-
-    i965_release_buffer_store(&obj_context->codec_state.enc.slice_params[obj_context->codec_state.enc.num_slice_params]);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.slice_params[obj_context->codec_state.enc.num_slice_params],
-                                obj_buffer->buffer_store);
-    obj_context->codec_state.enc.num_slice_params++;
-    
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_encoder_render_picture_control_buffer(VADriverContextP ctx, 
-                                           struct object_context *obj_context,
-                                           struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.enc.pic_control);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.pic_control,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_encoder_render_qmatrix_buffer(VADriverContextP ctx, 
-                                   struct object_context *obj_context,
-                                   struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.enc.q_matrix);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.iq_matrix,
-                                obj_buffer->buffer_store);
-    
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_encoder_render_iqmatrix_buffer(VADriverContextP ctx, 
-                                    struct object_context *obj_context,
-                                    struct object_buffer *obj_buffer)
-{
-    assert(obj_buffer->buffer_store->bo == NULL);
-    assert(obj_buffer->buffer_store->buffer);
-    i965_release_buffer_store(&obj_context->codec_state.enc.iq_matrix);
-    i965_reference_buffer_store(&obj_context->codec_state.enc.iq_matrix,
-                                obj_buffer->buffer_store);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus 
-i965_encoder_render_picture(VADriverContextP ctx,
-                            VAContextID context,
-                            VABufferID *buffers,
-                            int num_buffers)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_context *obj_context = CONTEXT(context);
-    VAStatus vaStatus;
-    int i;
-
-    for (i = 0; i < num_buffers; i++) {  
-        struct object_buffer *obj_buffer = BUFFER(buffers[i]);
-        assert(obj_buffer);
-
-        switch (obj_buffer->type) {
-        case VAEncSequenceParameterBufferType:
-            vaStatus = i965_encoder_render_squence_parameter_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VAEncPictureParameterBufferType:
-            vaStatus = i965_encoder_render_picture_parameter_buffer(ctx, obj_context, obj_buffer);
-            break;             
-
-        case VAEncSliceParameterBufferType:
-            vaStatus = i965_encoder_render_slice_parameter_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VAPictureParameterBufferType:
-            vaStatus = i965_encoder_render_picture_control_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VAQMatrixBufferType:
-            vaStatus = i965_encoder_render_qmatrix_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        case VAIQMatrixBufferType:
-            vaStatus = i965_encoder_render_iqmatrix_buffer(ctx, obj_context, obj_buffer);
-            break;
-
-        default:
-            vaStatus = VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE;
-            break;
-        }
-    }  
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_RenderPicture(VADriverContextP ctx,
-                   VAContextID context,
-                   VABufferID *buffers,
-                   int num_buffers)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_context *obj_context;
-    struct object_config *obj_config;
-    VAContextID config;
-    VAStatus vaStatus = VA_STATUS_ERROR_UNKNOWN;
-
-    obj_context = CONTEXT(context);
-    assert(obj_context);
-
-    config = obj_context->config_id;
-    obj_config = CONFIG(config);
-    assert(obj_config);
-
-    if (VAEntrypointEncSlice == obj_config->entrypoint ){
-        vaStatus = i965_encoder_render_picture(ctx, context, buffers, num_buffers);
-    } else {
-        vaStatus = i965_decoder_render_picture(ctx, context, buffers, num_buffers);
-    }
-
-    return vaStatus;
-}
-
-VAStatus 
-i965_EndPicture(VADriverContextP ctx, VAContextID context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_context *obj_context = CONTEXT(context);
-    struct object_config *obj_config;
-    VAContextID config;
-    int i;
-
-    assert(obj_context);
-    config = obj_context->config_id;
-    obj_config = CONFIG(config);
-    assert(obj_config);
-
-    if (obj_context->codec_type == CODEC_ENC) {
-        assert(VAEntrypointEncSlice == obj_config->entrypoint);
-
-        assert(obj_context->codec_state.enc.pic_param);
-        assert(obj_context->codec_state.enc.seq_param);
-        assert(obj_context->codec_state.enc.num_slice_params >= 1);
-    } else {
-        assert(obj_context->codec_state.dec.pic_param);
-        assert(obj_context->codec_state.dec.num_slice_params >= 1);
-        assert(obj_context->codec_state.dec.num_slice_datas >= 1);
-        assert(obj_context->codec_state.dec.num_slice_params == obj_context->codec_state.dec.num_slice_datas);
-    }
-
-    assert(obj_context->hw_context->run);
-    obj_context->hw_context->run(ctx, obj_config->profile, &obj_context->codec_state, obj_context->hw_context);
-
-    if (obj_context->codec_type == CODEC_ENC) {
-        obj_context->codec_state.enc.current_render_target = VA_INVALID_SURFACE;
-        obj_context->codec_state.enc.num_slice_params = 0;
-        i965_release_buffer_store(&obj_context->codec_state.enc.pic_param);
-        i965_release_buffer_store(&obj_context->codec_state.enc.seq_param);
-
-        for (i = 0; i < obj_context->codec_state.enc.num_slice_params; i++) {
-            i965_release_buffer_store(&obj_context->codec_state.enc.slice_params[i]);
-        }
-    } else {
-        obj_context->codec_state.dec.current_render_target = -1;
-        obj_context->codec_state.dec.num_slice_params = 0;
-        obj_context->codec_state.dec.num_slice_datas = 0;
-        i965_release_buffer_store(&obj_context->codec_state.dec.pic_param);
-        i965_release_buffer_store(&obj_context->codec_state.dec.iq_matrix);
-        i965_release_buffer_store(&obj_context->codec_state.dec.bit_plane);
-
-        for (i = 0; i < obj_context->codec_state.dec.num_slice_params; i++) {
-            i965_release_buffer_store(&obj_context->codec_state.dec.slice_params[i]);
-            i965_release_buffer_store(&obj_context->codec_state.dec.slice_datas[i]);
-        }
-    }
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_SyncSurface(VADriverContextP ctx,
-                 VASurfaceID render_target)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_surface *obj_surface = SURFACE(render_target);
-
-    assert(obj_surface);
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_QuerySurfaceStatus(VADriverContextP ctx,
-                        VASurfaceID render_target,
-                        VASurfaceStatus *status)        /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct object_surface *obj_surface = SURFACE(render_target);
-
-    assert(obj_surface);
-
-    /* Usually GEM will handle synchronization with the graphics hardware */
-#if 0
-    if (obj_surface->bo) {
-        dri_bo_map(obj_surface->bo, 0);
-        dri_bo_unmap(obj_surface->bo);
-    }
-#endif
-    
-    *status = obj_surface->status;
-
-    return VA_STATUS_SUCCESS;
-}
-
-
-/* 
- * Query display attributes 
- * The caller must provide a "attr_list" array that can hold at
- * least vaMaxNumDisplayAttributes() entries. The actual number of attributes
- * returned in "attr_list" is returned in "num_attributes".
- */
-VAStatus 
-i965_QueryDisplayAttributes(VADriverContextP ctx,
-                            VADisplayAttribute *attr_list,    /* out */
-                            int *num_attributes)              /* out */
-{
-    if (num_attributes)
-        *num_attributes = 0;
-
-    return VA_STATUS_SUCCESS;
-}
-
-/* 
- * Get display attributes 
- * This function returns the current attribute values in "attr_list".
- * Only attributes returned with VA_DISPLAY_ATTRIB_GETTABLE set in the "flags" field
- * from vaQueryDisplayAttributes() can have their values retrieved.  
- */
-VAStatus 
-i965_GetDisplayAttributes(VADriverContextP ctx,
-                          VADisplayAttribute *attr_list,    /* in/out */
-                          int num_attributes)
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-/* 
- * Set display attributes 
- * Only attributes returned with VA_DISPLAY_ATTRIB_SETTABLE set in the "flags" field
- * from vaQueryDisplayAttributes() can be set.  If the attribute is not settable or 
- * the value is out of range, the function returns VA_STATUS_ERROR_ATTR_NOT_SUPPORTED
- */
-VAStatus 
-i965_SetDisplayAttributes(VADriverContextP ctx,
-                          VADisplayAttribute *attr_list,
-                          int num_attributes)
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-VAStatus 
-i965_DbgCopySurfaceToBuffer(VADriverContextP ctx,
-                            VASurfaceID surface,
-                            void **buffer,              /* out */
-                            unsigned int *stride)       /* out */
-{
-    /* TODO */
-    return VA_STATUS_ERROR_UNIMPLEMENTED;
-}
-
-static VAStatus 
-i965_Init(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-
-    if (intel_driver_init(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    if (IS_G4X(i965->intel.device_id))
-        i965->codec_info = &g4x_hw_codec_info;
-    else if (IS_IRONLAKE(i965->intel.device_id))
-        i965->codec_info = &ironlake_hw_codec_info;
-    else if (IS_GEN6(i965->intel.device_id))
-        i965->codec_info = &gen6_hw_codec_info;
-    else if (IS_GEN7(i965->intel.device_id))
-        i965->codec_info = &gen7_hw_codec_info;
-    else
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    if (i965_post_processing_init(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    if (i965_render_init(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    _i965InitMutex(&i965->render_mutex);
-    i965->batch = intel_batchbuffer_new(&i965->intel, I915_EXEC_RENDER);
-
-    return VA_STATUS_SUCCESS;
-}
-
-static void
-i965_destroy_heap(struct object_heap *heap, 
-                  void (*func)(struct object_heap *heap, struct object_base *object))
-{
-    struct object_base *object;
-    object_heap_iterator iter;    
-
-    object = object_heap_first(heap, &iter);
-
-    while (object) {
-        if (func)
-            func(heap, object);
-
-        object = object_heap_next(heap, &iter);
-    }
-
-    object_heap_destroy(heap);
-}
-
-
-VAStatus 
-i965_DestroyImage(VADriverContextP ctx, VAImageID image);
-
-VAStatus 
-i965_CreateImage(VADriverContextP ctx,
-                 VAImageFormat *format,
-                 int width,
-                 int height,
-                 VAImage *out_image)        /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_image *obj_image;
-    VAStatus va_status = VA_STATUS_ERROR_OPERATION_FAILED;
-    VAImageID image_id;
-    unsigned int width2, height2, size2, size;
-
-    out_image->image_id = VA_INVALID_ID;
-    out_image->buf      = VA_INVALID_ID;
-
-    image_id = NEW_IMAGE_ID();
-    if (image_id == VA_INVALID_ID)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-
-    obj_image = IMAGE(image_id);
-    if (!obj_image)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-    obj_image->bo         = NULL;
-    obj_image->palette    = NULL;
-    obj_image->derived_surface = VA_INVALID_ID;
-
-    VAImage * const image = &obj_image->image;
-    image->image_id       = image_id;
-    image->buf            = VA_INVALID_ID;
-
-    size    = width * height;
-    width2  = (width  + 1) / 2;
-    height2 = (height + 1) / 2;
-    size2   = width2 * height2;
-
-    image->num_palette_entries = 0;
-    image->entry_bytes         = 0;
-    memset(image->component_order, 0, sizeof(image->component_order));
-
-    switch (format->fourcc) {
-    case VA_FOURCC('I','A','4','4'):
-    case VA_FOURCC('A','I','4','4'):
-        image->num_planes = 1;
-        image->pitches[0] = width;
-        image->offsets[0] = 0;
-        image->data_size  = image->offsets[0] + image->pitches[0] * height;
-        image->num_palette_entries = 16;
-        image->entry_bytes         = 3;
-        image->component_order[0]  = 'R';
-        image->component_order[1]  = 'G';
-        image->component_order[2]  = 'B';
-        break;
-    case VA_FOURCC('A','R','G','B'):
-    case VA_FOURCC('A','B','G','R'):
-    case VA_FOURCC('B','G','R','A'):
-    case VA_FOURCC('R','G','B','A'):
-        image->num_planes = 1;
-        image->pitches[0] = width * 4;
-        image->offsets[0] = 0;
-        image->data_size  = image->offsets[0] + image->pitches[0] * height;
-        break;
-    case VA_FOURCC('Y','V','1','2'):
-        image->num_planes = 3;
-        image->pitches[0] = width;
-        image->offsets[0] = 0;
-        image->pitches[1] = width2;
-        image->offsets[1] = size + size2;
-        image->pitches[2] = width2;
-        image->offsets[2] = size;
-        image->data_size  = size + 2 * size2;
-        break;
-    case VA_FOURCC('I','4','2','0'):
-        image->num_planes = 3;
-        image->pitches[0] = width;
-        image->offsets[0] = 0;
-        image->pitches[1] = width2;
-        image->offsets[1] = size;
-        image->pitches[2] = width2;
-        image->offsets[2] = size + size2;
-        image->data_size  = size + 2 * size2;
-        break;
-    case VA_FOURCC('N','V','1','2'):
-        image->num_planes = 2;
-        image->pitches[0] = width;
-        image->offsets[0] = 0;
-        image->pitches[1] = width;
-        image->offsets[1] = size;
-        image->data_size  = size + 2 * size2;
-        break;
-    default:
-        goto error;
-    }
-
-    va_status = i965_CreateBuffer(ctx, 0, VAImageBufferType,
-                                  image->data_size, 1, NULL, &image->buf);
-    if (va_status != VA_STATUS_SUCCESS)
-        goto error;
-
-    obj_image->bo = BUFFER(image->buf)->buffer_store->bo;
-    dri_bo_reference(obj_image->bo);
-
-    if (image->num_palette_entries > 0 && image->entry_bytes > 0) {
-        obj_image->palette = malloc(image->num_palette_entries * sizeof(obj_image->palette));
-        if (!obj_image->palette)
-            goto error;
-    }
-
-    image->image_id             = image_id;
-    image->format               = *format;
-    image->width                = width;
-    image->height               = height;
-
-    *out_image                  = *image;
-    return VA_STATUS_SUCCESS;
-
- error:
-    i965_DestroyImage(ctx, image_id);
-    return va_status;
-}
-
-void 
-i965_check_alloc_surface_bo(VADriverContextP ctx,
-                            struct object_surface *obj_surface,
-                            int tiled,
-                            unsigned int fourcc)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-
-    if (obj_surface->bo)
-        return;
-
-    if (tiled) {
-        uint32_t tiling_mode = I915_TILING_Y; /* always uses Y-tiled format */
-        unsigned long pitch;
-
-        obj_surface->bo = drm_intel_bo_alloc_tiled(i965->intel.bufmgr, 
-                                                   "vaapi surface",
-                                                   obj_surface->width, 
-                                                   obj_surface->height + obj_surface->height / 2,
-                                                   1,
-                                                   &tiling_mode,
-                                                   &pitch,
-                                                   0);
-        assert(tiling_mode == I915_TILING_Y);
-        assert(pitch == obj_surface->width);
-    } else {
-        obj_surface->bo = dri_bo_alloc(i965->intel.bufmgr,
-                                       "vaapi surface",
-                                       obj_surface->size,
-                                       0x1000);
-    }
-
-    obj_surface->fourcc = fourcc;
-    assert(obj_surface->bo);
-}
-
-VAStatus i965_DeriveImage(VADriverContextP ctx,
-                          VASurfaceID surface,
-                          VAImage *out_image)        /* out */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct object_image *obj_image;
-    struct object_surface *obj_surface; 
-    VAImageID image_id;
-    unsigned int w_pitch, h_pitch;
-    unsigned int data_size;
-    VAStatus va_status;
-
-    out_image->image_id = VA_INVALID_ID;
-    obj_surface = SURFACE(surface);
-
-    if (!obj_surface)
-        return VA_STATUS_ERROR_INVALID_SURFACE;
-
-    w_pitch = obj_surface->width;
-    h_pitch = obj_surface->height;
-    data_size = obj_surface->orig_width * obj_surface->orig_height +
-        2 * (((obj_surface->orig_width + 1) / 2) * ((obj_surface->orig_height + 1) / 2));
-
-    image_id = NEW_IMAGE_ID();
-
-    if (image_id == VA_INVALID_ID)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-
-    obj_image = IMAGE(image_id);
-    
-    if (!obj_image)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED;
-
-    obj_image->bo = NULL;
-    obj_image->palette = NULL;
-    obj_image->derived_surface = VA_INVALID_ID;
-
-    VAImage * const image = &obj_image->image;
-    
-    memset(image, 0, sizeof(*image));
-    image->image_id = image_id;
-    image->buf = VA_INVALID_ID;
-    image->num_palette_entries = 0;
-    image->entry_bytes = 0;
-    image->width = obj_surface->orig_width;
-    image->height = obj_surface->orig_height;
-    image->data_size = data_size;
-
-    if (!render_state->inited) {
-            image->format.fourcc = VA_FOURCC('Y','V','1','2');
-            image->format.byte_order = VA_LSB_FIRST;
-            image->format.bits_per_pixel = 12;
-            image->num_planes = 3;
-            image->pitches[0] = w_pitch;
-            image->offsets[0] = 0;
-            image->pitches[1] = w_pitch / 2;
-            image->offsets[1] = w_pitch * h_pitch;
-            image->pitches[2] = w_pitch / 2;
-            image->offsets[2] = w_pitch * h_pitch + (w_pitch / 2) * (h_pitch / 2);
-    } else {
-        if (render_state->interleaved_uv) {
-            image->format.fourcc = VA_FOURCC('N','V','1','2');
-            image->format.byte_order = VA_LSB_FIRST;
-            image->format.bits_per_pixel = 12;
-            image->num_planes = 2;
-            image->pitches[0] = w_pitch;
-            image->offsets[0] = 0;
-            image->pitches[1] = w_pitch;
-            image->offsets[1] = w_pitch * h_pitch;
-        } else {
-            image->format.fourcc = VA_FOURCC('I','4','2','0');
-            image->format.byte_order = VA_LSB_FIRST;
-            image->format.bits_per_pixel = 12;
-            image->num_planes = 3;
-            image->pitches[0] = w_pitch;
-            image->offsets[0] = 0;
-            image->pitches[1] = w_pitch / 2;
-            image->offsets[1] = w_pitch * h_pitch;
-            image->pitches[2] = w_pitch / 2;
-            image->offsets[2] = w_pitch * h_pitch + (w_pitch / 2) * (h_pitch / 2);
-        }
-    }
-
-    i965_check_alloc_surface_bo(ctx, obj_surface, HAS_TILED_SURFACE(i965), image->format.fourcc);
-    va_status = i965_create_buffer_internal(ctx, 0, VAImageBufferType,
-                                            obj_surface->size, 1, NULL, obj_surface->bo, &image->buf);
-    if (va_status != VA_STATUS_SUCCESS)
-        goto error;
-
-    obj_image->bo = BUFFER(image->buf)->buffer_store->bo;
-    dri_bo_reference(obj_image->bo);
-
-    if (image->num_palette_entries > 0 && image->entry_bytes > 0) {
-        obj_image->palette = malloc(image->num_palette_entries * sizeof(obj_image->palette));
-        if (!obj_image->palette) {
-            va_status = VA_STATUS_ERROR_ALLOCATION_FAILED;
-            goto error;
-        }
-    }
-
-    *out_image = *image;
-    obj_surface->flags |= SURFACE_DERIVED;
-    obj_image->derived_surface = surface;
-
-    return VA_STATUS_SUCCESS;
-
- error:
-    i965_DestroyImage(ctx, image_id);
-    return va_status;
-}
-
-static void 
-i965_destroy_image(struct object_heap *heap, struct object_base *obj)
-{
-    object_heap_free(heap, obj);
-}
-
-
-VAStatus 
-i965_DestroyImage(VADriverContextP ctx, VAImageID image)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_image *obj_image = IMAGE(image); 
-    struct object_surface *obj_surface; 
-
-    if (!obj_image)
-        return VA_STATUS_SUCCESS;
-
-    dri_bo_unreference(obj_image->bo);
-    obj_image->bo = NULL;
-
-    if (obj_image->image.buf != VA_INVALID_ID) {
-        i965_DestroyBuffer(ctx, obj_image->image.buf);
-        obj_image->image.buf = VA_INVALID_ID;
-    }
-
-    if (obj_image->palette) {
-        free(obj_image->palette);
-        obj_image->palette = NULL;
-    }
-
-    obj_surface = SURFACE(obj_image->derived_surface);
-
-    if (obj_surface) {
-        obj_surface->flags &= ~SURFACE_DERIVED;
-    }
-
-    i965_destroy_image(&i965->image_heap, (struct object_base *)obj_image);
-
-    return VA_STATUS_SUCCESS;
-}
-
-/*
- * pointer to an array holding the palette data.  The size of the array is
- * num_palette_entries * entry_bytes in size.  The order of the components
- * in the palette is described by the component_order in VASubpicture struct
- */
-VAStatus 
-i965_SetImagePalette(VADriverContextP ctx,
-                     VAImageID image,
-                     unsigned char *palette)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    unsigned int i;
-
-    struct object_image *obj_image = IMAGE(image);
-    if (!obj_image)
-        return VA_STATUS_ERROR_INVALID_IMAGE;
-
-    if (!obj_image->palette)
-        return VA_STATUS_ERROR_ALLOCATION_FAILED; /* XXX: unpaletted/error */
-
-    for (i = 0; i < obj_image->image.num_palette_entries; i++)
-        obj_image->palette[i] = (((unsigned int)palette[3*i + 0] << 16) |
-                                 ((unsigned int)palette[3*i + 1] <<  8) |
-                                 (unsigned int)palette[3*i + 2]);
-    return VA_STATUS_SUCCESS;
-}
-
-static inline void
-memcpy_pic(uint8_t *dst, unsigned int dst_stride,
-           const uint8_t *src, unsigned int src_stride,
-           unsigned int len, unsigned int height)
-{
-    unsigned int i;
-
-    for (i = 0; i < height; i++) {
-        memcpy(dst, src, len);
-        dst += dst_stride;
-        src += src_stride;
-    }
-}
-
-static void
-get_image_i420(struct object_image *obj_image, uint8_t *image_data,
-               struct object_surface *obj_surface,
-               const VARectangle *rect)
-{
-    uint8_t *dst[3], *src[3];
-    const int Y = 0;
-    const int U = obj_image->image.format.fourcc == obj_surface->fourcc ? 1 : 2;
-    const int V = obj_image->image.format.fourcc == obj_surface->fourcc ? 2 : 1;
-    unsigned int tiling, swizzle;
-
-    if (!obj_surface->bo)
-        return;
-
-    assert(obj_surface->fourcc);
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    if (tiling != I915_TILING_NONE)
-        drm_intel_gem_bo_map_gtt(obj_surface->bo);
-    else
-        dri_bo_map(obj_surface->bo, 0);
-
-    if (!obj_surface->bo->virtual)
-        return;
-
-    /* Dest VA image has either I420 or YV12 format.
-       Source VA surface alway has I420 format */
-    dst[Y] = image_data + obj_image->image.offsets[Y];
-    src[0] = (uint8_t *)obj_surface->bo->virtual;
-    dst[U] = image_data + obj_image->image.offsets[U];
-    src[1] = src[0] + obj_surface->width * obj_surface->height;
-    dst[V] = image_data + obj_image->image.offsets[V];
-    src[2] = src[1] + (obj_surface->width / 2) * (obj_surface->height / 2);
-
-    /* Y plane */
-    dst[Y] += rect->y * obj_image->image.pitches[Y] + rect->x;
-    src[0] += rect->y * obj_surface->width + rect->x;
-    memcpy_pic(dst[Y], obj_image->image.pitches[Y],
-               src[0], obj_surface->width,
-               rect->width, rect->height);
-
-    /* U plane */
-    dst[U] += (rect->y / 2) * obj_image->image.pitches[U] + rect->x / 2;
-    src[1] += (rect->y / 2) * obj_surface->width / 2 + rect->x / 2;
-    memcpy_pic(dst[U], obj_image->image.pitches[U],
-               src[1], obj_surface->width / 2,
-               rect->width / 2, rect->height / 2);
-
-    /* V plane */
-    dst[V] += (rect->y / 2) * obj_image->image.pitches[V] + rect->x / 2;
-    src[2] += (rect->y / 2) * obj_surface->width / 2 + rect->x / 2;
-    memcpy_pic(dst[V], obj_image->image.pitches[V],
-               src[2], obj_surface->width / 2,
-               rect->width / 2, rect->height / 2);
-
-    if (tiling != I915_TILING_NONE)
-        drm_intel_gem_bo_unmap_gtt(obj_surface->bo);
-    else
-        dri_bo_unmap(obj_surface->bo);
-}
-
-static void
-get_image_nv12(struct object_image *obj_image, uint8_t *image_data,
-               struct object_surface *obj_surface,
-               const VARectangle *rect)
-{
-    uint8_t *dst[2], *src[2];
-    unsigned int tiling, swizzle;
-
-    if (!obj_surface->bo)
-        return;
-
-    assert(obj_surface->fourcc);
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    if (tiling != I915_TILING_NONE)
-        drm_intel_gem_bo_map_gtt(obj_surface->bo);
-    else
-        dri_bo_map(obj_surface->bo, 0);
-
-    if (!obj_surface->bo->virtual)
-        return;
-
-    /* Both dest VA image and source surface have NV12 format */
-    dst[0] = image_data + obj_image->image.offsets[0];
-    src[0] = (uint8_t *)obj_surface->bo->virtual;
-    dst[1] = image_data + obj_image->image.offsets[1];
-    src[1] = src[0] + obj_surface->width * obj_surface->height;
-
-    /* Y plane */
-    dst[0] += rect->y * obj_image->image.pitches[0] + rect->x;
-    src[0] += rect->y * obj_surface->width + rect->x;
-    memcpy_pic(dst[0], obj_image->image.pitches[0],
-               src[0], obj_surface->width,
-               rect->width, rect->height);
-
-    /* UV plane */
-    dst[1] += (rect->y / 2) * obj_image->image.pitches[1] + (rect->x & -2);
-    src[1] += (rect->y / 2) * obj_surface->width + (rect->x & -2);
-    memcpy_pic(dst[1], obj_image->image.pitches[1],
-               src[1], obj_surface->width,
-               rect->width, rect->height / 2);
-
-    if (tiling != I915_TILING_NONE)
-        drm_intel_gem_bo_unmap_gtt(obj_surface->bo);
-    else
-        dri_bo_unmap(obj_surface->bo);
-}
-
-VAStatus 
-i965_GetImage(VADriverContextP ctx,
-              VASurfaceID surface,
-              int x,   /* coordinates of the upper left source pixel */
-              int y,
-              unsigned int width,      /* width and height of the region */
-              unsigned int height,
-              VAImageID image)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-
-    struct object_surface *obj_surface = SURFACE(surface);
-    if (!obj_surface)
-        return VA_STATUS_ERROR_INVALID_SURFACE;
-
-    struct object_image *obj_image = IMAGE(image);
-    if (!obj_image)
-        return VA_STATUS_ERROR_INVALID_IMAGE;
-
-    if (x < 0 || y < 0)
-        return VA_STATUS_ERROR_INVALID_PARAMETER;
-    if (x + width > obj_surface->orig_width ||
-        y + height > obj_surface->orig_height)
-        return VA_STATUS_ERROR_INVALID_PARAMETER;
-    if (x + width > obj_image->image.width ||
-        y + height > obj_image->image.height)
-        return VA_STATUS_ERROR_INVALID_PARAMETER;
-
-    VAStatus va_status;
-    void *image_data = NULL;
-
-    va_status = i965_MapBuffer(ctx, obj_image->image.buf, &image_data);
-    if (va_status != VA_STATUS_SUCCESS)
-        return va_status;
-
-    VARectangle rect;
-    rect.x = x;
-    rect.y = y;
-    rect.width = width;
-    rect.height = height;
-
-    switch (obj_image->image.format.fourcc) {
-    case VA_FOURCC('Y','V','1','2'):
-    case VA_FOURCC('I','4','2','0'):
-        /* I420 is native format for MPEG-2 decoded surfaces */
-        if (render_state->interleaved_uv)
-            goto operation_failed;
-        get_image_i420(obj_image, image_data, obj_surface, &rect);
-        break;
-    case VA_FOURCC('N','V','1','2'):
-        /* NV12 is native format for H.264 decoded surfaces */
-        if (!render_state->interleaved_uv)
-            goto operation_failed;
-        get_image_nv12(obj_image, image_data, obj_surface, &rect);
-        break;
-    default:
-    operation_failed:
-        va_status = VA_STATUS_ERROR_OPERATION_FAILED;
-        break;
-    }
-
-    i965_UnmapBuffer(ctx, obj_image->image.buf);
-    return va_status;
-}
-
-VAStatus 
-i965_PutSurface(VADriverContextP ctx,
-                VASurfaceID surface,
-                void *draw, /* X Drawable */
-                short srcx,
-                short srcy,
-                unsigned short srcw,
-                unsigned short srch,
-                short destx,
-                short desty,
-                unsigned short destw,
-                unsigned short desth,
-                VARectangle *cliprects, /* client supplied clip list */
-                unsigned int number_cliprects, /* number of clip rects in the clip list */
-                unsigned int flags) /* de-interlacing flags */
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
-    struct i965_render_state *render_state = &i965->render_state;
-    struct dri_drawable *dri_drawable;
-    union dri_buffer *buffer;
-    struct intel_region *dest_region;
-    struct object_surface *obj_surface; 
-    VARectangle src_rect, dst_rect;
-    int ret;
-    uint32_t name;
-    Bool new_region = False;
-    int pp_flag = 0;
-
-    /* Currently don't support DRI1 */
-    if (dri_state->driConnectedFlag != VA_DRI2)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    /* Some broken sources such as H.264 conformance case FM2_SVA_C
-     * will get here
-     */
-    obj_surface = SURFACE(surface);
-    if (!obj_surface || !obj_surface->bo)
-        return VA_STATUS_SUCCESS;
-
-    _i965LockMutex(&i965->render_mutex);
-
-    dri_drawable = dri_get_drawable(ctx, (Drawable)draw);
-    assert(dri_drawable);
-
-    buffer = dri_get_rendering_buffer(ctx, dri_drawable);
-    assert(buffer);
-    
-    dest_region = render_state->draw_region;
-
-    if (dest_region) {
-        assert(dest_region->bo);
-        dri_bo_flink(dest_region->bo, &name);
-        
-        if (buffer->dri2.name != name) {
-            new_region = True;
-            dri_bo_unreference(dest_region->bo);
-        }
-    } else {
-        dest_region = (struct intel_region *)calloc(1, sizeof(*dest_region));
-        assert(dest_region);
-        render_state->draw_region = dest_region;
-        new_region = True;
-    }
-
-    if (new_region) {
-        dest_region->x = dri_drawable->x;
-        dest_region->y = dri_drawable->y;
-        dest_region->width = dri_drawable->width;
-        dest_region->height = dri_drawable->height;
-        dest_region->cpp = buffer->dri2.cpp;
-        dest_region->pitch = buffer->dri2.pitch;
-
-        dest_region->bo = intel_bo_gem_create_from_name(i965->intel.bufmgr, "rendering buffer", buffer->dri2.name);
-        assert(dest_region->bo);
-
-        ret = dri_bo_get_tiling(dest_region->bo, &(dest_region->tiling), &(dest_region->swizzle));
-        assert(ret == 0);
-    }
-
-    if ((flags & VA_FILTER_SCALING_MASK) == VA_FILTER_SCALING_NL_ANAMORPHIC)
-        pp_flag |= I965_PP_FLAG_AVS;
-
-    if (flags & (VA_BOTTOM_FIELD | VA_TOP_FIELD))
-        pp_flag |= I965_PP_FLAG_DEINTERLACING;
-
-    src_rect.x      = srcx;
-    src_rect.y      = srcy;
-    src_rect.width  = srcw;
-    src_rect.height = srch;
-
-    dst_rect.x      = destx;
-    dst_rect.y      = desty;
-    dst_rect.width  = destw;
-    dst_rect.height = desth;
-
-    intel_render_put_surface(ctx, surface, &src_rect, &dst_rect, pp_flag);
-
-    if(obj_surface->subpic != VA_INVALID_ID) {
-        intel_render_put_subpicture(ctx, surface, &src_rect, &dst_rect);
-    }
-
-    dri_swap_buffer(ctx, dri_drawable);
-    obj_surface->flags |= SURFACE_DISPLAYED;
-
-    if ((obj_surface->flags & SURFACE_ALL_MASK) == SURFACE_DISPLAYED) {
-        dri_bo_unreference(obj_surface->bo);
-        obj_surface->bo = NULL;
-        obj_surface->flags &= ~SURFACE_REF_DIS_MASK;
-
-        if (obj_surface->free_private_data)
-            obj_surface->free_private_data(&obj_surface->private_data);
-    }
-
-    _i965UnlockMutex(&i965->render_mutex);
-
-    return VA_STATUS_SUCCESS;
-}
-
-VAStatus 
-i965_Terminate(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-
-    if (i965->batch)
-        intel_batchbuffer_free(i965->batch);
-
-    _i965DestroyMutex(&i965->render_mutex);
-
-    if (i965_render_terminate(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    if (i965_post_processing_terminate(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    if (intel_driver_terminate(ctx) == False)
-        return VA_STATUS_ERROR_UNKNOWN;
-
-    i965_destroy_heap(&i965->buffer_heap, i965_destroy_buffer);
-    i965_destroy_heap(&i965->image_heap, i965_destroy_image);
-    i965_destroy_heap(&i965->subpic_heap, i965_destroy_subpic);
-    i965_destroy_heap(&i965->surface_heap, i965_destroy_surface);
-    i965_destroy_heap(&i965->context_heap, i965_destroy_context);
-    i965_destroy_heap(&i965->config_heap, i965_destroy_config);
-
-    free(ctx->pDriverData);
-    ctx->pDriverData = NULL;
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_BufferInfo(
-    VADriverContextP ctx,       /* in */
-    VABufferID buf_id,          /* in */
-    VABufferType *type,         /* out */
-    unsigned int *size,         /* out */
-    unsigned int *num_elements  /* out */
-)
-{
-    struct i965_driver_data *i965 = NULL;
-    struct object_buffer *obj_buffer = NULL;
-
-    i965 = i965_driver_data(ctx);
-    obj_buffer = BUFFER(buf_id);
-
-    *type = obj_buffer->type;
-    *size = obj_buffer->size_element;
-    *num_elements = obj_buffer->num_elements;
-
-    return VA_STATUS_SUCCESS;
-}
-
-static VAStatus
-i965_LockSurface(
-    VADriverContextP ctx,           /* in */
-    VASurfaceID surface,            /* in */
-    unsigned int *fourcc,           /* out */
-    unsigned int *luma_stride,      /* out */
-    unsigned int *chroma_u_stride,  /* out */
-    unsigned int *chroma_v_stride,  /* out */
-    unsigned int *luma_offset,      /* out */
-    unsigned int *chroma_u_offset,  /* out */
-    unsigned int *chroma_v_offset,  /* out */
-    unsigned int *buffer_name,      /* out */
-    void **buffer                   /* out */
-)
-{
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_surface *obj_surface = NULL;
-    VAImage tmpImage;
-
-    assert(fourcc);
-    assert(luma_stride);
-    assert(chroma_u_stride);
-    assert(chroma_v_stride);
-    assert(luma_offset);
-    assert(chroma_u_offset);
-    assert(chroma_v_offset);
-    assert(buffer_name);
-    assert(buffer);
-
-    tmpImage.image_id = VA_INVALID_ID;
-
-    obj_surface = SURFACE(surface);
-    if (obj_surface == NULL) {
-        // Surface is absent.
-        vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER;
-        goto error;
-    }
-
-    // Lock functionality is absent now.
-    if (obj_surface->locked_image_id != VA_INVALID_ID) {
-        // Surface is locked already.
-        vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER;
-        goto error;
-    }
-
-    vaStatus = i965_DeriveImage(
-        ctx,
-        surface,
-        &tmpImage);
-    if (vaStatus != VA_STATUS_SUCCESS) {
-        goto error;
-    }
-
-    obj_surface->locked_image_id = tmpImage.image_id;
-
-    vaStatus = i965_MapBuffer(
-        ctx,
-        tmpImage.buf,
-        buffer);
-    if (vaStatus != VA_STATUS_SUCCESS) {
-        goto error;
-    }
-
-    *fourcc = tmpImage.format.fourcc;
-    *luma_offset = tmpImage.offsets[0];
-    *luma_stride = tmpImage.pitches[0];
-    *chroma_u_offset = tmpImage.offsets[1];
-    *chroma_u_stride = tmpImage.pitches[1];
-    *chroma_v_offset = tmpImage.offsets[2];
-    *chroma_v_stride = tmpImage.pitches[2];
-    *buffer_name = tmpImage.buf;
-
-error:
-    if (vaStatus != VA_STATUS_SUCCESS) {
-        buffer = NULL;
-    }
-
-    return vaStatus;
-}
-
-static VAStatus
-i965_UnlockSurface(
-    VADriverContextP ctx,   /* in */
-    VASurfaceID surface     /* in */
-)
-{
-    VAStatus vaStatus = VA_STATUS_SUCCESS;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct object_image *locked_img = NULL;
-    struct object_surface *obj_surface = NULL;
-
-    obj_surface = SURFACE(surface);
-
-    if (obj_surface == NULL) {
-        vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER;   // Surface is absent
-        goto error;
-    }
-    if (obj_surface->locked_image_id == VA_INVALID_ID) {
-        vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER;   // Surface is not locked
-        goto error;
-    }
-
-    locked_img = IMAGE(obj_surface->locked_image_id);
-    if (locked_img == NULL || (locked_img->image.image_id == VA_INVALID_ID)) {
-        // Work image was deallocated before i965_UnlockSurface()
-        vaStatus = VA_STATUS_ERROR_INVALID_PARAMETER;
-        goto error;
-    }
-
-    vaStatus = i965_UnmapBuffer(
-        ctx,
-        locked_img->image.buf);
-    if (vaStatus != VA_STATUS_SUCCESS) {
-        goto error;
-    }
-
-    vaStatus = i965_DestroyImage(
-        ctx,
-        locked_img->image.image_id);
-    if (vaStatus != VA_STATUS_SUCCESS) {
-        goto error;
-    }
-
-    locked_img->image.image_id = VA_INVALID_ID;
-
- error:
-    return vaStatus;
-}
-
-VAStatus DLL_EXPORT
-VA_DRIVER_INIT_FUNC(VADriverContextP ctx);
-
-VAStatus 
-VA_DRIVER_INIT_FUNC(  VADriverContextP ctx )
-{
-    struct VADriverVTable * const vtable = ctx->vtable;
-    struct i965_driver_data *i965;
-    int result;
-
-    ctx->version_major = VA_MAJOR_VERSION;
-    ctx->version_minor = VA_MINOR_VERSION;
-    ctx->max_profiles = I965_MAX_PROFILES;
-    ctx->max_entrypoints = I965_MAX_ENTRYPOINTS;
-    ctx->max_attributes = I965_MAX_CONFIG_ATTRIBUTES;
-    ctx->max_image_formats = I965_MAX_IMAGE_FORMATS;
-    ctx->max_subpic_formats = I965_MAX_SUBPIC_FORMATS;
-    ctx->max_display_attributes = I965_MAX_DISPLAY_ATTRIBUTES;
-    ctx->str_vendor = I965_STR_VENDOR;
-
-    vtable->vaTerminate = i965_Terminate;
-    vtable->vaQueryConfigEntrypoints = i965_QueryConfigEntrypoints;
-    vtable->vaQueryConfigProfiles = i965_QueryConfigProfiles;
-    vtable->vaQueryConfigEntrypoints = i965_QueryConfigEntrypoints;
-    vtable->vaQueryConfigAttributes = i965_QueryConfigAttributes;
-    vtable->vaCreateConfig = i965_CreateConfig;
-    vtable->vaDestroyConfig = i965_DestroyConfig;
-    vtable->vaGetConfigAttributes = i965_GetConfigAttributes;
-    vtable->vaCreateSurfaces = i965_CreateSurfaces;
-    vtable->vaDestroySurfaces = i965_DestroySurfaces;
-    vtable->vaCreateContext = i965_CreateContext;
-    vtable->vaDestroyContext = i965_DestroyContext;
-    vtable->vaCreateBuffer = i965_CreateBuffer;
-    vtable->vaBufferSetNumElements = i965_BufferSetNumElements;
-    vtable->vaMapBuffer = i965_MapBuffer;
-    vtable->vaUnmapBuffer = i965_UnmapBuffer;
-    vtable->vaDestroyBuffer = i965_DestroyBuffer;
-    vtable->vaBeginPicture = i965_BeginPicture;
-    vtable->vaRenderPicture = i965_RenderPicture;
-    vtable->vaEndPicture = i965_EndPicture;
-    vtable->vaSyncSurface = i965_SyncSurface;
-    vtable->vaQuerySurfaceStatus = i965_QuerySurfaceStatus;
-    vtable->vaPutSurface = i965_PutSurface;
-    vtable->vaQueryImageFormats = i965_QueryImageFormats;
-    vtable->vaCreateImage = i965_CreateImage;
-    vtable->vaDeriveImage = i965_DeriveImage;
-    vtable->vaDestroyImage = i965_DestroyImage;
-    vtable->vaSetImagePalette = i965_SetImagePalette;
-    vtable->vaGetImage = i965_GetImage;
-    vtable->vaPutImage = i965_PutImage;
-    vtable->vaQuerySubpictureFormats = i965_QuerySubpictureFormats;
-    vtable->vaCreateSubpicture = i965_CreateSubpicture;
-    vtable->vaDestroySubpicture = i965_DestroySubpicture;
-    vtable->vaSetSubpictureImage = i965_SetSubpictureImage;
-    vtable->vaSetSubpictureChromakey = i965_SetSubpictureChromakey;
-    vtable->vaSetSubpictureGlobalAlpha = i965_SetSubpictureGlobalAlpha;
-    vtable->vaAssociateSubpicture = i965_AssociateSubpicture;
-    vtable->vaDeassociateSubpicture = i965_DeassociateSubpicture;
-    vtable->vaQueryDisplayAttributes = i965_QueryDisplayAttributes;
-    vtable->vaGetDisplayAttributes = i965_GetDisplayAttributes;
-    vtable->vaSetDisplayAttributes = i965_SetDisplayAttributes;
-    vtable->vaBufferInfo = i965_BufferInfo;
-    vtable->vaLockSurface = i965_LockSurface;
-    vtable->vaUnlockSurface = i965_UnlockSurface;
-    //    vtable->vaDbgCopySurfaceToBuffer = i965_DbgCopySurfaceToBuffer;
-
-    i965 = (struct i965_driver_data *)calloc(1, sizeof(*i965));
-    assert(i965);
-    ctx->pDriverData = (void *)i965;
-
-    result = object_heap_init(&i965->config_heap, 
-                              sizeof(struct object_config), 
-                              CONFIG_ID_OFFSET);
-    assert(result == 0);
-
-    result = object_heap_init(&i965->context_heap, 
-                              sizeof(struct object_context), 
-                              CONTEXT_ID_OFFSET);
-    assert(result == 0);
-
-    result = object_heap_init(&i965->surface_heap, 
-                              sizeof(struct object_surface), 
-                              SURFACE_ID_OFFSET);
-    assert(result == 0);
-
-    result = object_heap_init(&i965->buffer_heap, 
-                              sizeof(struct object_buffer), 
-                              BUFFER_ID_OFFSET);
-    assert(result == 0);
-
-    result = object_heap_init(&i965->image_heap, 
-                              sizeof(struct object_image), 
-                              IMAGE_ID_OFFSET);
-    assert(result == 0);
-
-    result = object_heap_init(&i965->subpic_heap, 
-                              sizeof(struct object_subpic), 
-                              SUBPIC_ID_OFFSET);
-    assert(result == 0);
-    
-    return i965_Init(ctx);
-}
diff --git a/i965_drv_video/i965_drv_video.h b/i965_drv_video/i965_drv_video.h
deleted file mode 100644 (file)
index fd423bc..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#ifndef _I965_DRV_VIDEO_H_
-#define _I965_DRV_VIDEO_H_
-
-#include <va/va.h>
-#include <va/va_backend.h>
-
-#include "i965_mutext.h"
-#include "object_heap.h"
-#include "intel_driver.h"
-
-#define I965_MAX_PROFILES                       11
-#define I965_MAX_ENTRYPOINTS                    5
-#define I965_MAX_CONFIG_ATTRIBUTES              10
-#define I965_MAX_IMAGE_FORMATS                  3
-#define I965_MAX_SUBPIC_FORMATS                 4
-#define I965_MAX_DISPLAY_ATTRIBUTES             4
-#define I965_STR_VENDOR                         "i965 Driver 0.1"
-
-struct i965_kernel 
-{
-    char *name;
-    int interface;
-    const uint32_t (*bin)[4];
-    int size;
-    dri_bo *bo;
-};
-
-struct buffer_store
-{
-    unsigned char *buffer;
-    dri_bo *bo;
-    int ref_count;
-    int num_elements;
-};
-    
-struct object_config 
-{
-    struct object_base base;
-    VAProfile profile;
-    VAEntrypoint entrypoint;
-    VAConfigAttrib attrib_list[I965_MAX_CONFIG_ATTRIBUTES];
-    int num_attribs;
-};
-
-#define NUM_SLICES     10
-
-struct decode_state
-{
-    struct buffer_store *pic_param;
-    struct buffer_store **slice_params;
-    struct buffer_store *iq_matrix;
-    struct buffer_store *bit_plane;
-    struct buffer_store **slice_datas;
-    VASurfaceID current_render_target;
-    int max_slice_params;
-    int max_slice_datas;
-    int num_slice_params;
-    int num_slice_datas;
-};
-
-struct encode_state
-{
-    struct buffer_store *seq_param;
-    struct buffer_store *pic_param;
-    struct buffer_store *pic_control;
-    struct buffer_store *iq_matrix;
-    struct buffer_store *q_matrix;
-    struct buffer_store **slice_params;
-    VASurfaceID current_render_target;
-    int max_slice_params;
-    int num_slice_params;
-};
-
-#define CODEC_DEC       0
-#define CODEC_ENC       1
-
-union codec_state
-{
-    struct decode_state dec;
-    struct encode_state enc;
-};
-
-struct hw_context
-{
-    void (*run)(VADriverContextP ctx, 
-                VAProfile profile, 
-                union codec_state *codec_state,
-                struct hw_context *hw_context);
-    void (*destroy)(void *);
-    struct intel_batchbuffer *batch;
-};
-
-struct object_context 
-{
-    struct object_base base;
-    VAContextID context_id;
-    VAConfigID config_id;
-    VASurfaceID *render_targets;               //input->encode, output->decode
-    int num_render_targets;
-    int picture_width;
-    int picture_height;
-    int flags;
-    int codec_type;
-    union codec_state codec_state;
-    struct hw_context *hw_context;
-};
-
-#define SURFACE_REFERENCED      (1 << 0)
-#define SURFACE_DISPLAYED       (1 << 1)
-#define SURFACE_DERIVED         (1 << 2)
-#define SURFACE_REF_DIS_MASK    ((SURFACE_REFERENCED) | \
-                                 (SURFACE_DISPLAYED))
-#define SURFACE_ALL_MASK        ((SURFACE_REFERENCED) | \
-                                 (SURFACE_DISPLAYED) |  \
-                                 (SURFACE_DERIVED))
-
-struct object_surface 
-{
-    struct object_base base;
-    VASurfaceStatus status;
-    VASubpictureID subpic;
-    int width;
-    int height;
-    int size;
-    int orig_width;
-    int orig_height;
-    int flags;
-    unsigned int fourcc;    
-    dri_bo *bo;
-    VAImageID locked_image_id;
-    void (*free_private_data)(void **data);
-    void *private_data;
-};
-
-struct object_buffer 
-{
-    struct object_base base;
-    struct buffer_store *buffer_store;
-    int max_num_elements;
-    int num_elements;
-    int size_element;
-    VABufferType type;
-};
-
-struct object_image 
-{
-    struct object_base base;
-    VAImage image;
-    dri_bo *bo;
-    unsigned int *palette;
-    VASurfaceID derived_surface;
-};
-
-struct object_subpic 
-{
-    struct object_base base;
-    VAImageID image;
-    VARectangle src_rect;
-    VARectangle dst_rect;
-    unsigned int format;
-    int width;
-    int height;
-    int pitch;
-    dri_bo *bo;
-    unsigned int flags;
-};
-
-struct hw_codec_info
-{
-    struct hw_context *(*dec_hw_context_init)(VADriverContextP, VAProfile);
-    struct hw_context *(*enc_hw_context_init)(VADriverContextP, VAProfile);
-};
-
-
-#include "i965_render.h"
-
-struct i965_driver_data 
-{
-    struct intel_driver_data intel;
-    struct object_heap config_heap;
-    struct object_heap context_heap;
-    struct object_heap surface_heap;
-    struct object_heap buffer_heap;
-    struct object_heap image_heap;
-    struct object_heap subpic_heap;
-    struct hw_codec_info *codec_info;
-
-    _I965Mutex render_mutex;
-    struct intel_batchbuffer *batch;
-    struct i965_render_state render_state;
-    void *pp_context;
-};
-
-#define NEW_CONFIG_ID() object_heap_allocate(&i965->config_heap);
-#define NEW_CONTEXT_ID() object_heap_allocate(&i965->context_heap);
-#define NEW_SURFACE_ID() object_heap_allocate(&i965->surface_heap);
-#define NEW_BUFFER_ID() object_heap_allocate(&i965->buffer_heap);
-#define NEW_IMAGE_ID() object_heap_allocate(&i965->image_heap);
-#define NEW_SUBPIC_ID() object_heap_allocate(&i965->subpic_heap);
-
-#define CONFIG(id) ((struct object_config *)object_heap_lookup(&i965->config_heap, id))
-#define CONTEXT(id) ((struct object_context *)object_heap_lookup(&i965->context_heap, id))
-#define SURFACE(id) ((struct object_surface *)object_heap_lookup(&i965->surface_heap, id))
-#define BUFFER(id) ((struct object_buffer *)object_heap_lookup(&i965->buffer_heap, id))
-#define IMAGE(id) ((struct object_image *)object_heap_lookup(&i965->image_heap, id))
-#define SUBPIC(id) ((struct object_subpic *)object_heap_lookup(&i965->subpic_heap, id))
-
-#define FOURCC_IA44 0x34344149
-#define FOURCC_AI44 0x34344941
-
-#define STRIDE(w)               (((w) + 0xf) & ~0xf)
-#define SIZE_YUV420(w, h)       (h * (STRIDE(w) + STRIDE(w >> 1)))
-
-static INLINE struct i965_driver_data *
-i965_driver_data(VADriverContextP ctx)
-{
-    return (struct i965_driver_data *)(ctx->pDriverData);
-}
-
-void 
-i965_check_alloc_surface_bo(VADriverContextP ctx,
-                            struct object_surface *obj_surface,
-                            int tiled,
-                            unsigned int fourcc);
-
-#endif /* _I965_DRV_VIDEO_H_ */
diff --git a/i965_drv_video/i965_encoder.c b/i965_drv_video/i965_encoder.c
deleted file mode 100644 (file)
index 0b1efef..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Zhou Chang <chang.zhou@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_encoder.h"
-
-static void 
-gen6_encoder_end_picture(VADriverContextP ctx, 
-                         VAProfile profile, 
-                         union codec_state *codec_state,
-                         struct hw_context *hw_context)
-{
-    struct gen6_encoder_context *gen6_encoder_context = (struct gen6_encoder_context *)hw_context;
-    struct encode_state *encode_state = &codec_state->enc;
-    VAStatus vaStatus;
-
-    vaStatus = gen6_vme_pipeline(ctx, profile, encode_state, gen6_encoder_context);
-
-    if (vaStatus == VA_STATUS_SUCCESS)
-        gen6_mfc_pipeline(ctx, profile, encode_state, gen6_encoder_context);
-}
-static void
-gen6_encoder_context_destroy(void *hw_context)
-{
-    struct gen6_encoder_context *gen6_encoder_context = (struct gen6_encoder_context *)hw_context;
-
-    gen6_mfc_context_destroy(&gen6_encoder_context->mfc_context);
-    gen6_vme_context_destroy(&gen6_encoder_context->vme_context);
-    intel_batchbuffer_free(gen6_encoder_context->base.batch);
-    free(gen6_encoder_context);
-}
-
-struct hw_context *
-gen6_enc_hw_context_init(VADriverContextP ctx, VAProfile profile)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct gen6_encoder_context *gen6_encoder_context = calloc(1, sizeof(struct gen6_encoder_context));
-
-    gen6_encoder_context->base.destroy = gen6_encoder_context_destroy;
-    gen6_encoder_context->base.run = gen6_encoder_end_picture;
-    gen6_encoder_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
-
-    gen6_vme_context_init(ctx, &gen6_encoder_context->vme_context);
-    gen6_mfc_context_init(ctx, &gen6_encoder_context->mfc_context);
-
-    return (struct hw_context *)gen6_encoder_context;
-}
diff --git a/i965_drv_video/i965_encoder.h b/i965_drv_video/i965_encoder.h
deleted file mode 100644 (file)
index 555efe3..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Zhou chang <chang.zhou@intel.com>
- *
- */
-
-#ifndef _I965_ENCODER_H_
-#define _I965_ENCODER_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-#include "i965_structs.h"
-#include "i965_drv_video.h"
-
-#include "gen6_vme.h"
-#include "gen6_mfc.h"
-
-struct gen6_encoder_context
-{
-    struct hw_context base;
-    struct gen6_vme_context vme_context;
-    struct gen6_mfc_context mfc_context;
-};
-
-#endif /* _I965_ENCODER_H_ */
-
-
diff --git a/i965_drv_video/i965_media.c b/i965_drv_video/i965_media.c
deleted file mode 100644 (file)
index d6a56d2..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-
-#include "i965_media.h"
-#include "i965_media_mpeg2.h"
-#include "i965_media_h264.h"
-
-static void
-i965_media_pipeline_select(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_media_urb_layout(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct intel_batchbuffer *batch = media_context->base.batch;
-    unsigned int vfe_fence, cs_fence;
-
-    vfe_fence = media_context->urb.cs_start;
-    cs_fence = URB_SIZE((&i965->intel));
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_URB_FENCE | UF0_VFE_REALLOC | UF0_CS_REALLOC | 1);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 
-              (vfe_fence << UF2_VFE_FENCE_SHIFT) |      /* VFE_SIZE */
-              (cs_fence << UF2_CS_FENCE_SHIFT));        /* CS_SIZE */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_media_state_base_address(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx); 
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        BEGIN_BATCH(batch, 8);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 6);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        
-        if (media_context->indirect_object.bo) {
-            OUT_RELOC(batch, media_context->indirect_object.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 
-                      media_context->indirect_object.offset | BASE_ADDRESS_MODIFY);
-        } else {
-            OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        }
-
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    } else {
-        BEGIN_BATCH(batch, 6);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 4);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-
-        if (media_context->indirect_object.bo) {
-            OUT_RELOC(batch, media_context->indirect_object.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 
-                      media_context->indirect_object.offset | BASE_ADDRESS_MODIFY);
-        } else {
-            OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        }
-
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    }
-}
-
-static void
-i965_media_state_pointers(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_MEDIA_STATE_POINTERS | 1);
-
-    if (media_context->extended_state.enabled)
-        OUT_RELOC(batch, media_context->extended_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 1);
-    else
-        OUT_BATCH(batch, 0);
-
-    OUT_RELOC(batch, media_context->vfe_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_media_cs_urb_layout(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CS_URB_STATE | 0);
-    OUT_BATCH(batch,
-              ((media_context->urb.size_cs_entry - 1) << 4) |     /* URB Entry Allocation Size */
-              (media_context->urb.num_cs_entries << 0));          /* Number of URB Entries */
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_media_pipeline_state(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    i965_media_state_base_address(ctx, media_context);
-    i965_media_state_pointers(ctx, media_context);
-    i965_media_cs_urb_layout(ctx, media_context);
-}
-
-static void
-i965_media_constant_buffer(VADriverContextP ctx, struct decode_state *decode_state, struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CONSTANT_BUFFER | (1 << 8) | (2 - 2));
-    OUT_RELOC(batch, media_context->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              media_context->urb.size_cs_entry - 1);
-    ADVANCE_BATCH(batch);    
-}
-
-static void 
-i965_media_depth_buffer(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    BEGIN_BATCH(batch, 6);
-    OUT_BATCH(batch, CMD_DEPTH_BUFFER | 4);
-    OUT_BATCH(batch, (I965_DEPTHFORMAT_D32_FLOAT << 18) | 
-              (I965_SURFACE_NULL << 29));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_media_pipeline_setup(VADriverContextP ctx,
-                          struct decode_state *decode_state,
-                          struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);                             /* step 1 */
-    i965_media_depth_buffer(ctx, media_context);
-    i965_media_pipeline_select(ctx, media_context);                     /* step 2 */
-    i965_media_urb_layout(ctx, media_context);                          /* step 3 */
-    i965_media_pipeline_state(ctx, media_context);                      /* step 4 */
-    i965_media_constant_buffer(ctx, decode_state, media_context);       /* step 5 */
-    assert(media_context->media_objects);
-    media_context->media_objects(ctx, decode_state, media_context);     /* step 6 */
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void 
-i965_media_decode_init(VADriverContextP ctx, 
-                       VAProfile profile, 
-                       struct decode_state *decode_state, 
-                       struct i965_media_context *media_context)
-{
-    int i;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    dri_bo *bo;
-
-    /* constant buffer */
-    dri_bo_unreference(media_context->curbe.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "constant buffer",
-                      4096, 64);
-    assert(bo);
-    media_context->curbe.bo = bo;
-
-    /* surface state */
-    for (i = 0; i < MAX_MEDIA_SURFACES; i++) {
-        dri_bo_unreference(media_context->surface_state[i].bo);
-        media_context->surface_state[i].bo = NULL;
-    }
-
-    /* binding table */
-    dri_bo_unreference(media_context->binding_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "binding table",
-                      MAX_MEDIA_SURFACES * sizeof(unsigned int), 32);
-    assert(bo);
-    media_context->binding_table.bo = bo;
-
-    /* interface descriptor remapping table */
-    dri_bo_unreference(media_context->idrt.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "interface discriptor", 
-                      MAX_INTERFACE_DESC * sizeof(struct i965_interface_descriptor), 16);
-    assert(bo);
-    media_context->idrt.bo = bo;
-
-    /* vfe state */
-    dri_bo_unreference(media_context->vfe_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "vfe state", 
-                      sizeof(struct i965_vfe_state), 32);
-    assert(bo);
-    media_context->vfe_state.bo = bo;
-
-    /* extended state */
-    media_context->extended_state.enabled = 0;
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        i965_media_mpeg2_decode_init(ctx, decode_state, media_context);
-        break;
-        
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        i965_media_h264_decode_init(ctx, decode_state, media_context);
-        break;
-
-    default:
-        assert(0);
-        break;
-    }
-}
-
-static void 
-i965_media_decode_picture(VADriverContextP ctx, 
-                          VAProfile profile, 
-                          union codec_state *codec_state,
-                          struct hw_context *hw_context)
-{
-    struct i965_media_context *media_context = (struct i965_media_context *)hw_context;
-    struct decode_state *decode_state = &codec_state->dec;
-
-    i965_media_decode_init(ctx, profile, decode_state, media_context);
-    assert(media_context->media_states_setup);
-    media_context->media_states_setup(ctx, decode_state, media_context);
-    i965_media_pipeline_setup(ctx, decode_state, media_context);
-    intel_batchbuffer_flush(hw_context->batch);
-}
-
-static void
-i965_media_context_destroy(void *hw_context)
-{
-    struct i965_media_context *media_context = (struct i965_media_context *)hw_context;
-    int i; 
-
-    if (media_context->free_private_context)
-        media_context->free_private_context(&media_context->private_context);
-
-    for (i = 0; i < MAX_MEDIA_SURFACES; i++) {
-        dri_bo_unreference(media_context->surface_state[i].bo);
-        media_context->surface_state[i].bo = NULL;
-    }
-    
-    dri_bo_unreference(media_context->extended_state.bo);
-    media_context->extended_state.bo = NULL;
-
-    dri_bo_unreference(media_context->vfe_state.bo);
-    media_context->vfe_state.bo = NULL;
-
-    dri_bo_unreference(media_context->idrt.bo);
-    media_context->idrt.bo = NULL;
-
-    dri_bo_unreference(media_context->binding_table.bo);
-    media_context->binding_table.bo = NULL;
-
-    dri_bo_unreference(media_context->curbe.bo);
-    media_context->curbe.bo = NULL;
-
-    dri_bo_unreference(media_context->indirect_object.bo);
-    media_context->indirect_object.bo = NULL;
-
-    intel_batchbuffer_free(media_context->base.batch);
-    free(media_context);
-}
-
-struct hw_context *
-g4x_dec_hw_context_init(VADriverContextP ctx, VAProfile profile)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct i965_media_context *media_context = calloc(1, sizeof(struct i965_media_context));
-
-    media_context->base.destroy = i965_media_context_destroy;
-    media_context->base.run = i965_media_decode_picture;
-    media_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        i965_media_mpeg2_dec_context_init(ctx, media_context);
-        break;
-
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-    default:
-        assert(0);
-        break;
-    }
-
-    return (struct hw_context *)media_context;
-}
-
-struct hw_context *
-ironlake_dec_hw_context_init(VADriverContextP ctx, VAProfile profile)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct i965_media_context *media_context = calloc(1, sizeof(struct i965_media_context));
-
-    media_context->base.destroy = i965_media_context_destroy;
-    media_context->base.run = i965_media_decode_picture;
-    media_context->base.batch = intel_batchbuffer_new(intel, I915_EXEC_RENDER);
-
-    switch (profile) {
-    case VAProfileMPEG2Simple:
-    case VAProfileMPEG2Main:
-        i965_media_mpeg2_dec_context_init(ctx, media_context);
-        break;
-
-    case VAProfileH264Baseline:
-    case VAProfileH264Main:
-    case VAProfileH264High:
-        i965_media_h264_dec_context_init(ctx, media_context);
-        break;
-
-    case VAProfileVC1Simple:
-    case VAProfileVC1Main:
-    case VAProfileVC1Advanced:
-    default:
-        assert(0);
-        break;
-    }
-
-    return (struct hw_context *)media_context;
-}
diff --git a/i965_drv_video/i965_media.h b/i965_drv_video/i965_media.h
deleted file mode 100644 (file)
index e309d5b..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#ifndef _I965_MEDIA_H_
-#define _I965_MEDIA_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-#include "i965_structs.h"
-
-#define MAX_INTERFACE_DESC      16
-#define MAX_MEDIA_SURFACES      34
-
-struct decode_state;
-
-struct i965_media_context
-{
-    struct hw_context base;
-
-    struct {
-        dri_bo *bo;
-    } surface_state[MAX_MEDIA_SURFACES];
-
-    struct {
-        dri_bo *bo;
-    } binding_table;
-
-    struct {
-        dri_bo *bo;
-    } idrt;  /* interface descriptor remap table */
-
-    struct {
-        dri_bo *bo;
-        int enabled;
-    } extended_state;
-
-    struct {
-        dri_bo *bo;
-    } vfe_state;
-
-    struct {
-        dri_bo *bo;
-    } curbe;
-
-    struct {
-        dri_bo *bo;
-        unsigned long offset;
-    } indirect_object;
-
-    struct {
-        unsigned int vfe_start;
-        unsigned int cs_start;
-
-        unsigned int num_vfe_entries;
-        unsigned int num_cs_entries;
-
-        unsigned int size_vfe_entry;
-        unsigned int size_cs_entry;
-    } urb;
-
-    void *private_context;
-    void (*media_states_setup)(VADriverContextP ctx, struct decode_state *decode_state, struct i965_media_context *media_context);
-    void (*media_objects)(VADriverContextP ctx, struct decode_state *decode_state, struct i965_media_context *media_context);
-    void (*free_private_context)(void **data);
-};
-
-#endif /* _I965_MEDIA_H_ */
diff --git a/i965_drv_video/i965_media_h264.c b/i965_drv_video/i965_media_h264.c
deleted file mode 100644 (file)
index ddc43de..0000000
+++ /dev/null
@@ -1,913 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#include "va_backend.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_media.h"
-#include "i965_media_h264.h"
-
-enum {
-    INTRA_16X16 = 0,
-    INTRA_8X8,
-    INTRA_4X4,
-    INTRA_PCM,
-    FRAMEMB_MOTION,
-    FIELDMB_MOTION,
-    MBAFF_MOTION,
-};
-
-struct intra_kernel_header
-{
-    /* R1.0 */
-    unsigned char intra_4x4_luma_mode_0_offset;
-    unsigned char intra_4x4_luma_mode_1_offset;
-    unsigned char intra_4x4_luma_mode_2_offset;
-    unsigned char intra_4x4_luma_mode_3_offset;
-    /* R1.1 */
-    unsigned char intra_4x4_luma_mode_4_offset;
-    unsigned char intra_4x4_luma_mode_5_offset;
-    unsigned char intra_4x4_luma_mode_6_offset;
-    unsigned char intra_4x4_luma_mode_7_offset;
-    /* R1.2 */
-    unsigned char intra_4x4_luma_mode_8_offset;
-    unsigned char pad0;
-    unsigned short top_reference_offset;
-    /* R1.3 */
-    unsigned char intra_8x8_luma_mode_0_offset;
-    unsigned char intra_8x8_luma_mode_1_offset;
-    unsigned char intra_8x8_luma_mode_2_offset;
-    unsigned char intra_8x8_luma_mode_3_offset;
-    /* R1.4 */
-    unsigned char intra_8x8_luma_mode_4_offset;
-    unsigned char intra_8x8_luma_mode_5_offset;
-    unsigned char intra_8x8_luma_mode_6_offset;
-    unsigned char intra_8x8_luma_mode_7_offset;
-    /* R1.5 */
-    unsigned char intra_8x8_luma_mode_8_offset;
-    unsigned char pad1;
-    unsigned short const_reverse_data_transfer_intra_8x8;
-    /* R1.6 */
-    unsigned char intra_16x16_luma_mode_0_offset;
-    unsigned char intra_16x16_luma_mode_1_offset;
-    unsigned char intra_16x16_luma_mode_2_offset;
-    unsigned char intra_16x16_luma_mode_3_offset;
-    /* R1.7 */
-    unsigned char intra_chroma_mode_0_offset;
-    unsigned char intra_chroma_mode_1_offset;
-    unsigned char intra_chroma_mode_2_offset;
-    unsigned char intra_chroma_mode_3_offset;
-    /* R2.0 */
-    unsigned int const_intra_16x16_plane_0;
-    /* R2.1 */
-    unsigned int const_intra_16x16_chroma_plane_0;
-    /* R2.2 */
-    unsigned int const_intra_16x16_chroma_plane_1;
-    /* R2.3 */
-    unsigned int const_intra_16x16_plane_1;
-    /* R2.4 */
-    unsigned int left_shift_count_reverse_dw_ordering;
-    /* R2.5 */
-    unsigned int const_reverse_data_transfer_intra_4x4;
-    /* R2.6 */
-    unsigned int intra_4x4_pred_mode_offset;
-};
-
-struct inter_kernel_header
-{
-    unsigned short weight_offset;
-    unsigned char weight_offset_flag;
-    unsigned char pad0;
-};
-
-#include "shaders/h264/mc/export.inc"
-static unsigned long avc_mc_kernel_offset_gen4[] = {
-    INTRA_16x16_IP * INST_UNIT_GEN4,
-    INTRA_8x8_IP * INST_UNIT_GEN4,
-    INTRA_4x4_IP * INST_UNIT_GEN4,
-    INTRA_PCM_IP * INST_UNIT_GEN4,
-    FRAME_MB_IP * INST_UNIT_GEN4,
-    FIELD_MB_IP * INST_UNIT_GEN4,
-    MBAFF_MB_IP * INST_UNIT_GEN4
-};
-
-struct intra_kernel_header intra_kernel_header_gen4 = {
-    0,
-    (INTRA_4X4_HORIZONTAL_IP - INTRA_4X4_VERTICAL_IP),
-    (INTRA_4X4_DC_IP - INTRA_4X4_VERTICAL_IP),
-    (INTRA_4X4_DIAG_DOWN_LEFT_IP - INTRA_4X4_VERTICAL_IP),
-
-    (INTRA_4X4_DIAG_DOWN_RIGHT_IP - INTRA_4X4_VERTICAL_IP),
-    (INTRA_4X4_VERT_RIGHT_IP - INTRA_4X4_VERTICAL_IP),
-    (INTRA_4X4_HOR_DOWN_IP - INTRA_4X4_VERTICAL_IP),
-    (INTRA_4X4_VERT_LEFT_IP - INTRA_4X4_VERTICAL_IP),
-
-    (INTRA_4X4_HOR_UP_IP - INTRA_4X4_VERTICAL_IP),
-    0,
-    0xFFFC,
-
-    0,
-    (INTRA_8X8_HORIZONTAL_IP - INTRA_8X8_VERTICAL_IP),
-    (INTRA_8X8_DC_IP - INTRA_8X8_VERTICAL_IP),
-    (INTRA_8X8_DIAG_DOWN_LEFT_IP - INTRA_8X8_VERTICAL_IP),
-
-    (INTRA_8X8_DIAG_DOWN_RIGHT_IP - INTRA_8X8_VERTICAL_IP),
-    (INTRA_8X8_VERT_RIGHT_IP - INTRA_8X8_VERTICAL_IP),
-    (INTRA_8X8_HOR_DOWN_IP - INTRA_8X8_VERTICAL_IP),
-    (INTRA_8X8_VERT_LEFT_IP - INTRA_8X8_VERTICAL_IP),
-
-    (INTRA_8X8_HOR_UP_IP - INTRA_8X8_VERTICAL_IP),
-    0,
-    0x0001,
-
-    0,
-    (INTRA_16x16_HORIZONTAL_IP - INTRA_16x16_VERTICAL_IP),
-    (INTRA_16x16_DC_IP - INTRA_16x16_VERTICAL_IP),
-    (INTRA_16x16_PLANE_IP - INTRA_16x16_VERTICAL_IP),
-
-    0,
-    (INTRA_CHROMA_HORIZONTAL_IP - INTRA_CHROMA_DC_IP),
-    (INTRA_CHROMA_VERTICAL_IP - INTRA_CHROMA_DC_IP),
-    (INTRA_Chroma_PLANE_IP - INTRA_CHROMA_DC_IP),
-
-    0xFCFBFAF9,
-
-    0x00FFFEFD,
-
-    0x04030201,
-
-    0x08070605,
-
-    0x18100800,
-
-    0x00020406,
-
-    (intra_Pred_4x4_Y_IP - ADD_ERROR_SB3_IP) * 0x1000000 + 
-    (intra_Pred_4x4_Y_IP - ADD_ERROR_SB2_IP) * 0x10000 + 
-    (intra_Pred_4x4_Y_IP - ADD_ERROR_SB1_IP) * 0x100 + 
-    (intra_Pred_4x4_Y_IP - ADD_ERROR_SB0_IP)
-};
-
-static const uint32_t h264_avc_combined_gen4[][4] = {
-#include "shaders/h264/mc/avc_mc.g4b"
-};
-
-static const uint32_t h264_avc_null_gen4[][4] = {
-#include "shaders/h264/mc/null.g4b"
-};
-
-static struct i965_kernel h264_avc_kernels_gen4[] = {
-    {
-        "AVC combined kernel",
-        H264_AVC_COMBINED,
-        h264_avc_combined_gen4,
-        sizeof(h264_avc_combined_gen4),
-        NULL
-    },
-
-    {
-        "NULL kernel",
-        H264_AVC_NULL,
-        h264_avc_null_gen4,
-        sizeof(h264_avc_null_gen4),
-        NULL
-    }
-};
-
-/* On Ironlake */
-#include "shaders/h264/mc/export.inc.gen5"
-static unsigned long avc_mc_kernel_offset_gen5[] = {
-    INTRA_16x16_IP_GEN5 * INST_UNIT_GEN5,
-    INTRA_8x8_IP_GEN5 * INST_UNIT_GEN5,
-    INTRA_4x4_IP_GEN5 * INST_UNIT_GEN5,
-    INTRA_PCM_IP_GEN5 * INST_UNIT_GEN5,
-    FRAME_MB_IP_GEN5 * INST_UNIT_GEN5,
-    FIELD_MB_IP_GEN5 * INST_UNIT_GEN5,
-    MBAFF_MB_IP_GEN5 * INST_UNIT_GEN5
-};
-
-struct intra_kernel_header intra_kernel_header_gen5 = {
-    0,
-    (INTRA_4X4_HORIZONTAL_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    (INTRA_4X4_DC_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    (INTRA_4X4_DIAG_DOWN_LEFT_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-
-    (INTRA_4X4_DIAG_DOWN_RIGHT_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    (INTRA_4X4_VERT_RIGHT_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    (INTRA_4X4_HOR_DOWN_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    (INTRA_4X4_VERT_LEFT_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-
-    (INTRA_4X4_HOR_UP_IP_GEN5 - INTRA_4X4_VERTICAL_IP_GEN5),
-    0,
-    0xFFFC,
-
-    0,
-    (INTRA_8X8_HORIZONTAL_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    (INTRA_8X8_DC_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    (INTRA_8X8_DIAG_DOWN_LEFT_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-
-    (INTRA_8X8_DIAG_DOWN_RIGHT_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    (INTRA_8X8_VERT_RIGHT_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    (INTRA_8X8_HOR_DOWN_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    (INTRA_8X8_VERT_LEFT_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-
-    (INTRA_8X8_HOR_UP_IP_GEN5 - INTRA_8X8_VERTICAL_IP_GEN5),
-    0,
-    0x0001,
-
-    0,
-    (INTRA_16x16_HORIZONTAL_IP_GEN5 - INTRA_16x16_VERTICAL_IP_GEN5),
-    (INTRA_16x16_DC_IP_GEN5 - INTRA_16x16_VERTICAL_IP_GEN5),
-    (INTRA_16x16_PLANE_IP_GEN5 - INTRA_16x16_VERTICAL_IP_GEN5),
-
-    0,
-    (INTRA_CHROMA_HORIZONTAL_IP_GEN5 - INTRA_CHROMA_DC_IP_GEN5),
-    (INTRA_CHROMA_VERTICAL_IP_GEN5 - INTRA_CHROMA_DC_IP_GEN5),
-    (INTRA_Chroma_PLANE_IP_GEN5 - INTRA_CHROMA_DC_IP_GEN5),
-
-    0xFCFBFAF9,
-
-    0x00FFFEFD,
-
-    0x04030201,
-
-    0x08070605,
-
-    0x18100800,
-
-    0x00020406,
-
-    (intra_Pred_4x4_Y_IP_GEN5 - ADD_ERROR_SB3_IP_GEN5) * 0x1000000 + 
-    (intra_Pred_4x4_Y_IP_GEN5 - ADD_ERROR_SB2_IP_GEN5) * 0x10000 + 
-    (intra_Pred_4x4_Y_IP_GEN5 - ADD_ERROR_SB1_IP_GEN5) * 0x100 + 
-    (intra_Pred_4x4_Y_IP_GEN5 - ADD_ERROR_SB0_IP_GEN5)
-};
-
-static const uint32_t h264_avc_combined_gen5[][4] = {
-#include "shaders/h264/mc/avc_mc.g4b.gen5"
-};
-
-static const uint32_t h264_avc_null_gen5[][4] = {
-#include "shaders/h264/mc/null.g4b.gen5"
-};
-
-static struct i965_kernel h264_avc_kernels_gen5[] = {
-    {
-        "AVC combined kernel",
-        H264_AVC_COMBINED,
-        h264_avc_combined_gen5,
-        sizeof(h264_avc_combined_gen5),
-        NULL
-    },
-
-    {
-        "NULL kernel",
-        H264_AVC_NULL,
-        h264_avc_null_gen5,
-        sizeof(h264_avc_null_gen5),
-        NULL
-    }
-};
-
-#define NUM_AVC_MC_INTERFACES (sizeof(avc_mc_kernel_offset_gen4) / sizeof(avc_mc_kernel_offset_gen4[0]))
-static unsigned long *avc_mc_kernel_offset = NULL;
-
-static struct intra_kernel_header *intra_kernel_header = NULL;
-
-static void
-i965_media_h264_surface_state(VADriverContextP ctx, 
-                              int index,
-                              struct object_surface *obj_surface,
-                              unsigned long offset, 
-                              int w, int h, int pitch,
-                              Bool is_dst,
-                              int vert_line_stride,
-                              int vert_line_stride_ofs,
-                              int format,
-                              struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    uint32_t write_domain, read_domain;
-
-    assert(obj_surface->bo);
-
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 32);
-    assert(bo);
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = format;
-    ss->ss0.vert_line_stride = vert_line_stride;
-    ss->ss0.vert_line_stride_ofs = vert_line_stride_ofs;
-    ss->ss1.base_addr = obj_surface->bo->offset + offset;
-    ss->ss2.width = w - 1;
-    ss->ss2.height = h - 1;
-    ss->ss3.pitch = pitch - 1;
-
-    if (is_dst) {
-        write_domain = I915_GEM_DOMAIN_RENDER;
-        read_domain = I915_GEM_DOMAIN_RENDER;
-    } else {
-        write_domain = 0;
-        read_domain = I915_GEM_DOMAIN_SAMPLER;
-    }
-
-    dri_bo_emit_reloc(bo,
-                      read_domain, write_domain,
-                      offset,
-                      offsetof(struct i965_surface_state, ss1),
-                      obj_surface->bo);
-    dri_bo_unmap(bo);
-
-    assert(index < MAX_MEDIA_SURFACES);
-    media_context->surface_state[index].bo = bo;
-}
-
-static void 
-i965_media_h264_surfaces_setup(VADriverContextP ctx, 
-                               struct decode_state *decode_state,
-                               struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context;
-    struct object_surface *obj_surface;
-    VAPictureParameterBufferH264 *pic_param;
-    VAPictureH264 *va_pic;
-    int i, j, w, h;
-    int field_picture;
-
-    assert(media_context->private_context);
-    i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-
-    /* Target Picture */
-    va_pic = &pic_param->CurrPic;
-    assert(!(va_pic->flags & VA_PICTURE_H264_INVALID));
-    obj_surface = SURFACE(va_pic->picture_id);
-    assert(obj_surface);
-    w = obj_surface->width;
-    h = obj_surface->height;
-    field_picture = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-    i965_media_h264_surface_state(ctx, 0, obj_surface,
-                                  0, w / 4, h / (1 + field_picture), w,
-                                  1, 
-                                  field_picture,
-                                  !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD),
-                                  I965_SURFACEFORMAT_R8_SINT,   /* Y */
-                                  media_context);
-    i965_media_h264_surface_state(ctx, 1, obj_surface,
-                                  w * h, w / 4, h / 2 / (1 + field_picture), w,
-                                  1, 
-                                  field_picture,
-                                  !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD),
-                                  I965_SURFACEFORMAT_R8G8_SINT, /* INTERLEAVED U/V */
-                                  media_context);
-
-    /* Reference Pictures */
-    for (i = 0; i < ARRAY_ELEMS(i965_h264_context->fsid_list); i++) {
-        if (i965_h264_context->fsid_list[i].surface_id != VA_INVALID_ID) {
-            int found = 0;
-            for (j = 0; j < ARRAY_ELEMS(pic_param->ReferenceFrames); j++) {
-                va_pic = &pic_param->ReferenceFrames[j];
-                
-                if (va_pic->flags & VA_PICTURE_H264_INVALID)
-                    continue;
-
-                if (va_pic->picture_id == i965_h264_context->fsid_list[i].surface_id) {
-                    found = 1;
-                    break;
-                }
-            }
-
-            assert(found == 1);
-
-            obj_surface = SURFACE(va_pic->picture_id);
-            assert(obj_surface);
-            w = obj_surface->width;
-            h = obj_surface->height;
-            field_picture = !!(va_pic->flags & (VA_PICTURE_H264_TOP_FIELD | VA_PICTURE_H264_BOTTOM_FIELD));
-            i965_media_h264_surface_state(ctx, 2 + i, obj_surface,
-                                          0, w / 4, h / (1 + field_picture), w,
-                                          0, 
-                                          field_picture,
-                                          !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD),
-                                          I965_SURFACEFORMAT_R8_SINT,   /* Y */
-                                          media_context);
-            i965_media_h264_surface_state(ctx, 18 + i, obj_surface,
-                                          w * h, w / 4, h / 2 / (1 + field_picture), w,
-                                          0, 
-                                          field_picture,
-                                          !!(va_pic->flags & VA_PICTURE_H264_BOTTOM_FIELD),
-                                          I965_SURFACEFORMAT_R8G8_SINT, /* INTERLEAVED U/V */
-                                          media_context);
-        }
-    }
-}
-
-static void
-i965_media_h264_binding_table(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    int i;
-    unsigned int *binding_table;
-    dri_bo *bo = media_context->binding_table.bo;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-
-    for (i = 0; i < MAX_MEDIA_SURFACES; i++) {
-        if (media_context->surface_state[i].bo) {
-            binding_table[i] = media_context->surface_state[i].bo->offset;
-            dri_bo_emit_reloc(bo,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0,
-                              i * sizeof(*binding_table),
-                              media_context->surface_state[i].bo);
-        }
-    }
-
-    dri_bo_unmap(media_context->binding_table.bo);
-}
-
-static void 
-i965_media_h264_interface_descriptor_remap_table(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_h264_context *i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-    struct i965_interface_descriptor *desc;
-    int i;
-    dri_bo *bo;
-
-    bo = media_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-
-    for (i = 0; i < NUM_AVC_MC_INTERFACES; i++) {
-        int kernel_offset = avc_mc_kernel_offset[i];
-        memset(desc, 0, sizeof(*desc));
-        desc->desc0.grf_reg_blocks = 7; 
-        desc->desc0.kernel_start_pointer = (i965_h264_context->avc_kernels[H264_AVC_COMBINED].bo->offset + kernel_offset) >> 6; /* reloc */
-        desc->desc1.const_urb_entry_read_offset = 0;
-        desc->desc1.const_urb_entry_read_len = 2;
-        desc->desc3.binding_table_entry_count = 0;
-        desc->desc3.binding_table_pointer = 
-            media_context->binding_table.bo->offset >> 5; /*reloc */
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc0.grf_reg_blocks + kernel_offset,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc0),
-                          i965_h264_context->avc_kernels[H264_AVC_COMBINED].bo);
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc3.binding_table_entry_count,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc3),
-                          media_context->binding_table.bo);
-        desc++;
-    }
-
-    dri_bo_unmap(bo);
-}
-
-static void
-i965_media_h264_vfe_state(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_vfe_state *vfe_state;
-    dri_bo *bo;
-
-    bo = media_context->vfe_state.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    vfe_state = bo->virtual;
-    memset(vfe_state, 0, sizeof(*vfe_state));
-    vfe_state->vfe0.extend_vfe_state_present = 1;
-    vfe_state->vfe1.max_threads = media_context->urb.num_vfe_entries - 1;
-    vfe_state->vfe1.urb_entry_alloc_size = media_context->urb.size_vfe_entry - 1;
-    vfe_state->vfe1.num_urb_entries = media_context->urb.num_vfe_entries;
-    vfe_state->vfe1.vfe_mode = VFE_AVC_IT_MODE;
-    vfe_state->vfe1.children_present = 0;
-    vfe_state->vfe2.interface_descriptor_base = 
-        media_context->idrt.bo->offset >> 4; /* reloc */
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_vfe_state, vfe2),
-                      media_context->idrt.bo);
-    dri_bo_unmap(bo);
-}
-
-static void 
-i965_media_h264_vfe_state_extension(VADriverContextP ctx, 
-                                    struct decode_state *decode_state,
-                                    struct i965_media_context *media_context)
-{
-    struct i965_h264_context *i965_h264_context;
-    struct i965_vfe_state_ex *vfe_state_ex;
-    VAPictureParameterBufferH264 *pic_param;
-    int mbaff_frame_flag;
-
-    assert(media_context->private_context);
-    i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    mbaff_frame_flag = (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag &&
-                        !pic_param->pic_fields.bits.field_pic_flag);
-
-    assert(media_context->extended_state.bo);
-    dri_bo_map(media_context->extended_state.bo, 1);
-    assert(media_context->extended_state.bo->virtual);
-    vfe_state_ex = media_context->extended_state.bo->virtual;
-    memset(vfe_state_ex, 0, sizeof(*vfe_state_ex));
-
-    /*
-     * Indirect data buffer:
-     * --------------------------------------------------------
-     * | Motion Vectors | Weight/Offset data | Residual data |
-     * --------------------------------------------------------
-     * R4-R7: Motion Vectors
-     * R8-R9: Weight/Offset
-     * R10-R33: Residual data
-     */
-    vfe_state_ex->vfex1.avc.residual_data_fix_offset_flag = !!RESIDUAL_DATA_OFFSET;
-    vfe_state_ex->vfex1.avc.residual_data_offset = RESIDUAL_DATA_OFFSET;
-
-    if (i965_h264_context->picture.i_flag) {
-        vfe_state_ex->vfex1.avc.sub_field_present_flag = PRESENT_NOMV; /* NoMV */
-        vfe_state_ex->vfex1.avc.weight_grf_offset = 0;
-        vfe_state_ex->vfex1.avc.residual_grf_offset = 0;
-    } else {
-        vfe_state_ex->vfex1.avc.sub_field_present_flag = PRESENT_MV_WO; /* Both MV and W/O */
-        vfe_state_ex->vfex1.avc.weight_grf_offset = 4;
-        vfe_state_ex->vfex1.avc.residual_grf_offset = 6;
-    }
-
-    if (!pic_param->pic_fields.bits.field_pic_flag) {
-        if (mbaff_frame_flag) {
-            vfe_state_ex->remap_table0.remap_index_0 = INTRA_16X16;
-            vfe_state_ex->remap_table0.remap_index_1 = INTRA_8X8;
-            vfe_state_ex->remap_table0.remap_index_2 = INTRA_4X4;
-            vfe_state_ex->remap_table0.remap_index_3 = INTRA_PCM;
-            vfe_state_ex->remap_table0.remap_index_4 = MBAFF_MOTION;
-            vfe_state_ex->remap_table0.remap_index_5 = MBAFF_MOTION;
-            vfe_state_ex->remap_table0.remap_index_6 = MBAFF_MOTION;
-            vfe_state_ex->remap_table0.remap_index_7 = MBAFF_MOTION;
-
-            vfe_state_ex->remap_table1.remap_index_8 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_9 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_10 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_11 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_12 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_13 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_14 = MBAFF_MOTION;
-            vfe_state_ex->remap_table1.remap_index_15 = MBAFF_MOTION;
-        } else {
-            vfe_state_ex->remap_table0.remap_index_0 = INTRA_16X16;
-            vfe_state_ex->remap_table0.remap_index_1 = INTRA_8X8;
-            vfe_state_ex->remap_table0.remap_index_2 = INTRA_4X4;
-            vfe_state_ex->remap_table0.remap_index_3 = INTRA_PCM;
-            vfe_state_ex->remap_table0.remap_index_4 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table0.remap_index_5 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table0.remap_index_6 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table0.remap_index_7 = FRAMEMB_MOTION;
-
-            vfe_state_ex->remap_table1.remap_index_8 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_9 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_10 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_11 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_12 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_13 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_14 = FRAMEMB_MOTION;
-            vfe_state_ex->remap_table1.remap_index_15 = FRAMEMB_MOTION;
-        }
-    } else {
-        vfe_state_ex->remap_table0.remap_index_0 = INTRA_16X16;
-        vfe_state_ex->remap_table0.remap_index_1 = INTRA_8X8;
-        vfe_state_ex->remap_table0.remap_index_2 = INTRA_4X4;
-        vfe_state_ex->remap_table0.remap_index_3 = INTRA_PCM;
-        vfe_state_ex->remap_table0.remap_index_4 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table0.remap_index_5 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table0.remap_index_6 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table0.remap_index_7 = FIELDMB_MOTION;
-
-        vfe_state_ex->remap_table1.remap_index_8 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_9 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_10 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_11 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_12 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_13 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_14 = FIELDMB_MOTION;
-        vfe_state_ex->remap_table1.remap_index_15 = FIELDMB_MOTION;
-    }
-
-    if (i965_h264_context->use_avc_hw_scoreboard) {
-        vfe_state_ex->scoreboard0.enable = 1;
-        vfe_state_ex->scoreboard0.type = SCOREBOARD_STALLING;
-        vfe_state_ex->scoreboard0.mask = 0xff;
-
-        vfe_state_ex->scoreboard1.delta_x0 = -1;
-        vfe_state_ex->scoreboard1.delta_y0 = 0;
-        vfe_state_ex->scoreboard1.delta_x1 = 0;
-        vfe_state_ex->scoreboard1.delta_y1 = -1;
-        vfe_state_ex->scoreboard1.delta_x2 = 1;
-        vfe_state_ex->scoreboard1.delta_y2 = -1;
-        vfe_state_ex->scoreboard1.delta_x3 = -1;
-        vfe_state_ex->scoreboard1.delta_y3 = -1;
-
-        vfe_state_ex->scoreboard2.delta_x4 = -1;
-        vfe_state_ex->scoreboard2.delta_y4 = 1;
-        vfe_state_ex->scoreboard2.delta_x5 = 0;
-        vfe_state_ex->scoreboard2.delta_y5 = -2;
-        vfe_state_ex->scoreboard2.delta_x6 = 1;
-        vfe_state_ex->scoreboard2.delta_y6 = -2;
-        vfe_state_ex->scoreboard2.delta_x7 = -1;
-        vfe_state_ex->scoreboard2.delta_y7 = -2;
-    }
-
-    dri_bo_unmap(media_context->extended_state.bo);
-}
-
-static void
-i965_media_h264_upload_constants(VADriverContextP ctx,
-                                 struct decode_state *decode_state,
-                                 struct i965_media_context *media_context)
-{
-    struct i965_h264_context *i965_h264_context;
-    unsigned char *constant_buffer;
-    VASliceParameterBufferH264 *slice_param;
-
-    assert(media_context->private_context);
-    i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-
-    assert(decode_state->slice_params[0] && decode_state->slice_params[0]->buffer);
-    slice_param = (VASliceParameterBufferH264 *)decode_state->slice_params[0]->buffer;
-
-    dri_bo_map(media_context->curbe.bo, 1);
-    assert(media_context->curbe.bo->virtual);
-    constant_buffer = media_context->curbe.bo->virtual;
-
-    /* HW solution for W=128 */
-    if (i965_h264_context->use_hw_w128) {
-        memcpy(constant_buffer, intra_kernel_header, sizeof(*intra_kernel_header));
-    } else {
-        if (slice_param->slice_type == SLICE_TYPE_I ||
-            slice_param->slice_type == SLICE_TYPE_SI) {
-            memcpy(constant_buffer, intra_kernel_header, sizeof(*intra_kernel_header));
-        } else {
-            /* FIXME: Need to upload CURBE data to inter kernel interface 
-             * to support weighted prediction work-around 
-             */
-            *(short *)constant_buffer = i965_h264_context->weight128_offset0;
-            constant_buffer += 2;
-            *(char *)constant_buffer = i965_h264_context->weight128_offset0_flag;
-            constant_buffer++;
-            *constant_buffer = 0;
-        }
-    }
-
-    dri_bo_unmap(media_context->curbe.bo);
-}
-
-static void
-i965_media_h264_states_setup(VADriverContextP ctx,
-                             struct decode_state *decode_state,
-                             struct i965_media_context *media_context)
-{
-    struct i965_h264_context *i965_h264_context;
-
-    assert(media_context->private_context);
-    i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-
-    i965_avc_bsd_pipeline(ctx, decode_state, i965_h264_context);
-
-    if (i965_h264_context->use_avc_hw_scoreboard)
-        i965_avc_hw_scoreboard(ctx, decode_state, i965_h264_context);
-
-    i965_media_h264_surfaces_setup(ctx, decode_state, media_context);
-    i965_media_h264_binding_table(ctx, media_context);
-    i965_media_h264_interface_descriptor_remap_table(ctx, media_context);
-    i965_media_h264_vfe_state_extension(ctx, decode_state, media_context);
-    i965_media_h264_vfe_state(ctx, media_context);
-    i965_media_h264_upload_constants(ctx, decode_state, media_context);
-}
-
-static void
-i965_media_h264_objects(VADriverContextP ctx,
-                        struct decode_state *decode_state,
-                        struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-    struct i965_h264_context *i965_h264_context;
-    unsigned int *object_command;
-
-    assert(media_context->private_context);
-    i965_h264_context = (struct i965_h264_context *)media_context->private_context;
-
-    dri_bo_map(i965_h264_context->avc_it_command_mb_info.bo, True);
-    assert(i965_h264_context->avc_it_command_mb_info.bo->virtual);
-    object_command = i965_h264_context->avc_it_command_mb_info.bo->virtual;
-    memset(object_command, 0, i965_h264_context->avc_it_command_mb_info.mbs * i965_h264_context->use_avc_hw_scoreboard * MB_CMD_IN_BYTES);
-    object_command += i965_h264_context->avc_it_command_mb_info.mbs * (1 + i965_h264_context->use_avc_hw_scoreboard) * MB_CMD_IN_DWS;
-    *object_command++ = 0;
-    *object_command = MI_BATCH_BUFFER_END;
-    dri_bo_unmap(i965_h264_context->avc_it_command_mb_info.bo);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, MI_BATCH_BUFFER_START | (2 << 6));
-    OUT_RELOC(batch, i965_h264_context->avc_it_command_mb_info.bo, 
-              I915_GEM_DOMAIN_COMMAND, 0, 
-              0);
-    ADVANCE_BATCH(batch);
-
-    /* Have to execute the batch buffer here becuase MI_BATCH_BUFFER_END
-     * will cause control to pass back to ring buffer 
-     */
-    intel_batchbuffer_end_atomic(batch);
-    intel_batchbuffer_flush(batch);
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    i965_avc_ildb(ctx, decode_state, i965_h264_context);
-}
-
-static void 
-i965_media_h264_free_private_context(void **data)
-{
-    struct i965_h264_context *i965_h264_context = *data;
-    int i;
-
-    if (i965_h264_context == NULL)
-        return;
-
-    i965_avc_ildb_ternimate(&i965_h264_context->avc_ildb_context);
-    i965_avc_hw_scoreboard_ternimate(&i965_h264_context->avc_hw_scoreboard_context);
-    i965_avc_bsd_ternimate(&i965_h264_context->i965_avc_bsd_context);
-    dri_bo_unreference(i965_h264_context->avc_it_command_mb_info.bo);
-    dri_bo_unreference(i965_h264_context->avc_it_data.bo);
-    dri_bo_unreference(i965_h264_context->avc_ildb_data.bo);
-
-    for (i = 0; i < NUM_H264_AVC_KERNELS; i++) {
-        struct i965_kernel *kernel = &i965_h264_context->avc_kernels[i];
-
-        dri_bo_unreference(kernel->bo);
-        kernel->bo = NULL;
-    }
-
-    free(i965_h264_context);
-    *data = NULL;
-}
-
-void
-i965_media_h264_decode_init(VADriverContextP ctx, 
-                            struct decode_state *decode_state, 
-                            struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context = media_context->private_context;
-    dri_bo *bo;
-    VAPictureParameterBufferH264 *pic_param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferH264 *)decode_state->pic_param->buffer;
-    i965_h264_context->picture.width_in_mbs = ((pic_param->picture_width_in_mbs_minus1 + 1) & 0xff);
-    i965_h264_context->picture.height_in_mbs = ((pic_param->picture_height_in_mbs_minus1 + 1) & 0xff) / 
-        (1 + !!pic_param->pic_fields.bits.field_pic_flag); /* picture height */
-    i965_h264_context->picture.mbaff_frame_flag = (pic_param->seq_fields.bits.mb_adaptive_frame_field_flag &&
-                                                   !pic_param->pic_fields.bits.field_pic_flag);
-    i965_h264_context->avc_it_command_mb_info.mbs = (i965_h264_context->picture.width_in_mbs * 
-                                                     i965_h264_context->picture.height_in_mbs);
-
-    dri_bo_unreference(i965_h264_context->avc_it_command_mb_info.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "avc it command mb info",
-                      i965_h264_context->avc_it_command_mb_info.mbs * MB_CMD_IN_BYTES * (1 + i965_h264_context->use_avc_hw_scoreboard) + 8,
-                      0x1000);
-    assert(bo);
-    i965_h264_context->avc_it_command_mb_info.bo = bo;
-
-    dri_bo_unreference(i965_h264_context->avc_it_data.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "avc it data",
-                      i965_h264_context->avc_it_command_mb_info.mbs * 
-                      0x800 * 
-                      (1 + !!pic_param->pic_fields.bits.field_pic_flag),
-                      0x1000);
-    assert(bo);
-    i965_h264_context->avc_it_data.bo = bo;
-    i965_h264_context->avc_it_data.write_offset = 0;
-    dri_bo_unreference(media_context->indirect_object.bo);
-    media_context->indirect_object.bo = bo;
-    dri_bo_reference(media_context->indirect_object.bo);
-    media_context->indirect_object.offset = i965_h264_context->avc_it_data.write_offset;
-
-    dri_bo_unreference(i965_h264_context->avc_ildb_data.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "AVC-ILDB Data Buffer",
-                      i965_h264_context->avc_it_command_mb_info.mbs * 64 * 2,
-                      0x1000);
-    assert(bo);
-    i965_h264_context->avc_ildb_data.bo = bo;
-
-    /* bsd pipeline */
-    i965_avc_bsd_decode_init(ctx, i965_h264_context);
-
-    /* HW scoreboard */
-    if (i965_h264_context->use_avc_hw_scoreboard)
-        i965_avc_hw_scoreboard_decode_init(ctx, i965_h264_context);
-
-    /* ILDB */
-    i965_avc_ildb_decode_init(ctx, i965_h264_context);
-
-    /* for Media pipeline */
-    media_context->extended_state.enabled = 1;
-    dri_bo_unreference(media_context->extended_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "extened vfe state", 
-                      sizeof(struct i965_vfe_state_ex), 32);
-    assert(bo);
-    media_context->extended_state.bo = bo;
-}
-
-void 
-i965_media_h264_dec_context_init(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_h264_context *i965_h264_context;
-    int i;
-
-    i965_h264_context = calloc(1, sizeof(struct i965_h264_context));
-
-    /* kernel */
-    assert(NUM_H264_AVC_KERNELS == (sizeof(h264_avc_kernels_gen5) / 
-                                    sizeof(h264_avc_kernels_gen5[0])));
-    assert(NUM_AVC_MC_INTERFACES == (sizeof(avc_mc_kernel_offset_gen5) /
-                                     sizeof(avc_mc_kernel_offset_gen5[0])));
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        memcpy(i965_h264_context->avc_kernels, h264_avc_kernels_gen5, sizeof(i965_h264_context->avc_kernels));
-        avc_mc_kernel_offset = avc_mc_kernel_offset_gen5;
-        intra_kernel_header = &intra_kernel_header_gen5;
-        i965_h264_context->use_avc_hw_scoreboard = 1;
-        i965_h264_context->use_hw_w128 = 1;
-    } else {
-        memcpy(i965_h264_context->avc_kernels, h264_avc_kernels_gen4, sizeof(i965_h264_context->avc_kernels));
-        avc_mc_kernel_offset = avc_mc_kernel_offset_gen4;
-        intra_kernel_header = &intra_kernel_header_gen4;
-        i965_h264_context->use_avc_hw_scoreboard = 0;
-        i965_h264_context->use_hw_w128 = 0;
-    }
-
-    for (i = 0; i < NUM_H264_AVC_KERNELS; i++) {
-        struct i965_kernel *kernel = &i965_h264_context->avc_kernels[i];
-        kernel->bo = dri_bo_alloc(i965->intel.bufmgr, 
-                                  kernel->name, 
-                                  kernel->size, 0x1000);
-        assert(kernel->bo);
-        dri_bo_subdata(kernel->bo, 0, kernel->size, kernel->bin);
-    }
-
-    for (i = 0; i < 16; i++) {
-        i965_h264_context->fsid_list[i].surface_id = VA_INVALID_ID;
-        i965_h264_context->fsid_list[i].frame_store_id = -1;
-    }
-
-    i965_h264_context->batch = media_context->base.batch;
-
-    media_context->private_context = i965_h264_context;
-    media_context->free_private_context = i965_media_h264_free_private_context;
-
-    /* URB */
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        media_context->urb.num_vfe_entries = 63;
-    } else {
-        media_context->urb.num_vfe_entries = 23;
-    }
-
-    media_context->urb.size_vfe_entry = 16;
-
-    media_context->urb.num_cs_entries = 1;
-    media_context->urb.size_cs_entry = 1;
-
-    media_context->urb.vfe_start = 0;
-    media_context->urb.cs_start = media_context->urb.vfe_start + 
-        media_context->urb.num_vfe_entries * media_context->urb.size_vfe_entry;
-    assert(media_context->urb.cs_start + 
-           media_context->urb.num_cs_entries * media_context->urb.size_cs_entry <= URB_SIZE((&i965->intel)));
-
-    /* hook functions */
-    media_context->media_states_setup = i965_media_h264_states_setup;
-    media_context->media_objects = i965_media_h264_objects;
-}
diff --git a/i965_drv_video/i965_media_h264.h b/i965_drv_video/i965_media_h264.h
deleted file mode 100644 (file)
index 8a8dc8e..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _I965_MEDIA_H264_H_
-#define _I965_MEDIA_H264_H_
-
-#include "i965_avc_bsd.h"
-#include "i965_avc_hw_scoreboard.h"
-#include "i965_avc_ildb.h"
-
-struct decode_state;
-struct i965_media_context;
-
-#define INST_UNIT_GEN4  16
-#define INST_UNIT_GEN5  8
-
-#define MB_CMD_IN_BYTES         64
-#define MB_CMD_IN_DWS           16
-#define MB_CMD_IN_OWS           4
-
-enum {
-    H264_AVC_COMBINED = 0,
-    H264_AVC_NULL
-};
-
-#define NUM_H264_AVC_KERNELS    2
-
-struct i965_h264_context
-{
-    struct {
-        dri_bo *bo;
-        unsigned int mbs;
-    } avc_it_command_mb_info;
-
-    struct {
-        dri_bo *bo;
-        long write_offset;
-    } avc_it_data;
-
-    struct {
-        dri_bo *bo;
-    } avc_ildb_data;
-
-    struct {
-        unsigned int width_in_mbs;
-        unsigned int height_in_mbs;
-        int mbaff_frame_flag;
-        int i_flag;
-    } picture;
-
-    int enable_avc_ildb;
-    int use_avc_hw_scoreboard;
-
-    int use_hw_w128;
-    unsigned int weight128_luma_l0;
-    unsigned int weight128_luma_l1;
-    unsigned int weight128_chroma_l0;
-    unsigned int weight128_chroma_l1;
-    char weight128_offset0_flag;
-    short weight128_offset0;
-
-    struct i965_avc_bsd_context i965_avc_bsd_context;
-    struct i965_avc_hw_scoreboard_context avc_hw_scoreboard_context;
-    struct i965_avc_ildb_context avc_ildb_context;
-
-    struct {
-        VASurfaceID surface_id;
-        int frame_store_id;
-    } fsid_list[16];
-
-    struct i965_kernel avc_kernels[NUM_H264_AVC_KERNELS];
-    struct intel_batchbuffer *batch;
-};
-
-void i965_media_h264_decode_init(VADriverContextP ctx, struct decode_state *decode_state, struct i965_media_context *media_context);
-void i965_media_h264_dec_context_init(VADriverContextP ctx, struct i965_media_context *media_context);
-
-#endif /* _I965_MEDIA_H264_H_ */
diff --git a/i965_drv_video/i965_media_mpeg2.c b/i965_drv_video/i965_media_mpeg2.c
deleted file mode 100644 (file)
index bc3e048..0000000
+++ /dev/null
@@ -1,1009 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-
-#include "i965_media.h"
-#include "i965_media_mpeg2.h"
-
-#define SURFACE_TARGET     0
-#define SURFACE_FORWARD            1
-#define SURFACE_BACKWARD    2
-#define SURFACE_BIDIRECT    3
-
-enum interface {
-    FRAME_INTRA = 0,
-    FRAME_FRAME_PRED_FORWARD,
-    FRAME_FRAME_PRED_BACKWARD,
-    FRAME_FRAME_PRED_BIDIRECT,
-    FRAME_FIELD_PRED_FORWARD,
-    FRAME_FIELD_PRED_BACKWARD,
-    FRAME_FIELD_PRED_BIDIRECT,
-    LIB_INTERFACE,
-    FIELD_INTRA,
-    FIELD_FORWARD,
-    FIELD_FORWARD_16X8,
-    FIELD_BACKWARD,
-    FIELD_BACKWARD_16X8,
-    FIELD_BIDIRECT,
-    FIELD_BIDIRECT_16X8
-};
-
-/* idct table */
-#define C0 23170
-#define C1 22725
-#define C2 21407
-#define C3 19266
-#define C4 16383
-#define C5 12873
-#define C6 8867
-#define C7 4520
-const uint32_t idct_table[] = {
-    C4, C1, C2, C3, C4, C5, C6, C7,             //g5
-    C4, C1, C2, C3, C4, C5, C6, C7,
-    C4, C3, C6,-C7,-C4,-C1,-C2,-C5,
-    C4, C3, C6,-C7,-C4,-C1,-C2,-C5,
-    C4, C5,-C6,-C1,-C4, C7, C2, C3,
-    C4, C5,-C6,-C1,-C4, C7, C2, C3,
-    C4, C7,-C2,-C5, C4, C3,-C6,-C1,
-    C4, C7,-C2,-C5, C4, C3,-C6,-C1,
-    C4,-C7,-C2, C5, C4,-C3,-C6, C1,
-    C4,-C7,-C2, C5, C4,-C3,-C6, C1,
-    C4,-C5,-C6, C1,-C4,-C7, C2,-C3,
-    C4,-C5,-C6, C1,-C4,-C7, C2,-C3,
-    C4,-C3, C6, C7,-C4, C1,-C2, C5,
-    C4,-C3, C6, C7,-C4, C1,-C2, C5,
-    C4,-C1, C2,-C3, C4,-C5, C6,-C7,
-    C4,-C1, C2,-C3, C4,-C5, C6,-C7              //g20
-};
-#undef C0
-#undef C1
-#undef C2
-#undef C3
-#undef C4
-#undef C5
-#undef C6
-#undef C7
-
-const uint32_t zigzag_direct[64] = {
-    0,   1,  8, 16,  9,  2,  3, 10,
-    17, 24, 32, 25, 18, 11,  4,  5,
-    12, 19, 26, 33, 40, 48, 41, 34,
-    27, 20, 13,  6,  7, 14, 21, 28,
-    35, 42, 49, 56, 57, 50, 43, 36,
-    29, 22, 15, 23, 30, 37, 44, 51,
-    58, 59, 52, 45, 38, 31, 39, 46,
-    53, 60, 61, 54, 47, 55, 62, 63
-};
-
-static const uint32_t frame_intra_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_intra.g4b"
-};
-static const uint32_t frame_frame_pred_forward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_forward.g4b"
-};
-static const uint32_t frame_frame_pred_backward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_backward.g4b"
-};
-static const uint32_t frame_frame_pred_bidirect_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b"
-};
-static const uint32_t frame_field_pred_forward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_forward.g4b"
-};
-static const uint32_t frame_field_pred_backward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_backward.g4b"
-};
-static const uint32_t frame_field_pred_bidirect_kernel[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_bidirect.g4b"
-};
-static const uint32_t lib_kernel[][4] = {
-   #include "shaders/mpeg2/vld/lib.g4b"
-};
-/*field picture*/
-static const uint32_t field_intra_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_intra.g4b"
-};
-static const uint32_t field_forward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_forward.g4b"
-};
-static const uint32_t field_forward_16x8_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_forward_16x8.g4b"
-};
-static const uint32_t field_backward_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_backward.g4b"
-};
-static const uint32_t field_backward_16x8_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_backward_16x8.g4b"
-};
-static const uint32_t field_bidirect_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_bidirect.g4b"
-};
-static const uint32_t field_bidirect_16x8_kernel[][4] = {
-   #include "shaders/mpeg2/vld/field_bidirect_16x8.g4b"
-};
-
-static struct i965_kernel  mpeg2_vld_kernels_gen4[] = {
-    {
-        "FRAME_INTRA",
-        FRAME_INTRA,
-        frame_intra_kernel, 
-        sizeof(frame_intra_kernel),
-        NULL
-    },
-
-    {
-        "FRAME_FRAME_PRED_FORWARD",
-       FRAME_FRAME_PRED_FORWARD,
-        frame_frame_pred_forward_kernel, 
-        sizeof(frame_frame_pred_forward_kernel),
-        NULL
-    },
-
-    {
-        "FRAME_FRAME_PRED_BACKWARD",
-        FRAME_FRAME_PRED_BACKWARD,
-        frame_frame_pred_backward_kernel, 
-        sizeof(frame_frame_pred_backward_kernel),
-        NULL
-    },
-
-    {   
-        "FRAME_FRAME_PRED_BIDIRECT",
-        FRAME_FRAME_PRED_BIDIRECT,
-        frame_frame_pred_bidirect_kernel, 
-        sizeof(frame_frame_pred_bidirect_kernel),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_FORWARD",
-        FRAME_FIELD_PRED_FORWARD,
-        frame_field_pred_forward_kernel, 
-        sizeof(frame_field_pred_forward_kernel),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_BACKWARD",
-        FRAME_FIELD_PRED_BACKWARD,
-        frame_field_pred_backward_kernel, 
-        sizeof(frame_field_pred_backward_kernel),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_BIDIRECT",
-        FRAME_FIELD_PRED_BIDIRECT,
-        frame_field_pred_bidirect_kernel, 
-        sizeof(frame_field_pred_bidirect_kernel),
-        NULL
-    },
-    
-    {   
-        "LIB",
-        LIB_INTERFACE,
-        lib_kernel, 
-        sizeof(lib_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_INTRA",
-        FIELD_INTRA,
-        field_intra_kernel, 
-        sizeof(field_intra_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_FORWARD",
-        FIELD_FORWARD,
-        field_forward_kernel, 
-        sizeof(field_forward_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_FORWARD_16X8",
-        FIELD_FORWARD_16X8,
-        field_forward_16x8_kernel, 
-        sizeof(field_forward_16x8_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_BACKWARD",
-        FIELD_BACKWARD,
-        field_backward_kernel, 
-        sizeof(field_backward_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_BACKWARD_16X8",
-        FIELD_BACKWARD_16X8,
-        field_backward_16x8_kernel, 
-        sizeof(field_backward_16x8_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_BIDIRECT",
-        FIELD_BIDIRECT,
-        field_bidirect_kernel, 
-        sizeof(field_bidirect_kernel),
-        NULL
-    },
-
-    {
-        "FIELD_BIDIRECT_16X8",
-        FIELD_BIDIRECT_16X8,
-        field_bidirect_16x8_kernel, 
-        sizeof(field_bidirect_16x8_kernel),
-        NULL
-    }
-};
-
-/* On IRONLAKE */
-static const uint32_t frame_intra_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_intra.g4b.gen5"
-};
-static const uint32_t frame_frame_pred_forward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_forward.g4b.gen5"
-};
-static const uint32_t frame_frame_pred_backward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_backward.g4b.gen5"
-};
-static const uint32_t frame_frame_pred_bidirect_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b.gen5"
-};
-static const uint32_t frame_field_pred_forward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_forward.g4b.gen5"
-};
-static const uint32_t frame_field_pred_backward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_backward.g4b.gen5"
-};
-static const uint32_t frame_field_pred_bidirect_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/frame_field_pred_bidirect.g4b.gen5"
-};
-static const uint32_t lib_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/lib.g4b.gen5"
-};
-/*field picture*/
-static const uint32_t field_intra_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_intra.g4b.gen5"
-};
-static const uint32_t field_forward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_forward.g4b.gen5"
-};
-static const uint32_t field_forward_16x8_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_forward_16x8.g4b.gen5"
-};
-static const uint32_t field_backward_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_backward.g4b.gen5"
-};
-static const uint32_t field_backward_16x8_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_backward_16x8.g4b.gen5"
-};
-static const uint32_t field_bidirect_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_bidirect.g4b.gen5"
-};
-static const uint32_t field_bidirect_16x8_kernel_gen5[][4] = {
-   #include "shaders/mpeg2/vld/field_bidirect_16x8.g4b.gen5"
-};
-
-static struct i965_kernel  mpeg2_vld_kernels_gen5[] = {
-    {
-        "FRAME_INTRA",
-        FRAME_INTRA,
-        frame_intra_kernel_gen5, 
-        sizeof(frame_intra_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FRAME_FRAME_PRED_FORWARD",
-       FRAME_FRAME_PRED_FORWARD,
-        frame_frame_pred_forward_kernel_gen5, 
-        sizeof(frame_frame_pred_forward_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FRAME_FRAME_PRED_BACKWARD",
-        FRAME_FRAME_PRED_BACKWARD,
-        frame_frame_pred_backward_kernel_gen5, 
-        sizeof(frame_frame_pred_backward_kernel_gen5),
-        NULL
-    },
-
-    {   
-        "FRAME_FRAME_PRED_BIDIRECT",
-        FRAME_FRAME_PRED_BIDIRECT,
-        frame_frame_pred_bidirect_kernel_gen5, 
-        sizeof(frame_frame_pred_bidirect_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_FORWARD",
-        FRAME_FIELD_PRED_FORWARD,
-        frame_field_pred_forward_kernel_gen5, 
-        sizeof(frame_field_pred_forward_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_BACKWARD",
-        FRAME_FIELD_PRED_BACKWARD,
-        frame_field_pred_backward_kernel_gen5, 
-        sizeof(frame_field_pred_backward_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FRAME_FIELD_PRED_BIDIRECT",
-        FRAME_FIELD_PRED_BIDIRECT,
-        frame_field_pred_bidirect_kernel_gen5, 
-        sizeof(frame_field_pred_bidirect_kernel_gen5),
-        NULL
-    },
-    
-    {   
-        "LIB",
-        LIB_INTERFACE,
-        lib_kernel_gen5, 
-        sizeof(lib_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_INTRA",
-        FIELD_INTRA,
-        field_intra_kernel_gen5, 
-        sizeof(field_intra_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_FORWARD",
-        FIELD_FORWARD,
-        field_forward_kernel_gen5, 
-        sizeof(field_forward_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_FORWARD_16X8",
-        FIELD_FORWARD_16X8,
-        field_forward_16x8_kernel_gen5, 
-        sizeof(field_forward_16x8_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_BACKWARD",
-        FIELD_BACKWARD,
-        field_backward_kernel_gen5, 
-        sizeof(field_backward_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_BACKWARD_16X8",
-        FIELD_BACKWARD_16X8,
-        field_backward_16x8_kernel_gen5, 
-        sizeof(field_backward_16x8_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_BIDIRECT",
-        FIELD_BIDIRECT,
-        field_bidirect_kernel_gen5, 
-        sizeof(field_bidirect_kernel_gen5),
-        NULL
-    },
-
-    {
-        "FIELD_BIDIRECT_16X8",
-        FIELD_BIDIRECT_16X8,
-        field_bidirect_16x8_kernel_gen5, 
-        sizeof(field_bidirect_16x8_kernel_gen5),
-        NULL
-    }
-};
-
-static void
-i965_media_mpeg2_surface_state(VADriverContextP ctx, 
-                               int index,
-                               struct object_surface *obj_surface,
-                               unsigned long offset, 
-                               int w, int h,
-                               Bool is_dst,
-                              int vert_line_stride,
-                              int vert_line_stride_ofs,
-                               struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    uint32_t write_domain, read_domain;
-
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 32);
-    assert(bo);
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_SINT;
-    ss->ss0.vert_line_stride = vert_line_stride;
-    ss->ss0.vert_line_stride_ofs = vert_line_stride_ofs;
-    ss->ss1.base_addr = obj_surface->bo->offset + offset;
-    ss->ss2.width = w - 1;
-    ss->ss2.height = h - 1;
-    ss->ss3.pitch = w - 1;
-
-    if (is_dst) {
-        write_domain = I915_GEM_DOMAIN_RENDER;
-        read_domain = I915_GEM_DOMAIN_RENDER;
-    } else {
-        write_domain = 0;
-        read_domain = I915_GEM_DOMAIN_SAMPLER;
-    }
-
-    dri_bo_emit_reloc(bo,
-                      read_domain, write_domain,
-                      offset,
-                      offsetof(struct i965_surface_state, ss1),
-                      obj_surface->bo);
-    dri_bo_unmap(bo);
-
-    assert(index < MAX_MEDIA_SURFACES);
-//    assert(media_context->surface_state[index].bo == NULL);
-    media_context->surface_state[index].bo = bo;
-}
-
-static void
-i965_media_mpeg2_surface_setup(VADriverContextP ctx, 
-                               int base_index,
-                               struct object_surface *obj_surface, 
-                               Bool is_dst, 
-                              int picture_structure,
-                              int surface,
-                               struct i965_media_context *media_context)
-{
-    int w = obj_surface->width;
-    int h = obj_surface->height;
-
-    i965_check_alloc_surface_bo(ctx, obj_surface, 0, VA_FOURCC('I','4','2','0'));
-
-    if (picture_structure == MPEG_FRAME) {
-       i965_media_mpeg2_surface_state(ctx, base_index + 0, obj_surface,
-                                       0, w, h, 
-                                       is_dst, 0, 0,
-                                       media_context);
-       i965_media_mpeg2_surface_state(ctx, base_index + 1, obj_surface,
-                                       w * h, w / 2, h / 2, 
-                                       is_dst, 0, 0,
-                                       media_context);
-       i965_media_mpeg2_surface_state(ctx, base_index + 2, obj_surface,
-                                       w * h + w * h / 4, w / 2, h / 2, 
-                                       is_dst, 0, 0,
-                                       media_context);
-    } else {
-       if (surface == SURFACE_TARGET) {
-           i965_media_mpeg2_surface_state(ctx, 3, obj_surface,
-                                           0, w, h, 
-                                           False, 0, 0,
-                                           media_context);
-           i965_media_mpeg2_surface_state(ctx, 10, obj_surface,
-                                           w * h, w / 2, h / 2, 
-                                           False, 0, 0,
-                                           media_context);
-           i965_media_mpeg2_surface_state(ctx, 11, obj_surface,
-                                           w * h + w * h / 4, w / 2, h / 2, 
-                                           False, 0, 0,
-                                           media_context);
-           if (picture_structure == MPEG_TOP_FIELD) {
-               i965_media_mpeg2_surface_state(ctx, base_index + 0, obj_surface,
-                                               0, w, h, 
-                                               True, 1, 0,
-                                               media_context);
-               i965_media_mpeg2_surface_state(ctx, base_index + 1, obj_surface,
-                                               w * h, w / 2, h / 2, 
-                                               True, 1, 0,
-                                               media_context);
-               i965_media_mpeg2_surface_state(ctx, base_index + 2, obj_surface,
-                                               w * h + w * h / 4, w / 2, h / 2, 
-                                               True, 1, 0,
-                                               media_context);
-           } else {
-               assert(picture_structure == MPEG_BOTTOM_FIELD);
-               i965_media_mpeg2_surface_state(ctx, base_index + 0, obj_surface,
-                                               0, w, h, 
-                                               True, 1, 1,
-                                               media_context);
-               i965_media_mpeg2_surface_state(ctx, base_index + 1, obj_surface,
-                                               w * h, w / 2, h / 2, 
-                                               True, 1, 1,
-                                               media_context);
-               i965_media_mpeg2_surface_state(ctx, base_index + 2, obj_surface,
-                                               w * h + w * h / 4, w / 2, h / 2, 
-                                               True, 1, 1,
-                                               media_context);
-           }
-       } else {
-           i965_media_mpeg2_surface_state(ctx, base_index + 0, obj_surface,
-                                           0, w, h, 
-                                           is_dst, 0, 0,
-                                           media_context);
-           i965_media_mpeg2_surface_state(ctx, base_index + 1, obj_surface,
-                                           w * h, w / 2, h / 2, 
-                                           is_dst, 0, 0,
-                                           media_context);
-           i965_media_mpeg2_surface_state(ctx, base_index + 2, obj_surface,
-                                           w * h + w * h / 4, w / 2, h / 2, 
-                                           is_dst, 0, 0,
-                                           media_context);
-       }
-    }
-}
-
-void 
-i965_media_mpeg2_surfaces_setup(VADriverContextP ctx, 
-                                struct decode_state *decode_state,
-                                struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct object_surface *obj_surface;
-    VAPictureParameterBufferMPEG2 *param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    obj_surface = SURFACE(decode_state->current_render_target);
-    assert(obj_surface);
-    i965_media_mpeg2_surface_setup(ctx, 0, obj_surface, True,
-                                   param->picture_coding_extension.bits.picture_structure,
-                                   SURFACE_TARGET,
-                                   media_context);
-
-    obj_surface = SURFACE(param->forward_reference_picture);
-    if (!obj_surface) {
-//        assert(param->picture_coding_type == 1); /* I-picture */
-    } else {
-        i965_media_mpeg2_surface_setup(ctx, 4, obj_surface, False,
-                                       param->picture_coding_extension.bits.picture_structure, 
-                                       SURFACE_FORWARD,
-                                       media_context);
-        obj_surface = SURFACE(param->backward_reference_picture);
-        if (!obj_surface) {
-            assert(param->picture_coding_type == 2); /* P-picture */
-
-            obj_surface = SURFACE(param->forward_reference_picture);
-            i965_media_mpeg2_surface_setup(ctx, 7, obj_surface, False,
-                                           param->picture_coding_extension.bits.picture_structure, 
-                                           SURFACE_BACKWARD,
-                                           media_context);
-        } else {
-            assert(param->picture_coding_type == 3); /* B-picture */
-            i965_media_mpeg2_surface_setup(ctx, 7, obj_surface, False,
-                                           param->picture_coding_extension.bits.picture_structure,
-                                           SURFACE_BIDIRECT,
-                                           media_context);
-        }
-    }
-}
-
-static void
-i965_media_mpeg2_binding_table(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    int i;
-    unsigned int *binding_table;
-    dri_bo *bo = media_context->binding_table.bo;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-
-    for (i = 0; i < MAX_MEDIA_SURFACES; i++) {
-        if (media_context->surface_state[i].bo) {
-            binding_table[i] = media_context->surface_state[i].bo->offset;
-            dri_bo_emit_reloc(bo,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0,
-                              i * sizeof(*binding_table),
-                              media_context->surface_state[i].bo);
-        }
-    }
-
-    dri_bo_unmap(media_context->binding_table.bo);
-}
-
-static void
-i965_media_mpeg2_vfe_state(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_vfe_state *vfe_state;
-    dri_bo *bo;
-
-    bo = media_context->vfe_state.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    vfe_state = bo->virtual;
-    memset(vfe_state, 0, sizeof(*vfe_state));
-    vfe_state->vfe0.extend_vfe_state_present = 1;
-    vfe_state->vfe1.vfe_mode = VFE_VLD_MODE;
-    vfe_state->vfe1.num_urb_entries = media_context->urb.num_vfe_entries;
-    vfe_state->vfe1.children_present = 0;
-    vfe_state->vfe1.urb_entry_alloc_size = media_context->urb.size_vfe_entry - 1;
-    vfe_state->vfe1.max_threads = media_context->urb.num_vfe_entries - 1;
-    vfe_state->vfe2.interface_descriptor_base = 
-        media_context->idrt.bo->offset >> 4; /* reloc */
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_vfe_state, vfe2),
-                      media_context->idrt.bo);
-    dri_bo_unmap(bo);
-}
-
-static void 
-i965_media_mpeg2_interface_descriptor_remap_table(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_mpeg2_context *i965_mpeg2_context = (struct i965_mpeg2_context *)media_context->private_context;
-    struct i965_interface_descriptor *desc;
-    int i;
-    dri_bo *bo;
-
-    bo = media_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-
-    for (i = 0; i < NUM_MPEG2_VLD_KERNELS; i++) {
-        memset(desc, 0, sizeof(*desc));
-        desc->desc0.grf_reg_blocks = 15;
-        desc->desc0.kernel_start_pointer = i965_mpeg2_context->vld_kernels[i].bo->offset >> 6; /* reloc */
-        desc->desc1.const_urb_entry_read_offset = 0;
-        desc->desc1.const_urb_entry_read_len = 30;
-        desc->desc3.binding_table_entry_count = 0;
-        desc->desc3.binding_table_pointer = 
-            media_context->binding_table.bo->offset >> 5; /*reloc */
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc0.grf_reg_blocks,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc0),
-                          i965_mpeg2_context->vld_kernels[i].bo);
-
-        dri_bo_emit_reloc(bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          desc->desc3.binding_table_entry_count,
-                          i * sizeof(*desc) + offsetof(struct i965_interface_descriptor, desc3),
-                          media_context->binding_table.bo);
-        desc++;
-    }
-
-    dri_bo_unmap(bo);
-}
-
-void
-i965_media_mpeg2_vld_state(VADriverContextP ctx,
-                           struct decode_state *decode_state,
-                           struct i965_media_context *media_context)
-{
-    struct i965_vld_state *vld_state;
-    VAPictureParameterBufferMPEG2 *param;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    assert(media_context->extended_state.bo);
-    dri_bo_map(media_context->extended_state.bo, 1);
-    assert(media_context->extended_state.bo->virtual);
-    vld_state = media_context->extended_state.bo->virtual;
-    memset(vld_state, 0, sizeof(*vld_state));
-
-    vld_state->vld0.f_code_0_0 = ((param->f_code >> 12) & 0xf);
-    vld_state->vld0.f_code_0_1 = ((param->f_code >> 8) & 0xf);
-    vld_state->vld0.f_code_1_0 = ((param->f_code >> 4) & 0xf);
-    vld_state->vld0.f_code_1_1 = (param->f_code & 0xf);
-    vld_state->vld0.intra_dc_precision = param->picture_coding_extension.bits.intra_dc_precision;
-    vld_state->vld0.picture_structure = param->picture_coding_extension.bits.picture_structure;
-    vld_state->vld0.top_field_first = param->picture_coding_extension.bits.top_field_first;
-    vld_state->vld0.frame_predict_frame_dct = param->picture_coding_extension.bits.frame_pred_frame_dct;
-    vld_state->vld0.concealment_motion_vector = param->picture_coding_extension.bits.concealment_motion_vectors;
-    vld_state->vld0.quantizer_scale_type = param->picture_coding_extension.bits.q_scale_type;
-    vld_state->vld0.intra_vlc_format = param->picture_coding_extension.bits.intra_vlc_format;
-    vld_state->vld0.scan_order = param->picture_coding_extension.bits.alternate_scan;
-
-    vld_state->vld1.picture_coding_type = param->picture_coding_type;
-
-    if (vld_state->vld0.picture_structure == MPEG_FRAME) {
-       /*frame picture*/ 
-       vld_state->desc_remap_table0.index_0 = FRAME_INTRA;
-       vld_state->desc_remap_table0.index_1 = FRAME_FRAME_PRED_FORWARD;
-       vld_state->desc_remap_table0.index_2 = FRAME_FIELD_PRED_FORWARD;
-       vld_state->desc_remap_table0.index_3 = FRAME_FIELD_PRED_BIDIRECT; /* dual prime */
-       vld_state->desc_remap_table0.index_4 = FRAME_FRAME_PRED_BACKWARD;
-       vld_state->desc_remap_table0.index_5 = FRAME_FIELD_PRED_BACKWARD;
-       vld_state->desc_remap_table0.index_6 = FRAME_FRAME_PRED_BIDIRECT;
-       vld_state->desc_remap_table0.index_7 = FRAME_FIELD_PRED_BIDIRECT;
-
-       vld_state->desc_remap_table1.index_8 = FRAME_INTRA;
-       vld_state->desc_remap_table1.index_9 = FRAME_FRAME_PRED_FORWARD;
-       vld_state->desc_remap_table1.index_10 = FRAME_FIELD_PRED_FORWARD;
-       vld_state->desc_remap_table1.index_11 = FRAME_FIELD_PRED_BIDIRECT;
-       vld_state->desc_remap_table1.index_12 = FRAME_FRAME_PRED_BACKWARD;
-       vld_state->desc_remap_table1.index_13 = FRAME_FIELD_PRED_BACKWARD;
-       vld_state->desc_remap_table1.index_14 = FRAME_FRAME_PRED_BIDIRECT;
-       vld_state->desc_remap_table1.index_15 = FRAME_FIELD_PRED_BIDIRECT;
-    } else {
-       /*field picture*/
-       vld_state->desc_remap_table0.index_0 = FIELD_INTRA;
-       vld_state->desc_remap_table0.index_1 = FIELD_FORWARD;
-       vld_state->desc_remap_table0.index_2 = FIELD_FORWARD_16X8;
-       vld_state->desc_remap_table0.index_3 = FIELD_BIDIRECT; /* dual prime */
-       vld_state->desc_remap_table0.index_4 = FIELD_BACKWARD;
-       vld_state->desc_remap_table0.index_5 = FIELD_BACKWARD_16X8;
-       vld_state->desc_remap_table0.index_6 = FIELD_BIDIRECT;
-       vld_state->desc_remap_table0.index_7 = FIELD_BIDIRECT_16X8;
-    }
-
-    dri_bo_unmap(media_context->extended_state.bo);
-}
-
-static void
-i965_media_mpeg2_upload_constants(VADriverContextP ctx,
-                                  struct decode_state *decode_state,
-                                  struct i965_media_context *media_context)
-{
-    struct i965_mpeg2_context *i965_mpeg2_context = (struct i965_mpeg2_context *)media_context->private_context;
-    int i, j;
-    unsigned char *constant_buffer;
-    unsigned char *qmx;
-    unsigned int *lib_reloc;
-    int lib_reloc_offset = 0;
-
-    dri_bo_map(media_context->curbe.bo, 1);
-    assert(media_context->curbe.bo->virtual);
-    constant_buffer = media_context->curbe.bo->virtual;
-
-    /* iq_matrix */
-    if (decode_state->iq_matrix && decode_state->iq_matrix->buffer) {
-        VAIQMatrixBufferMPEG2 *iq_matrix = (VAIQMatrixBufferMPEG2 *)decode_state->iq_matrix->buffer;
-
-        /* Upload quantisation matrix in row-major order. The mplayer vaapi
-         * patch passes quantisation matrix in zig-zag order to va library.
-         * Do we need a flag in VAIQMatrixBufferMPEG2 to specify the order
-         * of the quantisation matrix?
-         */
-        qmx = constant_buffer;
-        if (iq_matrix->load_intra_quantiser_matrix) {
-            for (i = 0; i < 64; i++) {
-                j = zigzag_direct[i];
-                qmx[j] = iq_matrix->intra_quantiser_matrix[i];
-            }
-        }
-
-        qmx = constant_buffer + 64;
-        if (iq_matrix->load_non_intra_quantiser_matrix) {
-            for (i = 0; i < 64; i++) {
-                j = zigzag_direct[i];
-                qmx[j] = iq_matrix->non_intra_quantiser_matrix[i];
-            }
-        }
-
-        /* no chroma quantisation matrices for 4:2:0 data */
-    }
-
-    /* idct table */
-    memcpy(constant_buffer + 128, idct_table, sizeof(idct_table));
-
-    /* idct lib reloc */
-    lib_reloc_offset = 128 + sizeof(idct_table);
-    lib_reloc = (unsigned int *)(constant_buffer + lib_reloc_offset);
-    for (i = 0; i < 8; i++) {
-        lib_reloc[i] = i965_mpeg2_context->vld_kernels[LIB_INTERFACE].bo->offset;
-        dri_bo_emit_reloc(media_context->curbe.bo,
-                          I915_GEM_DOMAIN_INSTRUCTION, 0,
-                          0,
-                          lib_reloc_offset + i * sizeof(unsigned int),
-                          i965_mpeg2_context->vld_kernels[LIB_INTERFACE].bo);
-    }
-
-    dri_bo_unmap(media_context->curbe.bo);
-}
-
-static void
-i965_media_mpeg2_states_setup(VADriverContextP ctx, 
-                              struct decode_state *decode_state, 
-                              struct i965_media_context *media_context)
-{
-    i965_media_mpeg2_surfaces_setup(ctx, decode_state, media_context);
-    i965_media_mpeg2_binding_table(ctx, media_context);
-    i965_media_mpeg2_interface_descriptor_remap_table(ctx, media_context);
-    i965_media_mpeg2_vld_state(ctx, decode_state, media_context);
-    i965_media_mpeg2_vfe_state(ctx, media_context);
-    i965_media_mpeg2_upload_constants(ctx, decode_state, media_context);
-}
-
-static void
-i965_media_mpeg2_objects(VADriverContextP ctx, 
-                         struct decode_state *decode_state,
-                         struct i965_media_context *media_context)
-{
-    struct intel_batchbuffer *batch = media_context->base.batch;
-    VASliceParameterBufferMPEG2 *slice_param;
-    VAPictureParameterBufferMPEG2 *pic_param;
-    int i, j;
-
-    assert(decode_state->pic_param && decode_state->pic_param->buffer);
-    pic_param = (VAPictureParameterBufferMPEG2 *)decode_state->pic_param->buffer;
-
-    for (j = 0; j < decode_state->num_slice_params; j++) {
-        assert(decode_state->slice_params[j] && decode_state->slice_params[j]->buffer);
-        assert(decode_state->slice_datas[j] && decode_state->slice_datas[j]->bo);
-        slice_param = (VASliceParameterBufferMPEG2 *)decode_state->slice_params[j]->buffer;
-
-        for (i = 0; i < decode_state->slice_params[j]->num_elements; i++) {
-            int vpos, hpos, is_field_pic = 0;
-
-            if (pic_param->picture_coding_extension.bits.picture_structure == MPEG_TOP_FIELD ||
-                pic_param->picture_coding_extension.bits.picture_structure == MPEG_BOTTOM_FIELD)
-                is_field_pic = 1;
-
-            assert(slice_param->slice_data_flag == VA_SLICE_DATA_FLAG_ALL);
-            vpos = slice_param->slice_vertical_position / (1 + is_field_pic);
-            hpos = slice_param->slice_horizontal_position;
-
-            BEGIN_BATCH(batch, 6);
-            OUT_BATCH(batch, CMD_MEDIA_OBJECT | 4);
-            OUT_BATCH(batch, 0);
-            OUT_BATCH(batch, slice_param->slice_data_size - (slice_param->macroblock_offset >> 3));
-            OUT_RELOC(batch, decode_state->slice_datas[j]->bo, 
-                      I915_GEM_DOMAIN_SAMPLER, 0, 
-                      slice_param->slice_data_offset + (slice_param->macroblock_offset >> 3));
-            OUT_BATCH(batch, 
-                      ((hpos << 24) |     
-                       (vpos << 16) |
-                       (127 << 8) | 
-                       (slice_param->macroblock_offset & 0x7)));
-            OUT_BATCH(batch, slice_param->quantiser_scale_code << 24);
-            ADVANCE_BATCH(batch);          
-            slice_param++;
-        }
-    }
-}
-
-static void
-i965_media_mpeg2_free_private_context(void **data)
-{
-    struct i965_mpeg2_context *i965_mpeg2_context = *data;
-    int i;
-
-    if (i965_mpeg2_context == NULL)
-        return;
-
-    for (i = 0; i < NUM_MPEG2_VLD_KERNELS; i++) {
-        struct i965_kernel *kernel = &i965_mpeg2_context->vld_kernels[i];
-
-        dri_bo_unreference(kernel->bo);
-        kernel->bo = NULL;
-    }
-
-    free(i965_mpeg2_context);
-    *data = NULL;
-}
-
-void 
-i965_media_mpeg2_decode_init(VADriverContextP ctx, 
-                             struct decode_state *decode_state, 
-                             struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    dri_bo *bo;
-
-    dri_bo_unreference(media_context->indirect_object.bo);
-    media_context->indirect_object.bo = NULL;
-
-    media_context->extended_state.enabled = 1;
-    dri_bo_unreference(media_context->extended_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "vld state", 
-                      sizeof(struct i965_vld_state), 32);
-    assert(bo);
-    media_context->extended_state.bo = bo;
-}
-
-void 
-i965_media_mpeg2_dec_context_init(VADriverContextP ctx, struct i965_media_context *media_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_mpeg2_context *i965_mpeg2_context;
-    int i;
-
-    i965_mpeg2_context = calloc(1, sizeof(struct i965_mpeg2_context));
-
-    /* kernel */
-    assert(NUM_MPEG2_VLD_KERNELS == (sizeof(mpeg2_vld_kernels_gen4) / 
-                                     sizeof(mpeg2_vld_kernels_gen4[0])));
-    assert(NUM_MPEG2_VLD_KERNELS == (sizeof(mpeg2_vld_kernels_gen5) / 
-                                     sizeof(mpeg2_vld_kernels_gen5[0])));
-    assert(NUM_MPEG2_VLD_KERNELS <= MAX_INTERFACE_DESC);
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        memcpy(i965_mpeg2_context->vld_kernels, mpeg2_vld_kernels_gen5, sizeof(i965_mpeg2_context->vld_kernels));
-    else
-        memcpy(i965_mpeg2_context->vld_kernels, mpeg2_vld_kernels_gen4, sizeof(i965_mpeg2_context->vld_kernels));
-
-    for (i = 0; i < NUM_MPEG2_VLD_KERNELS; i++) {
-        struct i965_kernel *kernel = &i965_mpeg2_context->vld_kernels[i];
-        kernel->bo = dri_bo_alloc(i965->intel.bufmgr, 
-                                  kernel->name, 
-                                  kernel->size, 64);
-        assert(kernel->bo);
-        dri_bo_subdata(kernel->bo, 0, kernel->size, kernel->bin);
-    }
-
-    /* URB */
-    media_context->urb.num_vfe_entries = 28;
-    media_context->urb.size_vfe_entry = 13;
-
-    media_context->urb.num_cs_entries = 1;
-    media_context->urb.size_cs_entry = 16;
-
-    media_context->urb.vfe_start = 0;
-    media_context->urb.cs_start = media_context->urb.vfe_start + 
-        media_context->urb.num_vfe_entries * media_context->urb.size_vfe_entry;
-    assert(media_context->urb.cs_start + 
-           media_context->urb.num_cs_entries * media_context->urb.size_cs_entry <= URB_SIZE((&i965->intel)));
-
-    /* hook functions */
-    media_context->media_states_setup = i965_media_mpeg2_states_setup;
-    media_context->media_objects = i965_media_mpeg2_objects;
-    media_context->private_context = i965_mpeg2_context;
-    media_context->free_private_context = i965_media_mpeg2_free_private_context;
-}
diff --git a/i965_drv_video/i965_media_mpeg2.h b/i965_drv_video/i965_media_mpeg2.h
deleted file mode 100644 (file)
index 40d91f1..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#ifndef _I965_MEDIA_MPEG2_H_
-#define _I965_MEDIA_MPEG2_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-struct decode_state;
-struct i965_media_context;
-
-#define NUM_MPEG2_VLD_KERNELS           15
-
-struct i965_mpeg2_context
-{
-    struct i965_kernel vld_kernels[NUM_MPEG2_VLD_KERNELS];
-};
-
-void i965_media_mpeg2_decode_init(VADriverContextP ctx, struct decode_state * decode_state, struct i965_media_context *media_context);
-void i965_media_mpeg2_dec_context_init(VADriverContextP ctx, struct i965_media_context *media_context);
-
-#endif /* _I965_MEDIA_MPEG2_H_ */
diff --git a/i965_drv_video/i965_mutext.h b/i965_drv_video/i965_mutext.h
deleted file mode 100644 (file)
index 57d4372..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _I965_MUTEX_H_
-#define _I965_MUTEX_H_
-
-#include "intel_compiler.h"
-
-#if defined PTHREADS
-#include <pthread.h>
-
-typedef pthread_mutex_t _I965Mutex;
-
-static INLINE void _i965InitMutex(_I965Mutex *m)
-{
-    pthread_mutex_init(m, NULL);
-}
-
-static INLINE void
-_i965DestroyMutex(_I965Mutex *m)
-{
-    pthread_mutex_destroy(m);
-}
-
-static INLINE void
-_i965LockMutex(_I965Mutex *m)
-{
-    pthread_mutex_lock(m);
-}
-
-static INLINE void
-_i965UnlockMutex(_I965Mutex *m)
-{
-    pthread_mutex_unlock(m);
-}
-
-#define _I965_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-#define _I965_DECLARE_MUTEX(m)                    \
-    _I965Mutex m = _I965_MUTEX_INITIALIZER
-
-#else
-
-typedef int _I965Mutex;
-static INLINE void _i965InitMutex(_I965Mutex *m) { (void) m; }
-static INLINE void _i965DestroyMutex(_I965Mutex *m) { (void) m; }
-static INLINE void _i965LockMutex(_I965Mutex *m) { (void) m; }
-static INLINE void _i965UnlockMutex(_I965Mutex *m) { (void) m; }
-
-#define _I965_MUTEX_INITIALIZER 0
-#define _I965_DECLARE_MUTEX(m)                    \
-    _I965Mutex m = _I965_MUTEX_INITIALIZER
-
-#endif
-
-#endif /* _I965_MUTEX_H_ */
diff --git a/i965_drv_video/i965_post_processing.c b/i965_drv_video/i965_post_processing.c
deleted file mode 100644 (file)
index 4201d09..0000000
+++ /dev/null
@@ -1,2384 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-#include "i965_defines.h"
-#include "i965_structs.h"
-#include "i965_drv_video.h"
-#include "i965_post_processing.h"
-#include "i965_render.h"
-
-#define HAS_PP(ctx) (IS_IRONLAKE((ctx)->intel.device_id) ||     \
-                     IS_GEN6((ctx)->intel.device_id) ||         \
-                     IS_GEN7((ctx)->intel.device_id))
-
-static const uint32_t pp_null_gen5[][4] = {
-#include "shaders/post_processing/null.g4b.gen5"
-};
-
-static const uint32_t pp_nv12_load_save_gen5[][4] = {
-#include "shaders/post_processing/nv12_load_save_nv12.g4b.gen5"
-};
-
-static const uint32_t pp_nv12_scaling_gen5[][4] = {
-#include "shaders/post_processing/nv12_scaling_nv12.g4b.gen5"
-};
-
-static const uint32_t pp_nv12_avs_gen5[][4] = {
-#include "shaders/post_processing/nv12_avs_nv12.g4b.gen5"
-};
-
-static const uint32_t pp_nv12_dndi_gen5[][4] = {
-#include "shaders/post_processing/nv12_dndi_nv12.g4b.gen5"
-};
-
-static void pp_null_initialize(VADriverContextP ctx,
-                               VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                               const VARectangle *src_rect, const VARectangle *dst_rect);
-static void pp_nv12_avs_initialize(VADriverContextP ctx,
-                                   VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                                   const VARectangle *src_rect, const VARectangle *dst_rect);
-static void pp_nv12_scaling_initialize(VADriverContextP ctx,
-                                       VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                                       const VARectangle *src_rect, const VARectangle *dst_rect);
-static void pp_nv12_load_save_initialize(VADriverContextP ctx,
-                                         VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                                         const VARectangle *src_rect, const VARectangle *dst_rect);
-static void pp_nv12_dndi_initialize(VADriverContextP ctx,
-                                    VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                                    const VARectangle *src_rect, const VARectangle *dst_rect);
-
-static struct pp_module pp_modules_gen5[] = {
-    {
-        {
-            "NULL module (for testing)",
-            PP_NULL,
-            pp_null_gen5,
-            sizeof(pp_null_gen5),
-            NULL,
-        },
-
-        pp_null_initialize,
-    },
-
-    {
-        {
-            "NV12 Load & Save module",
-            PP_NV12_LOAD_SAVE,
-            pp_nv12_load_save_gen5,
-            sizeof(pp_nv12_load_save_gen5),
-            NULL,
-        },
-
-        pp_nv12_load_save_initialize,
-    },
-
-    {
-        {
-            "NV12 Scaling module",
-            PP_NV12_SCALING,
-            pp_nv12_scaling_gen5,
-            sizeof(pp_nv12_scaling_gen5),
-            NULL,
-        },
-
-        pp_nv12_scaling_initialize,
-    },
-
-    {
-        {
-            "NV12 AVS module",
-            PP_NV12_AVS,
-            pp_nv12_avs_gen5,
-            sizeof(pp_nv12_avs_gen5),
-            NULL,
-        },
-
-        pp_nv12_avs_initialize,
-    },
-
-    {
-        {
-            "NV12 DNDI module",
-            PP_NV12_DNDI,
-            pp_nv12_dndi_gen5,
-            sizeof(pp_nv12_dndi_gen5),
-            NULL,
-        },
-
-        pp_nv12_dndi_initialize,
-    },
-};
-
-static const uint32_t pp_null_gen6[][4] = {
-#include "shaders/post_processing/null.g6b"
-};
-
-static const uint32_t pp_nv12_load_save_gen6[][4] = {
-#include "shaders/post_processing/nv12_load_save_nv12.g6b"
-};
-
-static const uint32_t pp_nv12_scaling_gen6[][4] = {
-#include "shaders/post_processing/nv12_scaling_nv12.g6b"
-};
-
-static const uint32_t pp_nv12_avs_gen6[][4] = {
-#include "shaders/post_processing/nv12_avs_nv12.g6b"
-};
-
-static const uint32_t pp_nv12_dndi_gen6[][4] = {
-#include "shaders/post_processing/nv12_dndi_nv12.g6b"
-};
-
-static struct pp_module pp_modules_gen6[] = {
-    {
-        {
-            "NULL module (for testing)",
-            PP_NULL,
-            pp_null_gen6,
-            sizeof(pp_null_gen6),
-            NULL,
-        },
-
-        pp_null_initialize,
-    },
-
-    {
-        {
-            "NV12 Load & Save module",
-            PP_NV12_LOAD_SAVE,
-            pp_nv12_load_save_gen6,
-            sizeof(pp_nv12_load_save_gen6),
-            NULL,
-        },
-
-        pp_nv12_load_save_initialize,
-    },
-
-    {
-        {
-            "NV12 Scaling module",
-            PP_NV12_SCALING,
-            pp_nv12_scaling_gen6,
-            sizeof(pp_nv12_scaling_gen6),
-            NULL,
-        },
-
-        pp_nv12_scaling_initialize,
-    },
-
-    {
-        {
-            "NV12 AVS module",
-            PP_NV12_AVS,
-            pp_nv12_avs_gen6,
-            sizeof(pp_nv12_avs_gen6),
-            NULL,
-        },
-
-        pp_nv12_avs_initialize,
-    },
-
-    {
-        {
-            "NV12 DNDI module",
-            PP_NV12_DNDI,
-            pp_nv12_dndi_gen6,
-            sizeof(pp_nv12_dndi_gen6),
-            NULL,
-        },
-
-        pp_nv12_dndi_initialize,
-    },
-};
-
-#define pp_static_parameter     pp_context->pp_static_parameter
-#define pp_inline_parameter     pp_context->pp_inline_parameter
-
-static void
-pp_set_surface_tiling(struct i965_surface_state *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss3.tiled_surface = 0;
-        ss->ss3.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-static void
-pp_set_surface2_tiling(struct i965_surface_state2 *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss2.tiled_surface = 0;
-        ss->ss2.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss2.tiled_surface = 1;
-        ss->ss2.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-static void
-ironlake_pp_surface_state(struct i965_post_processing_context *pp_context)
-{
-
-}
-
-static void
-ironlake_pp_interface_descriptor_table(struct i965_post_processing_context *pp_context)
-{
-    struct i965_interface_descriptor *desc;
-    dri_bo *bo;
-    int pp_index = pp_context->current_pp;
-
-    bo = pp_context->idrt.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    desc = bo->virtual;
-    memset(desc, 0, sizeof(*desc));
-    desc->desc0.grf_reg_blocks = 10;
-    desc->desc0.kernel_start_pointer = pp_context->pp_modules[pp_index].kernel.bo->offset >> 6; /* reloc */
-    desc->desc1.const_urb_entry_read_offset = 0;
-    desc->desc1.const_urb_entry_read_len = 4; /* grf 1-4 */
-    desc->desc2.sampler_state_pointer = pp_context->sampler_state_table.bo->offset >> 5;
-    desc->desc2.sampler_count = 0;
-    desc->desc3.binding_table_entry_count = 0;
-    desc->desc3.binding_table_pointer = 
-        pp_context->binding_table.bo->offset >> 5; /*reloc */
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc0.grf_reg_blocks,
-                      offsetof(struct i965_interface_descriptor, desc0),
-                      pp_context->pp_modules[pp_index].kernel.bo);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc2.sampler_count << 2,
-                      offsetof(struct i965_interface_descriptor, desc2),
-                      pp_context->sampler_state_table.bo);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc3.binding_table_entry_count,
-                      offsetof(struct i965_interface_descriptor, desc3),
-                      pp_context->binding_table.bo);
-
-    dri_bo_unmap(bo);
-    pp_context->idrt.num_interface_descriptors++;
-}
-
-static void
-ironlake_pp_binding_table(struct i965_post_processing_context *pp_context)
-{
-    unsigned int *binding_table;
-    dri_bo *bo = pp_context->binding_table.bo;
-    int i;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-
-    for (i = 0; i < MAX_PP_SURFACES; i++) {
-        if (pp_context->surfaces[i].ss_bo) {
-            assert(pp_context->surfaces[i].s_bo);
-
-            binding_table[i] = pp_context->surfaces[i].ss_bo->offset;
-            dri_bo_emit_reloc(bo,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0,
-                              i * sizeof(*binding_table),
-                              pp_context->surfaces[i].ss_bo);
-        }
-    
-    }
-
-    dri_bo_unmap(bo);
-}
-
-static void
-ironlake_pp_vfe_state(struct i965_post_processing_context *pp_context)
-{
-    struct i965_vfe_state *vfe_state;
-    dri_bo *bo;
-
-    bo = pp_context->vfe_state.bo;
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    vfe_state = bo->virtual;
-    memset(vfe_state, 0, sizeof(*vfe_state));
-    vfe_state->vfe1.max_threads = pp_context->urb.num_vfe_entries - 1;
-    vfe_state->vfe1.urb_entry_alloc_size = pp_context->urb.size_vfe_entry - 1;
-    vfe_state->vfe1.num_urb_entries = pp_context->urb.num_vfe_entries;
-    vfe_state->vfe1.vfe_mode = VFE_GENERIC_MODE;
-    vfe_state->vfe1.children_present = 0;
-    vfe_state->vfe2.interface_descriptor_base = 
-        pp_context->idrt.bo->offset >> 4; /* reloc */
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_vfe_state, vfe2),
-                      pp_context->idrt.bo);
-    dri_bo_unmap(bo);
-}
-
-static void
-ironlake_pp_upload_constants(struct i965_post_processing_context *pp_context)
-{
-    unsigned char *constant_buffer;
-
-    assert(sizeof(pp_static_parameter) == 128);
-    dri_bo_map(pp_context->curbe.bo, 1);
-    assert(pp_context->curbe.bo->virtual);
-    constant_buffer = pp_context->curbe.bo->virtual;
-    memcpy(constant_buffer, &pp_static_parameter, sizeof(pp_static_parameter));
-    dri_bo_unmap(pp_context->curbe.bo);
-}
-
-static void
-ironlake_pp_states_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-
-    ironlake_pp_surface_state(pp_context);
-    ironlake_pp_binding_table(pp_context);
-    ironlake_pp_interface_descriptor_table(pp_context);
-    ironlake_pp_vfe_state(pp_context);
-    ironlake_pp_upload_constants(pp_context);
-}
-
-static void
-ironlake_pp_pipeline_select(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-ironlake_pp_urb_layout(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    unsigned int vfe_fence, cs_fence;
-
-    vfe_fence = pp_context->urb.cs_start;
-    cs_fence = pp_context->urb.size;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_URB_FENCE | UF0_VFE_REALLOC | UF0_CS_REALLOC | 1);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 
-              (vfe_fence << UF2_VFE_FENCE_SHIFT) |      /* VFE_SIZE */
-              (cs_fence << UF2_CS_FENCE_SHIFT));        /* CS_SIZE */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-ironlake_pp_state_base_address(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 8);
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 6);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-ironlake_pp_state_pointers(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, CMD_MEDIA_STATE_POINTERS | 1);
-    OUT_BATCH(batch, 0);
-    OUT_RELOC(batch, pp_context->vfe_state.bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-ironlake_pp_cs_urb_layout(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CS_URB_STATE | 0);
-    OUT_BATCH(batch,
-              ((pp_context->urb.size_cs_entry - 1) << 4) |     /* URB Entry Allocation Size */
-              (pp_context->urb.num_cs_entries << 0));          /* Number of URB Entries */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-ironlake_pp_constant_buffer(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CONSTANT_BUFFER | (1 << 8) | (2 - 2));
-    OUT_RELOC(batch, pp_context->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              pp_context->urb.size_cs_entry - 1);
-    ADVANCE_BATCH(batch);    
-}
-
-static void
-ironlake_pp_object_walker(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    int x, x_steps, y, y_steps;
-
-    x_steps = pp_context->pp_x_steps(&pp_context->private_context);
-    y_steps = pp_context->pp_y_steps(&pp_context->private_context);
-
-    for (y = 0; y < y_steps; y++) {
-        for (x = 0; x < x_steps; x++) {
-            if (!pp_context->pp_set_block_parameter(pp_context, x, y)) {
-                BEGIN_BATCH(batch, 20);
-                OUT_BATCH(batch, CMD_MEDIA_OBJECT | 18);
-                OUT_BATCH(batch, 0);
-                OUT_BATCH(batch, 0); /* no indirect data */
-                OUT_BATCH(batch, 0);
-
-                /* inline data grf 5-6 */
-                assert(sizeof(pp_inline_parameter) == 64);
-                intel_batchbuffer_data(batch, &pp_inline_parameter, sizeof(pp_inline_parameter));
-
-                ADVANCE_BATCH(batch);
-            }
-        }
-    }
-}
-
-static void
-ironlake_pp_pipeline_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    ironlake_pp_pipeline_select(ctx);
-    ironlake_pp_state_base_address(ctx);
-    ironlake_pp_state_pointers(ctx, pp_context);
-    ironlake_pp_urb_layout(ctx, pp_context);
-    ironlake_pp_cs_urb_layout(ctx, pp_context);
-    ironlake_pp_constant_buffer(ctx, pp_context);
-    ironlake_pp_object_walker(ctx, pp_context);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static int
-pp_null_x_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_null_y_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_null_set_block_parameter(struct i965_post_processing_context *pp_context, int x, int y)
-{
-    return 0;
-}
-
-static void
-pp_null_initialize(VADriverContextP ctx, 
-                   VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                   const VARectangle *src_rect, const VARectangle *dst_rect)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-
-    /* private function & data */
-    pp_context->pp_x_steps = pp_null_x_steps;
-    pp_context->pp_y_steps = pp_null_y_steps;
-    pp_context->pp_set_block_parameter = pp_null_set_block_parameter;
-}
-
-static int
-pp_load_save_x_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_load_save_y_steps(void *private_context)
-{
-    struct pp_load_save_context *pp_load_save_context = private_context;
-
-    return pp_load_save_context->dest_h / 8;
-}
-
-static int
-pp_load_save_set_block_parameter(struct i965_post_processing_context *pp_context, int x, int y)
-{
-    pp_inline_parameter.grf5.block_vertical_mask = 0xff;
-    pp_inline_parameter.grf5.block_horizontal_mask = 0xffff;
-    pp_inline_parameter.grf5.destination_block_horizontal_origin = x * 16;
-    pp_inline_parameter.grf5.destination_block_vertical_origin = y * 8;
-
-    return 0;
-}
-
-static void
-pp_nv12_load_save_initialize(VADriverContextP ctx,
-                             VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                             const VARectangle *src_rect, const VARectangle *dst_rect)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_load_save_context *pp_load_save_context = (struct pp_load_save_context *)&pp_context->private_context;
-    struct object_surface *obj_surface;
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    int index, w, h;
-    int orig_w, orig_h;
-    unsigned int tiling, swizzle;
-
-    /* source surface */
-    obj_surface = SURFACE(in_surface_id);
-    orig_w = obj_surface->orig_width;
-    orig_h = obj_surface->orig_height;
-    w = obj_surface->width;
-    h = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* source Y surface index 1 */
-    index = 1;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* source UV surface index 2 */
-    index = 2;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + w * h;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h / 2 - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      w * h,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination surface */
-    obj_surface = SURFACE(out_surface_id);
-    orig_w = obj_surface->orig_width;
-    orig_h = obj_surface->orig_height;
-    w = obj_surface->width;
-    h = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* destination Y surface index 7 */
-    index = 7;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination UV surface index 8 */
-    index = 8;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + w * h;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h / 2 - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      w * h,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* private function & data */
-    pp_context->pp_x_steps = pp_load_save_x_steps;
-    pp_context->pp_y_steps = pp_load_save_y_steps;
-    pp_context->pp_set_block_parameter = pp_load_save_set_block_parameter;
-    pp_load_save_context->dest_h = h;
-    pp_load_save_context->dest_w = w;
-
-    pp_inline_parameter.grf5.block_count_x = w / 16;   /* 1 x N */
-    pp_inline_parameter.grf5.number_blocks = w / 16;
-}
-
-static int
-pp_scaling_x_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_scaling_y_steps(void *private_context)
-{
-    struct pp_scaling_context *pp_scaling_context = private_context;
-
-    return pp_scaling_context->dest_h / 8;
-}
-
-static int
-pp_scaling_set_block_parameter(struct i965_post_processing_context *pp_context, int x, int y)
-{
-    struct pp_scaling_context *pp_scaling_context = (struct pp_scaling_context *)&pp_context->private_context;
-    float src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-    float src_y_steping = pp_static_parameter.grf1.r1_6.normalized_video_y_scaling_step;
-
-    pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin = src_x_steping * x * 16 + pp_scaling_context->src_normalized_x;
-    pp_inline_parameter.grf5.source_surface_block_normalized_vertical_origin = src_y_steping * y * 8 + pp_scaling_context->src_normalized_y;
-    pp_inline_parameter.grf5.destination_block_horizontal_origin = x * 16 + pp_scaling_context->dest_x;
-    pp_inline_parameter.grf5.destination_block_vertical_origin = y * 8 + pp_scaling_context->dest_y;
-    
-    return 0;
-}
-
-static void
-pp_nv12_scaling_initialize(VADriverContextP ctx,
-                           VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                           const VARectangle *src_rect, const VARectangle *dst_rect)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_scaling_context *pp_scaling_context = (struct pp_scaling_context *)&pp_context->private_context;
-    struct object_surface *obj_surface;
-    struct i965_sampler_state *sampler_state;
-    struct i965_surface_state *ss;
-    dri_bo *bo;
-    int index;
-    int in_w, in_h, in_wpitch, in_hpitch;
-    int out_w, out_h, out_wpitch, out_hpitch;
-    unsigned int tiling, swizzle;
-
-    /* source surface */
-    obj_surface = SURFACE(in_surface_id);
-    in_w = obj_surface->orig_width;
-    in_h = obj_surface->orig_height;
-    in_wpitch = obj_surface->width;
-    in_hpitch = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* source Y surface index 1 */
-    index = 1;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = in_w - 1;
-    ss->ss2.height = in_h - 1;
-    ss->ss3.pitch = in_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* source UV surface index 2 */
-    index = 2;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + in_wpitch * in_hpitch;
-    ss->ss2.width = in_w / 2 - 1;
-    ss->ss2.height = in_h / 2 - 1;
-    ss->ss3.pitch = in_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      in_wpitch * in_hpitch,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination surface */
-    obj_surface = SURFACE(out_surface_id);
-    out_w = obj_surface->orig_width;
-    out_h = obj_surface->orig_height;
-    out_wpitch = obj_surface->width;
-    out_hpitch = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* destination Y surface index 7 */
-    index = 7;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = out_w / 4 - 1;
-    ss->ss2.height = out_h - 1;
-    ss->ss3.pitch = out_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination UV surface index 8 */
-    index = 8;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + out_wpitch * out_hpitch;
-    ss->ss2.width = out_w / 4 - 1;
-    ss->ss2.height = out_h / 2 - 1;
-    ss->ss3.pitch = out_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      out_wpitch * out_hpitch,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* sampler state */
-    dri_bo_map(pp_context->sampler_state_table.bo, True);
-    assert(pp_context->sampler_state_table.bo->virtual);
-    sampler_state = pp_context->sampler_state_table.bo->virtual;
-
-    /* SIMD16 Y index 1 */
-    sampler_state[1].ss0.min_filter = I965_MAPFILTER_LINEAR;
-    sampler_state[1].ss0.mag_filter = I965_MAPFILTER_LINEAR;
-    sampler_state[1].ss1.r_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-    sampler_state[1].ss1.s_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-    sampler_state[1].ss1.t_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-
-    /* SIMD16 UV index 2 */
-    sampler_state[2].ss0.min_filter = I965_MAPFILTER_LINEAR;
-    sampler_state[2].ss0.mag_filter = I965_MAPFILTER_LINEAR;
-    sampler_state[2].ss1.r_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-    sampler_state[2].ss1.s_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-    sampler_state[2].ss1.t_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-
-    dri_bo_unmap(pp_context->sampler_state_table.bo);
-
-    /* private function & data */
-    pp_context->pp_x_steps = pp_scaling_x_steps;
-    pp_context->pp_y_steps = pp_scaling_y_steps;
-    pp_context->pp_set_block_parameter = pp_scaling_set_block_parameter;
-
-    pp_scaling_context->dest_x = dst_rect->x;
-    pp_scaling_context->dest_y = dst_rect->y;
-    pp_scaling_context->dest_w = ALIGN(dst_rect->width, 16);
-    pp_scaling_context->dest_h = ALIGN(dst_rect->height, 16);
-    pp_scaling_context->src_normalized_x = (float)src_rect->x / in_w / out_w;
-    pp_scaling_context->src_normalized_y = (float)src_rect->y / in_h / out_h;
-
-    pp_static_parameter.grf1.r1_6.normalized_video_y_scaling_step = (float) src_rect->height / in_h / out_h;
-
-    pp_inline_parameter.grf5.normalized_video_x_scaling_step = (float) src_rect->width / in_w / out_w;
-    pp_inline_parameter.grf5.block_count_x = pp_scaling_context->dest_w / 16;   /* 1 x N */
-    pp_inline_parameter.grf5.number_blocks = pp_scaling_context->dest_w / 16;
-    pp_inline_parameter.grf5.block_vertical_mask = 0xff;
-    pp_inline_parameter.grf5.block_horizontal_mask = 0xffff;
-}
-
-static int
-pp_avs_x_steps(void *private_context)
-{
-    struct pp_avs_context *pp_avs_context = private_context;
-
-    return pp_avs_context->dest_w / 16;
-}
-
-static int
-pp_avs_y_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_avs_set_block_parameter(struct i965_post_processing_context *pp_context, int x, int y)
-{
-    struct pp_avs_context *pp_avs_context = (struct pp_avs_context *)&pp_context->private_context;
-    float src_x_steping, src_y_steping, video_step_delta;
-    int tmp_w = ALIGN(pp_avs_context->dest_h * pp_avs_context->src_w / pp_avs_context->src_h, 16);
-
-    if (tmp_w >= pp_avs_context->dest_w) {
-        pp_inline_parameter.grf5.normalized_video_x_scaling_step = 1.0 / tmp_w;
-        pp_inline_parameter.grf6.video_step_delta = 0;
-        
-        if (x == 0) {
-            pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin = (float)(tmp_w - pp_avs_context->dest_w) / tmp_w / 2 +
-                pp_avs_context->src_normalized_x;
-        } else {
-            src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-            video_step_delta = pp_inline_parameter.grf6.video_step_delta;
-            pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin += src_x_steping * 16 +
-                16 * 15 * video_step_delta / 2;
-        }
-    } else {
-        int n0, n1, n2, nls_left, nls_right;
-        int factor_a = 5, factor_b = 4;
-        float f;
-
-        n0 = (pp_avs_context->dest_w - tmp_w) / (16 * 2);
-        n1 = (pp_avs_context->dest_w - tmp_w) / 16 - n0;
-        n2 = tmp_w / (16 * factor_a);
-        nls_left = n0 + n2;
-        nls_right = n1 + n2;
-        f = (float) n2 * 16 / tmp_w;
-        
-        if (n0 < 5) {
-            pp_inline_parameter.grf6.video_step_delta = 0.0;
-
-            if (x == 0) {
-                pp_inline_parameter.grf5.normalized_video_x_scaling_step = 1.0 / pp_avs_context->dest_w;
-                pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin = pp_avs_context->src_normalized_x;
-            } else {
-                src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-                video_step_delta = pp_inline_parameter.grf6.video_step_delta;
-                pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin += src_x_steping * 16 +
-                    16 * 15 * video_step_delta / 2;
-            }
-        } else {
-            if (x < nls_left) {
-                /* f = a * nls_left * 16 + b * nls_left * 16 * (nls_left * 16 - 1) / 2 */
-                float a = f / (nls_left * 16 * factor_b);
-                float b = (f - nls_left * 16 * a) * 2 / (nls_left * 16 * (nls_left * 16 - 1));
-                
-                pp_inline_parameter.grf6.video_step_delta = b;
-
-                if (x == 0) {
-                    pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin = pp_avs_context->src_normalized_x;
-                    pp_inline_parameter.grf5.normalized_video_x_scaling_step = a;
-                } else {
-                    src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-                    video_step_delta = pp_inline_parameter.grf6.video_step_delta;
-                    pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin += src_x_steping * 16 +
-                        16 * 15 * video_step_delta / 2;
-                    pp_inline_parameter.grf5.normalized_video_x_scaling_step += 16 * b;
-                }
-            } else if (x < (pp_avs_context->dest_w / 16 - nls_right)) {
-                /* scale the center linearly */
-                src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-                video_step_delta = pp_inline_parameter.grf6.video_step_delta;
-                pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin += src_x_steping * 16 +
-                    16 * 15 * video_step_delta / 2;
-                pp_inline_parameter.grf6.video_step_delta = 0.0;
-                pp_inline_parameter.grf5.normalized_video_x_scaling_step = 1.0 / tmp_w;
-            } else {
-                float a = f / (nls_right * 16 * factor_b);
-                float b = (f - nls_right * 16 * a) * 2 / (nls_right * 16 * (nls_right * 16 - 1));
-
-                src_x_steping = pp_inline_parameter.grf5.normalized_video_x_scaling_step;
-                video_step_delta = pp_inline_parameter.grf6.video_step_delta;
-                pp_inline_parameter.grf5.r5_1.source_surface_block_normalized_horizontal_origin += src_x_steping * 16 +
-                    16 * 15 * video_step_delta / 2;
-                pp_inline_parameter.grf6.video_step_delta = -b;
-
-                if (x == (pp_avs_context->dest_w / 16 - nls_right))
-                    pp_inline_parameter.grf5.normalized_video_x_scaling_step = a + (nls_right * 16  - 1) * b;
-                else
-                    pp_inline_parameter.grf5.normalized_video_x_scaling_step -= b * 16;
-            }
-        }
-    }
-
-    src_y_steping = pp_static_parameter.grf1.r1_6.normalized_video_y_scaling_step;
-    pp_inline_parameter.grf5.source_surface_block_normalized_vertical_origin = src_y_steping * y * 8 + pp_avs_context->src_normalized_y;
-    pp_inline_parameter.grf5.destination_block_horizontal_origin = x * 16 + pp_avs_context->dest_x;
-    pp_inline_parameter.grf5.destination_block_vertical_origin = y * 8 + pp_avs_context->dest_y;
-
-    return 0;
-}
-
-static void
-pp_nv12_avs_initialize(VADriverContextP ctx,
-                       VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                       const VARectangle *src_rect, const VARectangle *dst_rect)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_avs_context *pp_avs_context = (struct pp_avs_context *)&pp_context->private_context;
-    struct object_surface *obj_surface;
-    struct i965_surface_state *ss;
-    struct i965_sampler_8x8 *sampler_8x8;
-    struct i965_sampler_8x8_state *sampler_8x8_state;
-    struct i965_surface_state2 *ss_8x8;
-    dri_bo *bo;
-    int index;
-    int in_w, in_h, in_wpitch, in_hpitch;
-    int out_w, out_h, out_wpitch, out_hpitch;
-    unsigned int tiling, swizzle;
-
-    /* surface */
-    obj_surface = SURFACE(in_surface_id);
-    in_w = obj_surface->orig_width;
-    in_h = obj_surface->orig_height;
-    in_wpitch = obj_surface->width;
-    in_hpitch = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* source Y surface index 1 */
-    index = 1;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "Y surface state for sample_8x8", 
-                      sizeof(struct i965_surface_state2), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss_8x8 = bo->virtual;
-    memset(ss_8x8, 0, sizeof(*ss_8x8));
-    ss_8x8->ss0.surface_base_address = pp_context->surfaces[index].s_bo->offset;
-    ss_8x8->ss1.cbcr_pixel_offset_v_direction = 0;
-    ss_8x8->ss1.width = in_w - 1;
-    ss_8x8->ss1.height = in_h - 1;
-    ss_8x8->ss2.half_pitch_for_chroma = 0;
-    ss_8x8->ss2.pitch = in_wpitch - 1;
-    ss_8x8->ss2.interleave_chroma = 0;
-    ss_8x8->ss2.surface_format = SURFACE_FORMAT_Y8_UNORM;
-    ss_8x8->ss3.x_offset_for_cb = 0;
-    ss_8x8->ss3.y_offset_for_cb = 0;
-    pp_set_surface2_tiling(ss_8x8, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      offsetof(struct i965_surface_state2, ss0),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* source UV surface index 2 */
-    index = 2;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "UV surface state for sample_8x8", 
-                      sizeof(struct i965_surface_state2), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss_8x8 = bo->virtual;
-    memset(ss_8x8, 0, sizeof(*ss_8x8));
-    ss_8x8->ss0.surface_base_address = pp_context->surfaces[index].s_bo->offset + in_wpitch * in_hpitch;
-    ss_8x8->ss1.cbcr_pixel_offset_v_direction = 0;
-    ss_8x8->ss1.width = in_w - 1;
-    ss_8x8->ss1.height = in_h - 1;
-    ss_8x8->ss2.half_pitch_for_chroma = 0;
-    ss_8x8->ss2.pitch = in_wpitch - 1;
-    ss_8x8->ss2.interleave_chroma = 1;
-    ss_8x8->ss2.surface_format = SURFACE_FORMAT_PLANAR_420_8;
-    ss_8x8->ss3.x_offset_for_cb = 0;
-    ss_8x8->ss3.y_offset_for_cb = 0;
-    pp_set_surface2_tiling(ss_8x8, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      in_wpitch * in_hpitch,
-                      offsetof(struct i965_surface_state2, ss0),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination surface */
-    obj_surface = SURFACE(out_surface_id);
-    out_w = obj_surface->orig_width;
-    out_h = obj_surface->orig_height;
-    out_wpitch = obj_surface->width;
-    out_hpitch = obj_surface->height;
-    assert(out_w <= out_wpitch && out_h <= out_hpitch);
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* destination Y surface index 7 */
-    index = 7;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = out_w / 4 - 1;
-    ss->ss2.height = out_h - 1;
-    ss->ss3.pitch = out_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination UV surface index 8 */
-    index = 8;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + out_wpitch * out_hpitch;
-    ss->ss2.width = out_w / 4 - 1;
-    ss->ss2.height = out_h / 2 - 1;
-    ss->ss3.pitch = out_wpitch - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      out_wpitch * out_hpitch,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-    
-    /* sampler 8x8 state */
-    dri_bo_map(pp_context->sampler_state_table.bo_8x8, True);
-    assert(pp_context->sampler_state_table.bo_8x8->virtual);
-    assert(sizeof(*sampler_8x8_state) == sizeof(int) * 138);
-    sampler_8x8_state = pp_context->sampler_state_table.bo_8x8->virtual;
-    memset(sampler_8x8_state, 0, sizeof(*sampler_8x8_state));
-    sampler_8x8_state->dw136.default_sharpness_level = 0;
-    sampler_8x8_state->dw137.adaptive_filter_for_all_channel = 1;
-    sampler_8x8_state->dw137.bypass_y_adaptive_filtering = 1;
-    sampler_8x8_state->dw137.bypass_x_adaptive_filtering = 1;
-    dri_bo_unmap(pp_context->sampler_state_table.bo_8x8);
-
-    /* sampler 8x8 */
-    dri_bo_map(pp_context->sampler_state_table.bo, True);
-    assert(pp_context->sampler_state_table.bo->virtual);
-    assert(sizeof(*sampler_8x8) == sizeof(int) * 16);
-    sampler_8x8 = pp_context->sampler_state_table.bo->virtual;
-
-    /* sample_8x8 Y index 1 */
-    index = 1;
-    memset(&sampler_8x8[index], 0, sizeof(*sampler_8x8));
-    sampler_8x8[index].dw0.avs_filter_type = AVS_FILTER_ADAPTIVE_8_TAP;
-    sampler_8x8[index].dw0.ief_bypass = 0;
-    sampler_8x8[index].dw0.ief_filter_type = IEF_FILTER_DETAIL;
-    sampler_8x8[index].dw0.ief_filter_size = IEF_FILTER_SIZE_5X5;
-    sampler_8x8[index].dw1.sampler_8x8_state_pointer = pp_context->sampler_state_table.bo_8x8->offset >> 5;
-    sampler_8x8[index].dw2.global_noise_estimation = 22;
-    sampler_8x8[index].dw2.strong_edge_threshold = 8;
-    sampler_8x8[index].dw2.weak_edge_threshold = 1;
-    sampler_8x8[index].dw3.strong_edge_weight = 7;
-    sampler_8x8[index].dw3.regular_weight = 2;
-    sampler_8x8[index].dw3.non_edge_weight = 0;
-    sampler_8x8[index].dw3.gain_factor = 40;
-    sampler_8x8[index].dw4.steepness_boost = 0;
-    sampler_8x8[index].dw4.steepness_threshold = 0;
-    sampler_8x8[index].dw4.mr_boost = 0;
-    sampler_8x8[index].dw4.mr_threshold = 5;
-    sampler_8x8[index].dw5.pwl1_point_1 = 4;
-    sampler_8x8[index].dw5.pwl1_point_2 = 12;
-    sampler_8x8[index].dw5.pwl1_point_3 = 16;
-    sampler_8x8[index].dw5.pwl1_point_4 = 26;
-    sampler_8x8[index].dw6.pwl1_point_5 = 40;
-    sampler_8x8[index].dw6.pwl1_point_6 = 160;
-    sampler_8x8[index].dw6.pwl1_r3_bias_0 = 127;
-    sampler_8x8[index].dw6.pwl1_r3_bias_1 = 98;
-    sampler_8x8[index].dw7.pwl1_r3_bias_2 = 88;
-    sampler_8x8[index].dw7.pwl1_r3_bias_3 = 64;
-    sampler_8x8[index].dw7.pwl1_r3_bias_4 = 44;
-    sampler_8x8[index].dw7.pwl1_r3_bias_5 = 0;
-    sampler_8x8[index].dw8.pwl1_r3_bias_6 = 0;
-    sampler_8x8[index].dw8.pwl1_r5_bias_0 = 3;
-    sampler_8x8[index].dw8.pwl1_r5_bias_1 = 32;
-    sampler_8x8[index].dw8.pwl1_r5_bias_2 = 32;
-    sampler_8x8[index].dw9.pwl1_r5_bias_3 = 58;
-    sampler_8x8[index].dw9.pwl1_r5_bias_4 = 100;
-    sampler_8x8[index].dw9.pwl1_r5_bias_5 = 108;
-    sampler_8x8[index].dw9.pwl1_r5_bias_6 = 88;
-    sampler_8x8[index].dw10.pwl1_r3_slope_0 = -116;
-    sampler_8x8[index].dw10.pwl1_r3_slope_1 = -20;
-    sampler_8x8[index].dw10.pwl1_r3_slope_2 = -96;
-    sampler_8x8[index].dw10.pwl1_r3_slope_3 = -32;
-    sampler_8x8[index].dw11.pwl1_r3_slope_4 = -50;
-    sampler_8x8[index].dw11.pwl1_r3_slope_5 = 0;
-    sampler_8x8[index].dw11.pwl1_r3_slope_6 = 0;
-    sampler_8x8[index].dw11.pwl1_r5_slope_0 = 116;
-    sampler_8x8[index].dw12.pwl1_r5_slope_1 = 0;
-    sampler_8x8[index].dw12.pwl1_r5_slope_2 = 114;
-    sampler_8x8[index].dw12.pwl1_r5_slope_3 = 67;
-    sampler_8x8[index].dw12.pwl1_r5_slope_4 = 9;
-    sampler_8x8[index].dw13.pwl1_r5_slope_5 = -3;
-    sampler_8x8[index].dw13.pwl1_r5_slope_6 = -15;
-    sampler_8x8[index].dw13.limiter_boost = 0;
-    sampler_8x8[index].dw13.minimum_limiter = 10;
-    sampler_8x8[index].dw13.maximum_limiter = 11;
-    sampler_8x8[index].dw14.clip_limiter = 130;
-    dri_bo_emit_reloc(pp_context->sampler_state_table.bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      sizeof(*sampler_8x8) * index + offsetof(struct i965_sampler_8x8, dw1),
-                      pp_context->sampler_state_table.bo_8x8);
-
-    dri_bo_map(pp_context->sampler_state_table.bo_8x8_uv, True);
-    assert(pp_context->sampler_state_table.bo_8x8_uv->virtual);
-    assert(sizeof(*sampler_8x8_state) == sizeof(int) * 138);
-    sampler_8x8_state = pp_context->sampler_state_table.bo_8x8_uv->virtual;
-    memset(sampler_8x8_state, 0, sizeof(*sampler_8x8_state));
-    sampler_8x8_state->dw136.default_sharpness_level = 0;
-    sampler_8x8_state->dw137.adaptive_filter_for_all_channel = 0;
-    sampler_8x8_state->dw137.bypass_y_adaptive_filtering = 1;
-    sampler_8x8_state->dw137.bypass_x_adaptive_filtering = 1;
-    dri_bo_unmap(pp_context->sampler_state_table.bo_8x8_uv);
-
-    /* sample_8x8 UV index 2 */
-    index = 2;
-    memset(&sampler_8x8[index], 0, sizeof(*sampler_8x8));
-    sampler_8x8[index].dw0.avs_filter_type = AVS_FILTER_NEAREST;
-    sampler_8x8[index].dw0.ief_bypass = 0;
-    sampler_8x8[index].dw0.ief_filter_type = IEF_FILTER_DETAIL;
-    sampler_8x8[index].dw0.ief_filter_size = IEF_FILTER_SIZE_5X5;
-    sampler_8x8[index].dw1.sampler_8x8_state_pointer = pp_context->sampler_state_table.bo_8x8_uv->offset >> 5;
-    sampler_8x8[index].dw2.global_noise_estimation = 22;
-    sampler_8x8[index].dw2.strong_edge_threshold = 8;
-    sampler_8x8[index].dw2.weak_edge_threshold = 1;
-    sampler_8x8[index].dw3.strong_edge_weight = 7;
-    sampler_8x8[index].dw3.regular_weight = 2;
-    sampler_8x8[index].dw3.non_edge_weight = 0;
-    sampler_8x8[index].dw3.gain_factor = 40;
-    sampler_8x8[index].dw4.steepness_boost = 0;
-    sampler_8x8[index].dw4.steepness_threshold = 0;
-    sampler_8x8[index].dw4.mr_boost = 0;
-    sampler_8x8[index].dw4.mr_threshold = 5;
-    sampler_8x8[index].dw5.pwl1_point_1 = 4;
-    sampler_8x8[index].dw5.pwl1_point_2 = 12;
-    sampler_8x8[index].dw5.pwl1_point_3 = 16;
-    sampler_8x8[index].dw5.pwl1_point_4 = 26;
-    sampler_8x8[index].dw6.pwl1_point_5 = 40;
-    sampler_8x8[index].dw6.pwl1_point_6 = 160;
-    sampler_8x8[index].dw6.pwl1_r3_bias_0 = 127;
-    sampler_8x8[index].dw6.pwl1_r3_bias_1 = 98;
-    sampler_8x8[index].dw7.pwl1_r3_bias_2 = 88;
-    sampler_8x8[index].dw7.pwl1_r3_bias_3 = 64;
-    sampler_8x8[index].dw7.pwl1_r3_bias_4 = 44;
-    sampler_8x8[index].dw7.pwl1_r3_bias_5 = 0;
-    sampler_8x8[index].dw8.pwl1_r3_bias_6 = 0;
-    sampler_8x8[index].dw8.pwl1_r5_bias_0 = 3;
-    sampler_8x8[index].dw8.pwl1_r5_bias_1 = 32;
-    sampler_8x8[index].dw8.pwl1_r5_bias_2 = 32;
-    sampler_8x8[index].dw9.pwl1_r5_bias_3 = 58;
-    sampler_8x8[index].dw9.pwl1_r5_bias_4 = 100;
-    sampler_8x8[index].dw9.pwl1_r5_bias_5 = 108;
-    sampler_8x8[index].dw9.pwl1_r5_bias_6 = 88;
-    sampler_8x8[index].dw10.pwl1_r3_slope_0 = -116;
-    sampler_8x8[index].dw10.pwl1_r3_slope_1 = -20;
-    sampler_8x8[index].dw10.pwl1_r3_slope_2 = -96;
-    sampler_8x8[index].dw10.pwl1_r3_slope_3 = -32;
-    sampler_8x8[index].dw11.pwl1_r3_slope_4 = -50;
-    sampler_8x8[index].dw11.pwl1_r3_slope_5 = 0;
-    sampler_8x8[index].dw11.pwl1_r3_slope_6 = 0;
-    sampler_8x8[index].dw11.pwl1_r5_slope_0 = 116;
-    sampler_8x8[index].dw12.pwl1_r5_slope_1 = 0;
-    sampler_8x8[index].dw12.pwl1_r5_slope_2 = 114;
-    sampler_8x8[index].dw12.pwl1_r5_slope_3 = 67;
-    sampler_8x8[index].dw12.pwl1_r5_slope_4 = 9;
-    sampler_8x8[index].dw13.pwl1_r5_slope_5 = -3;
-    sampler_8x8[index].dw13.pwl1_r5_slope_6 = -15;
-    sampler_8x8[index].dw13.limiter_boost = 0;
-    sampler_8x8[index].dw13.minimum_limiter = 10;
-    sampler_8x8[index].dw13.maximum_limiter = 11;
-    sampler_8x8[index].dw14.clip_limiter = 130;
-    dri_bo_emit_reloc(pp_context->sampler_state_table.bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      sizeof(*sampler_8x8) * index + offsetof(struct i965_sampler_8x8, dw1),
-                      pp_context->sampler_state_table.bo_8x8_uv);
-
-    dri_bo_unmap(pp_context->sampler_state_table.bo);
-
-    /* private function & data */
-    pp_context->pp_x_steps = pp_avs_x_steps;
-    pp_context->pp_y_steps = pp_avs_y_steps;
-    pp_context->pp_set_block_parameter = pp_avs_set_block_parameter;
-
-    pp_avs_context->dest_x = dst_rect->x;
-    pp_avs_context->dest_y = dst_rect->y;
-    pp_avs_context->dest_w = ALIGN(dst_rect->width, 16);
-    pp_avs_context->dest_h = ALIGN(dst_rect->height, 16);
-    pp_avs_context->src_normalized_x = (float)src_rect->x / in_w / out_w;
-    pp_avs_context->src_normalized_y = (float)src_rect->y / in_h / out_h;
-    pp_avs_context->src_w = src_rect->width;
-    pp_avs_context->src_h = src_rect->height;
-
-    pp_static_parameter.grf4.r4_2.avs.nlas = 1;
-    pp_static_parameter.grf1.r1_6.normalized_video_y_scaling_step = (float) src_rect->height / in_h / out_h;
-
-    pp_inline_parameter.grf5.normalized_video_x_scaling_step = (float) src_rect->width / in_w / out_w;
-    pp_inline_parameter.grf5.block_count_x = 1;        /* M x 1 */
-    pp_inline_parameter.grf5.number_blocks = pp_avs_context->dest_h / 8;
-    pp_inline_parameter.grf5.block_vertical_mask = 0xff;
-    pp_inline_parameter.grf5.block_horizontal_mask = 0xffff;
-    pp_inline_parameter.grf6.video_step_delta = 0.0;
-}
-
-static int
-pp_dndi_x_steps(void *private_context)
-{
-    return 1;
-}
-
-static int
-pp_dndi_y_steps(void *private_context)
-{
-    struct pp_dndi_context *pp_dndi_context = private_context;
-
-    return pp_dndi_context->dest_h / 4;
-}
-
-static int
-pp_dndi_set_block_parameter(struct i965_post_processing_context *pp_context, int x, int y)
-{
-    pp_inline_parameter.grf5.destination_block_horizontal_origin = x * 16;
-    pp_inline_parameter.grf5.destination_block_vertical_origin = y * 4;
-
-    return 0;
-}
-
-static 
-void pp_nv12_dndi_initialize(VADriverContextP ctx,
-                             VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                             const VARectangle *src_rect, const VARectangle *dst_rect)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_dndi_context *pp_dndi_context = (struct pp_dndi_context *)&pp_context->private_context;
-    struct object_surface *obj_surface;
-    struct i965_surface_state *ss;
-    struct i965_surface_state2 *ss_dndi;
-    struct i965_sampler_dndi *sampler_dndi;
-    dri_bo *bo;
-    int index;
-    int w, h;
-    int orig_w, orig_h;
-    unsigned int tiling, swizzle;
-
-    /* surface */
-    obj_surface = SURFACE(in_surface_id);
-    orig_w = obj_surface->orig_width;
-    orig_h = obj_surface->orig_height;
-    w = obj_surface->width;
-    h = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    if (pp_context->stmm.bo == NULL) {
-        pp_context->stmm.bo = dri_bo_alloc(i965->intel.bufmgr,
-                                           "STMM surface",
-                                           w * h,
-                                           4096);
-        assert(pp_context->stmm.bo);
-    }
-
-    /* source UV surface index 2 */
-    index = 2;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + w * h;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h / 2 - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      w * h,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* source YUV surface index 4 */
-    index = 4;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "YUV surface state for deinterlace ", 
-                      sizeof(struct i965_surface_state2), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss_dndi = bo->virtual;
-    memset(ss_dndi, 0, sizeof(*ss_dndi));
-    ss_dndi->ss0.surface_base_address = pp_context->surfaces[index].s_bo->offset;
-    ss_dndi->ss1.cbcr_pixel_offset_v_direction = 0;
-    ss_dndi->ss1.width = w - 1;
-    ss_dndi->ss1.height = h - 1;
-    ss_dndi->ss1.cbcr_pixel_offset_v_direction = 1;
-    ss_dndi->ss2.half_pitch_for_chroma = 0;
-    ss_dndi->ss2.pitch = w - 1;
-    ss_dndi->ss2.interleave_chroma = 1;
-    ss_dndi->ss2.surface_format = SURFACE_FORMAT_PLANAR_420_8;
-    ss_dndi->ss2.half_pitch_for_chroma = 0;
-    ss_dndi->ss2.tiled_surface = 0;
-    ss_dndi->ss3.x_offset_for_cb = 0;
-    ss_dndi->ss3.y_offset_for_cb = h;
-    pp_set_surface2_tiling(ss_dndi, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      0,
-                      0,
-                      offsetof(struct i965_surface_state2, ss0),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* source STMM surface index 20 */
-    index = 20;
-    pp_context->surfaces[index].s_bo = pp_context->stmm.bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "STMM surface state for deinterlace ", 
-                      sizeof(struct i965_surface_state2), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = w - 1;
-    ss->ss2.height = h - 1;
-    ss->ss3.pitch = w - 1;
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination surface */
-    obj_surface = SURFACE(out_surface_id);
-    orig_w = obj_surface->orig_width;
-    orig_h = obj_surface->orig_height;
-    w = obj_surface->width;
-    h = obj_surface->height;
-    dri_bo_get_tiling(obj_surface->bo, &tiling, &swizzle);
-
-    /* destination Y surface index 7 */
-    index = 7;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      0,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* destination UV surface index 8 */
-    index = 8;
-    pp_context->surfaces[index].s_bo = obj_surface->bo;
-    dri_bo_reference(pp_context->surfaces[index].s_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "surface state", 
-                      sizeof(struct i965_surface_state), 
-                      4096);
-    assert(bo);
-    pp_context->surfaces[index].ss_bo = bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    ss = bo->virtual;
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = I965_SURFACEFORMAT_R8G8_UNORM;
-    ss->ss1.base_addr = pp_context->surfaces[index].s_bo->offset + w * h;
-    ss->ss2.width = orig_w / 4 - 1;
-    ss->ss2.height = orig_h / 2 - 1;
-    ss->ss3.pitch = w - 1;
-    pp_set_surface_tiling(ss, tiling);
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_RENDER, 
-                      I915_GEM_DOMAIN_RENDER,
-                      w * h,
-                      offsetof(struct i965_surface_state, ss1),
-                      pp_context->surfaces[index].s_bo);
-    dri_bo_unmap(bo);
-
-    /* sampler dndi */
-    dri_bo_map(pp_context->sampler_state_table.bo, True);
-    assert(pp_context->sampler_state_table.bo->virtual);
-    assert(sizeof(*sampler_dndi) == sizeof(int) * 8);
-    sampler_dndi = pp_context->sampler_state_table.bo->virtual;
-
-    /* sample dndi index 1 */
-    index = 0;
-    sampler_dndi[index].dw0.denoise_asd_threshold = 0;
-    sampler_dndi[index].dw0.denoise_history_delta = 8;          // 0-15, default is 8
-    sampler_dndi[index].dw0.denoise_maximum_history = 128;      // 128-240
-    sampler_dndi[index].dw0.denoise_stad_threshold = 0;
-
-    sampler_dndi[index].dw1.denoise_threshold_for_sum_of_complexity_measure = 64;
-    sampler_dndi[index].dw1.denoise_moving_pixel_threshold = 0;
-    sampler_dndi[index].dw1.stmm_c2 = 0;
-    sampler_dndi[index].dw1.low_temporal_difference_threshold = 8;
-    sampler_dndi[index].dw1.temporal_difference_threshold = 16;
-
-    sampler_dndi[index].dw2.block_noise_estimate_noise_threshold = 15;   // 0-31
-    sampler_dndi[index].dw2.block_noise_estimate_edge_threshold = 7;    // 0-15
-    sampler_dndi[index].dw2.denoise_edge_threshold = 7;                 // 0-15
-    sampler_dndi[index].dw2.good_neighbor_threshold = 7;                // 0-63
-
-    sampler_dndi[index].dw3.maximum_stmm = 128;
-    sampler_dndi[index].dw3.multipler_for_vecm = 2;
-    sampler_dndi[index].dw3.blending_constant_across_time_for_small_values_of_stmm = 0;
-    sampler_dndi[index].dw3.blending_constant_across_time_for_large_values_of_stmm = 64;
-    sampler_dndi[index].dw3.stmm_blending_constant_select = 0;
-
-    sampler_dndi[index].dw4.sdi_delta = 8;
-    sampler_dndi[index].dw4.sdi_threshold = 128;
-    sampler_dndi[index].dw4.stmm_output_shift = 7;                      // stmm_max - stmm_min = 2 ^ stmm_output_shift
-    sampler_dndi[index].dw4.stmm_shift_up = 0;
-    sampler_dndi[index].dw4.stmm_shift_down = 0;
-    sampler_dndi[index].dw4.minimum_stmm = 0;
-
-    sampler_dndi[index].dw5.fmd_temporal_difference_threshold = 0;
-    sampler_dndi[index].dw5.sdi_fallback_mode_2_constant = 0;
-    sampler_dndi[index].dw5.sdi_fallback_mode_1_t2_constant = 0;
-    sampler_dndi[index].dw5.sdi_fallback_mode_1_t1_constant = 0;
-
-    sampler_dndi[index].dw6.dn_enable = 1;
-    sampler_dndi[index].dw6.di_enable = 1;
-    sampler_dndi[index].dw6.di_partial = 0;
-    sampler_dndi[index].dw6.dndi_top_first = 1;
-    sampler_dndi[index].dw6.dndi_stream_id = 1;
-    sampler_dndi[index].dw6.dndi_first_frame = 1;
-    sampler_dndi[index].dw6.progressive_dn = 0;
-    sampler_dndi[index].dw6.fmd_tear_threshold = 32;
-    sampler_dndi[index].dw6.fmd2_vertical_difference_threshold = 32;
-    sampler_dndi[index].dw6.fmd1_vertical_difference_threshold = 32;
-
-    sampler_dndi[index].dw7.fmd_for_1st_field_of_current_frame = 2;
-    sampler_dndi[index].dw7.fmd_for_2nd_field_of_previous_frame = 1;
-    sampler_dndi[index].dw7.vdi_walker_enable = 0;
-    sampler_dndi[index].dw7.column_width_minus1 = w / 16;
-
-    dri_bo_unmap(pp_context->sampler_state_table.bo);
-
-    /* private function & data */
-    pp_context->pp_x_steps = pp_dndi_x_steps;
-    pp_context->pp_y_steps = pp_dndi_y_steps;
-    pp_context->pp_set_block_parameter = pp_dndi_set_block_parameter;
-
-    pp_static_parameter.grf1.statistics_surface_picth = w / 2;
-    pp_static_parameter.grf1.r1_6.di.top_field_first = 0;
-    pp_static_parameter.grf4.r4_2.di.motion_history_coefficient_m2 = 64;
-    pp_static_parameter.grf4.r4_2.di.motion_history_coefficient_m1 = 192;
-
-    pp_inline_parameter.grf5.block_count_x = w / 16;   /* 1 x N */
-    pp_inline_parameter.grf5.number_blocks = w / 16;
-    pp_inline_parameter.grf5.block_vertical_mask = 0xff;
-    pp_inline_parameter.grf5.block_horizontal_mask = 0xffff;
-
-    pp_dndi_context->dest_w = w;
-    pp_dndi_context->dest_h = h;
-}
-
-static void
-ironlake_pp_initialize(
-    VADriverContextP   ctx,
-    VASurfaceID        in_surface_id,
-    VASurfaceID        out_surface_id,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    int                pp_index
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_module *pp_module;
-    dri_bo *bo;
-    int i;
-
-    dri_bo_unreference(pp_context->curbe.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "constant buffer",
-                      4096, 
-                      4096);
-    assert(bo);
-    pp_context->curbe.bo = bo;
-
-    dri_bo_unreference(pp_context->binding_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "binding table",
-                      sizeof(unsigned int), 
-                      4096);
-    assert(bo);
-    pp_context->binding_table.bo = bo;
-
-    dri_bo_unreference(pp_context->idrt.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "interface discriptor", 
-                      sizeof(struct i965_interface_descriptor), 
-                      4096);
-    assert(bo);
-    pp_context->idrt.bo = bo;
-    pp_context->idrt.num_interface_descriptors = 0;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler state table", 
-                      4096,
-                      4096);
-    assert(bo);
-    dri_bo_map(bo, True);
-    memset(bo->virtual, 0, bo->size);
-    dri_bo_unmap(bo);
-    pp_context->sampler_state_table.bo = bo;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo_8x8);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler 8x8 state ",
-                      4096,
-                      4096);
-    assert(bo);
-    pp_context->sampler_state_table.bo_8x8 = bo;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo_8x8_uv);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler 8x8 state ",
-                      4096,
-                      4096);
-    assert(bo);
-    pp_context->sampler_state_table.bo_8x8_uv = bo;
-
-    dri_bo_unreference(pp_context->vfe_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "vfe state", 
-                      sizeof(struct i965_vfe_state), 
-                      4096);
-    assert(bo);
-    pp_context->vfe_state.bo = bo;
-    
-    for (i = 0; i < MAX_PP_SURFACES; i++) {
-        dri_bo_unreference(pp_context->surfaces[i].ss_bo);
-        pp_context->surfaces[i].ss_bo = NULL;
-
-        dri_bo_unreference(pp_context->surfaces[i].s_bo);
-        pp_context->surfaces[i].s_bo = NULL;
-    }
-
-    memset(&pp_static_parameter, 0, sizeof(pp_static_parameter));
-    memset(&pp_inline_parameter, 0, sizeof(pp_inline_parameter));
-    assert(pp_index >= PP_NULL && pp_index < NUM_PP_MODULES);
-    pp_context->current_pp = pp_index;
-    pp_module = &pp_context->pp_modules[pp_index];
-    
-    if (pp_module->initialize)
-        pp_module->initialize(ctx, in_surface_id, out_surface_id,
-                              src_rect, dst_rect);
-}
-
-static void
-ironlake_post_processing(
-    VADriverContextP   ctx,
-    VASurfaceID        in_surface_id,
-    VASurfaceID        out_surface_id,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    int                pp_index
-)
-{
-    ironlake_pp_initialize(ctx, in_surface_id, out_surface_id, src_rect, dst_rect, pp_index);
-    ironlake_pp_states_setup(ctx);
-    ironlake_pp_pipeline_setup(ctx);
-}
-
-static void
-gen6_pp_initialize(
-    VADriverContextP   ctx,
-    VASurfaceID        in_surface_id,
-    VASurfaceID        out_surface_id,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    int                pp_index
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    struct pp_module *pp_module;
-    dri_bo *bo;
-    int i;
-
-    dri_bo_unreference(pp_context->curbe.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "constant buffer",
-                      4096, 
-                      4096);
-    assert(bo);
-    pp_context->curbe.bo = bo;
-
-    dri_bo_unreference(pp_context->binding_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "binding table",
-                      sizeof(unsigned int), 
-                      4096);
-    assert(bo);
-    pp_context->binding_table.bo = bo;
-
-    dri_bo_unreference(pp_context->idrt.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "interface discriptor", 
-                      sizeof(struct gen6_interface_descriptor_data), 
-                      4096);
-    assert(bo);
-    pp_context->idrt.bo = bo;
-    pp_context->idrt.num_interface_descriptors = 0;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler state table", 
-                      4096,
-                      4096);
-    assert(bo);
-    dri_bo_map(bo, True);
-    memset(bo->virtual, 0, bo->size);
-    dri_bo_unmap(bo);
-    pp_context->sampler_state_table.bo = bo;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo_8x8);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler 8x8 state ",
-                      4096,
-                      4096);
-    assert(bo);
-    pp_context->sampler_state_table.bo_8x8 = bo;
-
-    dri_bo_unreference(pp_context->sampler_state_table.bo_8x8_uv);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "sampler 8x8 state ",
-                      4096,
-                      4096);
-    assert(bo);
-    pp_context->sampler_state_table.bo_8x8_uv = bo;
-
-    dri_bo_unreference(pp_context->vfe_state.bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr, 
-                      "vfe state", 
-                      sizeof(struct i965_vfe_state), 
-                      4096);
-    assert(bo);
-    pp_context->vfe_state.bo = bo;
-    
-    for (i = 0; i < MAX_PP_SURFACES; i++) {
-        dri_bo_unreference(pp_context->surfaces[i].ss_bo);
-        pp_context->surfaces[i].ss_bo = NULL;
-
-        dri_bo_unreference(pp_context->surfaces[i].s_bo);
-        pp_context->surfaces[i].s_bo = NULL;
-    }
-
-    memset(&pp_static_parameter, 0, sizeof(pp_static_parameter));
-    memset(&pp_inline_parameter, 0, sizeof(pp_inline_parameter));
-    assert(pp_index >= PP_NULL && pp_index < NUM_PP_MODULES);
-    pp_context->current_pp = pp_index;
-    pp_module = &pp_context->pp_modules[pp_index];
-    
-    if (pp_module->initialize)
-        pp_module->initialize(ctx, in_surface_id, out_surface_id,
-                              src_rect, dst_rect);
-}
-
-static void
-gen6_pp_binding_table(struct i965_post_processing_context *pp_context)
-{
-    unsigned int *binding_table;
-    dri_bo *bo = pp_context->binding_table.bo;
-    int i;
-
-    dri_bo_map(bo, 1);
-    assert(bo->virtual);
-    binding_table = bo->virtual;
-    memset(binding_table, 0, bo->size);
-
-    for (i = 0; i < MAX_PP_SURFACES; i++) {
-        if (pp_context->surfaces[i].ss_bo) {
-            assert(pp_context->surfaces[i].s_bo);
-
-            binding_table[i] = pp_context->surfaces[i].ss_bo->offset;
-            dri_bo_emit_reloc(bo,
-                              I915_GEM_DOMAIN_INSTRUCTION, 0,
-                              0,
-                              i * sizeof(*binding_table),
-                              pp_context->surfaces[i].ss_bo);
-        }
-    
-    }
-
-    dri_bo_unmap(bo);
-}
-
-static void
-gen6_pp_interface_descriptor_table(struct i965_post_processing_context *pp_context)
-{
-    struct gen6_interface_descriptor_data *desc;
-    dri_bo *bo;
-    int pp_index = pp_context->current_pp;
-
-    bo = pp_context->idrt.bo;
-    dri_bo_map(bo, True);
-    assert(bo->virtual);
-    desc = bo->virtual;
-    memset(desc, 0, sizeof(*desc));
-    desc->desc0.kernel_start_pointer = 
-        pp_context->pp_modules[pp_index].kernel.bo->offset >> 6; /* reloc */
-    desc->desc1.single_program_flow = 1;
-    desc->desc1.floating_point_mode = FLOATING_POINT_IEEE_754;
-    desc->desc2.sampler_count = 1;      /* 1 - 4 samplers used */
-    desc->desc2.sampler_state_pointer = 
-        pp_context->sampler_state_table.bo->offset >> 5;
-    desc->desc3.binding_table_entry_count = 0;
-    desc->desc3.binding_table_pointer = 
-        pp_context->binding_table.bo->offset >> 5; /*reloc */
-    desc->desc4.constant_urb_entry_read_offset = 0;
-    desc->desc4.constant_urb_entry_read_length = 4; /* grf 1-4 */
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct gen6_interface_descriptor_data, desc0),
-                      pp_context->pp_modules[pp_index].kernel.bo);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc2.sampler_count << 2,
-                      offsetof(struct gen6_interface_descriptor_data, desc2),
-                      pp_context->sampler_state_table.bo);
-
-    dri_bo_emit_reloc(bo,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      desc->desc3.binding_table_entry_count,
-                      offsetof(struct gen6_interface_descriptor_data, desc3),
-                      pp_context->binding_table.bo);
-
-    dri_bo_unmap(bo);
-    pp_context->idrt.num_interface_descriptors++;
-}
-
-static void
-gen6_pp_upload_constants(struct i965_post_processing_context *pp_context)
-{
-    unsigned char *constant_buffer;
-
-    assert(sizeof(pp_static_parameter) == 128);
-    dri_bo_map(pp_context->curbe.bo, 1);
-    assert(pp_context->curbe.bo->virtual);
-    constant_buffer = pp_context->curbe.bo->virtual;
-    memcpy(constant_buffer, &pp_static_parameter, sizeof(pp_static_parameter));
-    dri_bo_unmap(pp_context->curbe.bo);
-}
-
-static void
-gen6_pp_states_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-
-    gen6_pp_binding_table(pp_context);
-    gen6_pp_interface_descriptor_table(pp_context);
-    gen6_pp_upload_constants(pp_context);
-}
-
-static void
-gen6_pp_pipeline_select(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_pp_state_base_address(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 10);
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | (10 - 2));
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_pp_vfe_state(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 8);
-    OUT_BATCH(batch, CMD_MEDIA_VFE_STATE | (8 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch,
-              (pp_context->urb.num_vfe_entries - 1) << 16 |
-              pp_context->urb.num_vfe_entries << 8);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch,
-              (pp_context->urb.size_vfe_entry * 2) << 16 |  /* in 256 bits unit */
-              (pp_context->urb.size_cs_entry * pp_context->urb.num_cs_entries * 2 - 1));            /* in 256 bits unit */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_pp_curbe_load(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    assert(pp_context->urb.size_cs_entry * pp_context->urb.num_cs_entries * 512 <= pp_context->curbe.bo->size);
-
-    BEGIN_BATCH(batch, 4);
-    OUT_BATCH(batch, CMD_MEDIA_CURBE_LOAD | (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch,
-              pp_context->urb.size_cs_entry * pp_context->urb.num_cs_entries * 512);
-    OUT_RELOC(batch, 
-              pp_context->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_interface_descriptor_load(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 4);
-    OUT_BATCH(batch, CMD_MEDIA_INTERFACE_DESCRIPTOR_LOAD | (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch,
-              pp_context->idrt.num_interface_descriptors * sizeof(struct gen6_interface_descriptor_data));
-    OUT_RELOC(batch, 
-              pp_context->idrt.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_pp_object_walker(VADriverContextP ctx, struct i965_post_processing_context *pp_context)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    int x, x_steps, y, y_steps;
-
-    x_steps = pp_context->pp_x_steps(&pp_context->private_context);
-    y_steps = pp_context->pp_y_steps(&pp_context->private_context);
-
-    for (y = 0; y < y_steps; y++) {
-        for (x = 0; x < x_steps; x++) {
-            if (!pp_context->pp_set_block_parameter(pp_context, x, y)) {
-                BEGIN_BATCH(batch, 22);
-                OUT_BATCH(batch, CMD_MEDIA_OBJECT | 20);
-                OUT_BATCH(batch, 0);
-                OUT_BATCH(batch, 0); /* no indirect data */
-                OUT_BATCH(batch, 0);
-                OUT_BATCH(batch, 0); /* scoreboard */
-                OUT_BATCH(batch, 0);
-
-                /* inline data grf 5-6 */
-                assert(sizeof(pp_inline_parameter) == 64);
-                intel_batchbuffer_data(batch, &pp_inline_parameter, sizeof(pp_inline_parameter));
-
-                ADVANCE_BATCH(batch);
-            }
-        }
-    }
-}
-
-static void
-gen6_pp_pipeline_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen6_pp_pipeline_select(ctx);
-    gen6_pp_curbe_load(ctx, pp_context);
-    gen6_interface_descriptor_load(ctx, pp_context);
-    gen6_pp_state_base_address(ctx);
-    gen6_pp_vfe_state(ctx, pp_context);
-    gen6_pp_object_walker(ctx, pp_context);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void
-gen6_post_processing(
-    VADriverContextP   ctx,
-    VASurfaceID        in_surface_id,
-    VASurfaceID        out_surface_id,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    int                pp_index
-)
-{
-    gen6_pp_initialize(ctx, in_surface_id, out_surface_id, src_rect, dst_rect, pp_index);
-    gen6_pp_states_setup(ctx);
-    gen6_pp_pipeline_setup(ctx);
-}
-
-static void
-i965_post_processing_internal(
-    VADriverContextP   ctx,
-    VASurfaceID        in_surface_id,
-    VASurfaceID        out_surface_id,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    int                pp_index
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-
-    if (IS_GEN6(i965->intel.device_id) ||
-        IS_GEN7(i965->intel.device_id))
-        gen6_post_processing(ctx, in_surface_id, out_surface_id, src_rect, dst_rect, pp_index);
-    else
-        ironlake_post_processing(ctx, in_surface_id, out_surface_id, src_rect, dst_rect, pp_index);
-}
-
-VAStatus 
-i965_DestroySurfaces(VADriverContextP ctx,
-                     VASurfaceID *surface_list,
-                     int num_surfaces);
-VAStatus 
-i965_CreateSurfaces(VADriverContextP ctx,
-                    int width,
-                    int height,
-                    int format,
-                    int num_surfaces,
-                    VASurfaceID *surfaces);
-VASurfaceID
-i965_post_processing(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags,
-    int               *has_done_scaling  
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    VASurfaceID in_surface_id = surface;
-    VASurfaceID out_surface_id = VA_INVALID_ID;
-
-    if (HAS_PP(i965)) {
-        /* Currently only support post processing for NV12 surface */
-        if (i965->render_state.interleaved_uv) {
-            struct object_surface *obj_surface;
-            VAStatus status;
-
-            if (flags & I965_PP_FLAG_DEINTERLACING) {
-                obj_surface = SURFACE(in_surface_id);
-                status = i965_CreateSurfaces(ctx,
-                                             obj_surface->orig_width,
-                                             obj_surface->orig_height,
-                                             VA_RT_FORMAT_YUV420,
-                                             1,
-                                             &out_surface_id);
-                assert(status == VA_STATUS_SUCCESS);
-                obj_surface = SURFACE(out_surface_id);
-                i965_check_alloc_surface_bo(ctx, obj_surface, 0, VA_FOURCC('N','V','1','2'));
-                i965_post_processing_internal(ctx,
-                                              in_surface_id, out_surface_id,
-                                              src_rect, dst_rect,
-                                              PP_NV12_DNDI);
-            }
-
-            if (flags & I965_PP_FLAG_AVS) {
-                struct i965_render_state *render_state = &i965->render_state;
-                struct intel_region *dest_region = render_state->draw_region;
-
-                if (out_surface_id != VA_INVALID_ID)
-                    in_surface_id = out_surface_id;
-
-                status = i965_CreateSurfaces(ctx,
-                                             dest_region->width,
-                                             dest_region->height,
-                                             VA_RT_FORMAT_YUV420,
-                                             1,
-                                             &out_surface_id);
-                assert(status == VA_STATUS_SUCCESS);
-                obj_surface = SURFACE(out_surface_id);
-                i965_check_alloc_surface_bo(ctx, obj_surface, 0, VA_FOURCC('N','V','1','2'));
-                i965_post_processing_internal(ctx,
-                                              in_surface_id, out_surface_id,
-                                              src_rect, dst_rect,
-                                              PP_NV12_AVS);
-
-                if (in_surface_id != surface)
-                    i965_DestroySurfaces(ctx, &in_surface_id, 1);
-                
-                *has_done_scaling = 1;
-            }
-        }
-    }
-
-    return out_surface_id;
-}       
-
-Bool
-i965_post_processing_terminate(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    int i;
-
-    if (HAS_PP(i965)) {
-        if (pp_context) {
-            dri_bo_unreference(pp_context->curbe.bo);
-            pp_context->curbe.bo = NULL;
-
-            for (i = 0; i < MAX_PP_SURFACES; i++) {
-                dri_bo_unreference(pp_context->surfaces[i].ss_bo);
-                pp_context->surfaces[i].ss_bo = NULL;
-
-                dri_bo_unreference(pp_context->surfaces[i].s_bo);
-                pp_context->surfaces[i].s_bo = NULL;
-            }
-
-            dri_bo_unreference(pp_context->sampler_state_table.bo);
-            pp_context->sampler_state_table.bo = NULL;
-
-            dri_bo_unreference(pp_context->sampler_state_table.bo_8x8);
-            pp_context->sampler_state_table.bo_8x8 = NULL;
-
-            dri_bo_unreference(pp_context->sampler_state_table.bo_8x8_uv);
-            pp_context->sampler_state_table.bo_8x8_uv = NULL;
-
-            dri_bo_unreference(pp_context->binding_table.bo);
-            pp_context->binding_table.bo = NULL;
-
-            dri_bo_unreference(pp_context->idrt.bo);
-            pp_context->idrt.bo = NULL;
-            pp_context->idrt.num_interface_descriptors = 0;
-
-            dri_bo_unreference(pp_context->vfe_state.bo);
-            pp_context->vfe_state.bo = NULL;
-
-            dri_bo_unreference(pp_context->stmm.bo);
-            pp_context->stmm.bo = NULL;
-
-            for (i = 0; i < NUM_PP_MODULES; i++) {
-                struct pp_module *pp_module = &pp_context->pp_modules[i];
-
-                dri_bo_unreference(pp_module->kernel.bo);
-                pp_module->kernel.bo = NULL;
-            }
-
-            free(pp_context);
-        }
-
-        i965->pp_context = NULL;
-    }
-
-    return True;
-}
-
-Bool
-i965_post_processing_init(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_post_processing_context *pp_context = i965->pp_context;
-    int i;
-
-    if (HAS_PP(i965)) {
-        if (pp_context == NULL) {
-            pp_context = calloc(1, sizeof(*pp_context));
-            i965->pp_context = pp_context;
-
-            pp_context->urb.size = URB_SIZE((&i965->intel));
-            pp_context->urb.num_vfe_entries = 32;
-            pp_context->urb.size_vfe_entry = 1;     /* in 512 bits unit */
-            pp_context->urb.num_cs_entries = 1;
-            pp_context->urb.size_cs_entry = 2;      /* in 512 bits unit */
-            pp_context->urb.vfe_start = 0;
-            pp_context->urb.cs_start = pp_context->urb.vfe_start + 
-                pp_context->urb.num_vfe_entries * pp_context->urb.size_vfe_entry;
-            assert(pp_context->urb.cs_start + 
-                   pp_context->urb.num_cs_entries * pp_context->urb.size_cs_entry <= URB_SIZE((&i965->intel)));
-
-            assert(NUM_PP_MODULES == ARRAY_ELEMS(pp_modules_gen5));
-            assert(NUM_PP_MODULES == ARRAY_ELEMS(pp_modules_gen6));
-
-            if (IS_GEN6(i965->intel.device_id) ||
-                IS_GEN7(i965->intel.device_id))
-                memcpy(pp_context->pp_modules, pp_modules_gen6, sizeof(pp_context->pp_modules));
-            else if (IS_IRONLAKE(i965->intel.device_id))
-                memcpy(pp_context->pp_modules, pp_modules_gen5, sizeof(pp_context->pp_modules));
-
-            for (i = 0; i < NUM_PP_MODULES; i++) {
-                struct pp_module *pp_module = &pp_context->pp_modules[i];
-                dri_bo_unreference(pp_module->kernel.bo);
-                pp_module->kernel.bo = dri_bo_alloc(i965->intel.bufmgr,
-                                                    pp_module->kernel.name,
-                                                    pp_module->kernel.size,
-                                                    4096);
-                assert(pp_module->kernel.bo);
-                dri_bo_subdata(pp_module->kernel.bo, 0, pp_module->kernel.size, pp_module->kernel.bin);
-            }
-        }
-    }
-
-    return True;
-}
diff --git a/i965_drv_video/i965_post_processing.h b/i965_drv_video/i965_post_processing.h
deleted file mode 100644 (file)
index 0981854..0000000
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef __I965_POST_PROCESSING_H__
-#define __I965_POST_PROCESSING_H__
-
-#define MAX_PP_SURFACES 32
-
-#define I965_PP_FLAG_DEINTERLACING      1
-#define I965_PP_FLAG_AVS                2
-
-enum
-{
-    PP_NULL = 0,
-    PP_NV12_LOAD_SAVE,
-    PP_NV12_SCALING,
-    PP_NV12_AVS,
-    PP_NV12_DNDI,
-};
-
-#define NUM_PP_MODULES                  5
-
-struct pp_load_save_context
-{
-    int dest_w;
-    int dest_h;
-};
-
-struct pp_scaling_context
-{
-    int dest_x; /* in pixel */
-    int dest_y; /* in pixel */
-    int dest_w;
-    int dest_h;
-    int src_normalized_x;
-    int src_normalized_y;
-};
-
-struct pp_avs_context
-{
-    int dest_x; /* in pixel */
-    int dest_y; /* in pixel */
-    int dest_w;
-    int dest_h;
-    int src_normalized_x;
-    int src_normalized_y;
-    int src_w;
-    int src_h;
-};
-
-struct pp_dndi_context
-{
-    int dest_w;
-    int dest_h;
-};
-
-struct pp_module
-{
-    struct i965_kernel kernel;
-    
-    /* others */
-    void (*initialize)(VADriverContextP ctx, 
-                       VASurfaceID in_surface_id, VASurfaceID out_surface_id,
-                       const VARectangle *src_rect, const VARectangle *dst_rect);
-};
-
-struct pp_static_parameter
-{
-    struct {
-        /* Procamp r1.0 */
-        float procamp_constant_c0;
-        
-        /* Load and Same r1.1 */
-        unsigned int source_packed_y_offset:8;
-        unsigned int source_packed_u_offset:8;
-        unsigned int source_packed_v_offset:8;
-        unsigned int pad0:8;
-
-        union {
-            /* Load and Save r1.2 */
-            struct {
-                unsigned int destination_packed_y_offset:8;
-                unsigned int destination_packed_u_offset:8;
-                unsigned int destination_packed_v_offset:8;
-                unsigned int pad0:8;
-            } load_and_save;
-
-            /* CSC r1.2 */
-            struct {
-                unsigned int destination_rgb_format:8;
-                unsigned int pad0:24;
-            } csc;
-        } r1_2;
-        
-        /* Procamp r1.3 */
-        float procamp_constant_c1;
-
-        /* Procamp r1.4 */
-        float procamp_constant_c2;
-
-        /* DI r1.5 */
-        unsigned int statistics_surface_picth:16;  /* Devided by 2 */
-        unsigned int pad1:16;
-
-        union {
-            /* DI r1.6 */
-            struct {
-                unsigned int pad0:24;
-                unsigned int top_field_first:8;
-            } di;
-
-            /* AVS/Scaling r1.6 */
-            float normalized_video_y_scaling_step;
-        } r1_6;
-
-        /* Procamp r1.7 */
-        float procamp_constant_c5;
-    } grf1;
-    
-    struct {
-        /* Procamp r2.0 */
-        float procamp_constant_c3;
-
-        /* MBZ r2.1*/
-        unsigned int pad0;
-
-        /* WG+CSC r2.2 */
-        float wg_csc_constant_c4;
-
-        /* WG+CSC r2.3 */
-        float wg_csc_constant_c8;
-
-        /* Procamp r2.4 */
-        float procamp_constant_c4;
-
-        /* MBZ r2.5 */
-        unsigned int pad1;
-
-        /* MBZ r2.6 */
-        unsigned int pad2;
-
-        /* WG+CSC r2.7 */
-        float wg_csc_constant_c9;
-    } grf2;
-
-    struct {
-        /* WG+CSC r3.0 */
-        float wg_csc_constant_c0;
-
-        /* Blending r3.1 */
-        float scaling_step_ratio;
-
-        /* Blending r3.2 */
-        float normalized_alpha_y_scaling;
-        
-        /* WG+CSC r3.3 */
-        float wg_csc_constant_c4;
-
-        /* WG+CSC r3.4 */
-        float wg_csc_constant_c1;
-
-        /* ALL r3.5 */
-        int horizontal_origin_offset:16;
-        int vertical_origin_offset:16;
-
-        /* Shared r3.6*/
-        union {
-            /* Color filll */
-            unsigned int color_pixel;
-
-            /* WG+CSC */
-            float wg_csc_constant_c2;
-        } r3_6;
-
-        /* WG+CSC r3.7 */
-        float wg_csc_constant_c3;
-    } grf3;
-
-    struct {
-        /* WG+CSC r4.0 */
-        float wg_csc_constant_c6;
-
-        /* ALL r4.1 MBZ ???*/
-        unsigned int pad0;
-
-        /* Shared r4.2 */
-        union {
-            /* AVS */
-            struct {
-                unsigned int pad1:15;
-                unsigned int nlas:1;
-                unsigned int pad2:16;
-            } avs;
-
-            /* DI */
-            struct {
-                unsigned int motion_history_coefficient_m2:8;
-                unsigned int motion_history_coefficient_m1:8;
-                unsigned int pad0:16;
-            } di;
-        } r4_2;
-
-        /* WG+CSC r4.3 */
-        float wg_csc_constant_c7;
-
-        /* WG+CSC r4.4 */
-        float wg_csc_constant_c10;
-
-        /* AVS r4.5 */
-        float source_video_frame_normalized_horizontal_origin;
-
-        /* MBZ r4.6 */
-        unsigned int pad1;
-
-        /* WG+CSC r4.7 */
-        float wg_csc_constant_c11;
-    } grf4;
-};
-
-struct pp_inline_parameter
-{
-    struct {
-        /* ALL r5.0 */
-        int destination_block_horizontal_origin:16;
-        int destination_block_vertical_origin:16;
-
-        /* Shared r5.1 */
-        union {
-            /* AVS/Scaling */
-            float source_surface_block_normalized_horizontal_origin;
-
-            /* FMD */
-            struct {
-                unsigned int variance_surface_vertical_origin:16;
-                unsigned int pad0:16;
-            } fmd;
-        } r5_1; 
-
-        /* AVS/Scaling r5.2 */
-        float source_surface_block_normalized_vertical_origin;
-
-        /* Alpha r5.3 */
-        float alpha_surface_block_normalized_horizontal_origin;
-
-        /* Alpha r5.4 */
-        float alpha_surface_block_normalized_vertical_origin;
-
-        /* Alpha r5.5 */
-        unsigned int alpha_mask_x:16;
-        unsigned int alpha_mask_y:8;
-        unsigned int block_count_x:8;
-
-        /* r5.6 */
-        unsigned int block_horizontal_mask:16;
-        unsigned int block_vertical_mask:8;
-        unsigned int number_blocks:8;
-
-        /* AVS/Scaling r5.7 */
-        float normalized_video_x_scaling_step;
-    } grf5;
-
-    struct {
-        /* AVS r6.0 */
-        float video_step_delta;
-
-        /* r6.1-r6.7 */
-        unsigned int padx[7];
-    } grf6;
-};
-
-struct i965_post_processing_context
-{
-    int current_pp;
-    struct pp_module pp_modules[NUM_PP_MODULES];
-    struct pp_static_parameter pp_static_parameter;
-    struct pp_inline_parameter pp_inline_parameter;
-
-    struct {
-        dri_bo *bo;
-    } curbe;
-
-    struct {
-        dri_bo *ss_bo;
-        dri_bo *s_bo;
-    } surfaces[MAX_PP_SURFACES];
-
-    struct {
-        dri_bo *bo;
-    } binding_table;
-
-    struct {
-        dri_bo *bo;
-        int num_interface_descriptors;
-    } idrt;
-
-    struct {
-        dri_bo *bo;
-    } vfe_state;
-
-    struct {
-        dri_bo *bo;
-        dri_bo *bo_8x8;
-        dri_bo *bo_8x8_uv;
-    } sampler_state_table;
-
-    struct {
-        unsigned int size;
-
-        unsigned int vfe_start;
-        unsigned int cs_start;
-
-        unsigned int num_vfe_entries;
-        unsigned int num_cs_entries;
-
-        unsigned int size_vfe_entry;
-        unsigned int size_cs_entry;
-    } urb;
-
-    struct {
-        dri_bo *bo;
-    } stmm;
-
-    union {
-        struct pp_load_save_context pp_load_save_context;
-        struct pp_scaling_context pp_scaling_context;
-        struct pp_avs_context pp_avs_context;
-        struct pp_dndi_context pp_dndi_context;
-    } private_context;
-
-    int (*pp_x_steps)(void *private_context);
-    int (*pp_y_steps)(void *private_context);
-    int (*pp_set_block_parameter)(struct i965_post_processing_context *pp_context, int x, int y);
-};
-
-VASurfaceID
-i965_post_processing(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags,
-    int                *has_done_scaling 
-);
-
-Bool
-i965_post_processing_terminate(VADriverContextP ctx);
-Bool
-i965_post_processing_init(VADriverContextP ctx);
-
-#endif /* __I965_POST_PROCESSING_H__ */
diff --git a/i965_drv_video/i965_render.c b/i965_drv_video/i965_render.c
deleted file mode 100644 (file)
index fee7109..0000000
+++ /dev/null
@@ -1,3037 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Eric Anholt <eric@anholt.net>
- *    Keith Packard <keithp@keithp.com>
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-/*
- * Most of rendering codes are ported from xf86-video-intel/src/i965_video.c
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-#include "va/x11/va_dricommon.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_driver.h"
-#include "i965_defines.h"
-#include "i965_drv_video.h"
-#include "i965_structs.h"
-
-#include "i965_render.h"
-
-#define SF_KERNEL_NUM_GRF       16
-#define SF_MAX_THREADS          1
-
-static const uint32_t sf_kernel_static[][4] = 
-{
-#include "shaders/render/exa_sf.g4b"
-};
-
-#define PS_KERNEL_NUM_GRF       32
-#define PS_MAX_THREADS          32
-
-#define I965_GRF_BLOCKS(nreg)  ((nreg + 15) / 16 - 1)
-
-static const uint32_t ps_kernel_static[][4] = 
-{
-#include "shaders/render/exa_wm_xy.g4b"
-#include "shaders/render/exa_wm_src_affine.g4b"
-#include "shaders/render/exa_wm_src_sample_planar.g4b"
-#include "shaders/render/exa_wm_yuv_rgb.g4b"
-#include "shaders/render/exa_wm_write.g4b"
-};
-static const uint32_t ps_subpic_kernel_static[][4] = 
-{
-#include "shaders/render/exa_wm_xy.g4b"
-#include "shaders/render/exa_wm_src_affine.g4b"
-#include "shaders/render/exa_wm_src_sample_argb.g4b"
-#include "shaders/render/exa_wm_write.g4b"
-};
-
-/* On IRONLAKE */
-static const uint32_t sf_kernel_static_gen5[][4] = 
-{
-#include "shaders/render/exa_sf.g4b.gen5"
-};
-
-static const uint32_t ps_kernel_static_gen5[][4] = 
-{
-#include "shaders/render/exa_wm_xy.g4b.gen5"
-#include "shaders/render/exa_wm_src_affine.g4b.gen5"
-#include "shaders/render/exa_wm_src_sample_planar.g4b.gen5"
-#include "shaders/render/exa_wm_yuv_rgb.g4b.gen5"
-#include "shaders/render/exa_wm_write.g4b.gen5"
-};
-static const uint32_t ps_subpic_kernel_static_gen5[][4] = 
-{
-#include "shaders/render/exa_wm_xy.g4b.gen5"
-#include "shaders/render/exa_wm_src_affine.g4b.gen5"
-#include "shaders/render/exa_wm_src_sample_argb.g4b.gen5"
-#include "shaders/render/exa_wm_write.g4b.gen5"
-};
-
-/* programs for Sandybridge */
-static const uint32_t sf_kernel_static_gen6[][4] = 
-{
-};
-
-static const uint32_t ps_kernel_static_gen6[][4] = {
-#include "shaders/render/exa_wm_src_affine.g6b"
-#include "shaders/render/exa_wm_src_sample_planar.g6b"
-#include "shaders/render/exa_wm_yuv_rgb.g6b"
-#include "shaders/render/exa_wm_write.g6b"
-};
-
-static const uint32_t ps_subpic_kernel_static_gen6[][4] = {
-#include "shaders/render/exa_wm_src_affine.g6b"
-#include "shaders/render/exa_wm_src_sample_argb.g6b"
-#include "shaders/render/exa_wm_write.g6b"
-};
-
-/* programs for Ivybridge */
-static const uint32_t sf_kernel_static_gen7[][4] = 
-{
-};
-
-static const uint32_t ps_kernel_static_gen7[][4] = {
-#include "shaders/render/exa_wm_src_affine.g7b"
-#include "shaders/render/exa_wm_src_sample_planar.g7b"
-#include "shaders/render/exa_wm_yuv_rgb.g7b"
-#include "shaders/render/exa_wm_write.g7b"
-};
-
-static const uint32_t ps_subpic_kernel_static_gen7[][4] = {
-#include "shaders/render/exa_wm_src_affine.g7b"
-#include "shaders/render/exa_wm_src_sample_argb.g7b"
-#include "shaders/render/exa_wm_write.g7b"
-};
-
-#define SURFACE_STATE_PADDED_SIZE_I965  ALIGN(sizeof(struct i965_surface_state), 32)
-#define SURFACE_STATE_PADDED_SIZE_GEN7  ALIGN(sizeof(struct gen7_surface_state), 32)
-#define SURFACE_STATE_PADDED_SIZE       MAX(SURFACE_STATE_PADDED_SIZE_I965, SURFACE_STATE_PADDED_SIZE_GEN7)
-#define SURFACE_STATE_OFFSET(index)     (SURFACE_STATE_PADDED_SIZE * index)
-#define BINDING_TABLE_OFFSET            SURFACE_STATE_OFFSET(MAX_RENDER_SURFACES)
-
-static uint32_t float_to_uint (float f) 
-{
-    union {
-        uint32_t i; 
-        float f;
-    } x;
-
-    x.f = f;
-    return x.i;
-}
-
-enum 
-{
-    SF_KERNEL = 0,
-    PS_KERNEL,
-    PS_SUBPIC_KERNEL
-};
-
-static struct i965_kernel render_kernels_gen4[] = {
-    {
-        "SF",
-        SF_KERNEL,
-        sf_kernel_static,
-        sizeof(sf_kernel_static),
-        NULL
-    },
-    {
-        "PS",
-        PS_KERNEL,
-        ps_kernel_static,
-        sizeof(ps_kernel_static),
-        NULL
-    },
-
-    {
-        "PS_SUBPIC",
-        PS_SUBPIC_KERNEL,
-        ps_subpic_kernel_static,
-        sizeof(ps_subpic_kernel_static),
-        NULL
-    }
-};
-
-static struct i965_kernel render_kernels_gen5[] = {
-    {
-        "SF",
-        SF_KERNEL,
-        sf_kernel_static_gen5,
-        sizeof(sf_kernel_static_gen5),
-        NULL
-    },
-    {
-        "PS",
-        PS_KERNEL,
-        ps_kernel_static_gen5,
-        sizeof(ps_kernel_static_gen5),
-        NULL
-    },
-
-    {
-        "PS_SUBPIC",
-        PS_SUBPIC_KERNEL,
-        ps_subpic_kernel_static_gen5,
-        sizeof(ps_subpic_kernel_static_gen5),
-        NULL
-    }
-};
-
-static struct i965_kernel render_kernels_gen6[] = {
-    {
-        "SF",
-        SF_KERNEL,
-        sf_kernel_static_gen6,
-        sizeof(sf_kernel_static_gen6),
-        NULL
-    },
-    {
-        "PS",
-        PS_KERNEL,
-        ps_kernel_static_gen6,
-        sizeof(ps_kernel_static_gen6),
-        NULL
-    },
-
-    {
-        "PS_SUBPIC",
-        PS_SUBPIC_KERNEL,
-        ps_subpic_kernel_static_gen6,
-        sizeof(ps_subpic_kernel_static_gen6),
-        NULL
-    }
-};
-
-static struct i965_kernel render_kernels_gen7[] = {
-    {
-        "SF",
-        SF_KERNEL,
-        sf_kernel_static_gen7,
-        sizeof(sf_kernel_static_gen7),
-        NULL
-    },
-    {
-        "PS",
-        PS_KERNEL,
-        ps_kernel_static_gen7,
-        sizeof(ps_kernel_static_gen7),
-        NULL
-    },
-
-    {
-        "PS_SUBPIC",
-        PS_SUBPIC_KERNEL,
-        ps_subpic_kernel_static_gen7,
-        sizeof(ps_subpic_kernel_static_gen7),
-        NULL
-    }
-};
-
-#define URB_VS_ENTRIES       8
-#define URB_VS_ENTRY_SIZE     1
-
-#define URB_GS_ENTRIES       0
-#define URB_GS_ENTRY_SIZE     0
-
-#define URB_CLIP_ENTRIES      0
-#define URB_CLIP_ENTRY_SIZE   0
-
-#define URB_SF_ENTRIES       1
-#define URB_SF_ENTRY_SIZE     2
-
-#define URB_CS_ENTRIES       1
-#define URB_CS_ENTRY_SIZE     1
-
-static void
-i965_render_vs_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_vs_unit_state *vs_state;
-
-    dri_bo_map(render_state->vs.state, 1);
-    assert(render_state->vs.state->virtual);
-    vs_state = render_state->vs.state->virtual;
-    memset(vs_state, 0, sizeof(*vs_state));
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        vs_state->thread4.nr_urb_entries = URB_VS_ENTRIES >> 2;
-    else
-        vs_state->thread4.nr_urb_entries = URB_VS_ENTRIES;
-
-    vs_state->thread4.urb_entry_allocation_size = URB_VS_ENTRY_SIZE - 1;
-    vs_state->vs6.vs_enable = 0;
-    vs_state->vs6.vert_cache_disable = 1;
-    
-    dri_bo_unmap(render_state->vs.state);
-}
-
-static void
-i965_render_sf_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_sf_unit_state *sf_state;
-
-    dri_bo_map(render_state->sf.state, 1);
-    assert(render_state->sf.state->virtual);
-    sf_state = render_state->sf.state->virtual;
-    memset(sf_state, 0, sizeof(*sf_state));
-
-    sf_state->thread0.grf_reg_count = I965_GRF_BLOCKS(SF_KERNEL_NUM_GRF);
-    sf_state->thread0.kernel_start_pointer = render_state->render_kernels[SF_KERNEL].bo->offset >> 6;
-
-    sf_state->sf1.single_program_flow = 1; /* XXX */
-    sf_state->sf1.binding_table_entry_count = 0;
-    sf_state->sf1.thread_priority = 0;
-    sf_state->sf1.floating_point_mode = 0; /* Mesa does this */
-    sf_state->sf1.illegal_op_exception_enable = 1;
-    sf_state->sf1.mask_stack_exception_enable = 1;
-    sf_state->sf1.sw_exception_enable = 1;
-
-    /* scratch space is not used in our kernel */
-    sf_state->thread2.per_thread_scratch_space = 0;
-    sf_state->thread2.scratch_space_base_pointer = 0;
-
-    sf_state->thread3.const_urb_entry_read_length = 0; /* no const URBs */
-    sf_state->thread3.const_urb_entry_read_offset = 0; /* no const URBs */
-    sf_state->thread3.urb_entry_read_length = 1; /* 1 URB per vertex */
-    sf_state->thread3.urb_entry_read_offset = 0;
-    sf_state->thread3.dispatch_grf_start_reg = 3;
-
-    sf_state->thread4.max_threads = SF_MAX_THREADS - 1;
-    sf_state->thread4.urb_entry_allocation_size = URB_SF_ENTRY_SIZE - 1;
-    sf_state->thread4.nr_urb_entries = URB_SF_ENTRIES;
-    sf_state->thread4.stats_enable = 1;
-
-    sf_state->sf5.viewport_transform = 0; /* skip viewport */
-
-    sf_state->sf6.cull_mode = I965_CULLMODE_NONE;
-    sf_state->sf6.scissor = 0;
-
-    sf_state->sf7.trifan_pv = 2;
-
-    sf_state->sf6.dest_org_vbias = 0x8;
-    sf_state->sf6.dest_org_hbias = 0x8;
-
-    dri_bo_emit_reloc(render_state->sf.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      sf_state->thread0.grf_reg_count << 1,
-                      offsetof(struct i965_sf_unit_state, thread0),
-                      render_state->render_kernels[SF_KERNEL].bo);
-
-    dri_bo_unmap(render_state->sf.state);
-}
-
-static void 
-i965_render_sampler(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_sampler_state *sampler_state;
-    int i;
-    
-    assert(render_state->wm.sampler_count > 0);
-    assert(render_state->wm.sampler_count <= MAX_SAMPLERS);
-
-    dri_bo_map(render_state->wm.sampler, 1);
-    assert(render_state->wm.sampler->virtual);
-    sampler_state = render_state->wm.sampler->virtual;
-    for (i = 0; i < render_state->wm.sampler_count; i++) {
-        memset(sampler_state, 0, sizeof(*sampler_state));
-        sampler_state->ss0.min_filter = I965_MAPFILTER_LINEAR;
-        sampler_state->ss0.mag_filter = I965_MAPFILTER_LINEAR;
-        sampler_state->ss1.r_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state->ss1.s_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state->ss1.t_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state++;
-    }
-
-    dri_bo_unmap(render_state->wm.sampler);
-}
-static void
-i965_subpic_render_wm_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_wm_unit_state *wm_state;
-
-    assert(render_state->wm.sampler);
-
-    dri_bo_map(render_state->wm.state, 1);
-    assert(render_state->wm.state->virtual);
-    wm_state = render_state->wm.state->virtual;
-    memset(wm_state, 0, sizeof(*wm_state));
-
-    wm_state->thread0.grf_reg_count = I965_GRF_BLOCKS(PS_KERNEL_NUM_GRF);
-    wm_state->thread0.kernel_start_pointer = render_state->render_kernels[PS_SUBPIC_KERNEL].bo->offset >> 6;
-
-    wm_state->thread1.single_program_flow = 1; /* XXX */
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        wm_state->thread1.binding_table_entry_count = 0; /* hardware requirement */
-    else
-        wm_state->thread1.binding_table_entry_count = 7;
-
-    wm_state->thread2.scratch_space_base_pointer = 0;
-    wm_state->thread2.per_thread_scratch_space = 0; /* 1024 bytes */
-
-    wm_state->thread3.dispatch_grf_start_reg = 3; /* XXX */
-    wm_state->thread3.const_urb_entry_read_length = 0;
-    wm_state->thread3.const_urb_entry_read_offset = 0;
-    wm_state->thread3.urb_entry_read_length = 1; /* XXX */
-    wm_state->thread3.urb_entry_read_offset = 0; /* XXX */
-
-    wm_state->wm4.stats_enable = 0;
-    wm_state->wm4.sampler_state_pointer = render_state->wm.sampler->offset >> 5; 
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        wm_state->wm4.sampler_count = 0;        /* hardware requirement */
-        wm_state->wm5.max_threads = 12 * 6 - 1;
-    } else {
-        wm_state->wm4.sampler_count = (render_state->wm.sampler_count + 3) / 4;
-        wm_state->wm5.max_threads = 10 * 5 - 1;
-    }
-
-    wm_state->wm5.thread_dispatch_enable = 1;
-    wm_state->wm5.enable_16_pix = 1;
-    wm_state->wm5.enable_8_pix = 0;
-    wm_state->wm5.early_depth_test = 1;
-
-    dri_bo_emit_reloc(render_state->wm.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      wm_state->thread0.grf_reg_count << 1,
-                      offsetof(struct i965_wm_unit_state, thread0),
-                      render_state->render_kernels[PS_SUBPIC_KERNEL].bo);
-
-    dri_bo_emit_reloc(render_state->wm.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      wm_state->wm4.sampler_count << 2,
-                      offsetof(struct i965_wm_unit_state, wm4),
-                      render_state->wm.sampler);
-
-    dri_bo_unmap(render_state->wm.state);
-}
-
-
-static void
-i965_render_wm_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_wm_unit_state *wm_state;
-
-    assert(render_state->wm.sampler);
-
-    dri_bo_map(render_state->wm.state, 1);
-    assert(render_state->wm.state->virtual);
-    wm_state = render_state->wm.state->virtual;
-    memset(wm_state, 0, sizeof(*wm_state));
-
-    wm_state->thread0.grf_reg_count = I965_GRF_BLOCKS(PS_KERNEL_NUM_GRF);
-    wm_state->thread0.kernel_start_pointer = render_state->render_kernels[PS_KERNEL].bo->offset >> 6;
-
-    wm_state->thread1.single_program_flow = 1; /* XXX */
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        wm_state->thread1.binding_table_entry_count = 0;        /* hardware requirement */
-    else
-        wm_state->thread1.binding_table_entry_count = 7;
-
-    wm_state->thread2.scratch_space_base_pointer = 0;
-    wm_state->thread2.per_thread_scratch_space = 0; /* 1024 bytes */
-
-    wm_state->thread3.dispatch_grf_start_reg = 2; /* XXX */
-    wm_state->thread3.const_urb_entry_read_length = 1;
-    wm_state->thread3.const_urb_entry_read_offset = 0;
-    wm_state->thread3.urb_entry_read_length = 1; /* XXX */
-    wm_state->thread3.urb_entry_read_offset = 0; /* XXX */
-
-    wm_state->wm4.stats_enable = 0;
-    wm_state->wm4.sampler_state_pointer = render_state->wm.sampler->offset >> 5; 
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        wm_state->wm4.sampler_count = 0;        /* hardware requirement */
-        wm_state->wm5.max_threads = 12 * 6 - 1;
-    } else {
-        wm_state->wm4.sampler_count = (render_state->wm.sampler_count + 3) / 4;
-        wm_state->wm5.max_threads = 10 * 5 - 1;
-    }
-
-    wm_state->wm5.thread_dispatch_enable = 1;
-    wm_state->wm5.enable_16_pix = 1;
-    wm_state->wm5.enable_8_pix = 0;
-    wm_state->wm5.early_depth_test = 1;
-
-    dri_bo_emit_reloc(render_state->wm.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      wm_state->thread0.grf_reg_count << 1,
-                      offsetof(struct i965_wm_unit_state, thread0),
-                      render_state->render_kernels[PS_KERNEL].bo);
-
-    dri_bo_emit_reloc(render_state->wm.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      wm_state->wm4.sampler_count << 2,
-                      offsetof(struct i965_wm_unit_state, wm4),
-                      render_state->wm.sampler);
-
-    dri_bo_unmap(render_state->wm.state);
-}
-
-static void 
-i965_render_cc_viewport(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_cc_viewport *cc_viewport;
-
-    dri_bo_map(render_state->cc.viewport, 1);
-    assert(render_state->cc.viewport->virtual);
-    cc_viewport = render_state->cc.viewport->virtual;
-    memset(cc_viewport, 0, sizeof(*cc_viewport));
-    
-    cc_viewport->min_depth = -1.e35;
-    cc_viewport->max_depth = 1.e35;
-
-    dri_bo_unmap(render_state->cc.viewport);
-}
-
-static void 
-i965_subpic_render_cc_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_cc_unit_state *cc_state;
-
-    assert(render_state->cc.viewport);
-
-    dri_bo_map(render_state->cc.state, 1);
-    assert(render_state->cc.state->virtual);
-    cc_state = render_state->cc.state->virtual;
-    memset(cc_state, 0, sizeof(*cc_state));
-
-    cc_state->cc0.stencil_enable = 0;   /* disable stencil */
-    cc_state->cc2.depth_test = 0;       /* disable depth test */
-    cc_state->cc2.logicop_enable = 0;   /* disable logic op */
-    cc_state->cc3.ia_blend_enable = 0 ;  /* blend alpha just like colors */
-    cc_state->cc3.blend_enable = 1;     /* enable color blend */
-    cc_state->cc3.alpha_test = 0;       /* disable alpha test */
-    cc_state->cc3.alpha_test_format = 0;//0:ALPHATEST_UNORM8;       /*store alpha value with UNORM8 */
-    cc_state->cc3.alpha_test_func = 5;//COMPAREFUNCTION_LESS;       /*pass if less than the reference */
-    cc_state->cc4.cc_viewport_state_offset = render_state->cc.viewport->offset >> 5;
-
-    cc_state->cc5.dither_enable = 0;    /* disable dither */
-    cc_state->cc5.logicop_func = 0xc;   /* WHITE */
-    cc_state->cc5.statistics_enable = 1;
-    cc_state->cc5.ia_blend_function = I965_BLENDFUNCTION_ADD;
-    cc_state->cc5.ia_src_blend_factor = I965_BLENDFACTOR_DST_ALPHA;
-    cc_state->cc5.ia_dest_blend_factor = I965_BLENDFACTOR_DST_ALPHA;
-
-    cc_state->cc6.clamp_post_alpha_blend = 0; 
-    cc_state->cc6.clamp_pre_alpha_blend  =0; 
-    
-    /*final color = src_color*src_blend_factor +/- dst_color*dest_color_blend_factor*/
-    cc_state->cc6.blend_function = I965_BLENDFUNCTION_ADD;
-    cc_state->cc6.src_blend_factor = I965_BLENDFACTOR_SRC_ALPHA;
-    cc_state->cc6.dest_blend_factor = I965_BLENDFACTOR_INV_SRC_ALPHA;
-   
-    /*alpha test reference*/
-    cc_state->cc7.alpha_ref.f =0.0 ;
-
-
-    dri_bo_emit_reloc(render_state->cc.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_cc_unit_state, cc4),
-                      render_state->cc.viewport);
-
-    dri_bo_unmap(render_state->cc.state);
-}
-
-
-static void 
-i965_render_cc_unit(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct i965_cc_unit_state *cc_state;
-
-    assert(render_state->cc.viewport);
-
-    dri_bo_map(render_state->cc.state, 1);
-    assert(render_state->cc.state->virtual);
-    cc_state = render_state->cc.state->virtual;
-    memset(cc_state, 0, sizeof(*cc_state));
-
-    cc_state->cc0.stencil_enable = 0;   /* disable stencil */
-    cc_state->cc2.depth_test = 0;       /* disable depth test */
-    cc_state->cc2.logicop_enable = 1;   /* enable logic op */
-    cc_state->cc3.ia_blend_enable = 0;  /* blend alpha just like colors */
-    cc_state->cc3.blend_enable = 0;     /* disable color blend */
-    cc_state->cc3.alpha_test = 0;       /* disable alpha test */
-    cc_state->cc4.cc_viewport_state_offset = render_state->cc.viewport->offset >> 5;
-
-    cc_state->cc5.dither_enable = 0;    /* disable dither */
-    cc_state->cc5.logicop_func = 0xc;   /* WHITE */
-    cc_state->cc5.statistics_enable = 1;
-    cc_state->cc5.ia_blend_function = I965_BLENDFUNCTION_ADD;
-    cc_state->cc5.ia_src_blend_factor = I965_BLENDFACTOR_ONE;
-    cc_state->cc5.ia_dest_blend_factor = I965_BLENDFACTOR_ONE;
-
-    dri_bo_emit_reloc(render_state->cc.state,
-                      I915_GEM_DOMAIN_INSTRUCTION, 0,
-                      0,
-                      offsetof(struct i965_cc_unit_state, cc4),
-                      render_state->cc.viewport);
-
-    dri_bo_unmap(render_state->cc.state);
-}
-
-static void
-i965_render_set_surface_tiling(struct i965_surface_state *ss, unsigned int tiling)
-{
-    switch (tiling) {
-    case I915_TILING_NONE:
-        ss->ss3.tiled_surface = 0;
-        ss->ss3.tile_walk = 0;
-        break;
-    case I915_TILING_X:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_XMAJOR;
-        break;
-    case I915_TILING_Y:
-        ss->ss3.tiled_surface = 1;
-        ss->ss3.tile_walk = I965_TILEWALK_YMAJOR;
-        break;
-    }
-}
-
-static void
-i965_render_set_surface_state(struct i965_surface_state *ss,
-                              dri_bo *bo, unsigned long offset,
-                              int width, int height,
-                              int pitch, int format)
-{
-    unsigned int tiling;
-    unsigned int swizzle;
-
-    memset(ss, 0, sizeof(*ss));
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = format;
-    ss->ss0.color_blend = 1;
-
-    ss->ss1.base_addr = bo->offset + offset;
-
-    ss->ss2.width = width - 1;
-    ss->ss2.height = height - 1;
-
-    ss->ss3.pitch = pitch - 1;
-
-    dri_bo_get_tiling(bo, &tiling, &swizzle);
-    i965_render_set_surface_tiling(ss, tiling);
-}
-
-static void
-gen7_render_set_surface_tiling(struct gen7_surface_state *ss, uint32_t tiling)
-{
-   switch (tiling) {
-   case I915_TILING_NONE:
-      ss->ss0.tiled_surface = 0;
-      ss->ss0.tile_walk = 0;
-      break;
-   case I915_TILING_X:
-      ss->ss0.tiled_surface = 1;
-      ss->ss0.tile_walk = I965_TILEWALK_XMAJOR;
-      break;
-   case I915_TILING_Y:
-      ss->ss0.tiled_surface = 1;
-      ss->ss0.tile_walk = I965_TILEWALK_YMAJOR;
-      break;
-   }
-}
-
-static void
-gen7_render_set_surface_state(struct gen7_surface_state *ss,
-                              dri_bo *bo, unsigned long offset,
-                              int width, int height,
-                              int pitch, int format)
-{
-    unsigned int tiling;
-    unsigned int swizzle;
-
-    memset(ss, 0, sizeof(*ss));
-
-    ss->ss0.surface_type = I965_SURFACE_2D;
-    ss->ss0.surface_format = format;
-
-    ss->ss1.base_addr = bo->offset + offset;
-
-    ss->ss2.width = width - 1;
-    ss->ss2.height = height - 1;
-
-    ss->ss3.pitch = pitch - 1;
-
-    dri_bo_get_tiling(bo, &tiling, &swizzle);
-    gen7_render_set_surface_tiling(ss, tiling);
-}
-
-static void
-i965_render_src_surface_state(VADriverContextP ctx, 
-                              int index,
-                              dri_bo *region,
-                              unsigned long offset,
-                              int w, int h,
-                              int pitch, int format)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct i965_render_state *render_state = &i965->render_state;
-    void *ss;
-    dri_bo *ss_bo = render_state->wm.surface_state_binding_table_bo;
-
-    assert(index < MAX_RENDER_SURFACES);
-
-    dri_bo_map(ss_bo, 1);
-    assert(ss_bo->virtual);
-    ss = (char *)ss_bo->virtual + SURFACE_STATE_OFFSET(index);
-
-    if (IS_GEN7(i965->intel.device_id)) {
-        gen7_render_set_surface_state(ss,
-                                      region, offset,
-                                      w, h,
-                                      pitch, format);
-        dri_bo_emit_reloc(ss_bo,
-                          I915_GEM_DOMAIN_SAMPLER, 0,
-                          offset,
-                          SURFACE_STATE_OFFSET(index) + offsetof(struct gen7_surface_state, ss1),
-                          region);
-    } else {
-        i965_render_set_surface_state(ss,
-                                      region, offset,
-                                      w, h,
-                                      pitch, format);
-        dri_bo_emit_reloc(ss_bo,
-                          I915_GEM_DOMAIN_SAMPLER, 0,
-                          offset,
-                          SURFACE_STATE_OFFSET(index) + offsetof(struct i965_surface_state, ss1),
-                          region);
-    }
-
-    ((unsigned int *)((char *)ss_bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(ss_bo);
-    render_state->wm.sampler_count++;
-}
-
-static void
-i965_render_src_surfaces_state(VADriverContextP ctx,
-                              VASurfaceID surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct object_surface *obj_surface;
-    int w, h;
-    int rw, rh;
-    dri_bo *region;
-
-    obj_surface = SURFACE(surface);
-    assert(obj_surface);
-
-    w = obj_surface->width;
-    h = obj_surface->height;
-    rw = obj_surface->orig_width;
-    rh = obj_surface->orig_height;
-    region = obj_surface->bo;
-
-    i965_render_src_surface_state(ctx, 1, region, 0, rw, rh, w, I965_SURFACEFORMAT_R8_UNORM);     /* Y */
-    i965_render_src_surface_state(ctx, 2, region, 0, rw, rh, w, I965_SURFACEFORMAT_R8_UNORM);
-
-    if (obj_surface->fourcc == VA_FOURCC('Y','V','1','2')) {
-        int u3 = 5, u4 = 6, v5 = 3, v6 = 4;
-
-        i965_render_src_surface_state(ctx, u3, region, w * h, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM); /* U */
-        i965_render_src_surface_state(ctx, u4, region, w * h, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);
-        i965_render_src_surface_state(ctx, v5, region, w * h + w * h / 4, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);     /* V */
-        i965_render_src_surface_state(ctx, v6, region, w * h + w * h / 4, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);
-    } else {
-        if (obj_surface->fourcc == VA_FOURCC('N','V','1','2')) {
-            i965_render_src_surface_state(ctx, 3, region, w * h, rw / 2, rh / 2, w, I965_SURFACEFORMAT_R8G8_UNORM); /* UV */
-            i965_render_src_surface_state(ctx, 4, region, w * h, rw / 2, rh / 2, w, I965_SURFACEFORMAT_R8G8_UNORM);
-        } else {
-            int u3 = 3, u4 = 4, v5 = 5, v6 = 6;
-            
-            i965_render_src_surface_state(ctx, u3, region, w * h, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM); /* U */
-            i965_render_src_surface_state(ctx, u4, region, w * h, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);
-            i965_render_src_surface_state(ctx, v5, region, w * h + w * h / 4, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);     /* V */
-            i965_render_src_surface_state(ctx, v6, region, w * h + w * h / 4, rw / 2, rh / 2, w / 2, I965_SURFACEFORMAT_R8_UNORM);
-        }
-    }
-}
-
-static void
-i965_subpic_render_src_surfaces_state(VADriverContextP ctx,
-                              VASurfaceID surface)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct object_surface *obj_surface = SURFACE(surface);
-    int w, h;
-    dri_bo *region;
-    dri_bo *subpic_region;
-    struct object_subpic *obj_subpic = SUBPIC(obj_surface->subpic);
-    struct object_image *obj_image = IMAGE(obj_subpic->image);
-    assert(obj_surface);
-    assert(obj_surface->bo);
-    w = obj_surface->width;
-    h = obj_surface->height;
-    region = obj_surface->bo;
-    subpic_region = obj_image->bo;
-    /*subpicture surface*/
-    i965_render_src_surface_state(ctx, 1, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->pitch, obj_subpic->format);     
-    i965_render_src_surface_state(ctx, 2, subpic_region, 0, obj_subpic->width, obj_subpic->height, obj_subpic->pitch, obj_subpic->format);     
-}
-
-static void
-i965_render_dest_surface_state(VADriverContextP ctx, int index)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);  
-    struct i965_render_state *render_state = &i965->render_state;
-    struct intel_region *dest_region = render_state->draw_region;
-    void *ss;
-    dri_bo *ss_bo = render_state->wm.surface_state_binding_table_bo;
-    int format;
-    assert(index < MAX_RENDER_SURFACES);
-
-    if (dest_region->cpp == 2) {
-       format = I965_SURFACEFORMAT_B5G6R5_UNORM;
-    } else {
-       format = I965_SURFACEFORMAT_B8G8R8A8_UNORM;
-    }
-
-    dri_bo_map(ss_bo, 1);
-    assert(ss_bo->virtual);
-    ss = (char *)ss_bo->virtual + SURFACE_STATE_OFFSET(index);
-
-    if (IS_GEN7(i965->intel.device_id)) {
-        gen7_render_set_surface_state(ss,
-                                      dest_region->bo, 0,
-                                      dest_region->width, dest_region->height,
-                                      dest_region->pitch, format);
-        dri_bo_emit_reloc(ss_bo,
-                          I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-                          0,
-                          SURFACE_STATE_OFFSET(index) + offsetof(struct gen7_surface_state, ss1),
-                          dest_region->bo);
-    } else {
-        i965_render_set_surface_state(ss,
-                                      dest_region->bo, 0,
-                                      dest_region->width, dest_region->height,
-                                      dest_region->pitch, format);
-        dri_bo_emit_reloc(ss_bo,
-                          I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-                          0,
-                          SURFACE_STATE_OFFSET(index) + offsetof(struct i965_surface_state, ss1),
-                          dest_region->bo);
-    }
-
-    ((unsigned int *)((char *)ss_bo->virtual + BINDING_TABLE_OFFSET))[index] = SURFACE_STATE_OFFSET(index);
-    dri_bo_unmap(ss_bo);
-}
-
-static void 
-i965_subpic_render_upload_vertex(VADriverContextP ctx,
-                                 VASurfaceID surface,
-                                 const VARectangle *output_rect)
-{    
-    struct i965_driver_data  *i965         = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct object_surface    *obj_surface  = SURFACE(surface);
-    struct object_subpic     *obj_subpic   = SUBPIC(obj_surface->subpic);
-    VARectangle dst_rect;
-    float *vb, tx1, tx2, ty1, ty2, x1, x2, y1, y2;
-    int i = 0;
-
-    if (obj_subpic->flags & VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD)
-        dst_rect = obj_subpic->dst_rect;
-    else {
-        const float sx  = (float)output_rect->width  / obj_surface->orig_width;
-        const float sy  = (float)output_rect->height / obj_surface->orig_height;
-        dst_rect.x      = output_rect->x + sx * obj_subpic->dst_rect.x;
-        dst_rect.y      = output_rect->y + sy * obj_subpic->dst_rect.y;
-        dst_rect.width  = sx * obj_subpic->dst_rect.width;
-        dst_rect.height = sy * obj_subpic->dst_rect.height;
-    }
-
-    dri_bo_map(render_state->vb.vertex_buffer, 1);
-    assert(render_state->vb.vertex_buffer->virtual);
-    vb = render_state->vb.vertex_buffer->virtual;
-
-    tx1 = (float)obj_subpic->src_rect.x / obj_subpic->width;
-    ty1 = (float)obj_subpic->src_rect.y / obj_subpic->height;
-    tx2 = (float)(obj_subpic->src_rect.x + obj_subpic->src_rect.width) / obj_subpic->width;
-    ty2 = (float)(obj_subpic->src_rect.y + obj_subpic->src_rect.height) / obj_subpic->height;
-
-    x1 = (float)dst_rect.x;
-    y1 = (float)dst_rect.y;
-    x2 = (float)(dst_rect.x + dst_rect.width);
-    y2 = (float)(dst_rect.y + dst_rect.height);
-
-    vb[i++] = tx2;
-    vb[i++] = ty2;
-    vb[i++] = x2;
-    vb[i++] = y2;
-
-    vb[i++] = tx1;
-    vb[i++] = ty2;
-    vb[i++] = x1;
-    vb[i++] = y2;
-
-    vb[i++] = tx1;
-    vb[i++] = ty1;
-    vb[i++] = x1;
-    vb[i++] = y1;
-    dri_bo_unmap(render_state->vb.vertex_buffer);
-}
-
-static void 
-i965_render_upload_vertex(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct intel_region *dest_region = render_state->draw_region;
-    struct object_surface *obj_surface;
-    float *vb;
-
-    float u1, v1, u2, v2;
-    int i, width, height;
-    int box_x1 = dest_region->x + dst_rect->x;
-    int box_y1 = dest_region->y + dst_rect->y;
-    int box_x2 = box_x1 + dst_rect->width;
-    int box_y2 = box_y1 + dst_rect->height;
-
-    obj_surface = SURFACE(surface);
-    assert(surface);
-    width = obj_surface->orig_width;
-    height = obj_surface->orig_height;
-
-    u1 = (float)src_rect->x / width;
-    v1 = (float)src_rect->y / height;
-    u2 = (float)(src_rect->x + src_rect->width) / width;
-    v2 = (float)(src_rect->y + src_rect->height) / height;
-
-    dri_bo_map(render_state->vb.vertex_buffer, 1);
-    assert(render_state->vb.vertex_buffer->virtual);
-    vb = render_state->vb.vertex_buffer->virtual;
-
-    i = 0;
-    vb[i++] = u2;
-    vb[i++] = v2;
-    vb[i++] = (float)box_x2;
-    vb[i++] = (float)box_y2;
-    
-    vb[i++] = u1;
-    vb[i++] = v2;
-    vb[i++] = (float)box_x1;
-    vb[i++] = (float)box_y2;
-
-    vb[i++] = u1;
-    vb[i++] = v1;
-    vb[i++] = (float)box_x1;
-    vb[i++] = (float)box_y1;
-
-    dri_bo_unmap(render_state->vb.vertex_buffer);
-}
-
-static void
-i965_render_upload_constants(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    unsigned short *constant_buffer;
-
-    if (render_state->curbe.upload)
-        return;
-
-    dri_bo_map(render_state->curbe.bo, 1);
-    assert(render_state->curbe.bo->virtual);
-    constant_buffer = render_state->curbe.bo->virtual;
-
-    if (render_state->interleaved_uv)
-        *constant_buffer = 1;
-    else
-        *constant_buffer = 0;
-
-    dri_bo_unmap(render_state->curbe.bo);
-    render_state->curbe.upload = 1;
-}
-
-static void
-i965_surface_render_state_setup(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_vs_unit(ctx);
-    i965_render_sf_unit(ctx);
-    i965_render_dest_surface_state(ctx, 0);
-    i965_render_src_surfaces_state(ctx, surface);
-    i965_render_sampler(ctx);
-    i965_render_wm_unit(ctx);
-    i965_render_cc_viewport(ctx);
-    i965_render_cc_unit(ctx);
-    i965_render_upload_vertex(ctx, surface, src_rect, dst_rect);
-    i965_render_upload_constants(ctx);
-}
-static void
-i965_subpic_render_state_setup(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_vs_unit(ctx);
-    i965_render_sf_unit(ctx);
-    i965_render_dest_surface_state(ctx, 0);
-    i965_subpic_render_src_surfaces_state(ctx, surface);
-    i965_render_sampler(ctx);
-    i965_subpic_render_wm_unit(ctx);
-    i965_render_cc_viewport(ctx);
-    i965_subpic_render_cc_unit(ctx);
-    i965_subpic_render_upload_vertex(ctx, surface, dst_rect);
-}
-
-
-static void
-i965_render_pipeline_select(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_3D);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_state_sip(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_STATE_SIP | 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_state_base_address(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        BEGIN_BATCH(batch, 8);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 6);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_RELOC(batch, render_state->wm.surface_state_binding_table_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    } else {
-        BEGIN_BATCH(batch, 6);
-        OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | 4);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_RELOC(batch, render_state->wm.surface_state_binding_table_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        OUT_BATCH(batch, 0 | BASE_ADDRESS_MODIFY);
-        ADVANCE_BATCH(batch);
-    }
-}
-
-static void
-i965_render_binding_table_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 6);
-    OUT_BATCH(batch, CMD_BINDING_TABLE_POINTERS | 4);
-    OUT_BATCH(batch, 0); /* vs */
-    OUT_BATCH(batch, 0); /* gs */
-    OUT_BATCH(batch, 0); /* clip */
-    OUT_BATCH(batch, 0); /* sf */
-    OUT_BATCH(batch, BINDING_TABLE_OFFSET);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_render_constant_color(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 5);
-    OUT_BATCH(batch, CMD_CONSTANT_COLOR | 3);
-    OUT_BATCH(batch, float_to_uint(1.0));
-    OUT_BATCH(batch, float_to_uint(0.0));
-    OUT_BATCH(batch, float_to_uint(1.0));
-    OUT_BATCH(batch, float_to_uint(1.0));
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_pipelined_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, CMD_PIPELINED_POINTERS | 5);
-    OUT_RELOC(batch, render_state->vs.state, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    OUT_BATCH(batch, 0);  /* disable GS */
-    OUT_BATCH(batch, 0);  /* disable CLIP */
-    OUT_RELOC(batch, render_state->sf.state, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    OUT_RELOC(batch, render_state->wm.state, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    OUT_RELOC(batch, render_state->cc.state, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_urb_layout(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    int urb_vs_start, urb_vs_size;
-    int urb_gs_start, urb_gs_size;
-    int urb_clip_start, urb_clip_size;
-    int urb_sf_start, urb_sf_size;
-    int urb_cs_start, urb_cs_size;
-
-    urb_vs_start = 0;
-    urb_vs_size = URB_VS_ENTRIES * URB_VS_ENTRY_SIZE;
-    urb_gs_start = urb_vs_start + urb_vs_size;
-    urb_gs_size = URB_GS_ENTRIES * URB_GS_ENTRY_SIZE;
-    urb_clip_start = urb_gs_start + urb_gs_size;
-    urb_clip_size = URB_CLIP_ENTRIES * URB_CLIP_ENTRY_SIZE;
-    urb_sf_start = urb_clip_start + urb_clip_size;
-    urb_sf_size = URB_SF_ENTRIES * URB_SF_ENTRY_SIZE;
-    urb_cs_start = urb_sf_start + urb_sf_size;
-    urb_cs_size = URB_CS_ENTRIES * URB_CS_ENTRY_SIZE;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, 
-              CMD_URB_FENCE |
-              UF0_CS_REALLOC |
-              UF0_SF_REALLOC |
-              UF0_CLIP_REALLOC |
-              UF0_GS_REALLOC |
-              UF0_VS_REALLOC |
-              1);
-    OUT_BATCH(batch, 
-              ((urb_clip_start + urb_clip_size) << UF1_CLIP_FENCE_SHIFT) |
-              ((urb_gs_start + urb_gs_size) << UF1_GS_FENCE_SHIFT) |
-              ((urb_vs_start + urb_vs_size) << UF1_VS_FENCE_SHIFT));
-    OUT_BATCH(batch,
-              ((urb_cs_start + urb_cs_size) << UF2_CS_FENCE_SHIFT) |
-              ((urb_sf_start + urb_sf_size) << UF2_SF_FENCE_SHIFT));
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_render_cs_urb_layout(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CS_URB_STATE | 0);
-    OUT_BATCH(batch,
-              ((URB_CS_ENTRY_SIZE - 1) << 4) |          /* URB Entry Allocation Size */
-              (URB_CS_ENTRIES << 0));                /* Number of URB Entries */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_constant_buffer(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_CONSTANT_BUFFER | (1 << 8) | (2 - 2));
-    OUT_RELOC(batch, render_state->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              URB_CS_ENTRY_SIZE - 1);
-    ADVANCE_BATCH(batch);    
-}
-
-static void
-i965_render_drawing_rectangle(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-    struct intel_region *dest_region = render_state->draw_region;
-
-    BEGIN_BATCH(batch, 4);
-    OUT_BATCH(batch, CMD_DRAWING_RECTANGLE | 2);
-    OUT_BATCH(batch, 0x00000000);
-    OUT_BATCH(batch, (dest_region->width - 1) | (dest_region->height - 1) << 16);
-    OUT_BATCH(batch, 0x00000000);         
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_vertex_elements(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    if (IS_IRONLAKE(i965->intel.device_id)) {
-        BEGIN_BATCH(batch, 5);
-        OUT_BATCH(batch, CMD_VERTEX_ELEMENTS | 3);
-        /* offset 0: X,Y -> {X, Y, 1.0, 1.0} */
-        OUT_BATCH(batch, (0 << VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-                  VE0_VALID |
-                  (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-                  (0 << VE0_OFFSET_SHIFT));
-        OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-        /* offset 8: S0, T0 -> {S0, T0, 1.0, 1.0} */
-        OUT_BATCH(batch, (0 << VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-                  VE0_VALID |
-                  (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-                  (8 << VE0_OFFSET_SHIFT));
-        OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-        ADVANCE_BATCH(batch);
-    } else {
-        BEGIN_BATCH(batch, 5);
-        OUT_BATCH(batch, CMD_VERTEX_ELEMENTS | 3);
-        /* offset 0: X,Y -> {X, Y, 1.0, 1.0} */
-        OUT_BATCH(batch, (0 << VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-                  VE0_VALID |
-                  (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-                  (0 << VE0_OFFSET_SHIFT));
-        OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT) |
-                  (0 << VE1_DESTINATION_ELEMENT_OFFSET_SHIFT));
-        /* offset 8: S0, T0 -> {S0, T0, 1.0, 1.0} */
-        OUT_BATCH(batch, (0 << VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-                  VE0_VALID |
-                  (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-                  (8 << VE0_OFFSET_SHIFT));
-        OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-                  (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT) |
-                  (4 << VE1_DESTINATION_ELEMENT_OFFSET_SHIFT));
-        ADVANCE_BATCH(batch);
-    }
-}
-
-static void
-i965_render_upload_image_palette(
-    VADriverContextP ctx,
-    VAImageID        image_id,
-    unsigned int     alpha
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    unsigned int i;
-
-    struct object_image *obj_image = IMAGE(image_id);
-    assert(obj_image);
-
-    if (obj_image->image.num_palette_entries == 0)
-        return;
-
-    BEGIN_BATCH(batch, 1 + obj_image->image.num_palette_entries);
-    OUT_BATCH(batch, CMD_SAMPLER_PALETTE_LOAD | (obj_image->image.num_palette_entries - 1));
-    /*fill palette*/
-    //int32_t out[16]; //0-23:color 23-31:alpha
-    for (i = 0; i < obj_image->image.num_palette_entries; i++)
-        OUT_BATCH(batch, (alpha << 24) | obj_image->palette[i]);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-i965_render_startup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 11);
-    OUT_BATCH(batch, CMD_VERTEX_BUFFERS | 3);
-    OUT_BATCH(batch, 
-              (0 << VB0_BUFFER_INDEX_SHIFT) |
-              VB0_VERTEXDATA |
-              ((4 * 4) << VB0_BUFFER_PITCH_SHIFT));
-    OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 0);
-
-    if (IS_IRONLAKE(i965->intel.device_id))
-        OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 12 * 4);
-    else
-        OUT_BATCH(batch, 3);
-
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, 
-              CMD_3DPRIMITIVE |
-              _3DPRIMITIVE_VERTEX_SEQUENTIAL |
-              (_3DPRIM_RECTLIST << _3DPRIMITIVE_TOPOLOGY_SHIFT) |
-              (0 << 9) |
-              4);
-    OUT_BATCH(batch, 3); /* vertex count per instance */
-    OUT_BATCH(batch, 0); /* start vertex offset */
-    OUT_BATCH(batch, 1); /* single instance */
-    OUT_BATCH(batch, 0); /* start instance location */
-    OUT_BATCH(batch, 0); /* index buffer offset, ignored */
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-i965_clear_dest_region(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-    struct intel_region *dest_region = render_state->draw_region;
-    unsigned int blt_cmd, br13;
-    int pitch;
-
-    blt_cmd = XY_COLOR_BLT_CMD;
-    br13 = 0xf0 << 16;
-    pitch = dest_region->pitch;
-
-    if (dest_region->cpp == 4) {
-        br13 |= BR13_8888;
-        blt_cmd |= (XY_COLOR_BLT_WRITE_RGB | XY_COLOR_BLT_WRITE_ALPHA);
-    } else {
-        assert(dest_region->cpp == 2);
-        br13 |= BR13_565;
-    }
-
-    if (dest_region->tiling != I915_TILING_NONE) {
-        blt_cmd |= XY_COLOR_BLT_DST_TILED;
-        pitch /= 4;
-    }
-
-    br13 |= pitch;
-
-    if (IS_GEN6(i965->intel.device_id) ||
-        IS_GEN7(i965->intel.device_id)) {
-        intel_batchbuffer_start_atomic_blt(batch, 24);
-        BEGIN_BLT_BATCH(batch, 6);
-    } else {
-        intel_batchbuffer_start_atomic(batch, 24);
-        BEGIN_BATCH(batch, 6);
-    }
-
-    OUT_BATCH(batch, blt_cmd);
-    OUT_BATCH(batch, br13);
-    OUT_BATCH(batch, (dest_region->y << 16) | (dest_region->x));
-    OUT_BATCH(batch, ((dest_region->y + dest_region->height) << 16) |
-              (dest_region->x + dest_region->width));
-    OUT_RELOC(batch, dest_region->bo, 
-              I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
-              0);
-    OUT_BATCH(batch, 0x0);
-    ADVANCE_BATCH(batch);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void
-i965_surface_render_pipeline_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    i965_clear_dest_region(ctx);
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    i965_render_pipeline_select(ctx);
-    i965_render_state_sip(ctx);
-    i965_render_state_base_address(ctx);
-    i965_render_binding_table_pointers(ctx);
-    i965_render_constant_color(ctx);
-    i965_render_pipelined_pointers(ctx);
-    i965_render_urb_layout(ctx);
-    i965_render_cs_urb_layout(ctx);
-    i965_render_constant_buffer(ctx);
-    i965_render_drawing_rectangle(ctx);
-    i965_render_vertex_elements(ctx);
-    i965_render_startup(ctx);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void
-i965_subpic_render_pipeline_setup(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    i965_render_pipeline_select(ctx);
-    i965_render_state_sip(ctx);
-    i965_render_state_base_address(ctx);
-    i965_render_binding_table_pointers(ctx);
-    i965_render_constant_color(ctx);
-    i965_render_pipelined_pointers(ctx);
-    i965_render_urb_layout(ctx);
-    i965_render_cs_urb_layout(ctx);
-    i965_render_drawing_rectangle(ctx);
-    i965_render_vertex_elements(ctx);
-    i965_render_startup(ctx);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-
-static void 
-i965_render_initialize(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    dri_bo *bo;
-
-    /* VERTEX BUFFER */
-    dri_bo_unreference(render_state->vb.vertex_buffer);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "vertex buffer",
-                      4096,
-                      4096);
-    assert(bo);
-    render_state->vb.vertex_buffer = bo;
-
-    /* VS */
-    dri_bo_unreference(render_state->vs.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "vs state",
-                      sizeof(struct i965_vs_unit_state),
-                      64);
-    assert(bo);
-    render_state->vs.state = bo;
-
-    /* GS */
-    /* CLIP */
-    /* SF */
-    dri_bo_unreference(render_state->sf.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "sf state",
-                      sizeof(struct i965_sf_unit_state),
-                      64);
-    assert(bo);
-    render_state->sf.state = bo;
-
-    /* WM */
-    dri_bo_unreference(render_state->wm.surface_state_binding_table_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "surface state & binding table",
-                      (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) * MAX_RENDER_SURFACES,
-                      4096);
-    assert(bo);
-    render_state->wm.surface_state_binding_table_bo = bo;
-
-    dri_bo_unreference(render_state->wm.sampler);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "sampler state",
-                      MAX_SAMPLERS * sizeof(struct i965_sampler_state),
-                      64);
-    assert(bo);
-    render_state->wm.sampler = bo;
-    render_state->wm.sampler_count = 0;
-
-    dri_bo_unreference(render_state->wm.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "wm state",
-                      sizeof(struct i965_wm_unit_state),
-                      64);
-    assert(bo);
-    render_state->wm.state = bo;
-
-    /* COLOR CALCULATOR */
-    dri_bo_unreference(render_state->cc.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "color calc state",
-                      sizeof(struct i965_cc_unit_state),
-                      64);
-    assert(bo);
-    render_state->cc.state = bo;
-
-    dri_bo_unreference(render_state->cc.viewport);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "cc viewport",
-                      sizeof(struct i965_cc_viewport),
-                      64);
-    assert(bo);
-    render_state->cc.viewport = bo;
-}
-
-static void
-i965_render_put_surface(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    i965_render_initialize(ctx);
-    i965_surface_render_state_setup(ctx, surface, src_rect, dst_rect);
-    i965_surface_render_pipeline_setup(ctx);
-    intel_batchbuffer_flush(batch);
-}
-
-static void
-i965_render_put_subpicture(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct object_surface *obj_surface = SURFACE(surface);
-    struct object_subpic *obj_subpic = SUBPIC(obj_surface->subpic);
-
-    assert(obj_subpic);
-
-    i965_render_initialize(ctx);
-    i965_subpic_render_state_setup(ctx, surface, src_rect, dst_rect);
-    i965_subpic_render_pipeline_setup(ctx);
-    i965_render_upload_image_palette(ctx, obj_subpic->image, 0xff);
-    intel_batchbuffer_flush(batch);
-}
-
-/*
- * for GEN6+
- */
-static void 
-gen6_render_initialize(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    dri_bo *bo;
-
-    /* VERTEX BUFFER */
-    dri_bo_unreference(render_state->vb.vertex_buffer);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "vertex buffer",
-                      4096,
-                      4096);
-    assert(bo);
-    render_state->vb.vertex_buffer = bo;
-
-    /* WM */
-    dri_bo_unreference(render_state->wm.surface_state_binding_table_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "surface state & binding table",
-                      (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) * MAX_RENDER_SURFACES,
-                      4096);
-    assert(bo);
-    render_state->wm.surface_state_binding_table_bo = bo;
-
-    dri_bo_unreference(render_state->wm.sampler);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "sampler state",
-                      MAX_SAMPLERS * sizeof(struct i965_sampler_state),
-                      4096);
-    assert(bo);
-    render_state->wm.sampler = bo;
-    render_state->wm.sampler_count = 0;
-
-    /* COLOR CALCULATOR */
-    dri_bo_unreference(render_state->cc.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "color calc state",
-                      sizeof(struct gen6_color_calc_state),
-                      4096);
-    assert(bo);
-    render_state->cc.state = bo;
-
-    /* CC VIEWPORT */
-    dri_bo_unreference(render_state->cc.viewport);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "cc viewport",
-                      sizeof(struct i965_cc_viewport),
-                      4096);
-    assert(bo);
-    render_state->cc.viewport = bo;
-
-    /* BLEND STATE */
-    dri_bo_unreference(render_state->cc.blend);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "blend state",
-                      sizeof(struct gen6_blend_state),
-                      4096);
-    assert(bo);
-    render_state->cc.blend = bo;
-
-    /* DEPTH & STENCIL STATE */
-    dri_bo_unreference(render_state->cc.depth_stencil);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "depth & stencil state",
-                      sizeof(struct gen6_depth_stencil_state),
-                      4096);
-    assert(bo);
-    render_state->cc.depth_stencil = bo;
-}
-
-static void
-gen6_render_color_calc_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_color_calc_state *color_calc_state;
-    
-    dri_bo_map(render_state->cc.state, 1);
-    assert(render_state->cc.state->virtual);
-    color_calc_state = render_state->cc.state->virtual;
-    memset(color_calc_state, 0, sizeof(*color_calc_state));
-    color_calc_state->constant_r = 1.0;
-    color_calc_state->constant_g = 0.0;
-    color_calc_state->constant_b = 1.0;
-    color_calc_state->constant_a = 1.0;
-    dri_bo_unmap(render_state->cc.state);
-}
-
-static void
-gen6_render_blend_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_blend_state *blend_state;
-    
-    dri_bo_map(render_state->cc.blend, 1);
-    assert(render_state->cc.blend->virtual);
-    blend_state = render_state->cc.blend->virtual;
-    memset(blend_state, 0, sizeof(*blend_state));
-    blend_state->blend1.logic_op_enable = 1;
-    blend_state->blend1.logic_op_func = 0xc;
-    dri_bo_unmap(render_state->cc.blend);
-}
-
-static void
-gen6_render_depth_stencil_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_depth_stencil_state *depth_stencil_state;
-    
-    dri_bo_map(render_state->cc.depth_stencil, 1);
-    assert(render_state->cc.depth_stencil->virtual);
-    depth_stencil_state = render_state->cc.depth_stencil->virtual;
-    memset(depth_stencil_state, 0, sizeof(*depth_stencil_state));
-    dri_bo_unmap(render_state->cc.depth_stencil);
-}
-
-static void
-gen6_render_setup_states(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_dest_surface_state(ctx, 0);
-    i965_render_src_surfaces_state(ctx, surface);
-    i965_render_sampler(ctx);
-    i965_render_cc_viewport(ctx);
-    gen6_render_color_calc_state(ctx);
-    gen6_render_blend_state(ctx);
-    gen6_render_depth_stencil_state(ctx);
-    i965_render_upload_constants(ctx);
-    i965_render_upload_vertex(ctx, surface, src_rect, dst_rect);
-}
-
-static void
-gen6_emit_invarient_states(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_3D);
-
-    OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE | (3 - 2));
-    OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_CENTER |
-              GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_1); /* 1 sample/pixel */
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, GEN6_3DSTATE_SAMPLE_MASK | (2 - 2));
-    OUT_BATCH(batch, 1);
-
-    /* Set system instruction pointer */
-    OUT_BATCH(batch, CMD_STATE_SIP | 0);
-    OUT_BATCH(batch, 0);
-}
-
-static void
-gen6_emit_state_base_address(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | (10 - 2));
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* General state base address */
-    OUT_RELOC(batch, render_state->wm.surface_state_binding_table_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Dynamic state base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Indirect object base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Instruction base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* General state upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Dynamic state upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Indirect object upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Instruction access upper bound */
-}
-
-static void
-gen6_emit_viewport_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_VIEWPORT_STATE_POINTERS |
-              GEN6_3DSTATE_VIEWPORT_STATE_MODIFY_CC |
-              (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_RELOC(batch, render_state->cc.viewport, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-}
-
-static void
-gen6_emit_urb(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_URB | (3 - 2));
-    OUT_BATCH(batch, ((1 - 1) << GEN6_3DSTATE_URB_VS_SIZE_SHIFT) |
-              (24 << GEN6_3DSTATE_URB_VS_ENTRIES_SHIFT)); /* at least 24 on GEN6 */
-    OUT_BATCH(batch, (0 << GEN6_3DSTATE_URB_GS_SIZE_SHIFT) |
-              (0 << GEN6_3DSTATE_URB_GS_ENTRIES_SHIFT)); /* no GS thread */
-}
-
-static void
-gen6_emit_cc_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_CC_STATE_POINTERS | (4 - 2));
-    OUT_RELOC(batch, render_state->cc.blend, I915_GEM_DOMAIN_INSTRUCTION, 0, 1);
-    OUT_RELOC(batch, render_state->cc.depth_stencil, I915_GEM_DOMAIN_INSTRUCTION, 0, 1);
-    OUT_RELOC(batch, render_state->cc.state, I915_GEM_DOMAIN_INSTRUCTION, 0, 1);
-}
-
-static void
-gen6_emit_sampler_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_SAMPLER_STATE_POINTERS |
-              GEN6_3DSTATE_SAMPLER_STATE_MODIFY_PS |
-              (4 - 2));
-    OUT_BATCH(batch, 0); /* VS */
-    OUT_BATCH(batch, 0); /* GS */
-    OUT_RELOC(batch,render_state->wm.sampler, I915_GEM_DOMAIN_INSTRUCTION, 0, 0);
-}
-
-static void
-gen6_emit_binding_table(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* Binding table pointers */
-    OUT_BATCH(batch, CMD_BINDING_TABLE_POINTERS |
-              GEN6_BINDING_TABLE_MODIFY_PS |
-              (4 - 2));
-    OUT_BATCH(batch, 0);               /* vs */
-    OUT_BATCH(batch, 0);               /* gs */
-    /* Only the PS uses the binding table */
-    OUT_BATCH(batch, BINDING_TABLE_OFFSET);
-}
-
-static void
-gen6_emit_depth_buffer_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, CMD_DEPTH_BUFFER | (7 - 2));
-    OUT_BATCH(batch, (I965_SURFACE_NULL << CMD_DEPTH_BUFFER_TYPE_SHIFT) |
-              (I965_DEPTHFORMAT_D32_FLOAT << CMD_DEPTH_BUFFER_FORMAT_SHIFT));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, CMD_CLEAR_PARAMS | (2 - 2));
-    OUT_BATCH(batch, 0);
-}
-
-static void
-gen6_emit_drawing_rectangle(VADriverContextP ctx)
-{
-    i965_render_drawing_rectangle(ctx);
-}
-
-static void 
-gen6_emit_vs_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* disable VS constant buffer */
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_VS | (5 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-       
-    OUT_BATCH(batch, GEN6_3DSTATE_VS | (6 - 2));
-    OUT_BATCH(batch, 0); /* without VS kernel */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-}
-
-static void 
-gen6_emit_gs_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* disable GS constant buffer */
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_GS | (5 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-       
-    OUT_BATCH(batch, GEN6_3DSTATE_GS | (7 - 2));
-    OUT_BATCH(batch, 0); /* without GS kernel */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-}
-
-static void 
-gen6_emit_clip_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_CLIP | (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-    OUT_BATCH(batch, 0);
-}
-
-static void 
-gen6_emit_sf_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_SF | (20 - 2));
-    OUT_BATCH(batch, (1 << GEN6_3DSTATE_SF_NUM_OUTPUTS_SHIFT) |
-              (1 << GEN6_3DSTATE_SF_URB_ENTRY_READ_LENGTH_SHIFT) |
-              (0 << GEN6_3DSTATE_SF_URB_ENTRY_READ_OFFSET_SHIFT));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, GEN6_3DSTATE_SF_CULL_NONE);
-    OUT_BATCH(batch, 2 << GEN6_3DSTATE_SF_TRIFAN_PROVOKE_SHIFT); /* DW4 */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* DW9 */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* DW14 */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* DW19 */
-}
-
-static void 
-gen6_emit_wm_state(VADriverContextP ctx, int kernel)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_PS |
-              GEN6_3DSTATE_CONSTANT_BUFFER_0_ENABLE |
-              (5 - 2));
-    OUT_RELOC(batch, 
-              render_state->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, GEN6_3DSTATE_WM | (9 - 2));
-    OUT_RELOC(batch, render_state->render_kernels[kernel].bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    OUT_BATCH(batch, (1 << GEN6_3DSTATE_WM_SAMPLER_COUNT_SHITF) |
-              (5 << GEN6_3DSTATE_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, (6 << GEN6_3DSTATE_WM_DISPATCH_START_GRF_0_SHIFT)); /* DW4 */
-    OUT_BATCH(batch, ((40 - 1) << GEN6_3DSTATE_WM_MAX_THREADS_SHIFT) |
-              GEN6_3DSTATE_WM_DISPATCH_ENABLE |
-              GEN6_3DSTATE_WM_16_DISPATCH_ENABLE);
-    OUT_BATCH(batch, (1 << GEN6_3DSTATE_WM_NUM_SF_OUTPUTS_SHIFT) |
-              GEN6_3DSTATE_WM_PERSPECTIVE_PIXEL_BARYCENTRIC);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-}
-
-static void
-gen6_emit_vertex_element_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* Set up our vertex elements, sourced from the single vertex buffer. */
-    OUT_BATCH(batch, CMD_VERTEX_ELEMENTS | (5 - 2));
-    /* offset 0: X,Y -> {X, Y, 1.0, 1.0} */
-    OUT_BATCH(batch, (0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-              GEN6_VE0_VALID |
-              (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-              (0 << VE0_OFFSET_SHIFT));
-    OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-              (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-    /* offset 8: S0, T0 -> {S0, T0, 1.0, 1.0} */
-    OUT_BATCH(batch, (0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-              GEN6_VE0_VALID |
-              (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-              (8 << VE0_OFFSET_SHIFT));
-    OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) | 
-              (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-}
-
-static void
-gen6_emit_vertices(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 11);
-    OUT_BATCH(batch, CMD_VERTEX_BUFFERS | 3);
-    OUT_BATCH(batch, 
-              (0 << GEN6_VB0_BUFFER_INDEX_SHIFT) |
-              GEN6_VB0_VERTEXDATA |
-              ((4 * 4) << VB0_BUFFER_PITCH_SHIFT));
-    OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 0);
-    OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 12 * 4);
-    OUT_BATCH(batch, 0);
-
-    OUT_BATCH(batch, 
-              CMD_3DPRIMITIVE |
-              _3DPRIMITIVE_VERTEX_SEQUENTIAL |
-              (_3DPRIM_RECTLIST << _3DPRIMITIVE_TOPOLOGY_SHIFT) |
-              (0 << 9) |
-              4);
-    OUT_BATCH(batch, 3); /* vertex count per instance */
-    OUT_BATCH(batch, 0); /* start vertex offset */
-    OUT_BATCH(batch, 1); /* single instance */
-    OUT_BATCH(batch, 0); /* start instance location */
-    OUT_BATCH(batch, 0); /* index buffer offset, ignored */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen6_render_emit_states(VADriverContextP ctx, int kernel)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen6_emit_invarient_states(ctx);
-    gen6_emit_state_base_address(ctx);
-    gen6_emit_viewport_state_pointers(ctx);
-    gen6_emit_urb(ctx);
-    gen6_emit_cc_state_pointers(ctx);
-    gen6_emit_sampler_state_pointers(ctx);
-    gen6_emit_vs_state(ctx);
-    gen6_emit_gs_state(ctx);
-    gen6_emit_clip_state(ctx);
-    gen6_emit_sf_state(ctx);
-    gen6_emit_wm_state(ctx, kernel);
-    gen6_emit_binding_table(ctx);
-    gen6_emit_depth_buffer_state(ctx);
-    gen6_emit_drawing_rectangle(ctx);
-    gen6_emit_vertex_element_state(ctx);
-    gen6_emit_vertices(ctx);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void
-gen6_render_put_surface(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    gen6_render_initialize(ctx);
-    gen6_render_setup_states(ctx, surface, src_rect, dst_rect);
-    i965_clear_dest_region(ctx);
-    gen6_render_emit_states(ctx, PS_KERNEL);
-    intel_batchbuffer_flush(batch);
-}
-
-static void
-gen6_subpicture_render_blend_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_blend_state *blend_state;
-
-    dri_bo_unmap(render_state->cc.state);    
-    dri_bo_map(render_state->cc.blend, 1);
-    assert(render_state->cc.blend->virtual);
-    blend_state = render_state->cc.blend->virtual;
-    memset(blend_state, 0, sizeof(*blend_state));
-    blend_state->blend0.dest_blend_factor = I965_BLENDFACTOR_INV_SRC_ALPHA;
-    blend_state->blend0.source_blend_factor = I965_BLENDFACTOR_SRC_ALPHA;
-    blend_state->blend0.blend_func = I965_BLENDFUNCTION_ADD;
-    blend_state->blend0.blend_enable = 1;
-    blend_state->blend1.post_blend_clamp_enable = 1;
-    blend_state->blend1.pre_blend_clamp_enable = 1;
-    blend_state->blend1.clamp_range = 0; /* clamp range [0, 1] */
-    dri_bo_unmap(render_state->cc.blend);
-}
-
-static void
-gen6_subpicture_render_setup_states(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_dest_surface_state(ctx, 0);
-    i965_subpic_render_src_surfaces_state(ctx, surface);
-    i965_render_sampler(ctx);
-    i965_render_cc_viewport(ctx);
-    gen6_render_color_calc_state(ctx);
-    gen6_subpicture_render_blend_state(ctx);
-    gen6_render_depth_stencil_state(ctx);
-    i965_subpic_render_upload_vertex(ctx, surface, dst_rect);
-}
-
-static void
-gen6_render_put_subpicture(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct object_surface *obj_surface = SURFACE(surface);
-    struct object_subpic *obj_subpic = SUBPIC(obj_surface->subpic);
-
-    assert(obj_subpic);
-    gen6_render_initialize(ctx);
-    gen6_subpicture_render_setup_states(ctx, surface, src_rect, dst_rect);
-    gen6_render_emit_states(ctx, PS_SUBPIC_KERNEL);
-    i965_render_upload_image_palette(ctx, obj_subpic->image, 0xff);
-    intel_batchbuffer_flush(batch);
-}
-
-/*
- * for GEN7
- */
-static void 
-gen7_render_initialize(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    dri_bo *bo;
-
-    /* VERTEX BUFFER */
-    dri_bo_unreference(render_state->vb.vertex_buffer);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "vertex buffer",
-                      4096,
-                      4096);
-    assert(bo);
-    render_state->vb.vertex_buffer = bo;
-
-    /* WM */
-    dri_bo_unreference(render_state->wm.surface_state_binding_table_bo);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "surface state & binding table",
-                      (SURFACE_STATE_PADDED_SIZE + sizeof(unsigned int)) * MAX_RENDER_SURFACES,
-                      4096);
-    assert(bo);
-    render_state->wm.surface_state_binding_table_bo = bo;
-
-    dri_bo_unreference(render_state->wm.sampler);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "sampler state",
-                      MAX_SAMPLERS * sizeof(struct gen7_sampler_state),
-                      4096);
-    assert(bo);
-    render_state->wm.sampler = bo;
-    render_state->wm.sampler_count = 0;
-
-    /* COLOR CALCULATOR */
-    dri_bo_unreference(render_state->cc.state);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "color calc state",
-                      sizeof(struct gen6_color_calc_state),
-                      4096);
-    assert(bo);
-    render_state->cc.state = bo;
-
-    /* CC VIEWPORT */
-    dri_bo_unreference(render_state->cc.viewport);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "cc viewport",
-                      sizeof(struct i965_cc_viewport),
-                      4096);
-    assert(bo);
-    render_state->cc.viewport = bo;
-
-    /* BLEND STATE */
-    dri_bo_unreference(render_state->cc.blend);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "blend state",
-                      sizeof(struct gen6_blend_state),
-                      4096);
-    assert(bo);
-    render_state->cc.blend = bo;
-
-    /* DEPTH & STENCIL STATE */
-    dri_bo_unreference(render_state->cc.depth_stencil);
-    bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "depth & stencil state",
-                      sizeof(struct gen6_depth_stencil_state),
-                      4096);
-    assert(bo);
-    render_state->cc.depth_stencil = bo;
-}
-
-static void
-gen7_render_color_calc_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_color_calc_state *color_calc_state;
-    
-    dri_bo_map(render_state->cc.state, 1);
-    assert(render_state->cc.state->virtual);
-    color_calc_state = render_state->cc.state->virtual;
-    memset(color_calc_state, 0, sizeof(*color_calc_state));
-    color_calc_state->constant_r = 1.0;
-    color_calc_state->constant_g = 0.0;
-    color_calc_state->constant_b = 1.0;
-    color_calc_state->constant_a = 1.0;
-    dri_bo_unmap(render_state->cc.state);
-}
-
-static void
-gen7_render_blend_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_blend_state *blend_state;
-    
-    dri_bo_map(render_state->cc.blend, 1);
-    assert(render_state->cc.blend->virtual);
-    blend_state = render_state->cc.blend->virtual;
-    memset(blend_state, 0, sizeof(*blend_state));
-    blend_state->blend1.logic_op_enable = 1;
-    blend_state->blend1.logic_op_func = 0xc;
-    blend_state->blend1.pre_blend_clamp_enable = 1;
-    dri_bo_unmap(render_state->cc.blend);
-}
-
-static void
-gen7_render_depth_stencil_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_depth_stencil_state *depth_stencil_state;
-    
-    dri_bo_map(render_state->cc.depth_stencil, 1);
-    assert(render_state->cc.depth_stencil->virtual);
-    depth_stencil_state = render_state->cc.depth_stencil->virtual;
-    memset(depth_stencil_state, 0, sizeof(*depth_stencil_state));
-    dri_bo_unmap(render_state->cc.depth_stencil);
-}
-
-static void 
-gen7_render_sampler(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen7_sampler_state *sampler_state;
-    int i;
-    
-    assert(render_state->wm.sampler_count > 0);
-    assert(render_state->wm.sampler_count <= MAX_SAMPLERS);
-
-    dri_bo_map(render_state->wm.sampler, 1);
-    assert(render_state->wm.sampler->virtual);
-    sampler_state = render_state->wm.sampler->virtual;
-    for (i = 0; i < render_state->wm.sampler_count; i++) {
-        memset(sampler_state, 0, sizeof(*sampler_state));
-        sampler_state->ss0.min_filter = I965_MAPFILTER_LINEAR;
-        sampler_state->ss0.mag_filter = I965_MAPFILTER_LINEAR;
-        sampler_state->ss3.r_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state->ss3.s_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state->ss3.t_wrap_mode = I965_TEXCOORDMODE_CLAMP;
-        sampler_state++;
-    }
-
-    dri_bo_unmap(render_state->wm.sampler);
-}
-
-static void
-gen7_render_setup_states(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_dest_surface_state(ctx, 0);
-    i965_render_src_surfaces_state(ctx, surface);
-    gen7_render_sampler(ctx);
-    i965_render_cc_viewport(ctx);
-    gen7_render_color_calc_state(ctx);
-    gen7_render_blend_state(ctx);
-    gen7_render_depth_stencil_state(ctx);
-    i965_render_upload_constants(ctx);
-    i965_render_upload_vertex(ctx, surface, src_rect, dst_rect);
-}
-
-static void
-gen7_emit_invarient_states(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 1);
-    OUT_BATCH(batch, CMD_PIPELINE_SELECT | PIPELINE_SELECT_3D);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 4);
-    OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE | (4 - 2));
-    OUT_BATCH(batch, GEN6_3DSTATE_MULTISAMPLE_PIXEL_LOCATION_CENTER |
-              GEN6_3DSTATE_MULTISAMPLE_NUMSAMPLES_1); /* 1 sample/pixel */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN6_3DSTATE_SAMPLE_MASK | (2 - 2));
-    OUT_BATCH(batch, 1);
-    ADVANCE_BATCH(batch);
-
-    /* Set system instruction pointer */
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, CMD_STATE_SIP | 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_state_base_address(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    OUT_BATCH(batch, CMD_STATE_BASE_ADDRESS | (10 - 2));
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* General state base address */
-    OUT_RELOC(batch, render_state->wm.surface_state_binding_table_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, BASE_ADDRESS_MODIFY); /* Surface state base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Dynamic state base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Indirect object base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Instruction base address */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* General state upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Dynamic state upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Indirect object upper bound */
-    OUT_BATCH(batch, BASE_ADDRESS_MODIFY); /* Instruction access upper bound */
-}
-
-static void
-gen7_emit_viewport_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC | (2 - 2));
-    OUT_RELOC(batch,
-              render_state->cc.viewport,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CL | (2 - 2));
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-/*
- * URB layout on GEN7 
- * ----------------------------------------
- * | PS Push Constants (8KB) | VS entries |
- * ----------------------------------------
- */
-static void
-gen7_emit_urb(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_PS | (2 - 2));
-    OUT_BATCH(batch, 8); /* in 1KBs */
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_URB_VS | (2 - 2));
-    OUT_BATCH(batch, 
-              (32 << GEN7_URB_ENTRY_NUMBER_SHIFT) | /* at least 32 */
-              (2 - 1) << GEN7_URB_ENTRY_SIZE_SHIFT |
-              (1 << GEN7_URB_STARTING_ADDRESS_SHIFT));
-   ADVANCE_BATCH(batch);
-
-   BEGIN_BATCH(batch, 2);
-   OUT_BATCH(batch, GEN7_3DSTATE_URB_GS | (2 - 2));
-   OUT_BATCH(batch,
-             (0 << GEN7_URB_ENTRY_SIZE_SHIFT) |
-             (1 << GEN7_URB_STARTING_ADDRESS_SHIFT));
-   ADVANCE_BATCH(batch);
-
-   BEGIN_BATCH(batch, 2);
-   OUT_BATCH(batch, GEN7_3DSTATE_URB_HS | (2 - 2));
-   OUT_BATCH(batch,
-             (0 << GEN7_URB_ENTRY_SIZE_SHIFT) |
-             (2 << GEN7_URB_STARTING_ADDRESS_SHIFT));
-   ADVANCE_BATCH(batch);
-
-   BEGIN_BATCH(batch, 2);
-   OUT_BATCH(batch, GEN7_3DSTATE_URB_DS | (2 - 2));
-   OUT_BATCH(batch,
-             (0 << GEN7_URB_ENTRY_SIZE_SHIFT) |
-             (2 << GEN7_URB_STARTING_ADDRESS_SHIFT));
-   ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_cc_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN6_3DSTATE_CC_STATE_POINTERS | (2 - 2));
-    OUT_RELOC(batch,
-              render_state->cc.state,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              1);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_BLEND_STATE_POINTERS | (2 - 2));
-    OUT_RELOC(batch,
-              render_state->cc.blend,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              1);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_DEPTH_STENCIL_STATE_POINTERS | (2 - 2));
-    OUT_RELOC(batch,
-              render_state->cc.depth_stencil,
-              I915_GEM_DOMAIN_INSTRUCTION, 0, 
-              1);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_sampler_state_pointers(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS | (2 - 2));
-    OUT_RELOC(batch,
-              render_state->wm.sampler,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_binding_table(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS | (2 - 2));
-    OUT_BATCH(batch, BINDING_TABLE_OFFSET);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_depth_buffer_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN7_3DSTATE_DEPTH_BUFFER | (7 - 2));
-    OUT_BATCH(batch,
-              (I965_DEPTHFORMAT_D32_FLOAT << 18) |
-              (I965_SURFACE_NULL << 29));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, GEN7_3DSTATE_CLEAR_PARAMS | (3 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_drawing_rectangle(VADriverContextP ctx)
-{
-    i965_render_drawing_rectangle(ctx);
-}
-
-static void 
-gen7_emit_vs_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* disable VS constant buffer */
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_VS | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-       
-    OUT_BATCH(batch, GEN6_3DSTATE_VS | (6 - 2));
-    OUT_BATCH(batch, 0); /* without VS kernel */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-}
-
-static void 
-gen7_emit_bypass_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* bypass GS */
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_GS | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 7);     
-    OUT_BATCH(batch, GEN6_3DSTATE_GS | (7 - 2));
-    OUT_BATCH(batch, 0); /* without GS kernel */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_BINDING_TABLE_POINTERS_GS | (2 - 2));
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    /* disable HS */
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN7_3DSTATE_CONSTANT_HS | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN7_3DSTATE_HS | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_BINDING_TABLE_POINTERS_HS | (2 - 2));
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    /* Disable TE */
-    BEGIN_BATCH(batch, 4);
-    OUT_BATCH(batch, GEN7_3DSTATE_TE | (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    /* Disable DS */
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN7_3DSTATE_CONSTANT_DS | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 6);
-    OUT_BATCH(batch, GEN7_3DSTATE_DS | (6 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 2);
-    OUT_BATCH(batch, GEN7_3DSTATE_BINDING_TABLE_POINTERS_DS | (2 - 2));
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    /* Disable STREAMOUT */
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, GEN7_3DSTATE_STREAMOUT | (3 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-gen7_emit_clip_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    OUT_BATCH(batch, GEN6_3DSTATE_CLIP | (4 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* pass-through */
-    OUT_BATCH(batch, 0);
-}
-
-static void 
-gen7_emit_sf_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    BEGIN_BATCH(batch, 14);
-    OUT_BATCH(batch, GEN7_3DSTATE_SBE | (14 - 2));
-    OUT_BATCH(batch,
-              (1 << GEN7_SBE_NUM_OUTPUTS_SHIFT) |
-              (1 << GEN7_SBE_URB_ENTRY_READ_LENGTH_SHIFT) |
-              (0 << GEN7_SBE_URB_ENTRY_READ_OFFSET_SHIFT));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* DW4 */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0); /* DW9 */
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN6_3DSTATE_SF | (7 - 2));
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, GEN6_3DSTATE_SF_CULL_NONE);
-    OUT_BATCH(batch, 2 << GEN6_3DSTATE_SF_TRIFAN_PROVOKE_SHIFT);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void 
-gen7_emit_wm_state(VADriverContextP ctx, int kernel)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 3);
-    OUT_BATCH(batch, GEN6_3DSTATE_WM | (3 - 2));
-    OUT_BATCH(batch,
-              GEN7_WM_DISPATCH_ENABLE |
-              GEN7_WM_PERSPECTIVE_PIXEL_BARYCENTRIC);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, GEN6_3DSTATE_CONSTANT_PS | (7 - 2));
-    OUT_BATCH(batch, 1);
-    OUT_BATCH(batch, 0);
-    OUT_RELOC(batch, 
-              render_state->curbe.bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 8);
-    OUT_BATCH(batch, GEN7_3DSTATE_PS | (8 - 2));
-    OUT_RELOC(batch, 
-              render_state->render_kernels[kernel].bo,
-              I915_GEM_DOMAIN_INSTRUCTION, 0,
-              0);
-    OUT_BATCH(batch, 
-              (1 << GEN7_PS_SAMPLER_COUNT_SHIFT) |
-              (5 << GEN7_PS_BINDING_TABLE_ENTRY_COUNT_SHIFT));
-    OUT_BATCH(batch, 0); /* scratch space base offset */
-    OUT_BATCH(batch, 
-              ((86 - 1) << GEN7_PS_MAX_THREADS_SHIFT) |
-              GEN7_PS_PUSH_CONSTANT_ENABLE |
-              GEN7_PS_ATTRIBUTE_ENABLE |
-              GEN7_PS_16_DISPATCH_ENABLE);
-    OUT_BATCH(batch, 
-              (6 << GEN7_PS_DISPATCH_START_GRF_SHIFT_0));
-    OUT_BATCH(batch, 0); /* kernel 1 pointer */
-    OUT_BATCH(batch, 0); /* kernel 2 pointer */
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_emit_vertex_element_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    /* Set up our vertex elements, sourced from the single vertex buffer. */
-    OUT_BATCH(batch, CMD_VERTEX_ELEMENTS | (5 - 2));
-    /* offset 0: X,Y -> {X, Y, 1.0, 1.0} */
-    OUT_BATCH(batch, (0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-              GEN6_VE0_VALID |
-              (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-              (0 << VE0_OFFSET_SHIFT));
-    OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) |
-              (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-    /* offset 8: S0, T0 -> {S0, T0, 1.0, 1.0} */
-    OUT_BATCH(batch, (0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT) |
-              GEN6_VE0_VALID |
-              (I965_SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT) |
-              (8 << VE0_OFFSET_SHIFT));
-    OUT_BATCH(batch, (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT) | 
-              (I965_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_2_SHIFT) |
-              (I965_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT));
-}
-
-static void
-gen7_emit_vertices(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct i965_render_state *render_state = &i965->render_state;
-
-    BEGIN_BATCH(batch, 5);
-    OUT_BATCH(batch, CMD_VERTEX_BUFFERS | (5 - 2));
-    OUT_BATCH(batch, 
-              (0 << GEN6_VB0_BUFFER_INDEX_SHIFT) |
-              GEN6_VB0_VERTEXDATA |
-              GEN7_VB0_ADDRESS_MODIFYENABLE |
-              ((4 * 4) << VB0_BUFFER_PITCH_SHIFT));
-    OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 0);
-    OUT_RELOC(batch, render_state->vb.vertex_buffer, I915_GEM_DOMAIN_VERTEX, 0, 12 * 4);
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-
-    BEGIN_BATCH(batch, 7);
-    OUT_BATCH(batch, CMD_3DPRIMITIVE | (7 - 2));
-    OUT_BATCH(batch,
-              _3DPRIM_RECTLIST |
-              GEN7_3DPRIM_VERTEXBUFFER_ACCESS_SEQUENTIAL);
-    OUT_BATCH(batch, 3); /* vertex count per instance */
-    OUT_BATCH(batch, 0); /* start vertex offset */
-    OUT_BATCH(batch, 1); /* single instance */
-    OUT_BATCH(batch, 0); /* start instance location */
-    OUT_BATCH(batch, 0);
-    ADVANCE_BATCH(batch);
-}
-
-static void
-gen7_render_emit_states(VADriverContextP ctx, int kernel)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    intel_batchbuffer_start_atomic(batch, 0x1000);
-    intel_batchbuffer_emit_mi_flush(batch);
-    gen7_emit_invarient_states(ctx);
-    gen7_emit_state_base_address(ctx);
-    gen7_emit_viewport_state_pointers(ctx);
-    gen7_emit_urb(ctx);
-    gen7_emit_cc_state_pointers(ctx);
-    gen7_emit_sampler_state_pointers(ctx);
-    gen7_emit_bypass_state(ctx);
-    gen7_emit_vs_state(ctx);
-    gen7_emit_clip_state(ctx);
-    gen7_emit_sf_state(ctx);
-    gen7_emit_wm_state(ctx, kernel);
-    gen7_emit_binding_table(ctx);
-    gen7_emit_depth_buffer_state(ctx);
-    gen7_emit_drawing_rectangle(ctx);
-    gen7_emit_vertex_element_state(ctx);
-    gen7_emit_vertices(ctx);
-    intel_batchbuffer_end_atomic(batch);
-}
-
-static void
-gen7_render_put_surface(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-
-    gen7_render_initialize(ctx);
-    gen7_render_setup_states(ctx, surface, src_rect, dst_rect);
-    i965_clear_dest_region(ctx);
-    gen7_render_emit_states(ctx, PS_KERNEL);
-    intel_batchbuffer_flush(batch);
-}
-
-static void
-gen7_subpicture_render_blend_state(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    struct gen6_blend_state *blend_state;
-
-    dri_bo_unmap(render_state->cc.state);    
-    dri_bo_map(render_state->cc.blend, 1);
-    assert(render_state->cc.blend->virtual);
-    blend_state = render_state->cc.blend->virtual;
-    memset(blend_state, 0, sizeof(*blend_state));
-    blend_state->blend0.dest_blend_factor = I965_BLENDFACTOR_INV_SRC_ALPHA;
-    blend_state->blend0.source_blend_factor = I965_BLENDFACTOR_SRC_ALPHA;
-    blend_state->blend0.blend_func = I965_BLENDFUNCTION_ADD;
-    blend_state->blend0.blend_enable = 1;
-    blend_state->blend1.post_blend_clamp_enable = 1;
-    blend_state->blend1.pre_blend_clamp_enable = 1;
-    blend_state->blend1.clamp_range = 0; /* clamp range [0, 1] */
-    dri_bo_unmap(render_state->cc.blend);
-}
-
-static void
-gen7_subpicture_render_setup_states(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    i965_render_dest_surface_state(ctx, 0);
-    i965_subpic_render_src_surfaces_state(ctx, surface);
-    i965_render_sampler(ctx);
-    i965_render_cc_viewport(ctx);
-    gen7_render_color_calc_state(ctx);
-    gen7_subpicture_render_blend_state(ctx);
-    gen7_render_depth_stencil_state(ctx);
-    i965_subpic_render_upload_vertex(ctx, surface, dst_rect);
-}
-
-static void
-gen7_render_put_subpicture(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct intel_batchbuffer *batch = i965->batch;
-    struct object_surface *obj_surface = SURFACE(surface);
-    struct object_subpic *obj_subpic = SUBPIC(obj_surface->subpic);
-
-    assert(obj_subpic);
-    gen7_render_initialize(ctx);
-    gen7_subpicture_render_setup_states(ctx, surface, src_rect, dst_rect);
-    gen7_render_emit_states(ctx, PS_SUBPIC_KERNEL);
-    i965_render_upload_image_palette(ctx, obj_subpic->image, 0xff);
-    intel_batchbuffer_flush(batch);
-}
-
-
-/*
- * global functions
- */
-VAStatus 
-i965_DestroySurfaces(VADriverContextP ctx,
-                     VASurfaceID *surface_list,
-                     int num_surfaces);
-void
-intel_render_put_surface(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    int has_done_scaling = 0;
-    VASurfaceID in_surface_id = surface;
-    VASurfaceID out_surface_id = i965_post_processing(ctx, surface, src_rect, dst_rect, flags, &has_done_scaling);
-
-    assert((!has_done_scaling) || (out_surface_id != VA_INVALID_ID));
-
-    if (out_surface_id != VA_INVALID_ID)
-        in_surface_id = out_surface_id;
-
-    if (IS_GEN7(i965->intel.device_id))
-        gen7_render_put_surface(ctx, in_surface_id, has_done_scaling ? dst_rect : src_rect, dst_rect, flags);
-    else if (IS_GEN6(i965->intel.device_id))
-        gen6_render_put_surface(ctx, in_surface_id, has_done_scaling ? dst_rect : src_rect, dst_rect, flags);
-    else
-        i965_render_put_surface(ctx, in_surface_id, has_done_scaling ? dst_rect : src_rect, dst_rect, flags);
-
-    if (in_surface_id != surface)
-        i965_DestroySurfaces(ctx, &in_surface_id, 1);
-}
-
-void
-intel_render_put_subpicture(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-
-    if (IS_GEN7(i965->intel.device_id))
-        gen7_render_put_subpicture(ctx, surface, src_rect, dst_rect);
-    else if (IS_GEN6(i965->intel.device_id))
-        gen6_render_put_subpicture(ctx, surface, src_rect, dst_rect);
-    else
-        i965_render_put_subpicture(ctx, surface, src_rect, dst_rect);
-}
-
-Bool 
-i965_render_init(VADriverContextP ctx)
-{
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-    int i;
-
-    /* kernel */
-    assert(NUM_RENDER_KERNEL == (sizeof(render_kernels_gen5) / 
-                                 sizeof(render_kernels_gen5[0])));
-    assert(NUM_RENDER_KERNEL == (sizeof(render_kernels_gen6) / 
-                                 sizeof(render_kernels_gen6[0])));
-
-    if (IS_GEN7(i965->intel.device_id))
-        memcpy(render_state->render_kernels, render_kernels_gen7, sizeof(render_state->render_kernels));
-    else if (IS_GEN6(i965->intel.device_id))
-        memcpy(render_state->render_kernels, render_kernels_gen6, sizeof(render_state->render_kernels));
-    else if (IS_IRONLAKE(i965->intel.device_id))
-        memcpy(render_state->render_kernels, render_kernels_gen5, sizeof(render_state->render_kernels));
-    else
-        memcpy(render_state->render_kernels, render_kernels_gen4, sizeof(render_state->render_kernels));
-
-    for (i = 0; i < NUM_RENDER_KERNEL; i++) {
-        struct i965_kernel *kernel = &render_state->render_kernels[i];
-
-        if (!kernel->size)
-            continue;
-
-        kernel->bo = dri_bo_alloc(i965->intel.bufmgr, 
-                                  kernel->name, 
-                                  kernel->size, 0x1000);
-        assert(kernel->bo);
-        dri_bo_subdata(kernel->bo, 0, kernel->size, kernel->bin);
-    }
-
-    /* constant buffer */
-    render_state->curbe.bo = dri_bo_alloc(i965->intel.bufmgr,
-                      "constant buffer",
-                      4096, 64);
-    assert(render_state->curbe.bo);
-    render_state->curbe.upload = 0;
-
-    return True;
-}
-
-Bool 
-i965_render_terminate(VADriverContextP ctx)
-{
-    int i;
-    struct i965_driver_data *i965 = i965_driver_data(ctx);
-    struct i965_render_state *render_state = &i965->render_state;
-
-    dri_bo_unreference(render_state->curbe.bo);
-    render_state->curbe.bo = NULL;
-
-    for (i = 0; i < NUM_RENDER_KERNEL; i++) {
-        struct i965_kernel *kernel = &render_state->render_kernels[i];
-        
-        dri_bo_unreference(kernel->bo);
-        kernel->bo = NULL;
-    }
-
-    dri_bo_unreference(render_state->vb.vertex_buffer);
-    render_state->vb.vertex_buffer = NULL;
-    dri_bo_unreference(render_state->vs.state);
-    render_state->vs.state = NULL;
-    dri_bo_unreference(render_state->sf.state);
-    render_state->sf.state = NULL;
-    dri_bo_unreference(render_state->wm.sampler);
-    render_state->wm.sampler = NULL;
-    dri_bo_unreference(render_state->wm.state);
-    render_state->wm.state = NULL;
-    dri_bo_unreference(render_state->wm.surface_state_binding_table_bo);
-    dri_bo_unreference(render_state->cc.viewport);
-    render_state->cc.viewport = NULL;
-    dri_bo_unreference(render_state->cc.state);
-    render_state->cc.state = NULL;
-    dri_bo_unreference(render_state->cc.blend);
-    render_state->cc.blend = NULL;
-    dri_bo_unreference(render_state->cc.depth_stencil);
-    render_state->cc.depth_stencil = NULL;
-
-    if (render_state->draw_region) {
-        dri_bo_unreference(render_state->draw_region->bo);
-        free(render_state->draw_region);
-        render_state->draw_region = NULL;
-    }
-
-    return True;
-}
-
diff --git a/i965_drv_video/i965_render.h b/i965_drv_video/i965_render.h
deleted file mode 100644 (file)
index a5034d9..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-
-#ifndef _I965_RENDER_H_
-#define _I965_RENDER_H_
-
-#define MAX_SAMPLERS            16
-#define MAX_RENDER_SURFACES     (MAX_SAMPLERS + 1)
-
-#define NUM_RENDER_KERNEL       3
-
-#include "i965_post_processing.h"
-
-struct i965_kernel;
-
-struct i965_render_state
-{
-    struct {
-        dri_bo *vertex_buffer;
-    } vb;
-
-    struct {
-        dri_bo *state;
-    } vs;
-    
-    struct {
-        dri_bo *state;
-    } sf;
-
-    struct {
-        int sampler_count;
-        dri_bo *sampler;
-        dri_bo *state;
-        dri_bo *surface_state_binding_table_bo;
-    } wm;
-
-    struct {
-        dri_bo *state;
-        dri_bo *viewport;
-        dri_bo *blend;
-        dri_bo *depth_stencil;
-    } cc;
-
-    struct {
-        dri_bo *bo;
-        int upload;
-    } curbe;
-
-    unsigned short interleaved_uv;
-    unsigned short inited;
-    struct intel_region *draw_region;
-
-    int pp_flag; /* 0: disable, 1: enable */
-
-    struct i965_kernel render_kernels[3];
-};
-
-Bool i965_render_init(VADriverContextP ctx);
-Bool i965_render_terminate(VADriverContextP ctx);
-
-void
-intel_render_put_surface(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect,
-    unsigned int       flags
-);
-
-void
-intel_render_put_subpicture(
-    VADriverContextP   ctx,
-    VASurfaceID        surface,
-    const VARectangle *src_rect,
-    const VARectangle *dst_rect
-);
-
-#endif /* _I965_RENDER_H_ */
diff --git a/i965_drv_video/i965_structs.h b/i965_drv_video/i965_structs.h
deleted file mode 100644 (file)
index 12a8d14..0000000
+++ /dev/null
@@ -1,1307 +0,0 @@
-#ifndef _I965_STRUCTS_H_
-#define _I965_STRUCTS_H_
-
-struct i965_vfe_state 
-{
-    struct {
-       unsigned int per_thread_scratch_space:4;
-       unsigned int pad3:3;
-       unsigned int extend_vfe_state_present:1;
-       unsigned int pad2:2;
-       unsigned int scratch_base:22;
-    } vfe0;
-
-    struct {
-       unsigned int debug_counter_control:2;
-       unsigned int children_present:1;
-       unsigned int vfe_mode:4;
-       unsigned int pad2:2;
-       unsigned int num_urb_entries:7;
-       unsigned int urb_entry_alloc_size:9;
-       unsigned int max_threads:7;
-    } vfe1;
-
-    struct {
-       unsigned int pad4:4;
-       unsigned int interface_descriptor_base:28;
-    } vfe2;
-};
-
-struct i965_vfe_state_ex 
-{
-    struct {
-       unsigned int pad:8;
-       unsigned int obj_id:24;
-    } vfex0;
-
-    union {
-        struct {
-            unsigned int residual_grf_offset:5;
-            unsigned int pad0:3;
-            unsigned int weight_grf_offset:5;
-            unsigned int pad1:3;
-            unsigned int residual_data_offset:8;
-            unsigned int sub_field_present_flag:2;
-            unsigned int residual_data_fix_offset_flag:1;
-            unsigned int pad2:5;
-        } avc;
-        
-        unsigned int vc1;
-    } vfex1;
-
-    struct {
-       unsigned int remap_index_0:4;
-       unsigned int remap_index_1:4;
-       unsigned int remap_index_2:4;
-       unsigned int remap_index_3:4;
-       unsigned int remap_index_4:4;
-       unsigned int remap_index_5:4;
-       unsigned int remap_index_6:4;
-       unsigned int remap_index_7:4;
-    }remap_table0;
-
-    struct {
-       unsigned int remap_index_8:4;
-       unsigned int remap_index_9:4;
-       unsigned int remap_index_10:4;
-       unsigned int remap_index_11:4;
-       unsigned int remap_index_12:4;
-       unsigned int remap_index_13:4;
-       unsigned int remap_index_14:4;
-       unsigned int remap_index_15:4;
-    } remap_table1;
-
-    struct {
-       unsigned int mask:8;
-       unsigned int pad:22;
-       unsigned int type:1;
-       unsigned int enable:1;
-    } scoreboard0;
-
-    struct {
-        int delta_x0:4;
-        int delta_y0:4;
-        int delta_x1:4;
-        int delta_y1:4;
-        int delta_x2:4;
-        int delta_y2:4;
-        int delta_x3:4;
-        int delta_y3:4;
-    } scoreboard1;
-
-    struct {
-        int delta_x4:4;
-        int delta_y4:4;
-        int delta_x5:4;
-        int delta_y5:4;
-        int delta_x6:4;
-        int delta_y6:4;
-        int delta_x7:4;
-        int delta_y7:4;
-    } scoreboard2;
-
-    unsigned int pad;
-};
-
-struct i965_vld_state 
-{
-    struct {
-        unsigned int pad6:6;
-        unsigned int scan_order:1;
-        unsigned int intra_vlc_format:1;
-        unsigned int quantizer_scale_type:1;
-        unsigned int concealment_motion_vector:1;
-        unsigned int frame_predict_frame_dct:1;
-        unsigned int top_field_first:1;
-        unsigned int picture_structure:2;
-        unsigned int intra_dc_precision:2;
-        unsigned int f_code_0_0:4;
-        unsigned int f_code_0_1:4;
-        unsigned int f_code_1_0:4;
-        unsigned int f_code_1_1:4;
-    } vld0;
-
-    struct {
-        unsigned int pad2:9;
-        unsigned int picture_coding_type:2;
-        unsigned int pad:21;
-    } vld1;
-
-    struct {
-        unsigned int index_0:4;
-        unsigned int index_1:4;
-        unsigned int index_2:4;
-        unsigned int index_3:4;
-        unsigned int index_4:4;
-        unsigned int index_5:4;
-        unsigned int index_6:4;
-        unsigned int index_7:4;
-    } desc_remap_table0;
-
-    struct {
-        unsigned int index_8:4;
-        unsigned int index_9:4;
-        unsigned int index_10:4;
-        unsigned int index_11:4;
-        unsigned int index_12:4;
-        unsigned int index_13:4;
-        unsigned int index_14:4;
-        unsigned int index_15:4;
-    } desc_remap_table1;
-};
-
-struct i965_interface_descriptor 
-{
-    struct {
-       unsigned int grf_reg_blocks:4;
-       unsigned int pad:2;
-       unsigned int kernel_start_pointer:26;
-    } desc0;
-
-    struct {
-       unsigned int pad:7;
-       unsigned int software_exception:1;
-       unsigned int pad2:3;
-       unsigned int maskstack_exception:1;
-       unsigned int pad3:1;
-       unsigned int illegal_opcode_exception:1;
-       unsigned int pad4:2;
-       unsigned int floating_point_mode:1;
-       unsigned int thread_priority:1;
-       unsigned int single_program_flow:1;
-       unsigned int pad5:1;
-       unsigned int const_urb_entry_read_offset:6;
-       unsigned int const_urb_entry_read_len:6;
-    } desc1;
-
-    struct {
-       unsigned int pad:2;
-       unsigned int sampler_count:3;
-       unsigned int sampler_state_pointer:27;
-    } desc2;
-
-    struct {
-       unsigned int binding_table_entry_count:5;
-       unsigned int binding_table_pointer:27;
-    } desc3;
-};
-
-struct i965_surface_state 
-{
-    struct {
-       unsigned int cube_pos_z:1;
-       unsigned int cube_neg_z:1;
-       unsigned int cube_pos_y:1;
-       unsigned int cube_neg_y:1;
-       unsigned int cube_pos_x:1;
-       unsigned int cube_neg_x:1;
-       unsigned int pad:2;
-       unsigned int render_cache_read_mode:1;
-       unsigned int cube_map_corner_mode:1;
-       unsigned int mipmap_layout_mode:1;
-       unsigned int vert_line_stride_ofs:1;
-       unsigned int vert_line_stride:1;
-       unsigned int color_blend:1;
-       unsigned int writedisable_blue:1;
-       unsigned int writedisable_green:1;
-       unsigned int writedisable_red:1;
-       unsigned int writedisable_alpha:1;
-       unsigned int surface_format:9;
-       unsigned int data_return_format:1;
-       unsigned int pad0:1;
-       unsigned int surface_type:3;
-    } ss0;
-
-    struct {
-       unsigned int base_addr;
-    } ss1;
-
-    struct {
-       unsigned int render_target_rotation:2;
-       unsigned int mip_count:4;
-       unsigned int width:13;
-       unsigned int height:13;
-    } ss2;
-
-    struct {
-       unsigned int tile_walk:1;
-       unsigned int tiled_surface:1;
-       unsigned int pad:1;
-       unsigned int pitch:18;
-       unsigned int depth:11;
-    } ss3;
-
-    struct {
-       unsigned int pad:19;
-       unsigned int min_array_elt:9;
-       unsigned int min_lod:4;
-    } ss4;
-
-    struct {
-       unsigned int pad:20;
-       unsigned int y_offset:4;
-       unsigned int pad2:1;
-       unsigned int x_offset:7;
-    } ss5;
-};
-
-struct thread0
-{
-    unsigned int pad0:1;
-    unsigned int grf_reg_count:3; 
-    unsigned int pad1:2;
-    unsigned int kernel_start_pointer:26; 
-};
-
-struct thread1
-{
-    unsigned int ext_halt_exception_enable:1; 
-    unsigned int sw_exception_enable:1; 
-    unsigned int mask_stack_exception_enable:1; 
-    unsigned int timeout_exception_enable:1; 
-    unsigned int illegal_op_exception_enable:1; 
-    unsigned int pad0:3;
-    unsigned int depth_coef_urb_read_offset:6; /* WM only */
-    unsigned int pad1:2;
-    unsigned int floating_point_mode:1; 
-    unsigned int thread_priority:1; 
-    unsigned int binding_table_entry_count:8; 
-    unsigned int pad3:5;
-    unsigned int single_program_flow:1; 
-};
-
-struct thread2
-{
-    unsigned int per_thread_scratch_space:4; 
-    unsigned int pad0:6;
-    unsigned int scratch_space_base_pointer:22; 
-};
-
-   
-struct thread3
-{
-    unsigned int dispatch_grf_start_reg:4; 
-    unsigned int urb_entry_read_offset:6; 
-    unsigned int pad0:1;
-    unsigned int urb_entry_read_length:6; 
-    unsigned int pad1:1;
-    unsigned int const_urb_entry_read_offset:6; 
-    unsigned int pad2:1;
-    unsigned int const_urb_entry_read_length:6; 
-    unsigned int pad3:1;
-};
-
-struct i965_vs_unit_state
-{
-    struct thread0 thread0;
-    struct thread1 thread1;
-    struct thread2 thread2;
-    struct thread3 thread3;
-   
-    struct {
-        unsigned int pad0:10;
-        unsigned int stats_enable:1; 
-        unsigned int nr_urb_entries:7; 
-        unsigned int pad1:1;
-        unsigned int urb_entry_allocation_size:5; 
-        unsigned int pad2:1;
-        unsigned int max_threads:4; 
-        unsigned int pad3:3;
-    } thread4;   
-
-    struct {
-        unsigned int sampler_count:3; 
-        unsigned int pad0:2;
-        unsigned int sampler_state_pointer:27; 
-    } vs5;
-
-    struct {
-        unsigned int vs_enable:1; 
-        unsigned int vert_cache_disable:1; 
-        unsigned int pad0:30;
-    } vs6;
-};
-
-struct i965_gs_unit_state
-{
-   struct thread0 thread0;
-   struct thread1 thread1;
-   struct thread2 thread2;
-   struct thread3 thread3;
-
-   struct {
-      unsigned int pad0:10;
-      unsigned int stats_enable:1; 
-      unsigned int nr_urb_entries:7; 
-      unsigned int pad1:1;
-      unsigned int urb_entry_allocation_size:5; 
-      unsigned int pad2:1;
-      unsigned int max_threads:1; 
-      unsigned int pad3:6;
-   } thread4;   
-      
-   struct {
-      unsigned int sampler_count:3; 
-      unsigned int pad0:2;
-      unsigned int sampler_state_pointer:27; 
-   } gs5;
-
-   
-   struct {
-      unsigned int max_vp_index:4; 
-      unsigned int pad0:26;
-      unsigned int reorder_enable:1; 
-      unsigned int pad1:1;
-   } gs6;
-};
-
-struct i965_clip_unit_state
-{
-   struct thread0 thread0;
-   struct thread1 thread1;
-   struct thread2 thread2;
-   struct thread3 thread3;
-
-   struct {
-      unsigned int pad0:9;
-      unsigned int gs_output_stats:1; /* not always */
-      unsigned int stats_enable:1; 
-      unsigned int nr_urb_entries:7; 
-      unsigned int pad1:1;
-      unsigned int urb_entry_allocation_size:5; 
-      unsigned int pad2:1;
-      unsigned int max_threads:6;      /* may be less */
-      unsigned int pad3:1;
-   } thread4;   
-      
-   struct {
-      unsigned int pad0:13;
-      unsigned int clip_mode:3; 
-      unsigned int userclip_enable_flags:8; 
-      unsigned int userclip_must_clip:1; 
-      unsigned int pad1:1;
-      unsigned int guard_band_enable:1; 
-      unsigned int viewport_z_clip_enable:1; 
-      unsigned int viewport_xy_clip_enable:1; 
-      unsigned int vertex_position_space:1; 
-      unsigned int api_mode:1; 
-      unsigned int pad2:1;
-   } clip5;
-   
-   struct {
-      unsigned int pad0:5;
-      unsigned int clipper_viewport_state_ptr:27; 
-   } clip6;
-
-   
-   float viewport_xmin;  
-   float viewport_xmax;  
-   float viewport_ymin;  
-   float viewport_ymax;  
-};
-
-struct i965_sf_unit_state
-{
-   struct thread0 thread0;
-   struct {
-      unsigned int pad0:7;
-      unsigned int sw_exception_enable:1; 
-      unsigned int pad1:3;
-      unsigned int mask_stack_exception_enable:1; 
-      unsigned int pad2:1;
-      unsigned int illegal_op_exception_enable:1; 
-      unsigned int pad3:2;
-      unsigned int floating_point_mode:1; 
-      unsigned int thread_priority:1; 
-      unsigned int binding_table_entry_count:8; 
-      unsigned int pad4:5;
-      unsigned int single_program_flow:1; 
-   } sf1;
-   
-   struct thread2 thread2;
-   struct thread3 thread3;
-
-   struct {
-      unsigned int pad0:10;
-      unsigned int stats_enable:1; 
-      unsigned int nr_urb_entries:7; 
-      unsigned int pad1:1;
-      unsigned int urb_entry_allocation_size:5; 
-      unsigned int pad2:1;
-      unsigned int max_threads:6; 
-      unsigned int pad3:1;
-   } thread4;   
-
-   struct {
-      unsigned int front_winding:1; 
-      unsigned int viewport_transform:1; 
-      unsigned int pad0:3;
-      unsigned int sf_viewport_state_offset:27; 
-   } sf5;
-   
-   struct {
-      unsigned int pad0:9;
-      unsigned int dest_org_vbias:4; 
-      unsigned int dest_org_hbias:4; 
-      unsigned int scissor:1; 
-      unsigned int disable_2x2_trifilter:1; 
-      unsigned int disable_zero_pix_trifilter:1; 
-      unsigned int point_rast_rule:2; 
-      unsigned int line_endcap_aa_region_width:2; 
-      unsigned int line_width:4; 
-      unsigned int fast_scissor_disable:1; 
-      unsigned int cull_mode:2; 
-      unsigned int aa_enable:1; 
-   } sf6;
-
-   struct {
-      unsigned int point_size:11; 
-      unsigned int use_point_size_state:1; 
-      unsigned int subpixel_precision:1; 
-      unsigned int sprite_point:1; 
-      unsigned int pad0:11;
-      unsigned int trifan_pv:2; 
-      unsigned int linestrip_pv:2; 
-      unsigned int tristrip_pv:2; 
-      unsigned int line_last_pixel_enable:1; 
-   } sf7;
-};
-
-struct i965_sampler_state
-{
-   struct {
-      unsigned int shadow_function:3; 
-      unsigned int lod_bias:11; 
-      unsigned int min_filter:3; 
-      unsigned int mag_filter:3; 
-      unsigned int mip_filter:2; 
-      unsigned int base_level:5; 
-      unsigned int pad:1;
-      unsigned int lod_preclamp:1; 
-      unsigned int border_color_mode:1; 
-      unsigned int pad0:1;
-      unsigned int disable:1; 
-   } ss0;
-
-   struct {
-      unsigned int r_wrap_mode:3; 
-      unsigned int t_wrap_mode:3; 
-      unsigned int s_wrap_mode:3; 
-      unsigned int pad:3;
-      unsigned int max_lod:10; 
-      unsigned int min_lod:10; 
-   } ss1;
-
-   
-   struct {
-      unsigned int pad:5;
-      unsigned int border_color_pointer:27; 
-   } ss2;
-   
-   struct {
-      unsigned int pad:19;
-      unsigned int max_aniso:3; 
-      unsigned int chroma_key_mode:1; 
-      unsigned int chroma_key_index:2; 
-      unsigned int chroma_key_enable:1; 
-      unsigned int monochrome_filter_width:3; 
-      unsigned int monochrome_filter_height:3; 
-   } ss3;
-};
-
-struct i965_wm_unit_state
-{
-   struct thread0 thread0;
-   struct thread1 thread1;
-   struct thread2 thread2;
-   struct thread3 thread3;
-   
-   struct {
-      unsigned int stats_enable:1; 
-      unsigned int pad0:1;
-      unsigned int sampler_count:3; 
-      unsigned int sampler_state_pointer:27; 
-   } wm4;
-   
-   struct {
-      unsigned int enable_8_pix:1; 
-      unsigned int enable_16_pix:1; 
-      unsigned int enable_32_pix:1; 
-      unsigned int pad0:7;
-      unsigned int legacy_global_depth_bias:1; 
-      unsigned int line_stipple:1; 
-      unsigned int depth_offset:1; 
-      unsigned int polygon_stipple:1; 
-      unsigned int line_aa_region_width:2; 
-      unsigned int line_endcap_aa_region_width:2; 
-      unsigned int early_depth_test:1; 
-      unsigned int thread_dispatch_enable:1; 
-      unsigned int program_uses_depth:1; 
-      unsigned int program_computes_depth:1; 
-      unsigned int program_uses_killpixel:1; 
-      unsigned int legacy_line_rast: 1; 
-      unsigned int transposed_urb_read:1; 
-      unsigned int max_threads:7; 
-   } wm5;
-   
-   float global_depth_offset_constant;  
-   float global_depth_offset_scale;   
-};
-
-struct i965_cc_viewport
-{
-   float min_depth;  
-   float max_depth;  
-};
-
-struct i965_cc_unit_state
-{
-   struct {
-      unsigned int pad0:3;
-      unsigned int bf_stencil_pass_depth_pass_op:3; 
-      unsigned int bf_stencil_pass_depth_fail_op:3; 
-      unsigned int bf_stencil_fail_op:3; 
-      unsigned int bf_stencil_func:3; 
-      unsigned int bf_stencil_enable:1; 
-      unsigned int pad1:2;
-      unsigned int stencil_write_enable:1; 
-      unsigned int stencil_pass_depth_pass_op:3; 
-      unsigned int stencil_pass_depth_fail_op:3; 
-      unsigned int stencil_fail_op:3; 
-      unsigned int stencil_func:3; 
-      unsigned int stencil_enable:1; 
-   } cc0;
-
-   
-   struct {
-      unsigned int bf_stencil_ref:8; 
-      unsigned int stencil_write_mask:8; 
-      unsigned int stencil_test_mask:8; 
-      unsigned int stencil_ref:8; 
-   } cc1;
-
-   
-   struct {
-      unsigned int logicop_enable:1; 
-      unsigned int pad0:10;
-      unsigned int depth_write_enable:1; 
-      unsigned int depth_test_function:3; 
-      unsigned int depth_test:1; 
-      unsigned int bf_stencil_write_mask:8; 
-      unsigned int bf_stencil_test_mask:8; 
-   } cc2;
-
-   
-   struct {
-      unsigned int pad0:8;
-      unsigned int alpha_test_func:3; 
-      unsigned int alpha_test:1; 
-      unsigned int blend_enable:1; 
-      unsigned int ia_blend_enable:1; 
-      unsigned int pad1:1;
-      unsigned int alpha_test_format:1;
-      unsigned int pad2:16;
-   } cc3;
-   
-   struct {
-      unsigned int pad0:5; 
-      unsigned int cc_viewport_state_offset:27; 
-   } cc4;
-   
-   struct {
-      unsigned int pad0:2;
-      unsigned int ia_dest_blend_factor:5; 
-      unsigned int ia_src_blend_factor:5; 
-      unsigned int ia_blend_function:3; 
-      unsigned int statistics_enable:1; 
-      unsigned int logicop_func:4; 
-      unsigned int pad1:11;
-      unsigned int dither_enable:1; 
-   } cc5;
-
-   struct {
-      unsigned int clamp_post_alpha_blend:1; 
-      unsigned int clamp_pre_alpha_blend:1; 
-      unsigned int clamp_range:2; 
-      unsigned int pad0:11;
-      unsigned int y_dither_offset:2; 
-      unsigned int x_dither_offset:2; 
-      unsigned int dest_blend_factor:5; 
-      unsigned int src_blend_factor:5; 
-      unsigned int blend_function:3; 
-   } cc6;
-
-   struct {
-      union {
-        float f;  
-        unsigned char ub[4];
-      } alpha_ref;
-   } cc7;
-};
-
-struct i965_sampler_8x8
-{
-    struct {
-        unsigned int pad0:16;
-        unsigned int chroma_key_index:2;
-        unsigned int chroma_key_enable:1;
-        unsigned int pad1:8;
-        unsigned int ief_filter_size:1;
-        unsigned int ief_filter_type:1;
-        unsigned int ief_bypass:1;
-        unsigned int pad2:1;
-        unsigned int avs_filter_type:1;
-    } dw0;
-
-    struct {
-        unsigned int pad0:5;
-        unsigned int sampler_8x8_state_pointer:27;
-    } dw1;
-    
-    struct {
-        unsigned int weak_edge_threshold:4;
-        unsigned int strong_edge_threshold:4;
-        unsigned int global_noise_estimation:8;
-        unsigned int pad0:16;
-    } dw2;
-
-    struct {
-        unsigned int r3x_coefficient:5;
-        unsigned int pad0:1;
-        unsigned int r3c_coefficient:5;
-        unsigned int pad1:3;
-        unsigned int gain_factor:6;
-        unsigned int non_edge_weight:3;
-        unsigned int pad2:1;
-        unsigned int regular_weight:3;
-        unsigned int pad3:1;
-        unsigned int strong_edge_weight:3;
-        unsigned int pad4:1;
-    } dw3;
-
-    struct {
-        unsigned int pad0:2;
-        unsigned int mr_boost:1;
-        unsigned int mr_threshold:4;
-        unsigned int steepness_boost:1;
-        unsigned int steepness_threshold:4;
-        unsigned int pad1:2;
-        unsigned int r5x_coefficient:5;
-        unsigned int pad2:1;
-        unsigned int r5cx_coefficient:5;
-        unsigned int pad3:1;
-        unsigned int r5c_coefficient:5;
-        unsigned int pad4:1;
-    } dw4;
-
-    struct {
-        unsigned int pwl1_point_1:8;
-        unsigned int pwl1_point_2:8;
-        unsigned int pwl1_point_3:8;
-        unsigned int pwl1_point_4:8;
-    } dw5;
-
-    struct {
-        unsigned int pwl1_point_5:8;
-        unsigned int pwl1_point_6:8;
-        unsigned int pwl1_r3_bias_0:8;
-        unsigned int pwl1_r3_bias_1:8;
-    } dw6;
-
-    struct {
-        unsigned int pwl1_r3_bias_2:8;
-        unsigned int pwl1_r3_bias_3:8;
-        unsigned int pwl1_r3_bias_4:8;
-        unsigned int pwl1_r3_bias_5:8;
-    } dw7;
-
-    struct {
-        unsigned int pwl1_r3_bias_6:8;
-        unsigned int pwl1_r5_bias_0:8;
-        unsigned int pwl1_r5_bias_1:8;
-        unsigned int pwl1_r5_bias_2:8;
-    } dw8;
-
-    struct {
-        unsigned int pwl1_r5_bias_3:8;
-        unsigned int pwl1_r5_bias_4:8;
-        unsigned int pwl1_r5_bias_5:8;
-        unsigned int pwl1_r5_bias_6:8;
-    } dw9;
-
-    struct {
-        int pwl1_r3_slope_0:8;
-        int pwl1_r3_slope_1:8;
-        int pwl1_r3_slope_2:8;
-        int pwl1_r3_slope_3:8;
-    } dw10;
-
-    struct {
-        int pwl1_r3_slope_4:8;
-        int pwl1_r3_slope_5:8;
-        int pwl1_r3_slope_6:8;
-        int pwl1_r5_slope_0:8;
-    } dw11;
-
-    struct {
-        int pwl1_r5_slope_1:8;
-        int pwl1_r5_slope_2:8;
-        int pwl1_r5_slope_3:8;
-        int pwl1_r5_slope_4:8;
-    } dw12;
-
-    struct {
-        int pwl1_r5_slope_5:8;
-        int pwl1_r5_slope_6:8;
-        unsigned int limiter_boost:4;
-        unsigned int pad0:4;
-        unsigned int minimum_limiter:4;
-        unsigned int maximum_limiter:4;
-    } dw13;
-
-    struct {
-        unsigned int pad0:8;
-        unsigned int clip_limiter:10;
-        unsigned int pad1:14;
-    } dw14;
-
-    unsigned int dw15; /* Just a pad */
-};
-
-struct i965_sampler_8x8_coefficient
-{
-    struct {
-        int table_0x_filter_c0:8;
-        int table_0x_filter_c1:8;
-        int table_0x_filter_c2:8;
-        int table_0x_filter_c3:8;
-    } dw0;
-
-    struct {
-        int table_0x_filter_c4:8;
-        int table_0x_filter_c5:8;
-        int table_0x_filter_c6:8;
-        int table_0x_filter_c7:8;
-    } dw1;
-
-    struct {
-        int table_0y_filter_c0:8;
-        int table_0y_filter_c1:8;
-        int table_0y_filter_c2:8;
-        int table_0y_filter_c3:8;
-    } dw2;
-
-    struct {
-        int table_0y_filter_c4:8;
-        int table_0y_filter_c5:8;
-        int table_0y_filter_c6:8;
-        int table_0y_filter_c7:8;
-    } dw3;
-
-    struct {
-        int pad0:16;
-        int table_1x_filter_c2:8;
-        int table_1x_filter_c3:8;
-    } dw4;
-
-    struct {
-        int table_1x_filter_c4:8;
-        int table_1x_filter_c5:8;
-        int pad0:16;
-    } dw5;
-
-    struct {
-        int pad0:16;
-        int table_1y_filter_c2:8;
-        int table_1y_filter_c3:8;
-    } dw6;
-
-    struct {
-        int table_1y_filter_c4:8;
-        int table_1y_filter_c5:8;
-        int pad0:16;
-    } dw7;
-};
-
-struct i965_sampler_8x8_state
-{
-    struct i965_sampler_8x8_coefficient coefficients[17];
-
-    struct {
-        unsigned int transition_area_with_8_pixels:3;
-        unsigned int pad0:1;
-        unsigned int transition_area_with_4_pixels:3;
-        unsigned int pad1:1;
-        unsigned int max_derivative_8_pixels:8;
-        unsigned int max_derivative_4_pixels:8;
-        unsigned int default_sharpness_level:8;
-    } dw136;
-
-    struct {
-        unsigned int bit_field_name:1;
-        unsigned int adaptive_filter_for_all_channel:1;
-        unsigned int pad0:19;
-        unsigned int bypass_y_adaptive_filtering:1;
-        unsigned int bypass_x_adaptive_filtering:1;
-        unsigned int pad1:9;
-    } dw137;
-};
-
-struct i965_surface_state2
-{
-    struct {
-        unsigned int surface_base_address;
-    } ss0;
-
-    struct {
-        unsigned int cbcr_pixel_offset_v_direction:2;
-        unsigned int pad0:4;
-        unsigned int width:13;
-        unsigned int height:13;
-    } ss1;
-
-    struct {
-        unsigned int tile_walk:1;
-        unsigned int tiled_surface:1;
-        unsigned int half_pitch_for_chroma:1;
-        unsigned int pitch:17;
-        unsigned int pad0:2;
-        unsigned int surface_object_control_data:4;
-        unsigned int pad1:1;
-        unsigned int interleave_chroma:1;
-        unsigned int surface_format:4;
-    } ss2;
-
-    struct {
-        unsigned int y_offset_for_cb:13;
-        unsigned int pad0:3;
-        unsigned int x_offset_for_cb:13;
-        unsigned int pad1:3;
-    } ss3;
-
-    struct {
-        unsigned int y_offset_for_cr:13;
-        unsigned int pad0:3;
-        unsigned int x_offset_for_cr:13;
-        unsigned int pad1:3;
-    } ss4;
-};
-
-struct i965_sampler_dndi
-{
-    struct {
-        unsigned int denoise_asd_threshold:8;
-        unsigned int denoise_history_delta:8;
-        unsigned int denoise_maximum_history:8;
-        unsigned int denoise_stad_threshold:8;
-    } dw0;
-
-    struct {
-        unsigned int denoise_threshold_for_sum_of_complexity_measure:8;
-        unsigned int denoise_moving_pixel_threshold:5;
-        unsigned int stmm_c2:3;
-        unsigned int low_temporal_difference_threshold:6;
-        unsigned int pad0:2;
-        unsigned int temporal_difference_threshold:6;
-        unsigned int pad1:2;
-    } dw1;
-
-    struct {
-        unsigned int block_noise_estimate_noise_threshold:8;
-        unsigned int block_noise_estimate_edge_threshold:8; 
-        unsigned int denoise_edge_threshold:8;
-        unsigned int good_neighbor_threshold:8;
-   } dw2;
-
-    struct {
-        unsigned int maximum_stmm:8;
-        unsigned int multipler_for_vecm:6;
-        unsigned int pad0:2;
-        unsigned int blending_constant_across_time_for_small_values_of_stmm:8;
-        unsigned int blending_constant_across_time_for_large_values_of_stmm:7;
-        unsigned int stmm_blending_constant_select:1;
-    } dw3;
-
-    struct {
-        unsigned int sdi_delta:8;
-        unsigned int sdi_threshold:8;
-        unsigned int stmm_output_shift:4;
-        unsigned int stmm_shift_up:2;
-        unsigned int stmm_shift_down:2;
-        unsigned int minimum_stmm:8;
-    } dw4;
-
-    struct {
-        unsigned int fmd_temporal_difference_threshold:8;
-        unsigned int sdi_fallback_mode_2_constant:8;
-        unsigned int sdi_fallback_mode_1_t2_constant:8;
-        unsigned int sdi_fallback_mode_1_t1_constant:8;
-    } dw5;
-
-    struct {
-        unsigned int dn_enable:1;
-        unsigned int di_enable:1;
-        unsigned int di_partial:1;
-        unsigned int dndi_top_first:1;
-        unsigned int dndi_stream_id:1;
-        unsigned int dndi_first_frame:1;
-        unsigned int progressive_dn:1;
-        unsigned int pad0:1;
-        unsigned int fmd_tear_threshold:6;
-        unsigned int pad1:2;
-        unsigned int fmd2_vertical_difference_threshold:8;
-        unsigned int fmd1_vertical_difference_threshold:8;
-    } dw6;
-
-    struct {
-        unsigned int pad0:8;
-        unsigned int fmd_for_1st_field_of_current_frame:2;
-        unsigned int pad1:6;
-        unsigned int fmd_for_2nd_field_of_previous_frame:2;
-        unsigned int vdi_walker_enable:1;
-        unsigned int pad2:4;
-        unsigned int column_width_minus1:9;
-    } dw7;
-};
-
-
-struct gen6_blend_state
-{
-    struct {
-        unsigned int dest_blend_factor:5;
-        unsigned int source_blend_factor:5;
-        unsigned int pad3:1;
-        unsigned int blend_func:3;
-        unsigned int pad2:1;
-        unsigned int ia_dest_blend_factor:5;
-        unsigned int ia_source_blend_factor:5;
-        unsigned int pad1:1;
-        unsigned int ia_blend_func:3;
-        unsigned int pad0:1;
-        unsigned int ia_blend_enable:1;
-        unsigned int blend_enable:1;
-    } blend0;
-
-    struct {
-        unsigned int post_blend_clamp_enable:1;
-        unsigned int pre_blend_clamp_enable:1;
-        unsigned int clamp_range:2;
-        unsigned int pad0:4;
-        unsigned int x_dither_offset:2;
-        unsigned int y_dither_offset:2;
-        unsigned int dither_enable:1;
-        unsigned int alpha_test_func:3;
-        unsigned int alpha_test_enable:1;
-        unsigned int pad1:1;
-        unsigned int logic_op_func:4;
-        unsigned int logic_op_enable:1;
-        unsigned int pad2:1;
-        unsigned int write_disable_b:1;
-        unsigned int write_disable_g:1;
-        unsigned int write_disable_r:1;
-        unsigned int write_disable_a:1;
-        unsigned int pad3:1;
-        unsigned int alpha_to_coverage_dither:1;
-        unsigned int alpha_to_one:1;
-        unsigned int alpha_to_coverage:1;
-    } blend1;
-};
-
-struct gen6_color_calc_state
-{
-    struct {
-        unsigned int alpha_test_format:1;
-        unsigned int pad0:14;
-        unsigned int round_disable:1;
-        unsigned int bf_stencil_ref:8;
-        unsigned int stencil_ref:8;
-    } cc0;
-
-    union {
-        float alpha_ref_f;
-        struct {
-            unsigned int ui:8;
-            unsigned int pad0:24;
-        } alpha_ref_fi;
-    } cc1;
-
-    float constant_r;
-    float constant_g;
-    float constant_b;
-    float constant_a;
-};
-
-struct gen6_depth_stencil_state
-{
-    struct {
-        unsigned int pad0:3;
-        unsigned int bf_stencil_pass_depth_pass_op:3;
-        unsigned int bf_stencil_pass_depth_fail_op:3;
-        unsigned int bf_stencil_fail_op:3;
-        unsigned int bf_stencil_func:3;
-        unsigned int bf_stencil_enable:1;
-        unsigned int pad1:2;
-        unsigned int stencil_write_enable:1;
-        unsigned int stencil_pass_depth_pass_op:3;
-        unsigned int stencil_pass_depth_fail_op:3;
-        unsigned int stencil_fail_op:3;
-        unsigned int stencil_func:3;
-        unsigned int stencil_enable:1;
-    } ds0;
-
-    struct {
-        unsigned int bf_stencil_write_mask:8;
-        unsigned int bf_stencil_test_mask:8;
-        unsigned int stencil_write_mask:8;
-        unsigned int stencil_test_mask:8;
-    } ds1;
-
-    struct {
-        unsigned int pad0:26;
-        unsigned int depth_write_enable:1;
-        unsigned int depth_test_func:3;
-        unsigned int pad1:1;
-        unsigned int depth_test_enable:1;
-    } ds2;
-};
-
-struct gen6_interface_descriptor_data
-{
-    struct {
-        unsigned int pad0:6;
-        unsigned int kernel_start_pointer:26;
-    } desc0;
-    
-    struct {
-        unsigned int pad0:7;
-        unsigned int software_exception_enable:1;
-        unsigned int pad1:3;
-        unsigned int maskstack_exception_enable:1;
-        unsigned int pad2:1;
-        unsigned int illegal_opcode_exception_enable:1;
-        unsigned int pad3:2;
-        unsigned int floating_point_mode:1;
-        unsigned int thread_priority:1;
-        unsigned int single_program_flow:1;
-        unsigned int pad4:13;
-    } desc1;
-
-    struct {
-        unsigned int pad0:2;
-        unsigned int sampler_count:3;
-        unsigned int sampler_state_pointer:27;
-    } desc2;
-
-    struct {
-        unsigned int binding_table_entry_count:5;
-        unsigned int binding_table_pointer:27;
-    } desc3;
-
-    struct {
-        unsigned int constant_urb_entry_read_offset:16;
-        unsigned int constant_urb_entry_read_length:16;
-    } desc4;
-    
-    union {
-        struct {
-            unsigned int num_threads:8;
-            unsigned int barrier_return_byte:8;
-            unsigned int shared_local_memory_size:5;
-            unsigned int barrier_enable:1;
-            unsigned int rounding_mode:2;
-            unsigned int barrier_return_grf_offset:8;
-        } gen7;
-
-        struct {
-            unsigned int barrier_id:4;
-            unsigned int pad0:28;
-        } gen6;
-    } desc5;
-
-    struct {
-        unsigned int cross_thread_constant_data_read_length:8;
-        unsigned int pad0:24;
-    } desc6;
-
-    struct {
-        unsigned int pad0;
-    } desc7;
-};
-
-struct gen7_surface_state
-{
-    struct {
-        unsigned int cube_pos_z:1;
-        unsigned int cube_neg_z:1;
-        unsigned int cube_pos_y:1;
-        unsigned int cube_neg_y:1;
-        unsigned int cube_pos_x:1;
-        unsigned int cube_neg_x:1;
-        unsigned int pad2:2;
-        unsigned int render_cache_read_write:1;
-        unsigned int pad1:1;
-        unsigned int surface_array_spacing:1;
-        unsigned int vert_line_stride_ofs:1;
-        unsigned int vert_line_stride:1;
-        unsigned int tile_walk:1;
-        unsigned int tiled_surface:1;
-        unsigned int horizontal_alignment:1;
-        unsigned int vertical_alignment:2;
-        unsigned int surface_format:9;     /**< BRW_SURFACEFORMAT_x */
-        unsigned int pad0:1;
-        unsigned int is_array:1;
-        unsigned int surface_type:3;       /**< BRW_SURFACE_1D/2D/3D/CUBE */
-    } ss0;
-
-    struct {
-        unsigned int base_addr;
-    } ss1;
-
-    struct {
-        unsigned int width:14;
-        unsigned int pad1:2;
-        unsigned int height:14;
-        unsigned int pad0:2;
-    } ss2;
-
-    struct {
-        unsigned int pitch:18;
-        unsigned int pad:3;
-        unsigned int depth:11;
-    } ss3;
-
-    struct {
-        unsigned int multisample_position_palette_index:3;
-        unsigned int num_multisamples:3;
-        unsigned int multisampled_surface_storage_format:1;
-        unsigned int render_target_view_extent:11;
-        unsigned int min_array_elt:11;
-        unsigned int rotation:2;
-        unsigned int pad0:1;
-    } ss4;
-
-    struct {
-        unsigned int mip_count:4;
-        unsigned int min_lod:4;
-        unsigned int pad1:12;
-        unsigned int y_offset:4;
-        unsigned int pad0:1;
-        unsigned int x_offset:7;
-    } ss5;
-
-    struct {
-        unsigned int pad; /* Multisample Control Surface stuff */
-    } ss6;
-
-    struct {
-        unsigned int resource_min_lod:12;
-        unsigned int pad0:16;
-        unsigned int alpha_clear_color:1;
-        unsigned int blue_clear_color:1;
-        unsigned int green_clear_color:1;
-        unsigned int red_clear_color:1;
-    } ss7;
-};
-
-struct gen7_sampler_state
-{
-   struct
-   {
-      unsigned int aniso_algorithm:1;
-      unsigned int lod_bias:13;
-      unsigned int min_filter:3;
-      unsigned int mag_filter:3;
-      unsigned int mip_filter:2;
-      unsigned int base_level:5;
-      unsigned int pad1:1;
-      unsigned int lod_preclamp:1;
-      unsigned int default_color_mode:1;
-      unsigned int pad0:1;
-      unsigned int disable:1;
-   } ss0;
-
-   struct
-   {
-      unsigned int cube_control_mode:1;
-      unsigned int shadow_function:3;
-      unsigned int pad:4;
-      unsigned int max_lod:12;
-      unsigned int min_lod:12;
-   } ss1;
-
-   struct
-   {
-      unsigned int pad:5;
-      unsigned int default_color_pointer:27;
-   } ss2;
-
-   struct
-   {
-      unsigned int r_wrap_mode:3;
-      unsigned int t_wrap_mode:3;
-      unsigned int s_wrap_mode:3;
-      unsigned int pad:1;
-      unsigned int non_normalized_coord:1;
-      unsigned int trilinear_quality:2;
-      unsigned int address_round:6;
-      unsigned int max_aniso:3;
-      unsigned int chroma_key_mode:1;
-      unsigned int chroma_key_index:2;
-      unsigned int chroma_key_enable:1;
-      unsigned int pad0:6;
-   } ss3;
-};
-
-struct gen7_surface_state2
-{
-    struct {
-        unsigned int surface_base_address;
-    } ss0;
-
-    struct {
-        unsigned int cbcr_pixel_offset_v_direction:2;
-        unsigned int picture_structure:2;
-        unsigned int width:14;
-        unsigned int height:14;
-    } ss1;
-
-    struct {
-        unsigned int tile_walk:1;
-        unsigned int tiled_surface:1;
-        unsigned int half_pitch_for_chroma:1;
-        unsigned int pitch:18;
-        unsigned int pad0:1;
-        unsigned int surface_object_control_data:4;
-        unsigned int pad1:1;
-        unsigned int interleave_chroma:1;
-        unsigned int surface_format:4;
-    } ss2;
-
-    struct {
-        unsigned int y_offset_for_cb:15;
-        unsigned int pad0:1;
-        unsigned int x_offset_for_cb:14;
-        unsigned int pad1:2;
-    } ss3;
-
-    struct {
-        unsigned int y_offset_for_cr:15;
-        unsigned int pad0:1;
-        unsigned int x_offset_for_cr:14;
-        unsigned int pad1:2;
-    } ss4;
-
-    struct {
-        unsigned int pad0;
-    } ss5;
-
-    struct {
-        unsigned int pad0;
-    } ss6;
-
-    struct {
-        unsigned int pad0;
-    } ss7;
-};
-
-#endif /* _I965_STRUCTS_H_ */
diff --git a/i965_drv_video/intel_batchbuffer.c b/i965_drv_video/intel_batchbuffer.c
deleted file mode 100644 (file)
index f310793..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-/**************************************************************************                                                                                  
- *                                                                                                                                                           
- * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.                                                                                                
- * All Rights Reserved.                                                                                                                                      
- *                                                                                                                                                           
- * Permission is hereby granted, free of charge, to any person obtaining a                                                                                   
- * copy of this software and associated documentation files (the                                                                                             
- * "Software"), to deal in the Software without restriction, including                                                                                       
- * without limitation the rights to use, copy, modify, merge, publish,                                                                                       
- * distribute, sub license, and/or sell copies of the Software, and to                                                                                       
- * permit persons to whom the Software is furnished to do so, subject to                                                                                     
- * the following conditions:                                                                                                                                 
- *                                                                                                                                                           
- * The above copyright notice and this permission notice (including the                                                                                      
- * next paragraph) shall be included in all copies or substantial portions                                                                                   
- * of the Software.                                                                                                                                          
- *                                                                                                                                                           
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS                                                                                   
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                                                                                                
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.                                                                                   
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR                                                                                    
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,                                                                                  
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE                                                                                         
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                                                                                                    
- *                                                                                                                                                           
- **************************************************************************/      
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-#include <va/va_backend.h>
-
-#include "intel_batchbuffer.h"
-
-static void 
-intel_batchbuffer_reset(struct intel_batchbuffer *batch)
-{
-    struct intel_driver_data *intel = batch->intel; 
-    int batch_size = BATCH_SIZE;
-
-    assert(batch->flag == I915_EXEC_RENDER ||
-           batch->flag == I915_EXEC_BLT ||
-           batch->flag == I915_EXEC_BSD);
-
-    dri_bo_unreference(batch->buffer);
-    batch->buffer = dri_bo_alloc(intel->bufmgr, 
-                                 "batch buffer",
-                                 batch_size,
-                                 0x1000);
-    assert(batch->buffer);
-    dri_bo_map(batch->buffer, 1);
-    assert(batch->buffer->virtual);
-    batch->map = batch->buffer->virtual;
-    batch->size = batch_size;
-    batch->ptr = batch->map;
-    batch->atomic = 0;
-}
-
-static unsigned int
-intel_batchbuffer_space(struct intel_batchbuffer *batch)
-{
-    return (batch->size - BATCH_RESERVED) - (batch->ptr - batch->map);
-}
-
-
-struct intel_batchbuffer * 
-intel_batchbuffer_new(struct intel_driver_data *intel, int flag)
-{
-    struct intel_batchbuffer *batch = calloc(1, sizeof(*batch));
-    assert(flag == I915_EXEC_RENDER ||
-           flag == I915_EXEC_BSD ||
-           flag == I915_EXEC_BLT);
-
-    batch->intel = intel;
-    batch->flag = flag;
-    batch->run = drm_intel_bo_mrb_exec;
-    intel_batchbuffer_reset(batch);
-
-    return batch;
-}
-
-void intel_batchbuffer_free(struct intel_batchbuffer *batch)
-{
-    if (batch->map) {
-        dri_bo_unmap(batch->buffer);
-        batch->map = NULL;
-    }
-
-    dri_bo_unreference(batch->buffer);
-    free(batch);
-}
-
-void 
-intel_batchbuffer_flush(struct intel_batchbuffer *batch)
-{
-    unsigned int used = batch->ptr - batch->map;
-
-    if (used == 0) {
-        return;
-    }
-
-    if ((used & 4) == 0) {
-        *(unsigned int*)batch->ptr = 0;
-        batch->ptr += 4;
-    }
-
-    *(unsigned int*)batch->ptr = MI_BATCH_BUFFER_END;
-    batch->ptr += 4;
-    dri_bo_unmap(batch->buffer);
-    used = batch->ptr - batch->map;
-    batch->run(batch->buffer, used, 0, 0, 0, batch->flag);
-    intel_batchbuffer_reset(batch);
-}
-
-void 
-intel_batchbuffer_emit_dword(struct intel_batchbuffer *batch, unsigned int x)
-{
-    assert(intel_batchbuffer_space(batch) >= 4);
-    *(unsigned int *)batch->ptr = x;
-    batch->ptr += 4;
-}
-
-void 
-intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, dri_bo *bo, 
-                                uint32_t read_domains, uint32_t write_domains, 
-                                uint32_t delta)
-{
-    assert(batch->ptr - batch->map < batch->size);
-    dri_bo_emit_reloc(batch->buffer, read_domains, write_domains,
-                      delta, batch->ptr - batch->map, bo);
-    intel_batchbuffer_emit_dword(batch, bo->offset + delta);
-}
-
-void 
-intel_batchbuffer_require_space(struct intel_batchbuffer *batch,
-                                   unsigned int size)
-{
-    assert(size < batch->size - 8);
-
-    if (intel_batchbuffer_space(batch) < size) {
-        intel_batchbuffer_flush(batch);
-    }
-}
-
-void 
-intel_batchbuffer_data(struct intel_batchbuffer *batch,
-                          void *data,
-                          unsigned int size)
-{
-    assert((size & 3) == 0);
-    intel_batchbuffer_require_space(batch, size);
-
-    assert(batch->ptr);
-    memcpy(batch->ptr, data, size);
-    batch->ptr += size;
-}
-
-void
-intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch)
-{
-    struct intel_driver_data *intel = batch->intel; 
-
-    if (IS_GEN6(intel->device_id) ||
-        IS_GEN7(intel->device_id)) {
-        if (batch->flag == I915_EXEC_RENDER) {
-            BEGIN_BATCH(batch, 4);
-            OUT_BATCH(batch, CMD_PIPE_CONTROL | 0x2);
-
-            if (IS_GEN6(intel->device_id))
-                OUT_BATCH(batch, 
-                          CMD_PIPE_CONTROL_WC_FLUSH |
-                          CMD_PIPE_CONTROL_TC_FLUSH |
-                          CMD_PIPE_CONTROL_NOWRITE);
-            else
-                OUT_BATCH(batch, 
-                          CMD_PIPE_CONTROL_WC_FLUSH |
-                          CMD_PIPE_CONTROL_TC_FLUSH |
-                          CMD_PIPE_CONTROL_DC_FLUSH |
-                          CMD_PIPE_CONTROL_NOWRITE);
-
-            OUT_BATCH(batch, 0);
-            OUT_BATCH(batch, 0);
-            ADVANCE_BATCH(batch);
-        } else {
-            if (batch->flag == I915_EXEC_BLT) {
-                BEGIN_BLT_BATCH(batch, 4);
-                OUT_BLT_BATCH(batch, MI_FLUSH_DW);
-                OUT_BLT_BATCH(batch, 0);
-                OUT_BLT_BATCH(batch, 0);
-                OUT_BLT_BATCH(batch, 0);
-                ADVANCE_BLT_BATCH(batch);
-            } else {
-                assert(batch->flag == I915_EXEC_BSD);
-                BEGIN_BCS_BATCH(batch, 4);
-                OUT_BCS_BATCH(batch, MI_FLUSH_DW | MI_FLUSH_DW_VIDEO_PIPELINE_CACHE_INVALIDATE);
-                OUT_BCS_BATCH(batch, 0);
-                OUT_BCS_BATCH(batch, 0);
-                OUT_BCS_BATCH(batch, 0);
-                ADVANCE_BCS_BATCH(batch);
-            }
-        }
-    } else {
-        if (batch->flag == I915_EXEC_RENDER) {
-            BEGIN_BATCH(batch, 1);
-            OUT_BATCH(batch, MI_FLUSH | MI_FLUSH_STATE_INSTRUCTION_CACHE_INVALIDATE);
-            ADVANCE_BATCH(batch);
-        } else {
-            assert(batch->flag == I915_EXEC_BSD);
-            BEGIN_BCS_BATCH(batch, 1);
-            OUT_BCS_BATCH(batch, MI_FLUSH | MI_FLUSH_STATE_INSTRUCTION_CACHE_INVALIDATE);
-            ADVANCE_BCS_BATCH(batch);
-        }
-    }
-}
-
-void
-intel_batchbuffer_begin_batch(struct intel_batchbuffer *batch, int total)
-{
-    batch->emit_total = total * 4;
-    batch->emit_start = batch->ptr;
-}
-
-void
-intel_batchbuffer_advance_batch(struct intel_batchbuffer *batch)
-{
-    assert(batch->emit_total == (batch->ptr - batch->emit_start));
-}
-
-void
-intel_batchbuffer_check_batchbuffer_flag(struct intel_batchbuffer *batch, int flag)
-{
-    if (flag != I915_EXEC_RENDER &&
-        flag != I915_EXEC_BLT &&
-        flag != I915_EXEC_BSD)
-        return;
-
-    if (batch->flag == flag)
-        return;
-
-    intel_batchbuffer_flush(batch);
-    batch->flag = flag;
-}
-
-int
-intel_batchbuffer_check_free_space(struct intel_batchbuffer *batch, int size)
-{
-    return intel_batchbuffer_space(batch) >= size;
-}
-
-static void
-intel_batchbuffer_start_atomic_helper(struct intel_batchbuffer *batch,
-                                      int flag,
-                                      unsigned int size)
-{
-    assert(!batch->atomic);
-    intel_batchbuffer_check_batchbuffer_flag(batch, flag);
-    intel_batchbuffer_require_space(batch, size);
-    batch->atomic = 1;
-}
-
-void
-intel_batchbuffer_start_atomic(struct intel_batchbuffer *batch, unsigned int size)
-{
-    intel_batchbuffer_start_atomic_helper(batch, I915_EXEC_RENDER, size);
-}
-
-void
-intel_batchbuffer_start_atomic_blt(struct intel_batchbuffer *batch, unsigned int size)
-{
-    intel_batchbuffer_start_atomic_helper(batch, I915_EXEC_BLT, size);
-}
-
-void
-intel_batchbuffer_start_atomic_bcs(struct intel_batchbuffer *batch, unsigned int size)
-{
-    intel_batchbuffer_start_atomic_helper(batch, I915_EXEC_BSD, size);
-}
-
-void
-intel_batchbuffer_end_atomic(struct intel_batchbuffer *batch)
-{
-    assert(batch->atomic);
-    batch->atomic = 0;
-}
diff --git a/i965_drv_video/intel_batchbuffer.h b/i965_drv_video/intel_batchbuffer.h
deleted file mode 100644 (file)
index 092da5a..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef _INTEL_BATCHBUFFER_H_
-#define _INTEL_BATCHBUFFER_H_
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-#include "intel_driver.h"
-
-struct intel_batchbuffer 
-{
-    struct intel_driver_data *intel;
-    dri_bo *buffer;
-    unsigned int size;
-    unsigned char *map;
-    unsigned char *ptr;
-    int atomic;
-    int flag;
-
-    int emit_total;
-    unsigned char *emit_start;
-
-    int (*run)(drm_intel_bo *bo, int used,
-               drm_clip_rect_t *cliprects, int num_cliprects,
-               int DR4, unsigned int ring_flag);
-};
-
-struct intel_batchbuffer *intel_batchbuffer_new(struct intel_driver_data *intel, int flag);
-void intel_batchbuffer_free(struct intel_batchbuffer *batch);
-void intel_batchbuffer_start_atomic(struct intel_batchbuffer *batch, unsigned int size);
-void intel_batchbuffer_start_atomic_bcs(struct intel_batchbuffer *batch, unsigned int size);
-void intel_batchbuffer_start_atomic_blt(struct intel_batchbuffer *batch, unsigned int size);
-void intel_batchbuffer_end_atomic(struct intel_batchbuffer *batch);
-void intel_batchbuffer_emit_dword(struct intel_batchbuffer *batch, unsigned int x);
-void intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, dri_bo *bo, 
-                                  uint32_t read_domains, uint32_t write_domains, 
-                                  uint32_t delta);
-void intel_batchbuffer_require_space(struct intel_batchbuffer *batch, unsigned int size);
-void intel_batchbuffer_data(struct intel_batchbuffer *batch, void *data, unsigned int size);
-void intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch);
-void intel_batchbuffer_flush(struct intel_batchbuffer *batch);
-void intel_batchbuffer_begin_batch(struct intel_batchbuffer *batch, int total);
-void intel_batchbuffer_advance_batch(struct intel_batchbuffer *batch);
-void intel_batchbuffer_check_batchbuffer_flag(struct intel_batchbuffer *batch, int flag);
-int intel_batchbuffer_check_free_space(struct intel_batchbuffer *batch, int size);
-
-#define __BEGIN_BATCH(batch, n, f) do {                         \
-        assert(f == batch->flag);                               \
-        intel_batchbuffer_check_batchbuffer_flag(batch, f);     \
-        intel_batchbuffer_require_space(batch, (n) * 4);        \
-        intel_batchbuffer_begin_batch(batch, (n));              \
-    } while (0)
-
-#define __OUT_BATCH(batch, d) do {              \
-        intel_batchbuffer_emit_dword(batch, d); \
-    } while (0)
-
-#define __OUT_RELOC(batch, bo, read_domains, write_domain, delta) do {  \
-        assert((delta) >= 0);                                           \
-        intel_batchbuffer_emit_reloc(batch, bo,                         \
-                                     read_domains, write_domain,        \
-                                     delta);                            \
-    } while (0)
-
-#define __ADVANCE_BATCH(batch) do {             \
-        intel_batchbuffer_advance_batch(batch); \
-    } while (0)
-
-#define BEGIN_BATCH(batch, n)           __BEGIN_BATCH(batch, n, I915_EXEC_RENDER)
-#define BEGIN_BLT_BATCH(batch, n)       __BEGIN_BATCH(batch, n, I915_EXEC_BLT)
-#define BEGIN_BCS_BATCH(batch, n)       __BEGIN_BATCH(batch, n, I915_EXEC_BSD)
-
-
-#define OUT_BATCH(batch, d)             __OUT_BATCH(batch, d)
-#define OUT_BLT_BATCH(batch, d)         __OUT_BATCH(batch, d)
-#define OUT_BCS_BATCH(batch, d)         __OUT_BATCH(batch, d)
-
-#define OUT_RELOC(batch, bo, read_domains, write_domain, delta) \
-    __OUT_RELOC(batch, bo, read_domains, write_domain, delta)
-#define OUT_BLT_RELOC(batch, bo, read_domains, write_domain, delta)     \
-    __OUT_RELOC(batch, bo, read_domains, write_domain, delta)
-#define OUT_BCS_RELOC(batch, bo, read_domains, write_domain, delta)     \
-    __OUT_RELOC(batch, bo, read_domains, write_domain, delta)
-
-#define ADVANCE_BATCH(batch)            __ADVANCE_BATCH(batch)
-#define ADVANCE_BLT_BATCH(batch)        __ADVANCE_BATCH(batch)
-#define ADVANCE_BCS_BATCH(batch)        __ADVANCE_BATCH(batch)
-
-#endif /* _INTEL_BATCHBUFFER_H_ */
diff --git a/i965_drv_video/intel_batchbuffer_dump.c b/i965_drv_video/intel_batchbuffer_dump.c
deleted file mode 100644 (file)
index 99c2c1c..0000000
+++ /dev/null
@@ -1,771 +0,0 @@
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include "intel_driver.h"
-#include "intel_batchbuffer_dump.h"
-
-#define BUFFER_FAIL(_count, _len, _name) do {                  \
-    fprintf(gout, "Buffer size too small in %s (%d < %d)\n",   \
-           (_name), (_count), (_len));                         \
-    (*failures)++;                                             \
-    return count;                                              \
-} while (0)
-
-static FILE *gout;
-
-static void
-instr_out(unsigned int *data, unsigned int offset, unsigned int index, char *fmt, ...)
-{
-    va_list va;
-
-    fprintf(gout, "0x%08x: 0x%08x:%s ", offset + index * 4, data[index],
-           index == 0 ? "" : "  ");
-    va_start(va, fmt);
-    vfprintf(gout, fmt, va);
-    va_end(va);
-}
-
-
-static int
-dump_mi(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    unsigned int opcode;
-    int length, i;
-
-    struct {
-       unsigned int opcode;
-       int mask_length;
-       int min_len;
-       int max_len;
-       char *name;
-    } mi_commands[] = {
-       { 0x00, 0, 1, 1, "MI_NOOP" },
-       { 0x04, 0, 1, 1, "MI_FLUSH" },
-       { 0x0a, 0, 1, 1, "MI_BATCH_BUFFER_END" },
-       { 0x26, 0x3f, 4, 5, "MI_FLUSH_DW" },
-    };
-
-    opcode = ((data[0] & MASK_MI_OPCODE) >> SHIFT_MI_OPCODE);
-
-    for (i = 0; i < sizeof(mi_commands) / sizeof(mi_commands[0]); i++) {
-        if (opcode == mi_commands[i].opcode) {
-            int index;
-
-            length = 1;
-           instr_out(data, offset, 0, "%s\n", mi_commands[i].name);
-
-           if (mi_commands[i].max_len > 1) {
-                length = (data[0] & mi_commands[i].mask_length) + 2;
-
-                if (length < mi_commands[i].min_len ||
-                    length > mi_commands[i].max_len) {
-                   fprintf(gout, "Bad length (%d) in %s, [%d, %d]\n",
-                           length, mi_commands[i].name,
-                           mi_commands[i].min_len,
-                           mi_commands[i].max_len);
-               }
-           }
-
-            for (index = 1; index < length; index++) {
-                if (index >= count)
-                   BUFFER_FAIL(count, length, mi_commands[i].name);
-
-               instr_out(data, offset, index, "dword %d\n", index);
-           }
-
-           return length;
-       }
-    }
-
-    instr_out(data, offset, 0, "UNKNOWN MI COMMAND\n");
-    (*failures)++;
-    return 1;
-}
-
-static int
-dump_gfxpipe_3d(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 0, "UNKNOWN 3D COMMAND\n");
-    (*failures)++;
-
-    return 1;
-}
-
-static void
-dump_avc_bsd_img_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    int img_struct = ((data[3] >> 8) & 0x3);
-
-    instr_out(data, offset, 1, "frame size: %d\n", (data[1] & 0xffff));
-    instr_out(data, offset, 2, "width: %d, height: %d\n", (data[2] & 0xff), (data[2] >> 16) & 0xff);
-    instr_out(data, offset, 3, 
-              "second_chroma_qp_offset: %d,"
-              "chroma_qp_offset: %d,"
-              "QM present flag: %d," 
-              "image struct: %s,"
-              "img_dec_fs_idc: %d,"
-              "\n",
-              (data[3] >> 24) & 0x1f,
-              (data[3] >> 16) & 0x1f,
-              (data[3] >> 10) & 0x1,
-              (img_struct == 0) ? "frame" : (img_struct == 2) ? "invalid" : (img_struct == 1) ? "top field" : "bottom field",
-              data[3] & 0xff);
-    instr_out(data, offset, 4,
-              "residual off: 0x%x,"
-              "16MV: %d,"
-              "chroma fmt: %d,"
-              "CABAC: %d,"
-              "non-ref: %d,"
-              "constrained intra: %d,"
-              "direct8x8: %d,"
-              "trans8x8: %d,"
-              "MB only: %d,"
-              "MBAFF: %d,"
-              "\n",
-              (data[4] >> 24) & 0xff,
-              (data[4] >> 12) & 0x1,
-              (data[4] >> 10) & 0x3,
-              (data[4] >> 7) & 0x1,
-              (data[4] >> 6) & 0x1,
-              (data[4] >> 5) & 0x1,
-              (data[4] >> 4) & 0x1,
-              (data[4] >> 3) & 0x1,
-              (data[4] >> 2) & 0x1,
-              (data[4] >> 1) & 0x1);
-    instr_out(data, offset, 5, "AVC-IT Command Header\n");
-}
-
-static void
-dump_avc_bsd_qm_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    unsigned int length = ((data[0] & MASK_GFXPIPE_LENGTH) >> SHIFT_GFXPIPE_LENGTH) + 2;
-    int i;
-
-    instr_out(data, offset, 1, "user default: %02x, QM list present: %02x\n", 
-              (data[1] >> 8) & 0xff, data[1] & 0xff);
-
-    for (i = 2; i < length; i++) {
-        instr_out(data, offset, i, "dword %d\n", i);
-    }
-}
-
-static void
-dump_avc_bsd_slice_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-
-}
-
-static void
-dump_avc_bsd_buf_base_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    int i;
-
-    instr_out(data, offset, 1, "BSD row store base address\n");
-    instr_out(data, offset, 2, "MPR row store base address\n");
-    instr_out(data, offset, 3, "AVC-IT command buffer base address\n");
-    instr_out(data, offset, 4, "AVC-IT data buffer: 0x%08x, write offset: 0x%x\n", 
-              data[4] & 0xFFFFF000, data[4] & 0xFC0);
-    instr_out(data, offset, 5, "ILDB data buffer\n");
-
-    for (i = 6; i < 38; i++) {
-        instr_out(data, offset, i, "Direct MV read base address for reference frame %d\n", i - 6);
-    }
-
-    instr_out(data, offset, 38, "direct mv wr0 top\n");
-    instr_out(data, offset, 39, "direct mv wr0 bottom\n");
-
-    for (i = 40; i < 74; i++) {
-        instr_out(data, offset, i, "POC List %d\n", i - 40);
-    }
-}
-
-static void
-dump_bsd_ind_obj_base_addr(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "AVC indirect object base address\n");
-    instr_out(data, offset, 2, "AVC Indirect Object Access Upper Bound\n");
-}
-
-static void 
-dump_ironlake_avc_bsd_object(unsigned int *data, unsigned int offset, int *failures)
-{
-    int slice_type = data[3] & 0xf;
-    int i, is_phantom = ((data[1] & 0x3fffff) == 0);
-
-    if (!is_phantom) {
-        instr_out(data, offset, 1, "Encrypted: %d, bitsteam length: %d\n", data[1] >> 31, data[1] & 0x3fffff);
-        instr_out(data, offset, 2, "Indirect Data Start Address: %d\n", data[2] & 0x1fffffff);
-        instr_out(data, offset, 3, "%s Slice\n", slice_type == 0 ? "P" : slice_type == 1 ? "B" : "I");
-        instr_out(data, offset, 4, 
-                  "Num_Ref_Idx_L1: %d,"
-                  "Num_Ref_Idx_L0: %d,"
-                  "Log2WeightDenomChroma: %d,"
-                  "Log2WeightDenomLuma: %d"
-                  "\n",
-                  (data[4] >> 24) & 0x3f,
-                  (data[4] >> 16) & 0x3f,
-                  (data[4] >> 8) & 0x3,
-                  (data[4] >> 0) & 0x3);
-        instr_out(data, offset, 5,
-                  "WeightedPredIdc: %d,"
-                  "DirectPredType: %d,"
-                  "DisableDeblockingFilter: %d,"
-                  "CabacInitIdc: %d,"
-                  "SliceQp: %d,"
-                  "SliceBetaOffsetDiv2: %d,"
-                  "SliceAlphaC0OffsetDiv2: %d"
-                  "\n",
-                  (data[5] >> 30) & 0x3,
-                  (data[5] >> 29) & 0x1,
-                  (data[5] >> 27) & 0x3,
-                  (data[5] >> 24) & 0x3,
-                  (data[5] >> 16) & 0x3f,
-                  (data[5] >> 8) & 0xf,
-                  (data[5] >> 0) & 0xf);
-        instr_out(data, offset, 6,
-                  "Slice_MB_Start_Vert_Pos: %d,"
-                  "Slice_MB_Start_Hor_Pos: %d,"
-                  "Slice_Start_Mb_Num: %d"
-                  "\n",
-                  (data[6] >> 24) & 0xff,
-                  (data[6] >> 16) & 0xff,
-                  (data[6] >> 0) & 0x7fff);
-        instr_out(data, offset, 7,
-                  "Fix_Prev_Mb_Skipped: %d,"
-                  "First_MB_Bit_Offset: %d"
-                  "\n",
-                  (data[7] >> 7) & 0x1,
-                  (data[7] >> 0) & 0x7);
-
-        for (i = 8; i < 16; i++)
-            instr_out(data, offset, i, "dword %d\n", i);
-    } else {
-        instr_out(data, offset, 1, "phantom slice\n");
-
-        for (i = 2; i < 6; i++)
-            instr_out(data, offset, i, "dword %d\n", i);
-
-        instr_out(data, offset, 6,
-                  "Slice_Start_Mb_Num: %d"
-                  "\n",
-                  (data[6] >> 0) & 0x7fff);
-
-        for (i = 7; i < 16; i++)
-            instr_out(data, offset, i, "dword %d\n", i);
-
-    }
-}
-
-static void 
-dump_g4x_avc_bsd_object(unsigned int *data, unsigned int offset, int *failures)
-{
-
-}
-
-static void 
-dump_avc_bsd_object(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    if (IS_IRONLAKE(device))
-        dump_ironlake_avc_bsd_object(data, offset, failures);
-    else
-        dump_g4x_avc_bsd_object(data, offset, failures);
-}
-
-static int
-dump_bsd_avc(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    unsigned int subopcode;
-    int length, i;
-
-    struct {
-       unsigned int subopcode;
-       int min_len;
-       int max_len;
-       char *name;
-        void (*detail)(unsigned int *data, unsigned int offset, unsigned int device, int  *failures);
-    } avc_commands[] = {
-        { 0x00, 0x06, 0x06, "AVC_BSD_IMG_STATE", dump_avc_bsd_img_state },
-        { 0x01, 0x02, 0x3a, "AVC_BSD_QM_STATE", dump_avc_bsd_qm_state },
-        { 0x02, 0x02, 0xd2, "AVC_BSD_SLICE_STATE", NULL },
-        { 0x03, 0x4a, 0x4a, "AVC_BSD_BUF_BASE_STATE", dump_avc_bsd_buf_base_state },
-        { 0x04, 0x03, 0x03, "BSD_IND_OBJ_BASE_ADDR", dump_bsd_ind_obj_base_addr },
-        { 0x08, 0x08, 0x10, "AVC_BSD_OBJECT", dump_avc_bsd_object },
-    };
-
-    subopcode = ((data[0] & MASK_GFXPIPE_SUBOPCODE) >> SHIFT_GFXPIPE_SUBOPCODE);
-
-    for (i = 0; i < sizeof(avc_commands) / sizeof(avc_commands[0]); i++) {
-        if (subopcode == avc_commands[i].subopcode) {
-            unsigned int index;
-
-            length = (data[0] & MASK_GFXPIPE_LENGTH) >> SHIFT_GFXPIPE_LENGTH;
-            length += 2;
-            instr_out(data, offset, 0, "%s\n", avc_commands[i].name);
-
-            if (length < avc_commands[i].min_len || 
-                length > avc_commands[i].max_len) {
-                fprintf(gout, "Bad length(%d) in %s [%d, %d]\n", 
-                        length, avc_commands[i].name,
-                        avc_commands[i].min_len,
-                        avc_commands[i].max_len);
-            }
-
-            if (length - 1 >= count)
-                BUFFER_FAIL(count, length, avc_commands[i].name);
-
-            if (avc_commands[i].detail)
-                avc_commands[i].detail(data, offset, device, failures);
-            else {
-                for (index = 1; index < length; index++)
-                    instr_out(data, offset, index, "dword %d\n", index);
-            }
-
-           return length;
-       }
-    }
-
-    instr_out(data, offset, 0, "UNKNOWN AVC COMMAND\n");
-    (*failures)++;
-    return 1;
-}
-
-static int
-dump_gfxpipe_bsd(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    int length;
-
-    switch ((data[0] & MASK_GFXPIPE_OPCODE) >> SHIFT_GFXPIPE_OPCODE) {
-    case OPCODE_BSD_AVC:
-        length = dump_bsd_avc(data, offset, count, device, failures);
-        break;
-
-    default:
-        length = 1;
-        (*failures)++;
-        instr_out(data, offset, 0, "UNKNOWN BSD OPCODE\n");
-        break;
-    }
-
-    return length;
-}
-
-static void
-dump_mfx_mode_select(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, 
-              "decoder mode: %d(%s),"
-              "post deblocking output enable %d,"
-              "pre deblocking output enable %d,"
-              "codec select: %d(%s),"
-              "standard select: %d(%s)"
-              "\n",
-              (data[1] >> 16) & 0x1, ((data[1] >> 16) & 0x1) ? "IT" : "VLD",
-              (data[1] >> 9) & 0x1,
-              (data[1] >> 8) & 0x1,
-              (data[1] >> 4) & 0x1, ((data[1] >> 4) & 0x1) ? "Encode" : "Decode",
-              (data[1] >> 0) & 0x3, ((data[1] >> 0) & 0x3) == 0 ? "MPEG2" :
-              ((data[1] >> 0) & 0x3) == 1 ? "VC1" :
-              ((data[1] >> 0) & 0x3) == 2 ? "AVC" : "Reserved");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-}
-
-static void
-dump_mfx_surface_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-}
-
-static void
-dump_mfx_pipe_buf_addr_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-    instr_out(data, offset, 7, "dword 07\n");
-    instr_out(data, offset, 8, "dword 08\n");
-    instr_out(data, offset, 9, "dword 09\n");
-    instr_out(data, offset, 10, "dword 10\n");
-    instr_out(data, offset, 11, "dword 11\n");
-    instr_out(data, offset, 12, "dword 12\n");
-    instr_out(data, offset, 13, "dword 13\n");
-    instr_out(data, offset, 14, "dword 14\n");
-    instr_out(data, offset, 15, "dword 15\n");
-    instr_out(data, offset, 16, "dword 16\n");
-    instr_out(data, offset, 17, "dword 17\n");
-    instr_out(data, offset, 18, "dword 18\n");
-    instr_out(data, offset, 19, "dword 19\n");
-    instr_out(data, offset, 20, "dword 20\n");
-    instr_out(data, offset, 21, "dword 21\n");
-    instr_out(data, offset, 22, "dword 22\n");
-    instr_out(data, offset, 24, "dword 23\n");
-}
-
-static void
-dump_mfx_ind_obj_base_addr_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-    instr_out(data, offset, 7, "dword 07\n");
-    instr_out(data, offset, 8, "dword 08\n");
-    instr_out(data, offset, 9, "dword 09\n");
-    instr_out(data, offset, 10, "dword 10\n");
-}
-
-static void
-dump_mfx_bsp_buf_base_addr_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-}
-
-static void
-dump_mfx_aes_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-}
-
-static void
-dump_mfx_state_pointer(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-}
-
-static int
-dump_mfx_common(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    unsigned int subopcode;
-    int length, i;
-
-    struct {
-       unsigned int subopcode;
-       int min_len;
-       int max_len;
-       char *name;
-        void (*detail)(unsigned int *data, unsigned int offset, unsigned int device, int  *failures);
-    } mfx_common_commands[] = {
-        { SUBOPCODE_MFX(0, 0), 0x04, 0x04, "MFX_PIPE_MODE_SELECT", dump_mfx_mode_select },
-        { SUBOPCODE_MFX(0, 1), 0x06, 0x06, "MFX_SURFACE_STATE", dump_mfx_surface_state },
-        { SUBOPCODE_MFX(0, 2), 0x18, 0x18, "MFX_PIPE_BUF_ADDR_STATE", dump_mfx_pipe_buf_addr_state },
-        { SUBOPCODE_MFX(0, 3), 0x0b, 0x0b, "MFX_IND_OBJ_BASE_ADDR_STATE", dump_mfx_ind_obj_base_addr_state },
-        { SUBOPCODE_MFX(0, 4), 0x04, 0x04, "MFX_BSP_BUF_BASE_ADDR_STATE", dump_mfx_bsp_buf_base_addr_state },
-        { SUBOPCODE_MFX(0, 5), 0x07, 0x07, "MFX_AES_STATE", dump_mfx_aes_state },
-        { SUBOPCODE_MFX(0, 6), 0x00, 0x00, "MFX_STATE_POINTER", dump_mfx_state_pointer },
-    };
-
-    subopcode = ((data[0] & MASK_GFXPIPE_SUBOPCODE) >> SHIFT_GFXPIPE_SUBOPCODE);
-
-    for (i = 0; i < ARRAY_ELEMS(mfx_common_commands); i++) {
-        if (subopcode == mfx_common_commands[i].subopcode) {
-            unsigned int index;
-
-            length = (data[0] & MASK_GFXPIPE_LENGTH) >> SHIFT_GFXPIPE_LENGTH;
-            length += 2;
-            instr_out(data, offset, 0, "%s\n", mfx_common_commands[i].name);
-
-            if (length < mfx_common_commands[i].min_len || 
-                length > mfx_common_commands[i].max_len) {
-                fprintf(gout, "Bad length(%d) in %s [%d, %d]\n", 
-                        length, mfx_common_commands[i].name,
-                        mfx_common_commands[i].min_len,
-                        mfx_common_commands[i].max_len);
-            }
-
-            if (length - 1 >= count)
-                BUFFER_FAIL(count, length, mfx_common_commands[i].name);
-
-            if (mfx_common_commands[i].detail)
-                mfx_common_commands[i].detail(data, offset, device, failures);
-            else {
-                for (index = 1; index < length; index++)
-                    instr_out(data, offset, index, "dword %d\n", index);
-            }
-
-           return length;
-       }
-    }
-
-    instr_out(data, offset, 0, "UNKNOWN MFX COMMON COMMAND\n");
-    (*failures)++;
-    return 1;
-}
-
-static void
-dump_mfx_avc_img_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-    instr_out(data, offset, 7, "dword 07\n");
-    instr_out(data, offset, 8, "dword 08\n");
-    instr_out(data, offset, 9, "dword 09\n");
-    instr_out(data, offset, 10, "dword 10\n");
-    instr_out(data, offset, 11, "dword 11\n");
-    instr_out(data, offset, 12, "dword 12\n");
-}
-
-static void
-dump_mfx_avc_qm_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    unsigned int length = ((data[0] & MASK_GFXPIPE_LENGTH) >> SHIFT_GFXPIPE_LENGTH) + 2;
-    int i;
-
-    instr_out(data, offset, 1, "user default: %02x, QM list present: %02x\n", 
-              (data[1] >> 8) & 0xff, data[1] & 0xff);
-
-    for (i = 2; i < length; i++) {
-        instr_out(data, offset, i, "dword %d\n", i);
-    }
-}
-
-static void
-dump_mfx_avc_directmode_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    int i;
-
-    for (i = 1; i < 33; i++) {
-        instr_out(data, offset, i, "Direct MV Buffer Base Address for Picture %d\n", i - 1);
-    }
-
-    for (i = 33; i < 35; i++) {
-        instr_out(data, offset, i, "Direct MV Buffer Base Address for Current Decoding Frame/Field\n");
-    }
-
-    for (i = 35; i < 69; i++) {
-        instr_out(data, offset, i, "POC List\n");
-    }
-}
-
-static void
-dump_mfx_avc_slice_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-    instr_out(data, offset, 7, "dword 07\n");
-    instr_out(data, offset, 8, "dword 08\n");
-    instr_out(data, offset, 9, "dword 09\n");
-}
-
-static void
-dump_mfx_avc_ref_idx_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    instr_out(data, offset, 1, "dword 01\n");
-    instr_out(data, offset, 2, "dword 02\n");
-    instr_out(data, offset, 3, "dword 03\n");
-    instr_out(data, offset, 4, "dword 04\n");
-    instr_out(data, offset, 5, "dword 05\n");
-    instr_out(data, offset, 6, "dword 06\n");
-    instr_out(data, offset, 7, "dword 07\n");
-    instr_out(data, offset, 8, "dword 08\n");
-    instr_out(data, offset, 9, "dword 09\n");
-}
-
-static void
-dump_mfx_avc_weightoffset_state(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    int i;
-
-    instr_out(data, offset, 1, 
-              "Weight and Offset L%d table\n",
-              (data[1] >> 0) & 0x1);
-
-    for (i = 2; i < 31; i++) {
-        instr_out(data, offset, i, "dword %d\n", i);
-    }
-}
-
-static void
-dump_mfd_bsd_object(unsigned int *data, unsigned int offset, unsigned int device, int *failures)
-{
-    int is_phantom_slice = ((data[1] & 0x3fffff) == 0);
-
-    if (is_phantom_slice) {
-        instr_out(data, offset, 1, "phantom slice\n");
-        instr_out(data, offset, 2, "dword 02\n");
-        instr_out(data, offset, 3, "dword 03\n");
-        instr_out(data, offset, 4, "dword 04\n");
-        instr_out(data, offset, 5, "dword 05\n");
-    } else {
-        instr_out(data, offset, 1, "Indirect BSD Data Length: %d\n", data[1] & 0x3fffff);
-        instr_out(data, offset, 2, "Indirect BSD Data Start Address: 0x%08x\n", data[2] & 0x1fffffff);
-        instr_out(data, offset, 3, "dword 03\n");
-        instr_out(data, offset, 4,
-                  "First_MB_Byte_Offset of Slice Data from Slice Header: 0x%08x,"
-                  "slice header skip mode: %d"
-                  "\n",
-                  (data[4] >> 16),
-                  (data[4] >> 6) & 0x1);
-        instr_out(data, offset, 5, "dword 05\n");
-    }
-}
-
-static int
-dump_mfx_avc(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    unsigned int subopcode;
-    int length, i;
-
-    struct {
-       unsigned int subopcode;
-       int min_len;
-       int max_len;
-       char *name;
-        void (*detail)(unsigned int *data, unsigned int offset, unsigned int device, int  *failures);
-    } mfx_avc_commands[] = {
-        { SUBOPCODE_MFX(0, 0), 0x0d, 0x0d, "MFX_AVC_IMG_STATE", dump_mfx_avc_img_state },
-        { SUBOPCODE_MFX(0, 1), 0x02, 0x3a, "MFX_AVC_QM_STATE", dump_mfx_avc_qm_state },
-        { SUBOPCODE_MFX(0, 2), 0x45, 0x45, "MFX_AVC_DIRECTMODE_STATE", dump_mfx_avc_directmode_state },
-        { SUBOPCODE_MFX(0, 3), 0x0b, 0x0b, "MFX_AVC_SLICE_STATE", dump_mfx_avc_slice_state },
-        { SUBOPCODE_MFX(0, 4), 0x0a, 0x0a, "MFX_AVC_REF_IDX_STATE", dump_mfx_avc_ref_idx_state },
-        { SUBOPCODE_MFX(0, 5), 0x32, 0x32, "MFX_AVC_WEIGHTOFFSET_STATE", dump_mfx_avc_weightoffset_state },
-        { SUBOPCODE_MFX(1, 8), 0x06, 0x06, "MFD_AVC_BSD_OBJECT", dump_mfd_bsd_object },
-    };
-
-    subopcode = ((data[0] & MASK_GFXPIPE_SUBOPCODE) >> SHIFT_GFXPIPE_SUBOPCODE);
-
-    for (i = 0; i < ARRAY_ELEMS(mfx_avc_commands); i++) {
-        if (subopcode == mfx_avc_commands[i].subopcode) {
-            unsigned int index;
-
-            length = (data[0] & MASK_GFXPIPE_LENGTH) >> SHIFT_GFXPIPE_LENGTH;
-            length += 2;
-            instr_out(data, offset, 0, "%s\n", mfx_avc_commands[i].name);
-
-            if (length < mfx_avc_commands[i].min_len || 
-                length > mfx_avc_commands[i].max_len) {
-                fprintf(gout, "Bad length(%d) in %s [%d, %d]\n", 
-                        length, mfx_avc_commands[i].name,
-                        mfx_avc_commands[i].min_len,
-                        mfx_avc_commands[i].max_len);
-            }
-
-            if (length - 1 >= count)
-                BUFFER_FAIL(count, length, mfx_avc_commands[i].name);
-
-            if (mfx_avc_commands[i].detail)
-                mfx_avc_commands[i].detail(data, offset, device, failures);
-            else {
-                for (index = 1; index < length; index++)
-                    instr_out(data, offset, index, "dword %d\n", index);
-            }
-
-           return length;
-       }
-    }
-
-    instr_out(data, offset, 0, "UNKNOWN MFX AVC COMMAND\n");
-    (*failures)++;
-    return 1;
-}
-
-static int
-dump_gfxpipe_mfx(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    int length;
-
-    switch ((data[0] & MASK_GFXPIPE_OPCODE) >> SHIFT_GFXPIPE_OPCODE) {
-    case OPCODE_MFX_COMMON:
-        length = dump_mfx_common(data, offset, count, device, failures);
-        break;
-
-    case OPCODE_MFX_AVC:
-        length = dump_mfx_avc(data, offset, count, device, failures);
-        break;
-
-    default:
-        length = 1;
-        (*failures)++;
-        instr_out(data, offset, 0, "UNKNOWN MFX OPCODE\n");
-        break;
-    }
-
-    return length;
-}
-
-static int
-dump_gfxpipe(unsigned int *data, unsigned int offset, int count, unsigned int device, int *failures)
-{
-    int length;
-
-    switch ((data[0] & MASK_GFXPIPE_SUBTYPE) >> SHIFT_GFXPIPE_SUBTYPE) {
-    case GFXPIPE_3D:
-        length = dump_gfxpipe_3d(data, offset, count, device, failures);
-        break;
-
-    case GFXPIPE_BSD:
-        if (IS_GEN6(device))
-            length = dump_gfxpipe_mfx(data, offset, count, device, failures);
-        else
-            length = dump_gfxpipe_bsd(data, offset, count, device, failures);
-
-        break;
-
-    default:
-        length = 1;
-        (*failures)++;
-        instr_out(data, offset, 0, "UNKNOWN GFXPIPE COMMAND\n");
-        break;
-    }
-
-    return length;
-}
-
-int intel_batchbuffer_dump(unsigned int *data, unsigned int offset, int count, unsigned int device)
-{
-    int index = 0;
-    int failures = 0;
-
-    gout = fopen("/tmp/bsd_command_dump.txt", "w+");
-
-    while (index < count) {
-       switch ((data[index] & MASK_CMD_TYPE) >> SHIFT_CMD_TYPE) {
-       case CMD_TYPE_MI:
-           index += dump_mi(data + index, offset + index * 4,
-                             count - index, device, &failures);
-           break;
-
-       case CMD_TYPE_GFXPIPE:
-            index += dump_gfxpipe(data + index, offset + index * 4,
-                                  count - index, device, &failures);
-           break;
-
-       default:
-           instr_out(data, offset, index, "UNKNOWN COMMAND\n");
-           failures++;
-           index++;
-           break;
-       }
-
-       fflush(gout);
-    }
-
-    fclose(gout);
-
-    return failures;
-}
diff --git a/i965_drv_video/intel_batchbuffer_dump.h b/i965_drv_video/intel_batchbuffer_dump.h
deleted file mode 100644 (file)
index e76b4f7..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _INTEL_BATCHBUFFER_DUMP_H_
-#define _INTEL_BATCHBUFFER_DUMP_H_
-
-#define MASK_CMD_TYPE           0xE0000000
-
-#define SHIFT_CMD_TYPE          29
-
-#define CMD_TYPE_GFXPIPE        3
-#define CMD_TYPE_BLT            2
-#define CMD_TYPE_MI             0
-
-
-/* GFXPIPE */
-#define MASK_GFXPIPE_SUBTYPE    0x18000000
-#define MASK_GFXPIPE_OPCODE     0x07000000
-#define MASK_GFXPIPE_SUBOPCODE  0x00FF0000
-#define MASK_GFXPIPE_LENGTH     0x0000FFFF
-
-#define SHIFT_GFXPIPE_SUBTYPE           27
-#define SHIFT_GFXPIPE_OPCODE            24
-#define SHIFT_GFXPIPE_SUBOPCODE         16
-#define SHIFT_GFXPIPE_LENGTH            0
-
-/* 3D */
-#define GFXPIPE_3D              3
-
-/* BSD */
-#define GFXPIPE_BSD             2
-
-#define OPCODE_BSD_AVC          4
-
-#define SUBOPCODE_BSD_IMG       0
-#define SUBOPCODE_BSD_QM        1
-#define SUBOPCODE_BSD_SLICE     2
-#define SUBOPCODE_BSD_BUF_BASE  3
-#define SUBOPCODE_BSD_IND_OBJ   4
-#define SUBOPCODE_BSD_OBJECT    8
-
-/* MFX */
-#define OPCODE_MFX_COMMON       0
-#define OPCODE_MFX_AVC          1
-
-#define SUBOPCODE_MFX(A, B)     ((A) << 5 | (B))
-
-/* MI */
-#define MASK_MI_OPCODE          0x1F800000
-
-#define SHIFT_MI_OPCODE         23
-
-#define OPCODE_MI_FLUSH                 0x04
-#define OPCODE_MI_BATCH_BUFFER_END      0x0A
-
-int intel_batchbuffer_dump(unsigned int *data, unsigned int offset, int count, unsigned int device);
-
-#endif /* _INTEL_BATCHBUFFER_DUMP_H_ */
diff --git a/i965_drv_video/intel_compiler.h b/i965_drv_video/intel_compiler.h
deleted file mode 100644 (file)
index e1c3bd2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _INTEL_COMPILER_H_
-#define _INTEL_COMPILER_H_
-
-/**
- * Function inlining
- */
-#if defined(__GNUC__)
-#  define INLINE __inline__
-#elif (__STDC_VERSION__ >= 199901L) /* C99 */
-#  define INLINE inline
-#else
-#  define INLINE
-#endif
-
-/**
- * Function visibility
- */
-#if defined(__GNUC__)
-#  define DLL_HIDDEN __attribute__((visibility("hidden")))
-#  define DLL_EXPORT __attribute__((visibility("default")))
-#else
-#  define DLL_HIDDEN
-#  define DLL_EXPORT
-#endif
-
-#endif /* _INTEL_COMPILER_H_ */
diff --git a/i965_drv_video/intel_driver.c b/i965_drv_video/intel_driver.c
deleted file mode 100644 (file)
index 5ccdfa5..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#include <assert.h>
-
-#include "va_dricommon.h"
-
-#include "intel_batchbuffer.h"
-#include "intel_memman.h"
-#include "intel_driver.h"
-
-static Bool
-intel_driver_get_param(struct intel_driver_data *intel, int param, int *value)
-{
-   struct drm_i915_getparam gp;
-
-   gp.param = param;
-   gp.value = value;
-
-   return drmCommandWriteRead(intel->fd, DRM_I915_GETPARAM, &gp, sizeof(gp)) == 0;
-}
-
-Bool 
-intel_driver_init(VADriverContextP ctx)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
-    int has_exec2, has_bsd, has_blt;
-
-    assert(dri_state);
-    assert(dri_state->driConnectedFlag == VA_DRI2 || 
-           dri_state->driConnectedFlag == VA_DRI1);
-
-    intel->fd = dri_state->fd;
-    intel->dri2Enabled = (dri_state->driConnectedFlag == VA_DRI2);
-
-    if (!intel->dri2Enabled) {
-        drm_sarea_t *pSAREA;
-
-        pSAREA = (drm_sarea_t *)dri_state->pSAREA;
-        intel->hHWContext = dri_state->hwContext;
-        intel->driHwLock = (drmLock *)(&pSAREA->lock);
-        intel->pPrivSarea = (void *)pSAREA + sizeof(drm_sarea_t);
-    }
-
-    intel->locked = 0;
-    pthread_mutex_init(&intel->ctxmutex, NULL);
-
-    intel_driver_get_param(intel, I915_PARAM_CHIPSET_ID, &intel->device_id);
-    if (intel_driver_get_param(intel, I915_PARAM_HAS_EXECBUF2, &has_exec2))
-        intel->has_exec2 = has_exec2;
-    if (intel_driver_get_param(intel, I915_PARAM_HAS_BSD, &has_bsd))
-        intel->has_bsd = has_bsd;
-    if (intel_driver_get_param(intel, I915_PARAM_HAS_BLT, &has_blt))
-        intel->has_blt = has_blt;
-
-    intel_memman_init(intel);
-    return True;
-}
-
-Bool 
-intel_driver_terminate(VADriverContextP ctx)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-
-    intel_memman_terminate(intel);
-    pthread_mutex_destroy(&intel->ctxmutex);
-
-    return True;
-}
-
-void 
-intel_lock_hardware(VADriverContextP ctx)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-    char __ret = 0;
-
-    PPTHREAD_MUTEX_LOCK();
-
-    assert(!intel->locked);
-
-    if (!intel->dri2Enabled) {
-        DRM_CAS(intel->driHwLock, 
-                intel->hHWContext,
-                (DRM_LOCK_HELD|intel->hHWContext),
-                __ret);
-
-        if (__ret) {
-            drmGetLock(intel->fd, intel->hHWContext, 0);
-        }      
-    }
-
-    intel->locked = 1;
-}
-
-void 
-intel_unlock_hardware(VADriverContextP ctx)
-{
-    struct intel_driver_data *intel = intel_driver_data(ctx);
-
-    if (!intel->dri2Enabled) {
-        DRM_UNLOCK(intel->fd, 
-                   intel->driHwLock,
-                   intel->hHWContext);
-    }
-
-    intel->locked = 0;
-    PPTHREAD_MUTEX_UNLOCK();
-}
diff --git a/i965_drv_video/intel_driver.h b/i965_drv_video/intel_driver.h
deleted file mode 100644 (file)
index e31360d..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-#ifndef _INTEL_DRIVER_H_
-#define _INTEL_DRIVER_H_
-
-#include <pthread.h>
-#include <signal.h>
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-
-#include <va/va_backend.h>
-
-#include "intel_compiler.h"
-
-#define BATCH_SIZE      0x80000
-#define BATCH_RESERVED  0x10
-
-#define CMD_MI                                  (0x0 << 29)
-#define CMD_2D                                  (0x2 << 29)
-#define CMD_3D                                  (0x3 << 29)
-
-#define MI_NOOP                                 (CMD_MI | 0)
-
-#define MI_BATCH_BUFFER_END                     (CMD_MI | (0xA << 23))
-#define MI_BATCH_BUFFER_START                   (CMD_MI | (0x31 << 23))
-
-#define MI_FLUSH                                (CMD_MI | (0x4 << 23))
-#define   MI_FLUSH_STATE_INSTRUCTION_CACHE_INVALIDATE   (0x1 << 0)
-
-#define MI_FLUSH_DW                             (CMD_MI | (0x26 << 23) | 0x2)
-#define   MI_FLUSH_DW_VIDEO_PIPELINE_CACHE_INVALIDATE   (0x1 << 7)
-
-#define XY_COLOR_BLT_CMD                        (CMD_2D | (0x50 << 22) | 0x04)
-#define XY_COLOR_BLT_WRITE_ALPHA                (1 << 21)
-#define XY_COLOR_BLT_WRITE_RGB                  (1 << 20)
-#define XY_COLOR_BLT_DST_TILED                  (1 << 11)
-
-/* BR13 */
-#define BR13_565                                (0x1 << 24)
-#define BR13_8888                               (0x3 << 24)
-
-#define CMD_PIPE_CONTROL                        (CMD_3D | (3 << 27) | (2 << 24) | (0 << 16))
-#define CMD_PIPE_CONTROL_NOWRITE                (0 << 14)
-#define CMD_PIPE_CONTROL_WRITE_QWORD            (1 << 14)
-#define CMD_PIPE_CONTROL_WRITE_DEPTH            (2 << 14)
-#define CMD_PIPE_CONTROL_WRITE_TIME             (3 << 14)
-#define CMD_PIPE_CONTROL_DEPTH_STALL            (1 << 13)
-#define CMD_PIPE_CONTROL_WC_FLUSH               (1 << 12)
-#define CMD_PIPE_CONTROL_IS_FLUSH               (1 << 11)
-#define CMD_PIPE_CONTROL_TC_FLUSH               (1 << 10)
-#define CMD_PIPE_CONTROL_NOTIFY_ENABLE          (1 << 8)
-#define CMD_PIPE_CONTROL_DC_FLUSH               (1 << 5)
-#define CMD_PIPE_CONTROL_GLOBAL_GTT             (1 << 2)
-#define CMD_PIPE_CONTROL_LOCAL_PGTT             (0 << 2)
-#define CMD_PIPE_CONTROL_DEPTH_CACHE_FLUSH      (1 << 0)
-
-
-struct intel_batchbuffer;
-
-#define ALIGN(i, n)    (((i) + (n) - 1) & ~((n) - 1))
-#define MIN(a, b) ((a) < (b) ? (a) : (b))
-#define MAX(a, b) ((a) > (b) ? (a) : (b))
-#define ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
-
-#define SET_BLOCKED_SIGSET()   do {     \
-        sigset_t bl_mask;               \
-        sigfillset(&bl_mask);           \
-        sigdelset(&bl_mask, SIGFPE);    \
-        sigdelset(&bl_mask, SIGILL);    \
-        sigdelset(&bl_mask, SIGSEGV);   \
-        sigdelset(&bl_mask, SIGBUS);    \
-        sigdelset(&bl_mask, SIGKILL);   \
-        pthread_sigmask(SIG_SETMASK, &bl_mask, &intel->sa_mask); \
-    } while (0)
-
-#define RESTORE_BLOCKED_SIGSET() do {    \
-        pthread_sigmask(SIG_SETMASK, &intel->sa_mask, NULL); \
-    } while (0)
-
-#define PPTHREAD_MUTEX_LOCK() do {             \
-        SET_BLOCKED_SIGSET();                  \
-        pthread_mutex_lock(&intel->ctxmutex);       \
-    } while (0)
-
-#define PPTHREAD_MUTEX_UNLOCK() do {           \
-        pthread_mutex_unlock(&intel->ctxmutex);     \
-        RESTORE_BLOCKED_SIGSET();              \
-    } while (0)
-
-struct intel_driver_data 
-{
-    int fd;
-    int device_id;
-
-    int dri2Enabled;
-    drm_context_t hHWContext;
-    drm_i915_sarea_t *pPrivSarea;
-    drmLock *driHwLock;
-
-    sigset_t sa_mask;
-    pthread_mutex_t ctxmutex;
-    int locked;
-
-    dri_bufmgr *bufmgr;
-
-    unsigned int has_exec2  : 1; /* Flag: has execbuffer2? */
-    unsigned int has_bsd    : 1; /* Flag: has bitstream decoder for H.264? */
-    unsigned int has_blt    : 1; /* Flag: has BLT unit? */
-};
-
-Bool intel_driver_init(VADriverContextP ctx);
-Bool intel_driver_terminate(VADriverContextP ctx);
-void intel_lock_hardware(VADriverContextP ctx);
-void intel_unlock_hardware(VADriverContextP ctx);
-
-static INLINE struct intel_driver_data *
-intel_driver_data(VADriverContextP ctx)
-{
-    return (struct intel_driver_data *)ctx->pDriverData;
-}
-
-struct intel_region
-{
-    int x;
-    int y;
-    unsigned int width;
-    unsigned int height;
-    unsigned int cpp;
-    unsigned int pitch;
-    unsigned int tiling;
-    unsigned int swizzle;
-    dri_bo *bo;
-};
-
-#define PCI_CHIP_GM45_GM                0x2A42
-#define PCI_CHIP_IGD_E_G                0x2E02
-#define PCI_CHIP_Q45_G                  0x2E12
-#define PCI_CHIP_G45_G                  0x2E22
-#define PCI_CHIP_G41_G                  0x2E32
-
-#define PCI_CHIP_IRONLAKE_D_G           0x0042
-#define PCI_CHIP_IRONLAKE_M_G           0x0046
-
-#ifndef PCI_CHIP_SANDYBRIDGE_GT1
-#define PCI_CHIP_SANDYBRIDGE_GT1       0x0102  /* Desktop */
-#define PCI_CHIP_SANDYBRIDGE_GT2       0x0112
-#define PCI_CHIP_SANDYBRIDGE_GT2_PLUS  0x0122
-#define PCI_CHIP_SANDYBRIDGE_M_GT1     0x0106  /* Mobile */
-#define PCI_CHIP_SANDYBRIDGE_M_GT2     0x0116
-#define PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS        0x0126
-#define PCI_CHIP_SANDYBRIDGE_S_GT      0x010A  /* Server */
-#endif
-
-#define PCI_CHIP_IVYBRIDGE_GT1          0x0152  /* Desktop */
-#define PCI_CHIP_IVYBRIDGE_GT2          0x0162
-#define PCI_CHIP_IVYBRIDGE_M_GT1        0x0156  /* Mobile */
-#define PCI_CHIP_IVYBRIDGE_M_GT2        0x0166
-#define PCI_CHIP_IVYBRIDGE_S_GT1        0x015a  /* Server */
-
-#define IS_G45(devid)           (devid == PCI_CHIP_IGD_E_G ||   \
-                                 devid == PCI_CHIP_Q45_G ||     \
-                                 devid == PCI_CHIP_G45_G ||     \
-                                 devid == PCI_CHIP_G41_G)
-#define IS_GM45(devid)          (devid == PCI_CHIP_GM45_GM)
-#define IS_G4X(devid)          (IS_G45(devid) || IS_GM45(devid))
-
-#define IS_IRONLAKE_D(devid)    (devid == PCI_CHIP_IRONLAKE_D_G)
-#define IS_IRONLAKE_M(devid)    (devid == PCI_CHIP_IRONLAKE_M_G)
-#define IS_IRONLAKE(devid)      (IS_IRONLAKE_D(devid) || IS_IRONLAKE_M(devid))
-
-#define IS_GEN6(devid)          (devid == PCI_CHIP_SANDYBRIDGE_GT1 || \
-                                 devid == PCI_CHIP_SANDYBRIDGE_GT2 || \
-                                 devid == PCI_CHIP_SANDYBRIDGE_GT2_PLUS ||\
-                                 devid == PCI_CHIP_SANDYBRIDGE_M_GT1 || \
-                                 devid == PCI_CHIP_SANDYBRIDGE_M_GT2 || \
-                                 devid == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS || \
-                                 devid == PCI_CHIP_SANDYBRIDGE_S_GT)
-
-#define IS_GEN7(devid)          (devid == PCI_CHIP_IVYBRIDGE_GT1 ||     \
-                                 devid == PCI_CHIP_IVYBRIDGE_GT2 ||     \
-                                 devid == PCI_CHIP_IVYBRIDGE_M_GT1 ||   \
-                                 devid == PCI_CHIP_IVYBRIDGE_M_GT2 ||   \
-                                 devid == PCI_CHIP_IVYBRIDGE_S_GT1)
-
-#endif /* _INTEL_DRIVER_H_ */
diff --git a/i965_drv_video/intel_memman.c b/i965_drv_video/intel_memman.c
deleted file mode 100644 (file)
index 7d56e96..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- *    Xiang Haihao <haihao.xiang@intel.com>
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-
-#include <assert.h>
-
-#include "intel_driver.h"
-
-Bool 
-intel_memman_init(struct intel_driver_data *intel)
-{
-    intel->bufmgr = intel_bufmgr_gem_init(intel->fd, BATCH_SIZE);
-    assert(intel->bufmgr);
-    intel_bufmgr_gem_enable_reuse(intel->bufmgr);
-
-    return True;
-}
-
-Bool 
-intel_memman_terminate(struct intel_driver_data *intel)
-{
-    drm_intel_bufmgr_destroy(intel->bufmgr);
-    return True;
-}
diff --git a/i965_drv_video/intel_memman.h b/i965_drv_video/intel_memman.h
deleted file mode 100644 (file)
index 4e516e5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _INTEL_MEMMAN_H_
-#define _INTEL_MEMMAN_H_
-
-Bool intel_memman_init(struct intel_driver_data *intel);
-Bool intel_memman_terminate(struct intel_driver_data *intel);
-
-#endif /* _INTEL_MEMMAN_H_ */
diff --git a/i965_drv_video/object_heap.c b/i965_drv_video/object_heap.c
deleted file mode 100644 (file)
index 46062fb..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2007 Intel Corporation. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include "object_heap.h"
-
-#include "assert.h"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define ASSERT assert
-
-#define LAST_FREE      -1
-#define ALLOCATED      -2
-
-/*
- * Expands the heap
- * Return 0 on success, -1 on error
- */
-static int object_heap_expand( object_heap_p heap )
-{
-    int i;
-    void *new_heap_index;
-    int next_free;
-    int new_heap_size = heap->heap_size + heap->heap_increment;
-    
-    new_heap_index = (void *) realloc( heap->heap_index, new_heap_size * heap->object_size );
-    if ( NULL == new_heap_index )
-    {
-        return -1; /* Out of memory */
-    }
-    heap->heap_index = new_heap_index;
-    next_free = heap->next_free;
-    for(i = new_heap_size; i-- > heap->heap_size; )
-    {
-        object_base_p obj = (object_base_p) (heap->heap_index + i * heap->object_size);
-        obj->id = i + heap->id_offset;
-        obj->next_free = next_free;
-        next_free = i;
-    }
-    heap->next_free = next_free;
-    heap->heap_size = new_heap_size;
-    return 0; /* Success */
-}
-
-/*
- * Return 0 on success, -1 on error
- */
-int object_heap_init( object_heap_p heap, int object_size, int id_offset)
-{
-    heap->object_size = object_size;
-    heap->id_offset = id_offset & OBJECT_HEAP_OFFSET_MASK;
-    heap->heap_size = 0;
-    heap->heap_increment = 16;
-    heap->heap_index = NULL;
-    heap->next_free = LAST_FREE;
-    _i965InitMutex(&heap->mutex);
-    return object_heap_expand(heap);
-}
-
-/*
- * Allocates an object
- * Returns the object ID on success, returns -1 on error
- */
-int object_heap_allocate( object_heap_p heap )
-{
-    object_base_p obj;
-
-    _i965LockMutex(&heap->mutex);
-    if ( LAST_FREE == heap->next_free )
-    {
-        if( -1 == object_heap_expand( heap ) )
-        {
-            _i965UnlockMutex(&heap->mutex);
-            return -1; /* Out of memory */
-        }
-    }
-    ASSERT( heap->next_free >= 0 );
-    
-    obj = (object_base_p) (heap->heap_index + heap->next_free * heap->object_size);
-    heap->next_free = obj->next_free;
-    _i965UnlockMutex(&heap->mutex);
-    
-    obj->next_free = ALLOCATED;
-    return obj->id;
-}
-
-/*
- * Lookup an object by object ID
- * Returns a pointer to the object on success, returns NULL on error
- */
-object_base_p object_heap_lookup( object_heap_p heap, int id )
-{
-    object_base_p obj;
-
-    _i965LockMutex(&heap->mutex);
-    if ( (id < heap->id_offset) || (id > (heap->heap_size+heap->id_offset)) )
-    {
-        _i965UnlockMutex(&heap->mutex);
-        return NULL;
-    }
-    id &= OBJECT_HEAP_ID_MASK;
-    obj = (object_base_p) (heap->heap_index + id * heap->object_size);
-    _i965UnlockMutex(&heap->mutex);
-
-       /* Check if the object has in fact been allocated */
-       if ( obj->next_free != ALLOCATED )
-    {
-        return NULL;
-    }
-    return obj;
-}
-
-/*
- * Iterate over all objects in the heap.
- * Returns a pointer to the first object on the heap, returns NULL if heap is empty.
- */
-object_base_p object_heap_first( object_heap_p heap, object_heap_iterator *iter )
-{
-    *iter = -1;
-    return object_heap_next( heap, iter );
-}
-
-/*
- * Iterate over all objects in the heap.
- * Returns a pointer to the next object on the heap, returns NULL if heap is empty.
- */
-object_base_p object_heap_next( object_heap_p heap, object_heap_iterator *iter )
-{
-    object_base_p obj;
-    int i = *iter + 1;
-    _i965LockMutex(&heap->mutex);
-    while ( i < heap->heap_size)
-    {
-        obj = (object_base_p) (heap->heap_index + i * heap->object_size);
-        if (obj->next_free == ALLOCATED)
-        {
-            _i965UnlockMutex(&heap->mutex);
-            *iter = i;
-            return obj;
-        }
-        i++;
-    }
-    _i965UnlockMutex(&heap->mutex);
-    *iter = i;
-    return NULL;
-}
-
-
-
-/*
- * Frees an object
- */
-void object_heap_free( object_heap_p heap, object_base_p obj )
-{
-    /* Don't complain about NULL pointers */
-    if (NULL != obj)
-    {
-        /* Check if the object has in fact been allocated */
-        ASSERT( obj->next_free == ALLOCATED );
-    
-        _i965LockMutex(&heap->mutex);
-        obj->next_free = heap->next_free;
-        heap->next_free = obj->id & OBJECT_HEAP_ID_MASK;
-        _i965UnlockMutex(&heap->mutex);
-    }
-}
-
-/*
- * Destroys a heap, the heap must be empty.
- */
-void object_heap_destroy( object_heap_p heap )
-{
-    object_base_p obj;
-    int i;
-
-    _i965DestroyMutex(&heap->mutex);
-
-    /* Check if heap is empty */
-    for (i = 0; i < heap->heap_size; i++)
-    {
-        /* Check if object is not still allocated */
-        obj = (object_base_p) (heap->heap_index + i * heap->object_size);
-        ASSERT( obj->next_free != ALLOCATED );
-    }
-    free(heap->heap_index);
-    heap->heap_size = 0;
-    heap->heap_index = NULL;
-    heap->next_free = LAST_FREE;
-}
diff --git a/i965_drv_video/object_heap.h b/i965_drv_video/object_heap.h
deleted file mode 100644 (file)
index 82a6917..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2007 Intel Corporation. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _OBJECT_HEAP_H_
-#define _OBJECT_HEAP_H_
-
-#include "i965_mutext.h"
-
-#define OBJECT_HEAP_OFFSET_MASK                0x7F000000
-#define OBJECT_HEAP_ID_MASK                    0x00FFFFFF
-
-typedef struct object_base *object_base_p;
-typedef struct object_heap *object_heap_p;
-
-struct object_base {
-    int id;
-    int next_free;
-};
-
-struct object_heap {
-    int        object_size;
-    int id_offset;
-    void *heap_index;
-    int next_free;
-    int heap_size;
-    int heap_increment;
-    _I965Mutex mutex;
-};
-
-typedef int object_heap_iterator;
-
-/*
- * Return 0 on success, -1 on error
- */
-int object_heap_init( object_heap_p heap, int object_size, int id_offset);
-
-/*
- * Allocates an object
- * Returns the object ID on success, returns -1 on error
- */
-int object_heap_allocate( object_heap_p heap );
-
-/*
- * Lookup an allocated object by object ID
- * Returns a pointer to the object on success, returns NULL on error
- */
-object_base_p object_heap_lookup( object_heap_p heap, int id );
-
-/*
- * Iterate over all objects in the heap.
- * Returns a pointer to the first object on the heap, returns NULL if heap is empty.
- */
-object_base_p object_heap_first( object_heap_p heap, object_heap_iterator *iter );
-
-/*
- * Iterate over all objects in the heap.
- * Returns a pointer to the next object on the heap, returns NULL if heap is empty.
- */
-object_base_p object_heap_next( object_heap_p heap, object_heap_iterator *iter );
-
-/*
- * Frees an object
- */
-void object_heap_free( object_heap_p heap, object_base_p obj );
-
-/*
- * Destroys a heap, the heap must be empty.
- */
-void object_heap_destroy( object_heap_p heap );
-
-#endif /* _OBJECT_HEAP_H_ */
diff --git a/i965_drv_video/shaders/Makefile.am b/i965_drv_video/shaders/Makefile.am
deleted file mode 100644 (file)
index 17770a9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = h264 mpeg2 render post_processing vme
diff --git a/i965_drv_video/shaders/gpp.py b/i965_drv_video/shaders/gpp.py
deleted file mode 100755 (executable)
index 7e43f13..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-#!/usr/bin/env python
-#coding=UTF-8
-
-# Copyright © 2011 Intel Corporation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-#
-# Authors:
-#    Chen, Yangyang <yangyang.chen@intel.com>
-#    Han, Haofu     <haofu.han@intel.com>
-#
-
-import sys
-
-class Block:
-       def __init__(self, ln=0, s=None):
-               assert type(ln) == int
-               assert type(s) == str or s == None
-               self.lineno = ln
-               self.text = s
-               self.subblocks = []
-
-       def append(self, block):
-               self.subblocks.append(block)
-
-       def checkfor(self, line):
-               import re
-               p = r'\$\s*for\s*'
-               if re.match(p, line) == None:
-                       raise Exception(self.__errmsg('syntax error'))
-               tail = line.split('(', 1)[1].rsplit(')', 1)
-               conds = tail[0].split(';')
-               lb = tail[1]
-               if lb.strip() != '{':
-                       raise Exception(self.__errmsg('missing "{"'))
-               if len(conds) != 3:
-                       raise Exception(self.__errmsg('syntax error(miss ";"?)'))
-               init = conds[0]
-               cond = conds[1]
-               step = conds[2]
-               self.__parse_init(init)
-               self.__parse_cond(cond)
-               self.__parse_step(step)
-
-       def __parse_init(self, init):
-               inits = init.split(',')
-               self.param_init = []
-               for ini in inits:
-                       try:
-                               val = eval(ini)
-                               self.param_init.append(val)
-                       except:
-                               raise Exception(self.__errmsg('non an exp: %s'%ini))
-               self.param_num = len(inits)
-
-       def __parse_cond(self, cond):
-               cond = cond.strip()
-               if cond[0] in ['<', '>']:
-                       if cond[1] == '=':
-                               self.param_op = cond[:2]
-                               limit = cond[2:]
-                       else:
-                               self.param_op = cond[0]
-                               limit = cond[1:]
-                       try:
-                               self.param_limit = eval(limit)
-                       except:
-                               raise Exception(self.__errmsg('non an exp: %s'%limit))
-               else:
-                       raise Exception(self.__errmsg('syntax error'))
-
-       def __parse_step(self, step):
-               steps = step.split(',')
-               if len(steps) != self.param_num:
-                       raise Exception(self.__errmsg('params number no match'))
-               self.param_step = []
-               for st in steps:
-                       try:
-                               val = eval(st)
-                               self.param_step.append(val)
-                       except:
-                               raise Exception(self.__errmsg('non an exp: %s'%st))
-
-       def __errmsg(self, msg=''):
-               return '%d: %s' % (self.lineno, msg)
-
-def readlines(f):
-       lines = f.readlines()
-       buf = []
-       for line in lines:
-               if '\\n' in line:
-                       tmp = line.split('\\n')
-                       buf.extend(tmp)
-               else:
-                       buf.append(line)
-       return buf
-
-def parselines(lines):
-       root = Block(0)
-       stack = [root]
-       lineno = 0
-       for line in lines:
-               lineno += 1
-               line = line.strip()
-               if line.startswith('$'):
-                       block = Block(lineno)
-                       block.checkfor(line)
-                       stack[-1].append(block)
-                       stack.append(block)
-               elif line.startswith('}'):
-                       stack.pop()
-               elif line and not line.startswith('#'):
-                       stack[-1].append(Block(lineno, line))
-       return root
-
-def writeblocks(outfile, blocks):
-       buf = []
-
-       def check_cond(op, cur, lim):
-               assert op in ['<', '>', '<=', '>=']
-               assert type(cur) == int
-               assert type(lim) == int
-               return eval('%d %s %d' % (cur, op, lim))
-
-       def do_writeblock(block, curs):
-               if block.text != None:
-                       import re
-                       p = r'\%(\d+)'
-                       newline = block.text
-                       params = set(re.findall(p, block.text))
-                       for param in params:
-                               index = int(param) - 1
-                               if index >= len(curs):
-                                       raise Exception('%d: too many param(%%%d)'%(block.lineno, index+1))
-                               newline = newline.replace('%%%d'%(index+1), str(curs[index]))
-                       if newline and \
-                                       not newline.startswith('.') and \
-                                       not newline.endswith(':') and \
-                                       not newline.endswith(';'):
-                               newline += ';'
-                       buf.append(newline)
-               else:
-                       for_curs = block.param_init
-                       while check_cond(block.param_op, for_curs[0], block.param_limit):
-                               for sblock in block.subblocks:
-                                       do_writeblock(sblock, for_curs)
-                               for i in range(0, block.param_num):
-                                       for_curs[i] += block.param_step[i]
-
-       for block in blocks.subblocks:
-               do_writeblock(block, [])
-       outfile.write('\n'.join(buf))
-       outfile.write('\n')
-
-if __name__ == '__main__':
-       argc = len(sys.argv)
-       if argc == 1:
-               print >>sys.stderr, 'no input file'
-               sys.exit(0)
-
-       try:
-               infile = open(sys.argv[1], 'r')
-       except IOError:
-               print >>sys.stderr, 'can not open %s' % sys.argv[1]
-               sys.exit(1)
-
-       if argc == 2:
-               outfile = sys.stdout
-       else:
-               try:
-                       outfile = open(sys.argv[2], 'w')
-               except IOError:
-                       print >>sys.stderr, 'can not write to %s' % sys.argv[2]
-                       sys.exit(1)
-
-       lines = readlines(infile)
-       try:
-               infile.close()
-       except IOError:
-               pass
-
-       blocks = parselines(lines)
-       writeblocks(outfile, blocks)
diff --git a/i965_drv_video/shaders/h264/Makefile.am b/i965_drv_video/shaders/h264/Makefile.am
deleted file mode 100644 (file)
index d6d106b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = mc
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB.inc b/i965_drv_video/shaders/h264/ildb/AVC_ILDB.inc
deleted file mode 100644 (file)
index 4b3535e..0000000
+++ /dev/null
@@ -1,718 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__AVC_ILDB_HEADER__)      // Make sure this file is only included once\r
-#define __AVC_ILDB_HEADER__\r
-\r
-// Module name: AVC_ILDB.inc\r
-\r
-#undef ORIX\r
-#undef ORIY\r
-\r
-//========== Root thread input parameters ==================================================\r
-#define RootParam                              r1              // :w\r
-#define        MBsCntX                                 r1.0    // :w, MB count per row\r
-#define        MBsCntY                                 r1.1    // :w, MB count per col\r
-//#define PicType                                      r1.2    // :w, Picture type\r
-#define        MaxThreads                              r1.3    // :w, Max Thread limit\r
-#define EntrySignature                 r1.4    // :w, Debug flag\r
-#define BitFields                              r1.5    // :uw\r
-#define        MbaffFlag                       BIT0    // :w, mbaff flag, bit 0 in BitFields\r
-#define        BotFieldFlag            BIT1    // :w, bottom field flag, bit 1 in BitFields\r
-#define        CntlDataExpFlag         BIT2    // :w, Control Data Expansion Flag, bit 2 in BitFields\r
-#define RampConst                              r1.12   // 8 :ub, Ramp constant, r1.12 - r1.19:ub\r
-#define StepToNextMB                   r1.20   // :b, 2 bytes\r
-#define Minus2Minus1                   r1.22   // :b, 2 bytes\r
-// next one starts at r1.11:w\r
-\r
-#define        TopFieldFlag            0xFFFD  // :w, top field flag, used to set bit1 to 0.\r
-\r
-\r
-//========== Root Locals =============================================================\r
-\r
-// Variables in root kernel for launching child therad\r
-#define ChildParam                             r2.0    // :w\r
-//Not used  #define    URBOffset                               r2.3    // :w, Each row occupies 4 URB entries.  All children in the same row use the same set of URB entries\r
-#define        CurCol                                  r2.10   // :w, current col\r
-#define        CurColB                                 r2.20   // :b, current col\r
-#define        CurRow                                  r2.11   // :w, current row\r
-#define        CurRowB                                 r2.22   // :b, current row\r
-#define        LastCol                                 r2.12   // :w, last col\r
-#define        LastRow                                 r2.13   // :w, last row\r
-\r
-// Root local constants during spawning process\r
-#define        Col_Boundary                    r3.0    // :w, \r
-#define        Row_Boundary                    r3.1    // :w, \r
-//#define      TotalBlocks                             r3.2    // :w, Total blocks in the frame \r
-#define        URB_EntriesPerMB_2              r3.3    // :w, = URB entries per MB, but in differnt form\r
-#define        URBOffsetUVBase                 r3.4    // :w, UV Base offset in URB\r
-\r
-#define        Temp1_D                                 r3.6    // :d:\r
-#define        Temp1_W                                 r3.12   // :w, Temp1\r
-#define        Temp1_B                                 r3.24   // :b, = Temp1_W\r
-#define        Temp2_W                                 r3.13   // :w, Temp2\r
-#define        Temp2_B                                 r3.26   // :b, = Temp2_W\r
-\r
-// Root local variables\r
-#define JumpTable                              r4              // :d, jump table\r
-#define JUMPTABLE_BASE                 4*32\r
-#define JumpAddr                               a0.7\r
-\r
-#define TopRowForScan                  r5.0    // :w, track the top row for scan. All rows above this row is deblocked already. \r
-\r
-\r
-// Child Thread R0 Header Field\r
-#define MRF0                                   m0              \r
-#define CT_R0Hdr                               m1\r
-\r
-/*\r
-.declare GatewayAperture       Base=r50.0 ElementSize=4 SrcRegion=REGION(8,1) Type=ud  \r
-#define GatewayApertureB       1600    // r50 byte offset from r0.0\r
-\r
-// Chroma root thread updates luma root's ThreadLimit at r10.0:w via gateway\r
-#define ThreadLimit                            r62.0   // :w, thread limit //r56.0\r
-#define THREAD_LIMIT_OFFSET            0x01800000      // Offset from r50 to r56 = 12*32 = 384 = 0x0180.  0x180 << 16 = 0x01800000\r
-       //#define THREAD_LIMIT_OFFSET           0x00C00000      // Offset from r50 to r56 = 6*32 = 192 = 0x00C0.  0xC0 << 16 = 0x00C00000\r
-*/\r
-\r
-// Gateway size is 16 GRF.  68 rows of MBs takes 9 GRFs (r6 - r14)\r
-// For CTG: Expended to support 1280 rows of pixel (80 rows of MBs).  It requires 10 GRFs (r6 - r15)\r
-.declare GatewayAperture       Base=r6.0 ElementSize=4 SrcRegion=REGION(8,1) Type=ud   \r
-#define GatewayApertureB       192     // r0.0 byte offset from r0.0\r
-\r
-// Chroma root thread updates luma root's ThreadLimit at r10.0:w via gateway\r
-#define ThreadLimit                            r18.0   // :w, thread limit \r
-#define THREAD_LIMIT_OFFSET            0x01800000      // Offset from r50 to r56 = 12*32 = 384 = 0x0180.  0x180 << 16 = 0x01800000\r
-#define        TotalBlocks                             r18.1   // :w, Total blocks in the frame \r
-\r
-// Root local variables\r
-#define        ChildThreadsID                  r19.0   // :w, Child thread ID, unique to each child\r
-#define        OutstandingThreads              r20.0   // :w, Outstanding threads \r
-#define ProcessedMBs                   r20.1   // :w, # of MBs processed \r
-\r
-#define        URBOffset                               r21.0   // :w, Each row occupies 4 URB entries.  All children in the same row use the same set of URB entries\r
-\r
-//=================================================================================\r
-\r
-#define ScoreBd_Size                   128 //96 // size of Status[] or ProcCol[]\r
-\r
-#define ScoreBd_Idx                            2               \r
-//#define Saved_Col                            0\r
-\r
-#define StatusAddr                             a0.4    // :w, point to r50\r
-//=================================================================================\r
-\r
-\r
-// Gateway payload\r
-#define GatewayPayload                 r48.0   // :ud\r
-#define GatewayPayloadKey              r48.8   // :uw\r
-#define DispatchID                             r48.20  // :ub\r
-#define RegBase_GatewaySize    r48.5   // :ud, used in open a gateway\r
-#define Offset_Length                  r48.5   // :ud, used in forwardmsg back to root\r
-#define EUID_TID                               r48.9   // :uw, used in forwardmsg back to root\r
-\r
-// Gateway response\r
-#define GatewayResponse                r49.0   // :ud, one GRF\r
-\r
-#define URBWriteMsgDesc                        a0.0    // Used in URB write, :ud\r
-#define URBWriteMsgDescLow             a0.0    // Used in URB write, :uw\r
-#define URBWriteMsgDescHigh            a0.1    // Used in URB write, :uw\r
-\r
-.declare WritebackResponse             Base=r50 ElementSize=4 SrcRegion=REGION(8,1) Type=ud    // 1 GRF for write backs\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////////////\r
-// IDesc Order                                 Offset\r
-//\r
-// 0) luma root                                        0 from luma root\r
-// 1) luma child                               16 from luma root\r
-// 2) chroma root                              32 from luma root\r
-// 3) chroma child                             16 from chroma root\r
-\r
-// 4) luma field root                  0 from luma field root\r
-// 5) luma field child                 16 from luma field root\r
-// 6) chroma field root                        32 from luma field root\r
-// 7) chroma field child               16 from chroma field root\r
-\r
-// 8) luma Mbaff root                  0 from luma Mbaff root\r
-// 9) luma Mbaff child                         16 from luma Mbaff root\r
-// 10) chroma Mbaff root               32 from luma Mbaff root\r
-// 11) chroma Mbaff child              16 from chroma Mbaff root\r
-\r
-// IDesc offset within non-mbaff or mbaff mode\r
-#define CHROMA_ROOT_OFFSET             32              // Offset from luma root to chroma root\r
-#define CHILD_OFFSET                   16              // Offset from luma root to luma child, \r
-                                                                               // and from chroma root to chroma child\r
-/////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-//========== End of Root Variables ======================================================\r
-\r
-\r
-//========== Child thread input parameters ==============================================\r
-//#define      MBsCntX                                 r1.0    // :w, MB count per row (same as root)\r
-//#define      MBsCntY                                 r1.1    // :w, MB count per col (same as root)\r
-//#define PicTypeC                             r1.2    // :w, Picture type             same as root thread (same as root)\r
-#define        URBOffsetC                              r1.3    // :w, \r
-#define EntrySignatureC                        r1.4    // :w, Debug field (same as root)\r
-//#define BitFields                            r1.5    // :w (same as root)\r
-//#define      MbaffFlag                       BIT0    // :w, mbaff flag, bit 0 in BitFields\r
-//#define      BotFieldFlag            BIT1    // :w, bottom field flag, bit 1 in BitFields\r
-//#define      CntlDataExpFlag         BIT2    // :w, Control Data Expansion Flag, bit 2 in BitFields\r
-#define RampConstC                             r1.12   // 8 :ub, Ramp constant, r1.12 - r1.19:ub.\r
-#define        ORIX                                    r1.10   // :w, carry over from root r1 in MB count\r
-#define        ORIY                                    r1.11   // :w, carry over from root r1 in MB count\r
-#define        LastColC                                r1.12   // :w, last col\r
-#define        LastRowC                                r1.13   // :w, last row\r
-\r
-.declare GatewayApertureC              Base=r1.0 ElementSize=4 SrcRegion=REGION(8,1) Type=ud   \r
-#define GatewayApertureCBase   32              // r1 byte offset from r0.0\r
-\r
-\r
-//========== Child Variables ============================================================\r
-\r
-// Mbaff Alpha, Beta, Tc0 vectors for an edge\r
-.declare Mbaff_ALPHA   Base=r14.0  ElementSize=2 SrcRegion=REGION(8,1) Type=uw         // r14\r
-.declare Mbaff_BETA    Base=r15.0  ElementSize=2 SrcRegion=REGION(8,1) Type=uw         // r15\r
-.declare Mbaff_TC0             Base=r16.0  ElementSize=2 SrcRegion=REGION(8,1) Type=uw         // r16\r
-.declare RRampW                        Base=r17.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w           // r17\r
-\r
-.declare Mbaff_ALPHA2  Base=r45.0  ElementSize=2 SrcRegion=REGION(8,1) Type=uw         // alpha2 = (alpha >> 2) + 2\r
-\r
-\r
-#define        ORIX_CUR                                r46.0   // :w, current block origin X in bytes\r
-#define        ORIY_CUR                                r46.1   // :w, current block origin Y in bytes\r
-#define        ORIX_LEFT                               r46.2   // :w, left block origin X in bytes\r
-#define        ORIY_LEFT                               r46.3   // :w, left block origin Y in bytes\r
-#define        ORIX_TOP                                r46.4   // :w, top block origin X in bytes\r
-#define        ORIY_TOP                                r46.5   // :w, top block origin Y in bytes\r
-//#define FilterSampleFlag             r46.6   // :uw,\r
-#define        CTemp0_W                                r46.7   // :w, child Temp0\r
-\r
-#define alpha                                  r46.8   // :w, Scaler version for non Mbaff\r
-#define beta                                   r46.9   // :w, Scaler version for non Mbaff\r
-#define tc0                                            r46.20  // 4 :ub, r46.20 ~ r46.23, Scaler version for non Mbaff\r
-#define MaskA                                  r46.12  // :uw\r
-#define MaskB                                  r46.13  // :uw\r
-\r
-// Child control flags\r
-#define DualFieldMode                  r47.0   // Cur MB is frame based, above MB is field based in mbaff mode\r
-                                                                               // :uw, 0 = not in dual field mode,  1 = in dual field mode, filter both top and bot fields\r
-#define        GateWayOffsetC                  r47.1   // :w, Gateway offset for child writing into root space\r
-#define CntrlDataOffsetY               r47.1   // :ud, MB control data data offset\r
-#define alpha2                                 r47.4   // :uw,         alpha2 = (alpha >> 2) + 2\r
-\r
-#define VertEdgePattern                        r47.5   // :uw, \r
-\r
-#define        CTemp1_W                                r47.6   // :w, child Temp1\r
-#define        CTemp1_B                                r47.12  // :b, = child Temp1_W\r
-#define        CTemp2_W                                r47.7   // :w, child Temp2\r
-#define        CTemp2_B                                r47.14  // :b, = child Temp2_W\r
-\r
-// Used in child\r
-#define ECM_AddrReg                            a0.4    // Edge Control Map register\r
-#define P_AddrReg                              a0.6    // point to P samples in left or top MB\r
-#define Q_AddrReg                              a0.7    // point to Q samples in cur MB\r
-\r
-\r
-.declare       RTempD     Base=r26.0 ElementSize=4 SrcRegion=REGION(8,1) Type=d        // r26-27\r
-.declare       RTempB     Base=r26.0 ElementSize=1 SrcRegion=REGION(8,4) Type=ub       // r26-27\r
-.declare       RTempW     Base=r26.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w        // r26-27\r
-#define        LEFT_TEMP_D             RTempD\r
-#define        LEFT_TEMP_B             RTempB\r
-#define        LEFT_TEMP_W             RTempW\r
-\r
-.declare       TempRow0   Base=r26.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       TempRow0B  Base=r26.0 ElementSize=1 SrcRegion=REGION(8,2) Type=ub\r
-.declare       TempRow1   Base=r27.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       TempRow1B  Base=r27.0 ElementSize=1 SrcRegion=REGION(8,2) Type=ub\r
-\r
-.declare       CUR_TEMP_D      Base=r28.0 ElementSize=4 SrcRegion=REGION(8,1) Type=d   // 8 GRFs\r
-.declare       CUR_TEMP_B      Base=r28.0 ElementSize=1 SrcRegion=REGION(8,4) Type=ub\r
-.declare       CUR_TEMP_W      Base=r28.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-#define FilterSampleFlag               r28.0   // :uw,\r
-\r
-.declare       A               Base=r28.0 ElementSize=2 SrcRegion=REGION(16,1) Type=w\r
-.declare       BB              Base=r29.0 ElementSize=2 SrcRegion=REGION(16,1) Type=w\r
-\r
-.declare       TempRow3   Base=r30.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       TempRow3B  Base=r30.0 ElementSize=1 SrcRegion=REGION(8,2) Type=ub\r
-\r
-.declare       tc0_exp         Base=r30.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       tc8                     Base=r30.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-.declare       tc_exp          Base=r31.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       tx_exp_8        Base=r31.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-.declare       q0_p0           Base=r32.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       ABS_q0_p0       Base=r33.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-.declare       ap                      Base=r34.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       aq                      Base=r35.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-// These buffers have the src data for each edge to be beblocked.\r
-// They have modified pixels from previous edges.\r
-//\r
-//     Y:\r
-//     +----+----+----+----+----+----+----+----+\r
-//     | p3 | p2 | P1 | p0 | q0 | q1 | q2 | q3 |\r
-//     +----+----+----+----+----+----+----+----+\r
-//\r
-//     p3 = r[P_AddrReg, 0]<16;16,1>  \r
-//     p2 = r[P_AddrReg, 16]<16;16,1> \r
-//     p1 = r[P_AddrReg, 32]<16;16,1> \r
-//     p0 = r[P_AddrReg, 48]<16;16,1> \r
-//     q0 = r[Q_AddrReg, 0]<16;16,1>  \r
-//     q1 = r[Q_AddrReg, 16]<16;16,1> \r
-//     q2 = r[Q_AddrReg, 32]<16;16,1> \r
-//     q3 = r[Q_AddrReg, 48]<16;16,1> \r
-\r
-.declare       p0123_W         Base=r36.0  ElementSize=2 SrcRegion=REGION(16,1) Type=uw                // r36, r37\r
-.declare       q0123_W         Base=r38.0  ElementSize=2 SrcRegion=REGION(16,1) Type=uw                // r38, r39\r
-.declare       p3                      Base=r36.0  ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       p2                      Base=r36.16 ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       p1                      Base=r37.0  ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       p0                      Base=r37.16 ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       q0                      Base=r38.0  ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       q1                      Base=r38.16 ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       q2                      Base=r39.0  ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-.declare       q3                      Base=r39.16 ElementSize=1 SrcRegion=REGION(8,1) Type=ub\r
-\r
-.declare       TempRow2   Base=r38.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-// Temp space for mbaff dual field mode\r
-#define                ABOVE_CUR_MB_BASE       40*GRFWIB                                                                                       // Byte offset to r40\r
-.declare    ABOVE_CUR_MB_YW  Base=r40  ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-.declare    ABOVE_CUR_MB_UW  Base=r40  ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-\r
-.declare       P0_plus_P1   Base=r41.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       Q0_plus_Q1   Base=r42.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-.declare       P2_plus_P3   Base=r43.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare       Q2_plus_Q3   Base=r44.0 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-// MB control data reference\r
-\r
-// Expanded control data is in r18 - r25\r
-.declare    CNTRL_DATA_D Base=r18      ElementSize=4 SrcRegion=REGION(8,1) Type=ud             // For read, 8 GRFs\r
-#define                CNTRL_DATA_BASE 18*GRFWIB                                                                                               // Base offset to r18\r
-\r
-//  Bit mask for extracting bits\r
-#define        MbaffFrameFlag                                  0x01\r
-#define        FieldModeCurrentMbFlag                  0x02\r
-#define FieldModeLeftMbFlag                            0x04\r
-#define FieldModeAboveMbFlag                   0x08\r
-#define FilterInternal8x8EdgesFlag             0x10\r
-#define FilterInternal4x4EdgesFlag             0x20\r
-#define FilterLeftMbEdgeFlag                   0x40\r
-#define FilterTopMbEdgeFlag                            0x80\r
-\r
-#define        DISABLE_ILDB_FLAG                               0x01\r
-\r
-//  Exact bit pattern for left and cur MB coding mode (frame vs. field)\r
-#define LEFT_FRAME_CUR_FRAME                   0x00\r
-#define LEFT_FRAME_CUR_FIELD                   0x02\r
-#define LEFT_FIELD_CUR_FRAME                   0x04\r
-#define LEFT_FIELD_CUR_FIELD                   0x06\r
-\r
-//  Exact bit pattern for above and cur MB coding mode (frame vs. field)\r
-#define ABOVE_FRAME_CUR_FRAME                  0x00\r
-#define ABOVE_FRAME_CUR_FIELD                  0x02\r
-#define ABOVE_FIELD_CUR_FRAME                  0x08\r
-#define ABOVE_FIELD_CUR_FIELD                  0x0A\r
-\r
-\r
-\r
-//========== MB control data field offset in byte ==========\r
-\r
-#if !defined(_APPLE)\r
-\r
-// GRF0 - GRF1 holds original control data\r
-\r
-// GRF0\r
-#define HorizOrigin                                            0\r
-#define VertOrigin                                             1\r
-#define BitFlags                                               2               // Bit flags\r
-\r
-#define bbSinternalLeftVert                            4               // Internal left vertical bS, 2 bits per bS for 4 Y pixels and 2 U/V pixels     \r
-#define bbSinternalMidVert                             5               // Internal mid vertical bS\r
-#define bbSinternalRightVert                   6               // Internal right vertical bS\r
-#define bbSinternalTopHorz                             7               // Internal top horizontal bS\r
-\r
-#define        bbSinternalMidHorz                              8               // Internal mid horizontal bS\r
-#define        bbSinternalBotHorz                              9               // Internal bottom horizontal bS\r
-#define        wbSLeft0                                                10              // External left vertical bS (0), 4 bits per bS for 4 Y pixels and 2 U/V pixels, and byte 11\r
-\r
-#define        wbSLeft1                                                12              // External left vertical bS (1), and byte 13\r
-#define        wbSTop0                                                 14              // External top horizontal bS (0), and byte 15\r
-\r
-#define        wbSTop1                                                 16              // Externaltop horizontal bS (1), and byte 17\r
-#define        bIndexAinternal_Y                               18              // Internal index A for Y\r
-#define        bIndexBinternal_Y                               19              // Internal index B for Y\r
-\r
-#define        bIndexAleft0_Y                                  20              // Left index A for Y (0)\r
-#define        bIndexBleft0_Y                                  21              // Left index B for Y (0)\r
-#define        bIndexAleft1_Y                                  22              // Left index A for Y (1)\r
-#define        bIndexBleft1_Y                                  23              // Left index B for Y (1)\r
-\r
-#define        bIndexAtop0_Y                                   24              // Top index A for Y (0)\r
-#define        bIndexBtop0_Y                                   25              // Top index B for Y (0)\r
-#define        bIndexAtop1_Y                                   26              // Top index A for Y (1)\r
-#define        bIndexBtop1_Y                                   27              // Top index B for Y (1)\r
-\r
-#define        bIndexAinternal_Cb                              28              // Internal index A for Cb\r
-#define        bIndexBinternal_Cb                              29              // Internal index B for Cb\r
-#define        bIndexAleft0_Cb                                 30              // Left index A for Cb (0)\r
-#define        bIndexBleft0_Cb                                 31              // Left index B for Cb (0)\r
-\r
-// GRF1\r
-#define        bIndexAleft1_Cb                                 32              // Left index A for Cb (1)\r
-#define        bIndexBleft1_Cb                                 33              // Left index B for Cb (1)\r
-#define        bIndexAtop0_Cb                                  34              // Top index A for Cb (0)\r
-#define        bIndexBtop0_Cb                                  35              // Top index B for Cb (0)\r
-\r
-#define        bIndexAtop1_Cb                                  36              // Top index A for Cb (1)\r
-#define        bIndexBtop1_Cb                                  37              // Top index B for Cb (1)\r
-#define        bIndexAinternal_Cr                              38              // Internal index A for Cr\r
-#define        bIndexBinternal_Cr                              39              // Internal index B for Cr\r
-\r
-#define        bIndexAleft0_Cr                                 40              // Left index A for Cr (0)\r
-#define bIndexBleft0_Cr                                        41              // Left index B for Cr (0)\r
-#define        bIndexAleft1_Cr                                 42              // Left index A for Cr (1)\r
-#define        bIndexBleft1_Cr                                 43              // Left index B for Cr (1)\r
-\r
-#define        bIndexAtop0_Cr                                  44              // Top index A for Cr (0)\r
-#define        bIndexBtop0_Cr                                  45              // Top index B for Cr (0)\r
-#define        bIndexAtop1_Cr                                  46              // Top index A for Cr (1)\r
-#define        bIndexBtop1_Cr                                  47              // Top index B for Cr (1)\r
-\r
-#define        ExtBitFlags                                             48              // Extended bit flags, such as disable ILDB bits\r
-\r
-// Offset 49 - 63 not used\r
-\r
-\r
-//===== GRF2 - GRF7 hold expanded control data =====\r
-\r
-// GRF2\r
-#define        wEdgeCntlMap_IntLeftVert                64              // Derived from bbSinternalLeftVert, 1 bit per pixel \r
-#define        wEdgeCntlMap_IntMidVert                 66              // Derived from bbSinternalLeftVert\r
-               \r
-#define        wEdgeCntlMap_IntRightVert               68              // Derived from bbSinternalRightVert\r
-#define        wEdgeCntlMap_IntTopHorz                 70              // Derived from bbSinternalTopHorz, 1bit per pixel \r
-               \r
-#define        wEdgeCntlMap_IntMidHorz                 72              // Derived from bbSinternalMidHorz\r
-#define        wEdgeCntlMap_IntBotHorz                 74              // Derived from bbSinternalBotHorz\r
-\r
-// Offset 76 - 79 not used\r
-\r
-#define        wEdgeCntlMapA_ExtLeftVert0              80              // Derived from wbSLeft0, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtLeftVert0              82              // Derived from wbSLeft0\r
-\r
-#define        wEdgeCntlMapA_ExtTopHorz0               84              // Derived from wbSTop0, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtTopHorz0               86              // Derived from wbSTop0\r
-\r
-#define        wEdgeCntlMapA_ExtLeftVert1              88              // Derived from wbSLeft1, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtLeftVert1              90              // Derived from wbSLeft1\r
-\r
-#define        wEdgeCntlMapA_ExtTopHorz1               92              // Derived from wbSTop1, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtTopHorz1               94              // Derived from wbSTop1\r
-\r
-\r
-// GRF3\r
-#define        bTc0_v00_0_Y                                    96              // Derived from bSv00_0 and bIndexAleft0_Y, 4 pixels per tc0\r
-#define        bTc0_v10_0_Y                                    97              // Derived from bSv10_0 and bIndexAleft0_Y\r
-#define        bTc0_v20_0_Y                                    98              // Derived from bSv20_0 and bIndexAleft0_Y\r
-#define        bTc0_v30_0_Y                                    99              // Derived from bSv30_0 and bIndexAleft0_Y\r
-\r
-#define        bTc0_v01_Y                                              100             // Derived from bSv01 and bIndexAinternal_Y\r
-#define        bTc0_v11_Y                                              101             // Derived from bSv11 and bIndexAinternal_Y\r
-#define        bTc0_v21_Y                                              102             // Derived from bSv21 and bIndexAinternal_Y\r
-#define        bTc0_v31_Y                                              103             // Derived from bSv31 and bIndexAinternal_Y\r
-\r
-#define        bTc0_v02_Y                                              104             // Derived from bSv02 and bIndexAinternal_Y\r
-#define        bTc0_v12_Y                                              105             // Derived from bSv12 and bIndexAinternal_Y\r
-#define        bTc0_v22_Y                                              106             // Derived from bSv22 and bIndexAinternal_Y\r
-#define        bTc0_v32_Y                                              107             // Derived from bSv32 and bIndexAinternal_Y\r
-\r
-#define        bTc0_v03_Y                                              108             // Derived from bSv03 and bIndexAinternal_Y\r
-#define        bTc0_v13_Y                                              109             // Derived from bSv13 and bIndexAinternal_Y\r
-#define        bTc0_v23_Y                                              110             // Derived from bSv23 and bIndexAinternal_Y\r
-#define        bTc0_v33_Y                                              111             // Derived from bSv33 and bIndexAinternal_Y\r
-\r
-#define        bTc0_h00_0_Y                                    112             // Derived from bSh00_0 and bIndexAleft0_Y\r
-#define        bTc0_h01_0_Y                                    113             // Derived from bSh01_0 and bIndexAleft0_Y\r
-#define        bTc0_h02_0_Y                                    114             // Derived from bSh02_0 and bIndexAleft0_Y\r
-#define        bTc0_h03_0_Y                                    115             // Derived from bSh03_0 and bIndexAleft0_Y\r
-\r
-#define        bTc0_h10_Y                                              116             // Derived from bSh10 and bIndexAinternal_Y\r
-#define        bTc0_h11_Y                                              117             // Derived from bSh11 and bIndexAinternal_Y\r
-#define        bTc0_h12_Y                                              118             // Derived from bSh12 and bIndexAinternal_Y\r
-#define        bTc0_h13_Y                                              119             // Derived from bSh13 and bIndexAinternal_Y\r
-               \r
-#define        bTc0_h20_Y                                              120             // Derived from bSh20 and bIndexAinternal_Y\r
-#define        bTc0_h21_Y                                              121             // Derived from bSh21 and bIndexAinternal_Y\r
-#define        bTc0_h22_Y                                              122             // Derived from bSh22 and bIndexAinternal_Y\r
-#define        bTc0_h23_Y                                              123             // Derived from bSh23 and bIndexAinternal_Y\r
-\r
-#define        bTc0_h30_Y                                              124             // Derived from bSh30 and bIndexAinternal_Y\r
-#define        bTc0_h31_Y                                              125             // Derived from bSh31 and bIndexAinternal_Y\r
-#define        bTc0_h32_Y                                              126             // Derived from bSh32 and bIndexAinternal_Y\r
-#define        bTc0_h33_Y                                              127             // Derived from bSh33 and bIndexAinternal_Y\r
-\r
-// GRF4\r
-#define        bAlphaLeft0_Y                                   128             // Derived from bIndexAleft0_Y  \r
-#define        bBetaLeft0_Y                                    129             // Derived from bIndexBleft0_Y  \r
-#define        bAlphaTop0_Y                                    130             // Derived from bIndexAtop0_Y   \r
-#define        bBetaTop0_Y                                             131             // Derived from bIndexBtop0_Y   \r
-\r
-#define        bAlphaInternal_Y                                132             // Derived from bIndexAinternal_Y       \r
-#define        bBetaInternal_Y                                 133             // Derived from bIndexBinternal_Y       \r
-// Offset 134 - 135 not used\r
-\r
-// Offset 136 - 143 not used\r
-#define        bAlphaLeft1_Y                                   144             // Derived from bIndexAleft1_Y  Used in Mbaff mode only\r
-#define        bBetaLeft1_Y                                    145             // Derived from bIndexBleft1_Y  Used in Mbaff mode only\r
-#define        bAlphaTop1_Y                                    146             // Derived from bIndexAtop1_Y   Used in Mbaff mode only\r
-#define        bBetaTop1_Y                                             147             // Derived from bIndexBtop1_Y   Used in Mbaff mode only\r
-\r
-// Offset 148 - 151 not used\r
-#define        bTc0_v00_1_Y                                    152             // Derived from bSv00_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_v10_1_Y                                    153             // Derived from bSv10_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_v20_1_Y                                    154             // Derived from bSv20_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_v30_1_Y                                    155             // Derived from bSv30_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-\r
-#define        bTc0_h00_1_Y                                    156             // Derived from bSh00_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_h01_1_Y                                    157             // Derived from bSh01_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_h02_1_Y                                    158             // Derived from bSh02_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-#define        bTc0_h03_1_Y                                    159             // Derived from bSh03_1 and bIndexAleft1_Y      Used in Mbaff mode only\r
-\r
-\r
-// GRF5\r
-#define        bTc0_v00_0_Cb                                   160             // Derived from bSv00_0 and bIndexAleft0_Cb, 2 pixels per tc0   Left0\r
-#define        bTc0_v10_0_Cb                                   161             // Derived from bSv10_0 and bIndexAleft0_Cb     \r
-#define        bTc0_v20_0_Cb                                   162             // Derived from bSv20_0 and bIndexAleft0_Cb     \r
-#define        bTc0_v30_0_Cb                                   163             // Derived from bSv30_0 and bIndexAleft0_Cb     \r
-\r
-#define        bTc0_v02_Cb                                             164             // Derived from bSv02 and bIndexAinternal_Cb    MidVert\r
-#define        bTc0_v12_Cb                                             165             // Derived from bSv12 and bIndexAinternal_Cb    \r
-#define        bTc0_v22_Cb                                             166             // Derived from bSv22 and bIndexAinternal_Cb    \r
-#define        bTc0_v32_Cb                                             167             // Derived from bSv32 and bIndexAinternal_Cb    \r
-\r
-#define        bTc0_h00_0_Cb                                   168             // Derived from bSh00_0 and bIndexAleft0_Cb     Top0\r
-#define        bTc0_h01_0_Cb                                   169             // Derived from bSh01_0 and bIndexAleft0_Cb     \r
-#define        bTc0_h02_0_Cb                                   170             // Derived from bSh02_0 and bIndexAleft0_Cb     \r
-#define        bTc0_h03_0_Cb                                   171             // Derived from bSh03_0 and bIndexAleft0_Cb     \r
-\r
-#define        bTc0_h20_Cb                                             172             // Derived from bSh20 and bIndexAinternal_Cb    MidHorz\r
-#define        bTc0_h21_Cb                                             173             // Derived from bSh21 and bIndexAinternal_Cb    \r
-#define        bTc0_h22_Cb                                             174             // Derived from bSh22 and bIndexAinternal_Cb    \r
-#define        bTc0_h23_Cb                                             175             // Derived from bSh23 and bIndexAinternal_Cb    \r
-\r
-#define        bTc0_v00_0_Cr                                   176             // Derived from bSv00_0 and bIndexAleft0_Cr, 2 pixels per tc0   Left0\r
-#define        bTc0_v10_0_Cr                                   177             // Derived from bSv10_0 and bIndexAleft0_Cr     \r
-#define        bTc0_v20_0_Cr                                   178             // Derived from bSv20_0 and bIndexAleft0_Cr     \r
-#define        bTc0_v30_0_Cr                                   179             // Derived from bSv30_0 and bIndexAleft0_Cr     \r
-\r
-#define        bTc0_v02_Cr                                             180             // Derived from bSv02 and bIndexAinternal_Cr    Mid Vert\r
-#define        bTc0_v12_Cr                                             181             // Derived from bSv12 and bIndexAinternal_Cr    \r
-#define        bTc0_v22_Cr                                             182             // Derived from bSv22 and bIndexAinternal_Cr    \r
-#define        bTc0_v32_Cr                                             183             // Derived from bSv32 and bIndexAinternal_Cr    \r
-\r
-#define        bTc0_h00_0_Cr                                   184             // Derived from bSh00_0 and bIndexAleft0_Cr, 2 pixels per tc0   Top0\r
-#define        bTc0_h01_0_Cr                                   185             // Derived from bSh01_0 and bIndexAleft0_Cr     \r
-#define        bTc0_h02_0_Cr                                   186             // Derived from bSh02_0 and bIndexAleft0_Cr     \r
-#define        bTc0_h03_0_Cr                                   187             // Derived from bSh03_0 and bIndexAleft0_Cr     \r
-\r
-#define        bTc0_h20_Cr                                             188             // Derived from bSh20 and bIndexAinternal_Cr    Mid  Horz\r
-#define        bTc0_h21_Cr                                             189             // Derived from bSh21 and bIndexAinternal_Cr    \r
-#define        bTc0_h22_Cr                                             190             // Derived from bSh22 and bIndexAinternal_Cr    \r
-#define        bTc0_h23_Cr                                             191             // Derived from bSh23 and bIndexAinternal_Cr    \r
-\r
-// GRF6\r
-#define        bAlphaLeft0_Cb                                  192             // Derived from bIndexAleft0_Cb\r
-#define        bBetaLeft0_Cb                                   193             // Derived from bIndexBleft0_Cb\r
-#define        bAlphaTop0_Cb                                   194             // Derived from bIndexAtop0_Cb\r
-#define        bBetaTop0_Cb                                    195             // Derived from bIndexBtop0_Cb\r
-\r
-#define        bAlphaInternal_Cb                               196             // Derived from bIndexAinternal_Cb\r
-#define        bBetaInternal_Cb                                197             // Derived from bIndexBinternal_Cb\r
-// Offset 198 - 199 not used           \r
-\r
-#define        bAlphaLeft0_Cr                                  200             // Derived from bIndexAleft0_Cr\r
-#define        bBetaLeft0_Cr                                   201             // Derived from bIndexBleft0_Cr\r
-#define        bAlphaTop0_Cr                                   202             // Derived from bIndexAtop0_Cr\r
-#define        bBetaTop0_Cr                                    203             // Derived from bIndexBtop0_Cr\r
-\r
-#define        bAlphaInternal_Cr                               204             // Derived from bIndexAinternal_Cr\r
-#define        bBetaInternal_Cr                                205             // Derived from bIndexBinternal_Cr\r
-// Offset 206 - 223 not used           \r
-\r
-// GRF7\r
-#define        bAlphaLeft1_Cb                                  224             // Derived from bIndexAleft1_Cb Used in Mbaff mode only\r
-#define        bBetaLeft1_Cb                                   225             // Derived from bIndexBleft1_Cb Used in Mbaff mode only\r
-#define        bAlphaTop1_Cb                                   226             // Derived from bIndexAtop1_Cb  Used in Mbaff mode only\r
-#define        bBetaTop1_Cb                                    227             // Derived from bIndexBtop1_Cb  Used in Mbaff mode only\r
-\r
-// Offset 228 - 231 not used\r
-\r
-#define        bTc0_v00_1_Cb                                   232             // Derived from bSv00_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-#define        bTc0_v10_1_Cb                                   233             // Derived from bSv10_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-#define        bTc0_v20_1_Cb                                   234             // Derived from bSv20_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-#define        bTc0_v30_1_Cb                                   235             // Derived from bSv30_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-\r
-#define        bTc0_h00_1_Cb                                   236             // Derived from bSh00_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-#define        bTc0_h01_1_Cb                                   237             //      Derived from bSh01_1 and bIndexAleft1_Cb        Used in Mbaff mode only\r
-#define        bTc0_h02_1_Cb                                   238             // Derived from bSh02_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-#define        bTc0_h03_1_Cb                                   239             // Derived from bSh03_1 and bIndexAleft1_Cb     Used in Mbaff mode only\r
-\r
-#define        bAlphaLeft1_Cr                                  240             // Derived from bIndexAleft1_Cr Used in Mbaff mode only\r
-#define        bBetaLeft1_Cr                                   241             // Derived from bIndexBleft1_Cr Used in Mbaff mode only\r
-#define        bAlphaTop1_Cr                                   242             // Derived from bIndexAtop1_Cr  Used in Mbaff mode only\r
-#define        bBetaTop1_Cr                                    243             // Derived from bIndexBtop1_Cr  Used in Mbaff mode only\r
-\r
-// Offset 244 - 247 not used           \r
-\r
-#define        bTc0_v00_1_Cr                                   248             // Derived from bSv00_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_v10_1_Cr                                   249             // Derived from bSv10_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_v20_1_Cr                                   250             // Derived from bSv20_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_v30_1_Cr                                   251             // Derived from bSv30_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-\r
-#define        bTc0_h00_1_Cr                                   252             // Derived from bSh00_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_h01_1_Cr                                   253             // Derived from bSh01_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_h02_1_Cr                                   254             // Derived from bSh02_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-#define        bTc0_h03_1_Cr                                   255             // Derived from bSh03_1 and bIndexAleft1_Cr     Used in Mbaff mode only\r
-\r
-\r
-#else          // _APPLE is defined\r
-\r
-//******** Crestline for Apple, progressive only, 88 bytes **********\r
-\r
-// GRF0\r
-#define HorizOrigin                                            0\r
-#define VertOrigin                                             1\r
-#define BitFlags                                               2               // Bit flags\r
-\r
-#define        wEdgeCntlMap_IntLeftVert                4               // Derived from bbSinternalLeftVert, 1 bit per pixel \r
-#define        wEdgeCntlMap_IntMidVert                 6               // Derived from bbSinternalLeftVert\r
-#define        wEdgeCntlMap_IntRightVert               8               // Derived from bbSinternalRightVert\r
-#define        wEdgeCntlMap_IntTopHorz                 10              // Derived from bbSinternalTopHorz, 1bit per pixel \r
-#define        wEdgeCntlMap_IntMidHorz                 12              // Derived from bbSinternalMidHorz\r
-#define        wEdgeCntlMap_IntBotHorz                 14              // Derived from bbSinternalBotHorz\r
-#define        wEdgeCntlMapA_ExtLeftVert0              16              // Derived from wbSLeft0, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtLeftVert0              18              // Derived from wbSLeft0\r
-#define        wEdgeCntlMapA_ExtTopHorz0               20              // Derived from wbSTop0, 1bit per pixel\r
-#define        wEdgeCntlMapB_ExtTopHorz0               22              // Derived from wbSTop0\r
-\r
-#define        bAlphaLeft0_Y                                   24              // Derived from bIndexAleft0_Y  \r
-#define        bBetaLeft0_Y                                    25              // Derived from bIndexBleft0_Y  \r
-#define        bAlphaTop0_Y                                    26              // Derived from bIndexAtop0_Y   \r
-#define        bBetaTop0_Y                                             27              // Derived from bIndexBtop0_Y   \r
-#define        bAlphaInternal_Y                                28              // Derived from bIndexAinternal_Y       \r
-#define        bBetaInternal_Y                                 29              // Derived from bIndexBinternal_Y       \r
-\r
-// GRF1\r
-#define        bTc0_v00_0_Y                                    32              // Derived from bSv00_0 and bIndexAleft0_Y, 4 pixels per tc0\r
-#define        bTc0_v10_0_Y                                    33              // Derived from bSv10_0 and bIndexAleft0_Y\r
-#define        bTc0_v20_0_Y                                    34              // Derived from bSv20_0 and bIndexAleft0_Y\r
-#define        bTc0_v30_0_Y                                    35              // Derived from bSv30_0 and bIndexAleft0_Y\r
-#define        bTc0_v01_Y                                              36              // Derived from bSv01 and bIndexAinternal_Y\r
-#define        bTc0_v11_Y                                              37              // Derived from bSv11 and bIndexAinternal_Y\r
-#define        bTc0_v21_Y                                              38              // Derived from bSv21 and bIndexAinternal_Y\r
-#define        bTc0_v31_Y                                              39              // Derived from bSv31 and bIndexAinternal_Y\r
-#define        bTc0_v02_Y                                              40              // Derived from bSv02 and bIndexAinternal_Y\r
-#define        bTc0_v12_Y                                              41              // Derived from bSv12 and bIndexAinternal_Y\r
-#define        bTc0_v22_Y                                              42              // Derived from bSv22 and bIndexAinternal_Y\r
-#define        bTc0_v32_Y                                              43              // Derived from bSv32 and bIndexAinternal_Y\r
-#define        bTc0_v03_Y                                              44              // Derived from bSv03 and bIndexAinternal_Y\r
-#define        bTc0_v13_Y                                              45              // Derived from bSv13 and bIndexAinternal_Y\r
-#define        bTc0_v23_Y                                              46              // Derived from bSv23 and bIndexAinternal_Y\r
-#define        bTc0_v33_Y                                              47              // Derived from bSv33 and bIndexAinternal_Y\r
-\r
-#define        bTc0_h00_0_Y                                    48              // Derived from bSh00_0 and bIndexAleft0_Y\r
-#define        bTc0_h01_0_Y                                    49              // Derived from bSh01_0 and bIndexAleft0_Y\r
-#define        bTc0_h02_0_Y                                    50              // Derived from bSh02_0 and bIndexAleft0_Y\r
-#define        bTc0_h03_0_Y                                    51              // Derived from bSh03_0 and bIndexAleft0_Y\r
-#define        bTc0_h10_Y                                              52              // Derived from bSh10 and bIndexAinternal_Y\r
-#define        bTc0_h11_Y                                              53              // Derived from bSh11 and bIndexAinternal_Y\r
-#define        bTc0_h12_Y                                              54              // Derived from bSh12 and bIndexAinternal_Y\r
-#define        bTc0_h13_Y                                              55              // Derived from bSh13 and bIndexAinternal_Y\r
-#define        bTc0_h20_Y                                              56              // Derived from bSh20 and bIndexAinternal_Y\r
-#define        bTc0_h21_Y                                              57              // Derived from bSh21 and bIndexAinternal_Y\r
-#define        bTc0_h22_Y                                              58              // Derived from bSh22 and bIndexAinternal_Y\r
-#define        bTc0_h23_Y                                              59              // Derived from bSh23 and bIndexAinternal_Y\r
-#define        bTc0_h30_Y                                              60              // Derived from bSh30 and bIndexAinternal_Y\r
-#define        bTc0_h31_Y                                              61              // Derived from bSh31 and bIndexAinternal_Y\r
-#define        bTc0_h32_Y                                              62              // Derived from bSh32 and bIndexAinternal_Y\r
-#define        bTc0_h33_Y                                              63              // Derived from bSh33 and bIndexAinternal_Y\r
-\r
-// GRF2, \r
-#define        bTc0_v00_0_Cb                                   64              // Derived from bSv00_0 and bIndexAleft0_Cb, 2 pixels per tc0   Left0\r
-#define        bTc0_v10_0_Cb                                   65              // Derived from bSv10_0 and bIndexAleft0_Cb     \r
-#define        bTc0_v20_0_Cb                                   66              // Derived from bSv20_0 and bIndexAleft0_Cb     \r
-#define        bTc0_v30_0_Cb                                   67              // Derived from bSv30_0 and bIndexAleft0_Cb     \r
-#define        bTc0_v02_Cb                                             68              // Derived from bSv02 and bIndexAinternal_Cb    MidVert\r
-#define        bTc0_v12_Cb                                             69              // Derived from bSv12 and bIndexAinternal_Cb    \r
-#define        bTc0_v22_Cb                                             70              // Derived from bSv22 and bIndexAinternal_Cb    \r
-#define        bTc0_v32_Cb                                             71              // Derived from bSv32 and bIndexAinternal_Cb    \r
-#define        bTc0_h00_0_Cb                                   72              // Derived from bSh00_0 and bIndexAleft0_Cb     Top0\r
-#define        bTc0_h01_0_Cb                                   73              // Derived from bSh01_0 and bIndexAleft0_Cb     \r
-#define        bTc0_h02_0_Cb                                   74              // Derived from bSh02_0 and bIndexAleft0_Cb     \r
-#define        bTc0_h03_0_Cb                                   75              // Derived from bSh03_0 and bIndexAleft0_Cb     \r
-#define        bTc0_h20_Cb                                             76              // Derived from bSh20 and bIndexAinternal_Cb    MidHorz\r
-#define        bTc0_h21_Cb                                             77              // Derived from bSh21 and bIndexAinternal_Cb    \r
-#define        bTc0_h22_Cb                                             78              // Derived from bSh22 and bIndexAinternal_Cb    \r
-#define        bTc0_h23_Cb                                             79              // Derived from bSh23 and bIndexAinternal_Cb    \r
-\r
-#define        bAlphaLeft0_Cb                                  80              // Derived from bIndexAleft0_Cb\r
-#define        bBetaLeft0_Cb                                   81              // Derived from bIndexBleft0_Cb\r
-#define        bAlphaTop0_Cb                                   82              // Derived from bIndexAtop0_Cb\r
-#define        bBetaTop0_Cb                                    83              // Derived from bIndexBtop0_Cb\r
-#define        bAlphaInternal_Cb                               84              // Derived from bIndexAinternal_Cb\r
-#define        bBetaInternal_Cb                                85              // Derived from bIndexBinternal_Cb\r
-\r
-#define        ExtBitFlags                                             86              // Extended bit flags, such as disable ILDB bits\r
-\r
-// Shared between Cb and Cr\r
-#define        bTc0_v00_0_Cr                   bTc0_v00_0_Cb   \r
-#define        bTc0_v10_0_Cr               bTc0_v10_0_Cb       \r
-#define        bTc0_v20_0_Cr               bTc0_v20_0_Cb       \r
-#define        bTc0_v30_0_Cr               bTc0_v30_0_Cb       \r
-#define        bTc0_v02_Cr                         bTc0_v02_Cb         \r
-#define        bTc0_v12_Cr                         bTc0_v12_Cb         \r
-#define        bTc0_v22_Cr                         bTc0_v22_Cb         \r
-#define        bTc0_v32_Cr                         bTc0_v32_Cb         \r
-#define        bTc0_h00_0_Cr               bTc0_h00_0_Cb       \r
-#define        bTc0_h01_0_Cr               bTc0_h01_0_Cb       \r
-#define        bTc0_h02_0_Cr               bTc0_h02_0_Cb       \r
-#define        bTc0_h03_0_Cr               bTc0_h03_0_Cb       \r
-#define        bTc0_h20_Cr                         bTc0_h20_Cb         \r
-#define        bTc0_h21_Cr                         bTc0_h21_Cb         \r
-#define        bTc0_h22_Cr                         bTc0_h22_Cb         \r
-#define        bTc0_h23_Cr                         bTc0_h23_Cb         \r
-                                \r
-#define        bAlphaLeft0_Cr              bAlphaLeft0_Cb                 \r
-#define        bBetaLeft0_Cr               bBetaLeft0_Cb                  \r
-#define        bAlphaTop0_Cr               bAlphaTop0_Cb                  \r
-#define        bBetaTop0_Cr                bBetaTop0_Cb                   \r
-#define        bAlphaInternal_Cr           bAlphaInternal_Cb      \r
-#define        bBetaInternal_Cr            bBetaInternal_Cb       \r
-\r
-\r
-#endif\r
-\r
-\r
-//========== End of Child Variables ===============================================================\r
-\r
-#if !defined(COMBINED_KERNEL)\r
-#define ILDB_LABEL(x)  x               // No symbol extension for standalone kernels\r
-#endif\r
-\r
-#endif // !defined(__AVC_ILDB_HEADER__)\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_UV.asm
deleted file mode 100644 (file)
index b0986b5..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#include "AVC_ILDB_Child_UV.asm"\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Field_Y.asm
deleted file mode 100644 (file)
index fafd6c0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#include "AVC_ILDB_Child_Y.asm"\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_UV.asm
deleted file mode 100644 (file)
index fd29981..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-// AVC Child Kernel (Vertical and horizontal de-block a 4:2:0 MB UV comp)\r
-//\r
-// First de-block vertical edges from left to right.\r
-// Second de-block horizontal edge from top to bottom.\r
-// \r
-// For 4:2:0, chroma is always de-blocked at 8x8.\r
-// NV12 format allows to filter U and V together.\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_CHILD_MBAFF_UV\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_CHILD_UV):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xE997:w\r
-#endif\r
-\r
-       // Setup temp buf used by load and save code\r
-       #define BUF_B           RTempB\r
-       #define BUF_W           RTempW\r
-       #define BUF_D           RTempD\r
-\r
-       // Init local variables\r
-       mul (4)         ORIX_CUR<2>:w           ORIX<0;1,0>:w           16:w    { NoDDClr }             // Expand X addr to bytes, repeat 4 times\r
-       mul (4)         ORIY_CUR<2>:w           ORIY<0;1,0>:w           32:w    { NoDDChk }             // Expand Y addr to bytes, repeat 4 times\r
-\r
-       mov (2)         f0.0<1>:w               0:w\r
-\r
-       mov     (1)             GateWayOffsetC:uw       ORIY:uw                                         // Use row # as Gateway offset\r
-\r
-       //=== Null Kernel ===============================================================\r
-//     jmpi ILDB_LABEL(POST_ILDB_UV)\r
-       //===============================================================================\r
-\r
-       //====================================================================================\r
-       // Assuming the MB control data is laid out in scan line order in a rectangle with width = 16 bytes.\r
-       // Control data has dimension of X x Y = 16 x N bytes, where N = W x H / 16\r
-       // Each MB has 256 bytes of control data\r
-\r
-       // For CRESTLINE, 256 bytes are stored in memory and fetched into GRF.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // Byte_offset = MB_offset * (256 << Mbaff_flag),       Mbaff_flag = 0 or 1.\r
-       // Base address of a control data block = (x, y) = (0, y'=y/x), region width is 16 bytes\r
-       // where y' = Byte_offset / 16 = MB_offset * (16 << Mbaff_flag)\r
-       // MBCntrlDataOffsetY holds y'.\r
-\r
-       // For BearLake-C, 64 bytes are stored in memory and dataport expands to 256 bytes.  Need to use a special read command on BL-C.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // Byte_offset = MB_offset * (64 << Mbaff_flag),        Mbaff_flag = 0 or 1.\r
-       // MBCntrlDataOffsetY holds globel byte offset.\r
-       \r
-#if !defined(DEV_CL)\r
-       mul (1) CntrlDataOffsetY:ud             MBsCntX:w                               ORIY:w\r
-       add (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             ORIX:w\r
-       mul (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             128:uw\r
-#endif\r
-       //====================================================================================\r
-\r
-       add (1)         ORIX_LEFT:w                     ORIX_LEFT:w                     -4:w\r
-       add (1)         ORIY_TOP:w                      ORIY_TOP:w                      -4:w\r
-\r
-       //=========== Process Top MB ============\r
-    and (1)    BitFields:w             BitFields:w             TopFieldFlag:w          // Reset BotFieldFlag\r
-\r
-       // Build a ramp from 0 to 15\r
-       mov     (16)    RRampW(0)<1>            RampConstC<0;8,1>:ub\r
-       add (8)         RRampW(0,8)<1>          RRampW(0,8)                     8:w                             // RRampW = ramp 15-0\r
-\r
-ILDB_LABEL(RE_ENTRY_UV):       // for bootom field\r
-\r
-       // Load current MB control data\r
-#if defined(DEV_CL)\r
-       #include "Load_ILDB_Cntrl_Data_64DW.asm"        // Crestline\r
-#else\r
-       #include "Load_ILDB_Cntrl_Data_16DW.asm"        // Cantiga and beyond\r
-#endif\r
-\r
-       // Init addr register for vertical control data\r
-       mov (1)         ECM_AddrReg<1>:w                CNTRL_DATA_BASE:w               // Init ECM_AddrReg\r
-\r
-       // Use free cycles here\r
-       // Check loaded control data\r
-       and.z.f0.1  (16) null<1>:uw     r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<16;16,1>:uw    0xFFFF:uw               // Skip ILDB?           \r
-       and.nz.f0.0  (1) null:w         r[ECM_AddrReg, ExtBitFlags]:ub          DISABLE_ILDB_FLAG:w             // Skip ILDB?\r
-\r
-       // Set DualFieldMode for all data read, write and deblocking\r
-       and     (1)     CTemp1_W:uw             r[ECM_AddrReg, BitFlags]:ub             FieldModeAboveMbFlag+FieldModeCurrentMbFlag:uw\r
-\r
-       // Get Vert Edge Pattern (frame vs. field MBs)\r
-       and     (1)     VertEdgePattern:uw              r[ECM_AddrReg, BitFlags]:ub             FieldModeLeftMbFlag+FieldModeCurrentMbFlag:uw\r
-\r
-       (f0.1.all16h)   jmpi    ILDB_LABEL(SKIP_ILDB_UV)                                                // Skip ILDB\r
-       (f0.0)                  jmpi    ILDB_LABEL(SKIP_ILDB_UV)                                                // Skip ILDB\r
-\r
-       // Set DualFieldMode for all data read, write and deblocking\r
-//     and     (1)     CTemp1_W:uw             r[ECM_AddrReg, BitFlags]:ub             FieldModeAboveMbFlag+FieldModeCurrentMbFlag:uw\r
-       cmp.z.f0.0      (1)     null:w  CTemp1_W:uw             ABOVE_FIELD_CUR_FRAME:w\r
-       and (1)         DualFieldMode:w         f0.0:w          0x0001:w\r
-\r
-       #include "load_Cur_UV_8x8T_Mbaff.asm"           // Load transposed data 8x8\r
-       #include "load_Left_UV_2x8T_Mbaff.asm"                          // Load left MB (2x8) UV data from memory if exists\r
-\r
-       #include "Transpose_Cur_UV_8x8.asm"\r
-       #include "Transpose_Left_UV_2x8.asm"\r
-       \r
-\r
-       //---------- Perform vertical ILDB filting on UV ----------\r
-       #include "AVC_ILDB_Filter_Mbaff_UV_v.asm"       \r
-       //---------------------------------------------------------\r
-\r
-       #include "save_Left_UV_8x2T_Mbaff.asm"                          // Write left MB (2x8) Y data to memory if exists\r
-       #include "load_Top_UV_8x2_Mbaff.asm"                            // Load top MB (8x2) Y data from memory if exists\r
-\r
-       #include "Transpose_Cur_UV_8x8.asm"                                     // Transpose a MB for horizontal edge de-blocking \r
-\r
-       //---------- Perform horizontal ILDB filting on UV ----------\r
-       #include "AVC_ILDB_Filter_Mbaff_UV_h.asm"       \r
-       //-----------------------------------------------------------\r
-\r
-       #include "save_Cur_UV_8x8_Mbaff.asm"                            // Write 8x8\r
-       #include "save_Top_UV_8x2_Mbaff.asm"                            // Write top MB (8x2) if not the top row\r
-\r
-       //-----------------------------------------------------------\r
-ILDB_LABEL(SKIP_ILDB_UV):\r
-       \r
-       and.z.f0.0 (1)  null:w          BitFields:w             BotFieldFlag:w\r
-\r
-       //=========== Process Bottom MB ============\r
-    or (1)     BitFields:w     BitFields:w             BotFieldFlag:w  // Set BotFieldFlag to 1\r
-       (f0.0) jmpi             ILDB_LABEL(RE_ENTRY_UV)                                                 // Loop back for bottom deblocking\r
-\r
-       // Fall through to finish\r
-\r
-       //=========== Check write commit of the last write ============\r
-    mov (8)    WritebackResponse(0)<1>         WritebackResponse(0)    \r
-\r
-ILDB_LABEL(POST_ILDB_UV):      \r
-       \r
-       // Send notification thru Gateway to root thread, update chroma Status[CurRow]\r
-       #include "AVC_ILDB_ForwardMsg.asm"\r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-       \r
-       ////////////////////////////////////////////////////////////////////////////////\r
-       // Include other subrutines being called\r
-       #include "AVC_ILDB_Chroma_Core_Mbaff.asm"\r
-       \r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Mbaff_Y.asm
deleted file mode 100644 (file)
index f4e23a7..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-// AVC Child Kernel (Vertical and horizontal de-block a 4:2:0 MB Y comp)\r
-//\r
-// First, de-block vertical edges from left to right.\r
-// Second, de-block horizontal edge from top to bottom.\r
-// \r
-//     ***** MBAFF Mode *****\r
-//     This version deblocks top MB first, followed by bottom MB.\r
-//\r
-//     Need variable CurMB     to indicate top MB or bottom MB (CurMB = 0 or 1).  \r
-//     We can use BotFieldFlag in BitFields to represent it.\r
-//\r
-//  Usage:\r
-//     1) Access control data for top \r
-//             CntrlDataOffsetY + CurMB  * Control data block size             (64 DWs for CL, 16 DWs for BLC)\r
-//\r
-//     2) Load frame/field video data based on flags: FieldModeCurrentMbFlag, FieldModeLeftMbFlag, FieldModeaboveMbFlag, \r
-//\r
-//     E.g. \r
-//     if (pCntlData->BitField & FieldModeCurrentMbFlag)\r
-//             cur_y = ORIX_CUR.y + CurMB * 1;                         // Add field vertical offset for bot field MB .\r
-//     else\r
-//             cur_y = ORIX_CUR.y + CurMB * MB_Rows_Y;         // Add bottom MB vertical offset for bot MB\r
-//\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_CHILD_MBAFF_Y\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_CHILD_Y):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xE998:w\r
-#endif\r
-\r
-       // Setup temp buf used by load and save code\r
-       #define BUF_B           RTempB                          \r
-       #define BUF_D           RTempD\r
-       \r
-       // Init local variables\r
-       // These coordinates are in progressive fashion\r
-       mul (4)         ORIX_CUR<2>:w           ORIX<0;1,0>:w           16:w    { NoDDClr }             // Expand X addr to bytes, repeat 4 times\r
-       mul (4)         ORIY_CUR<2>:w           ORIY<0;1,0>:w           32:w    { NoDDChk }             // Expand Y addr to bytes, repeat 4 times\r
-\r
-       mov (2)         f0.0<1>:w               0:w\r
-       \r
-       mov     (1)             GateWayOffsetC:uw       ORIY:uw                                         // Use row # as Gateway offset\r
-\r
-       //=== Null Kernel ===============================================================\r
-//     jmpi POST_ILDB\r
-       //===============================================================================\r
-\r
-       //====================================================================================\r
-       // Assuming the MB control data is laid out in scan line order in a rectangle with width = 16 bytes.\r
-       // Control data has dimension of X x Y = 16 x N bytes, where N = W x H / 16\r
-       // Each MB has 256 bytes of control data\r
-\r
-       // For CRESTLINE, 256 bytes are stored in memory and fetched into GRF.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // Byte_offset = MB_offset * (256 << Mbaff_flag),       Mbaff_flag = 0 or 1.\r
-       // Base address of a control data block = (x, y) = (0, y'=y/x), region width is 16 bytes\r
-       // where y' = Byte_offset / 16 = MB_offset * (16 << Mbaff_flag)\r
-       // MBCntrlDataOffsetY holds y'.\r
-\r
-       // For BearLake-C, 64 bytes are stored in memory and dataport expands to 256 bytes.  Need to use a special read command on BL-C.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // Byte_offset = MB_offset * (64 << Mbaff_flag),        Mbaff_flag = 0 or 1.\r
-       // MBCntrlDataOffsetY holds globel byte offset.\r
-\r
-#if !defined(DEV_CL)   \r
-       mul (1) CntrlDataOffsetY:ud             MBsCntX:w                               ORIY:w\r
-       add (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             ORIX:w\r
-       mul (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             128:uw\r
-#endif\r
-\r
-       //====================================================================================\r
-       \r
-       add (1)         ORIX_LEFT:w                     ORIX_LEFT:w                     -4:w\r
-       add (1)         ORIY_TOP:w                      ORIY_TOP:w                      -4:w\r
-\r
-\r
-       //=========== Process Top MB ============\r
-    and (1)    BitFields:w             BitFields:w             TopFieldFlag:w  // Reset BotFieldFlag\r
-\r
-RE_ENTRY:      // for bootom field\r
-\r
-       // Load current MB control data\r
-#if defined(DEV_CL)\r
-       #include "Load_ILDB_Cntrl_Data_64DW.asm"        // Crestline\r
-#else\r
-       #include "Load_ILDB_Cntrl_Data_16DW.asm"        // Cantiga and beyond\r
-#endif\r
-\r
-       // Init addr register for vertical control data\r
-       mov (1)         ECM_AddrReg<1>:w        CNTRL_DATA_BASE:w                       // Init edge control map AddrReg\r
-\r
-       // Check loaded control data\r
-       and.z.f0.1  (16) null<1>:uw     r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<16;16,1>:uw    0xFFFF:uw               // Skip ILDB?           \r
-       and.nz.f0.0  (1) null:w         r[ECM_AddrReg, ExtBitFlags]:ub          DISABLE_ILDB_FLAG:w             // Skip ILDB?\r
-\r
-       // Use free cycles here\r
-       // Set DualFieldMode for all data read, write and deblocking\r
-       and     (1)     CTemp1_W:uw             r[ECM_AddrReg, BitFlags]:ub             FieldModeAboveMbFlag+FieldModeCurrentMbFlag:uw\r
-\r
-       // Get Vert Edge Pattern (frame vs. field MBs)\r
-       and     (1)     VertEdgePattern:uw              r[ECM_AddrReg, BitFlags]:ub             FieldModeLeftMbFlag+FieldModeCurrentMbFlag:uw\r
-\r
-       (f0.1.all16h)   jmpi    SKIP_ILDB                                               // Skip ILDB\r
-       (f0.0)                  jmpi    SKIP_ILDB                                               // Skip ILDB\r
-\r
-       // Set DualFieldMode for all data read, write and deblocking\r
-//     and     (1)     CTemp1_W:uw             r[ECM_AddrReg, BitFlags]:ub             FieldModeAboveMbFlag+FieldModeCurrentMbFlag:uw\r
-       cmp.z.f0.0      (1)     null:w  CTemp1_W:uw             ABOVE_FIELD_CUR_FRAME:w\r
-       and (1)         DualFieldMode:w         f0.0:w          0x0001:w\r
-\r
-       // Load current MB                              // DDD1\r
-       #include "load_Cur_Y_16x16T_Mbaff.asm"                          // Load cur Y, 16x16, transpose\r
-       #include "load_Left_Y_4x16T_Mbaff.asm"                          // Load left MB (4x16) Y data from memory if exists\r
-\r
-       #include "Transpose_Cur_Y_16x16.asm"\r
-       #include "Transpose_Left_Y_4x16.asm"\r
-\r
-       //---------- Perform vertical ILDB filting on Y----------\r
-       #include "AVC_ILDB_Filter_Mbaff_Y_v.asm"        \r
-       //-------------------------------------------------------\r
-\r
-       #include "save_Left_Y_16x4T_Mbaff.asm"                          // Write left MB (4x16) Y data to memory if exists\r
-       #include "load_Top_Y_16x4_Mbaff.asm"                            // Load top MB (16x4) Y data from memory if exists\r
-       #include "Transpose_Cur_Y_16x16.asm"                            // Transpose a MB for horizontal edge de-blocking \r
-\r
-       //---------- Perform horizontal ILDB filting on Y ----------\r
-       #include "AVC_ILDB_Filter_Mbaff_Y_h.asm"        \r
-       //----------------------------------------------------------\r
-\r
-       #include "save_Cur_Y_16x16_Mbaff.asm"                                   // Write cur MB (16x16)\r
-       #include "save_Top_Y_16x4_Mbaff.asm"                                    // Write top MB (16x4) if not the top row\r
-\r
-SKIP_ILDB:\r
-       //----------------------------------------------------------\r
-       and.z.f0.0 (1)  null:w          BitFields:w             BotFieldFlag:w\r
-\r
-       //=========== Process Bottom MB ============\r
-    or (1)     BitFields:w     BitFields:w             BotFieldFlag:w  // Set BotFieldFlag to 1\r
-       (f0.0) jmpi             RE_ENTRY                                                                // Loop back for bottom deblocking\r
-\r
-       // Fall through to finish\r
-\r
-       //=========== Check write commit of the last write ============\r
-    mov (8)    WritebackResponse(0)<1>         WritebackResponse(0)    \r
-\r
-POST_ILDB:\r
-       \r
-       //---------------------------------------------------------------------------\r
-       // Send notification thru Gateway to root thread, update luma Status[CurRow]\r
-       \r
-       #include "AVC_ILDB_ForwardMsg.asm"      \r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-       \r
-       \r
-       ////////////////////////////////////////////////////////////////////////////////\r
-       // Include other subrutines being called\r
-       #include "AVC_ILDB_Luma_Core_Mbaff.asm"\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_UV.asm
deleted file mode 100644 (file)
index 4f411a1..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-// AVC Child Kernel (Vertical and horizontal de-block a 4:2:0 MB UV comp)\r
-//\r
-// First de-block vertical edges from left to right.\r
-// Second de-block horizontal edge from top to bottom.\r
-// \r
-// For 4:2:0, chroma is always de-blocked at 8x8.\r
-// NV12 format allows to filter U and V together.\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_CHILD_UV\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_CHILD_UV):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x9997:w\r
-#endif\r
-\r
-       // Init local variables\r
-       shl (8)         ORIX_CUR<1>:w           ORIX<0;2,1>:w           4:w             // Expand addr to bytes, repeat (x,y) 4 times\r
-\r
-       // Init addr register for vertical control data\r
-       mov (1)         ECM_AddrReg<1>:w                CNTRL_DATA_BASE:w               // Init ECM_AddrReg\r
-\r
-       //=== Null Kernel ===============================================================\r
-//     jmpi ILDB_LABEL(POST_ILDB_UV_UV)\r
-       //===============================================================================\r
-\r
-#if defined(DEV_CL)    \r
-       mov     (1)             acc0.0:w                240:w   \r
-#else\r
-       //====================================================================================\r
-       // For BearLake-C, 64 bytes are stored in memory and dataport expands to 256 bytes.  Need to use a special read command on BL-C.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // MBCntrlDataOffsetY = globel_byte_offset = MB_offset * 64\r
-       mul (1) CntrlDataOffsetY:ud             MBsCntX:w                               ORIY:w\r
-       add (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             ORIX:w\r
-\r
-       // Assign to MSGSRC.2:ud for memory access\r
-       // mul (1) CntrlDataOffsetY:ud          CntrlDataOffsetY:ud             64:uw\r
-       mul (1) MSGSRC.2:ud             CntrlDataOffsetY:ud             64:uw\r
-               \r
-       mov     (1)             acc0.0:w                320:w   \r
-#endif\r
-       mac (1)         URBOffsetC:w    ORIY:w                  4:w                             // UV URB entries are right after Y entries             \r
-\r
-\r
-       // Init local variables\r
-//     shl (8)         ORIX_CUR<1>:w           ORIX<0;2,1>:w           4:w             // Expand addr to bytes, repeat (x,y) 4 times\r
-       add (1)         ORIX_LEFT:w                     ORIX_LEFT:w                     -4:w\r
-       add (1)         ORIY_TOP:w                      ORIY_TOP:w                      -4:w\r
-\r
-       // Build a ramp from 0 to 15\r
-       mov     (16)    RRampW(0)<1>            RampConstC<0;8,1>:ub\r
-       add (8)         RRampW(0,8)<1>          RRampW(0,8)                     8:w             // RRampW = ramp 15-0\r
-\r
-       // Load current MB control data\r
-#if defined(DEV_CL)\r
-       #if defined(_APPLE)\r
-               #include "Load_ILDB_Cntrl_Data_22DW.asm"        // Crestline for Apple, progressive only\r
-       #else\r
-               #include "Load_ILDB_Cntrl_Data_64DW.asm"        // Crestline\r
-       #endif  \r
-#else\r
-       #include "Load_ILDB_Cntrl_Data_16DW.asm"        // Cantiga and beyond\r
-#endif\r
-\r
-       // Check loaded control data\r
-       #if defined(_APPLE)\r
-               and.z.f0.1  (8) null<1>:uw      r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<8;8,1>:uw              0xFFFF:uw               // Skip ILDB?\r
-               (f0.1) and.z.f0.1 (2) null<1>:uw        r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<2;2,1>:uw             0xFFFF:uw               // Skip ILDB?\r
-       #else\r
-               and.z.f0.1  (16) null<1>:uw     r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<16;16,1>:uw    0xFFFF:uw               // Skip ILDB?           \r
-       #endif  \r
-               \r
-       and.nz.f0.0  (1) null:w         r[ECM_AddrReg, ExtBitFlags]:ub          DISABLE_ILDB_FLAG:w             // Skip ILDB?\r
-       \r
-       mov     (1)             GateWayOffsetC:uw       ORIY:uw         // Use row # as Gateway offset\r
-\r
-       #if defined(_APPLE)\r
-               (f0.1.all8h)    jmpi    ILDB_LABEL(READ_FOR_URB_UV)                             // Skip ILDB\r
-       #else\r
-               (f0.1.all16h)   jmpi    ILDB_LABEL(READ_FOR_URB_UV)                             // Skip ILDB\r
-       #endif  \r
-\r
-       (f0.0)                  jmpi    ILDB_LABEL(READ_FOR_URB_UV)                                     // Skip ILDB\r
-\r
-\r
-\r
-       #include "load_Cur_UV_8x8T.asm"                         // Load transposed data 8x8\r
-//     #include "load_Left_UV_2x8T.asm"\r
-       #include "load_Top_UV_8x2.asm"                          // Load top MB (8x2) Y data from memory if exists\r
-\r
-       #include "Transpose_Cur_UV_8x8.asm"\r
-//     #include "Transpose_Left_UV_2x8.asm"\r
-\r
-\r
-       //---------- Perform vertical ILDB filting on UV ----------\r
-       #include "AVC_ILDB_Filter_UV_v.asm"     \r
-       //---------------------------------------------------------\r
-\r
-       #include "save_Left_UV_8x2T.asm"                        // Write left MB (2x8) Y data to memory if exists\r
-       #include "Transpose_Cur_UV_8x8.asm"                     // Transpose a MB for horizontal edge de-blocking \r
-\r
-       //---------- Perform horizontal ILDB filting on UV ----------\r
-       #include "AVC_ILDB_Filter_UV_h.asm"     \r
-       //-----------------------------------------------------------\r
-\r
-       #include "save_Cur_UV_8x8.asm"                          // Write 8x8\r
-       #include "save_Top_UV_8x2.asm"                          // Write top MB (8x2) if not the top row\r
-\r
-       //---------- Write right most 4 columns of cur MB to URB ----------\r
-       // Transpose the right most 2 cols 2x8 (word) in GRF to 8x2 in BUF_D.  It is 2 left most cols in cur MB.\r
-       #include "Transpose_Cur_UV_2x8.asm"                                             \r
-               \r
-ILDB_LABEL(WRITE_URB_UV):\r
-       mov (8)         m1<1>:ud                LEFT_TEMP_D(1)<8;8,1>                   // Copy 1 GRF to 1 URB entry (U+V)\r
-       \r
-       #include "writeURB_UV_Child.asm"        \r
-       //-----------------------------------------------------------------\r
-\r
-       //=========== Check write commit of the last write ============\r
-    mov (8)    WritebackResponse(0)<1>         WritebackResponse(0)    \r
-\r
-ILDB_LABEL(POST_ILDB_UV):\r
-       //---------------------------------             \r
-       \r
-       // Send notification thru Gateway to root thread, update chroma Status[CurRow]\r
-       #include "AVC_ILDB_ForwardMsg.asm"\r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-       \r
-ILDB_LABEL(READ_FOR_URB_UV):\r
-       // Still need to prepare URB data for the right neighbor MB\r
-       #include "load_Cur_UV_Right_Most_2x8.asm"               // Load cur MB ( right most 4x16) Y data from memory\r
-       #include "Transpose_Cur_UV_Right_Most_2x8.asm"                                          \r
-//     jmpi ILDB_LABEL(WRITE_URB_UV)\r
-\r
-       mov (8)         m1<1>:ud                LEFT_TEMP_D(1)<8;8,1>                   // Copy 1 GRF to 1 URB entry (U+V)\r
-       \r
-       #include "writeURB_UV_Child.asm"        \r
-       //-----------------------------------------------------------------\r
-\r
-       // Send notification thru Gateway to root thread, update chroma Status[CurRow]\r
-       #include "AVC_ILDB_ForwardMsg.asm"\r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-       \r
-       \r
-       ////////////////////////////////////////////////////////////////////////////////\r
-       // Include other subrutines being called\r
-//     #include "AVC_ILDB_Luma_Core.asm"\r
-       #include "AVC_ILDB_Chroma_Core.asm"\r
-\r
-       \r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Child_Y.asm
deleted file mode 100644 (file)
index e19a0b8..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-// AVC Child Kernel (Vertical and horizontal de-block a 4:2:0 MB Y comp)\r
-//\r
-// First, de-block vertical edges from left to right.\r
-// Second, de-block horizontal edge from top to bottom.\r
-// \r
-// If transform_size_8x8_flag = 1, luma is de-blocked at 8x8.  Otherwise, luma is de-blocked at 4x4.\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_CHILD_Y\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_CHILD_Y):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x9998:w\r
-#endif\r
-\r
-       // Init local variables\r
-       shl (8)         ORIX_CUR<1>:w           ORIX<0;2,1>:w           4:w             // Expand addr to bytes, repeat (x,y) 4 times\r
-\r
-       // Init addr register for vertical control data\r
-       mov (1)         ECM_AddrReg<1>:w        CNTRL_DATA_BASE:w                       // Init edge control map AddrReg\r
-\r
-       //=== Null Kernel ===============================================================\r
-//     jmpi ILDB_LABEL(POST_ILDB_Y)\r
-       //===============================================================================\r
-\r
-       mul     (1)             URBOffsetC:uw   ORIY:uw         4:w     \r
-       \r
-#if !defined(DEV_CL)   \r
-       //====================================================================================\r
-       // For BearLake-C, 64 bytes are stored in memory and dataport expands to 256 bytes.  Need to use a special read command on BL-C.\r
-       // MB_offset = MBsCntX * CurRow + CurCol\r
-       // MBCntrlDataOffsetY = globel_byte_offset = MB_offset * 64\r
-       mul (1) CntrlDataOffsetY:ud             MBsCntX:w                               ORIY:w\r
-       add (1) CntrlDataOffsetY:ud             CntrlDataOffsetY:ud             ORIX:w\r
-               \r
-       // Assign to MSGSRC.2:ud for memory access\r
-       // mul (1) CntrlDataOffsetY:ud          CntrlDataOffsetY:ud             64:uw\r
-       mul (1) MSGSRC.2:ud             CntrlDataOffsetY:ud             64:uw           \r
-       \r
-#endif\r
-\r
-       // Load current MB control data\r
-#if defined(DEV_CL) \r
-       #if defined(_APPLE)\r
-               #include "Load_ILDB_Cntrl_Data_22DW.asm"        // Crestline for Apple, progressive only\r
-       #else\r
-               #include "Load_ILDB_Cntrl_Data_64DW.asm"        // Crestline\r
-       #endif  \r
-#else\r
-       #include "Load_ILDB_Cntrl_Data_16DW.asm"        // Cantiga and beyond\r
-#endif\r
-\r
-       // Check loaded control data\r
-       #if defined(_APPLE)\r
-               and.z.f0.1  (8) null<1>:uw      r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<8;8,1>:uw              0xFFFF:uw               // Skip ILDB?\r
-               (f0.1) and.z.f0.1 (2) null<1>:uw        r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<2;2,1>:uw             0xFFFF:uw               // Skip ILDB?\r
-       #else\r
-               and.z.f0.1  (16) null<1>:uw     r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]<16;16,1>:uw    0xFFFF:uw               // Skip ILDB?           \r
-       #endif  \r
-\r
-       and.nz.f0.0  (1) null:w         r[ECM_AddrReg, ExtBitFlags]:ub          DISABLE_ILDB_FLAG:w             // Skip ILDB?\r
-\r
-       // Use free cycles here\r
-       add (1)         ORIX_LEFT:w                     ORIX_LEFT:w                     -4:w\r
-//     add (1)         ORIY_TOP:w                      ORIY_TOP:w                      -4:w\r
-       mov     (1)             GateWayOffsetC:uw       ORIY:uw                                         // Use row # as Gateway offset\r
-\r
-       #if defined(_APPLE)\r
-               (f0.1.all8h)    jmpi    ILDB_LABEL(READ_FOR_URB_Y)                              // Skip ILDB\r
-       #else\r
-               (f0.1.all16h)   jmpi    ILDB_LABEL(READ_FOR_URB_Y)                              // Skip ILDB\r
-       #endif\r
-\r
-       (f0.0)                  jmpi    ILDB_LABEL(READ_FOR_URB_Y)                                      // Skip ILDB\r
-\r
-       add (1)         ORIY_TOP:w                      ORIY_TOP:w                      -4:w\r
-\r
-       // Bettr performance is observed if boundary MBs are not checked and skipped.\r
-       \r
-       #include "load_Cur_Y_16x16T.asm"                                // Load cur MB Y, 16x16, transpose\r
-//     #include "load_Left_Y_4x16T.asm"                                // Load left MB (4x16) Y data from memory\r
-       #include "load_Top_Y_16x4.asm"                                  // Load top MB (16x4) Y data from memory\r
-\r
-       #include "Transpose_Cur_Y_16x16.asm"\r
-//     #include "Transpose_Left_Y_4x16.asm"\r
-\r
-       //---------- Perform vertical ILDB filting on Y ---------\r
-       #include "AVC_ILDB_Filter_Y_v.asm"      \r
-       //-------------------------------------------------------\r
-\r
-       #include "save_Left_Y_16x4T.asm"                                // Write left MB (4x16) Y data to memory\r
-       #include "Transpose_Cur_Y_16x16.asm"                    // Transpose a MB for horizontal edge de-blocking \r
-\r
-       //---------- Perform horizontal ILDB filting on Y -------\r
-       #include "AVC_ILDB_Filter_Y_h.asm"      \r
-       //-------------------------------------------------------\r
-\r
-       #include "save_Cur_Y_16x16.asm"                                 // Write cur MB (16x16)\r
-       #include "save_Top_Y_16x4.asm"                                  // Write top MB (16x4)\r
-\r
-       //---------- Write right most 4 columns of cur MB to URB ----------\r
-       // Transpose the right most 4 cols 4x16 in GRF to 16x4 in LEFT_TEMP_B.  It is 4 left most cols in cur MB.       \r
-       #include "Transpose_Cur_Y_4x16.asm"                                             \r
-       \r
-ILDB_LABEL(WRITE_URB_Y):\r
-       // Note: LEFT_TEMP_B(2) = TOP_TEMP_B(0), TOP_TEMP_B must be avail\r
-       mov (16)        m1<1>:ud                LEFT_TEMP_D(2)<8;8,1>           // Copy 2 GRFs to 2 URB entries (Y)\r
-       \r
-       #include "writeURB_Y_Child.asm" \r
-       //-----------------------------------------------------------------\r
-\r
-       //=========== Check write commit of the last write ============\r
-    mov (8)    WritebackResponse(0)<1>         WritebackResponse(0)    \r
-\r
-ILDB_LABEL(POST_ILDB_Y):\r
-       // Send notification thru Gateway to root thread, update luma Status[CurRow]\r
-       #include "AVC_ILDB_ForwardMsg.asm"      \r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-\r
-ILDB_LABEL(READ_FOR_URB_Y):\r
-       // Still need to prepare URB data for the right neighbor MB\r
-       #include "load_Cur_Y_Right_Most_4x16.asm"               // Load cur MB ( right most 4x16) Y data from memory\r
-       #include "Transpose_Cur_Y_Right_Most_4x16.asm"                                          \r
-//     jmpi ILDB_LABEL(WRITE_URB_Y)\r
-\r
-       // Note: LEFT_TEMP_B(2) = TOP_TEMP_B(0), TOP_TEMP_B must be avail\r
-       mov (16)        m1<1>:ud                LEFT_TEMP_D(2)<8;8,1>           // Copy 2 GRFs to 2 URB entries (Y)\r
-       \r
-       #include "writeURB_Y_Child.asm" \r
-       //-----------------------------------------------------------------\r
-\r
-       // Send notification thru Gateway to root thread, update luma Status[CurRow]\r
-       #include "AVC_ILDB_ForwardMsg.asm"      \r
-\r
-#if !defined(GW_DCN)           // For non-ILK chipsets\r
-       //child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-#endif // !defined(DEV_ILK)\r
-       \r
-       // The thread finishs here\r
-       //------------------------------------------------------------------------------\r
-       \r
-       ////////////////////////////////////////////////////////////////////////////////\r
-       // Include other subrutines being called\r
-       #include "AVC_ILDB_Luma_Core.asm"\r
-//     #include "AVC_ILDB_Chroma_Core.asm"\r
-\r
-       \r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core.asm
deleted file mode 100644 (file)
index e33d022..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__AVC_ILDB_CHROMA_CORE__) // Make sure this file is only included once\r
-#define __AVC_ILDB_CHROMA_CORE__\r
-\r
-////////// AVC ILDB Chroma Core /////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//     This core performs AVC U or V ILDB filtering on one horizontal edge (8 pixels) of a MB.\r
-//     If data is transposed, it can also de-block a vertical edge.\r
-//\r
-//     Bafore calling this subroutine, caller needs to set the following parameters.\r
-//\r
-//     - EdgeCntlMap1                          //      Edge control map A\r
-//     - EdgeCntlMap2                          //      Edge control map B\r
-//     - P_AddrReg                                     //      Src and dest address register for P pixels\r
-//     - Q_AddrReg                                     //      Src and dest address register for Q pixels      \r
-//     - alpha                                         //  alpha corresponding to the edge to be filtered\r
-//     - beta                                          //  beta corresponding to the edge to be filtered\r
-//     - tc0                                           //      tc0  corresponding to the edge to be filtered\r
-//\r
-//     U or V:\r
-//     +----+----+----+----+\r
-//     | P1 | p0 | q0 | q1 |\r
-//     +----+----+----+----+\r
-//\r
-//     p1 = r[P_AddrReg, 0]<16;8,2> \r
-//     p0 = r[P_AddrReg, 16]<16;8,2> \r
-//     q0 = r[Q_AddrReg, 0]<16;8,2>  \r
-//     q1 = r[Q_AddrReg, 16]<16;8,2> \r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// The region is both src and dest\r
-// P0-P3 and Q0-Q3 should be only used if they have not been modified to new values  \r
-#undef         P1\r
-#undef         P0\r
-#undef         Q0\r
-#undef         Q1\r
-\r
-#define P1             r[P_AddrReg,  0]<16;8,2>:ub\r
-#define P0             r[P_AddrReg, 16]<16;8,2>:ub\r
-#define Q0             r[Q_AddrReg,  0]<16;8,2>:ub\r
-#define Q1             r[Q_AddrReg, 16]<16;8,2>:ub\r
-\r
-// New region as dest\r
-#undef         NewP0\r
-#undef         NewQ0\r
-\r
-#define NewP0  r[P_AddrReg, 16]<2>:ub\r
-#define NewQ0  r[Q_AddrReg,  0]<2>:ub\r
-\r
-// Filter one chroma edge \r
-FILTER_UV:\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x1112:w\r
-#endif\r
-       //---------- Derive filterSampleflag in AVC spec, equition (8-469) ----------\r
-       // bS is in MaskA\r
-\r
-       // Src copy of the p1, p0, q0, q1\r
-//     mov (8) p1(0)<1>                r[P_AddrReg, 0]<16;8,2>:ub\r
-//     mov (8) p0(0)<1>                r[P_AddrReg, 16]<16;8,2>:ub\r
-//     mov (8) q0(0)<1>                r[Q_AddrReg, 0]<16;8,2>:ub\r
-//     mov (8) q1(0)<1>                r[Q_AddrReg, 16]<16;8,2>:ub\r
-\r
-//     mov (1) f0.0:uw         MaskA:uw\r
-\r
-       add (8) q0_p0(0)<1>                     Q0              -P0                             // q0-p0\r
-       add (8) TempRow0(0)<1>          P1              -P0                             // p1-p0\r
-       add (8) TempRow1(0)<1>          Q1              -Q0                             // q1-q0\r
-\r
-       // Build FilterSampleFlag\r
-       // abs(q0-p0) < alpha\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)q0_p0(0)                   alpha:w\r
-       // abs(p1-p0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow0(0)                beta:w\r
-       // abs(q1-q0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow1(0)                beta:w\r
-\r
-       //-----------------------------------------------------------------------------------------\r
-\r
-       // if \r
-    (f0.0)     if      (8)             UV_ENDIF1\r
-               // For channels whose edge control map1 = 1 ---> perform de-blocking\r
-\r
-//             mov (1)         f0.1:w          MaskB:w         {NoMask}                // Now check for which algorithm to apply\r
-\r
-               (f0.1)  if      (8)             UV_ELSE2\r
-\r
-                       // For channels whose edge control map2 = 1 ---> bS = 4 algorithm \r
-                       // p0' = (2*p1 + p0 + q1 + 2) >> 2\r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2\r
-\r
-                       // Optimized version:\r
-                       // A = (p1 + q1 + 2)\r
-                       // p0' = (p0 + p1 + A) >> 2\r
-                       // q0' = (q0 + q1 + A) >> 2\r
-                       //------------------------------------------------------------------------------------\r
-                       \r
-                       // p0' = (2*p1 + p0 + q1 + 2) >> 2\r
-                       add (8) acc0<1>:w               Q1                              2:w\r
-                       mac (8) acc0<1>:w               P1                              2:w\r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w   P0\r
-                       shr.sat (8)     TempRow0B(0)<2>         acc0<8;8,1>:w           2:w\r
-                       \r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2\r
-                       add (8) acc0<1>:w               P1                              2:w\r
-                       mac (8) acc0<1>:w               Q1                              2:w\r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w   Q0\r
-                       shr.sat (8)     TempRow1B(0)<2>         acc0<8;8,1>:w           2:w\r
-\r
-                       mov (8) NewP0           TempRow0B(0)                                    // p0'\r
-                       mov (8) NewQ0           TempRow1B(0)                                    // q0'\r
-                       \r
-                       \r
-UV_ELSE2: \r
-               else    (8)             UV_ENDIF2\r
-                       // For channels whose edge control map2 = 0 ---> bS < 4 algorithm\r
-                       \r
-                       // Expand tc0   (tc0 has 4 bytes)\r
-//                     mov (8) tc0_exp(0)<1>   tc0<1;2,0>:ub   {NoMask}                                // tc0_exp = tc0, each tc0 is duplicated 2 times for 2 adjcent pixels   \r
-                       mov (8) acc0<1>:w       tc0<1;2,0>:ub   {NoMask}                                // tc0_exp = tc0, each tc0 is duplicated 2 times for 2 adjcent pixels   \r
-                       \r
-                       // tc_exp = tc0_exp + 1\r
-//                     add (8) tc_exp(0)<1>    tc0_exp(0)              1:w\r
-                       add (8) tc_exp(0)<1>    acc0<8;8,1>:w           1:w\r
-\r
-                       // delta = Clip3(-tc, tc, ((((q0 - p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // 4 * (q0-p0) + p1 - q1 + 4\r
-                       add (8) acc0<1>:w               P1                      4:w\r
-                       mac (8) acc0<1>:w               q0_p0(0)        4:w     \r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w           -Q1\r
-                       shr (8) TempRow0(0)<1>  acc0<8;8,1>:w           3:w\r
-\r
-                       // tc clip\r
-                       cmp.g.f0.0      (8) null:w              TempRow0(0)             tc_exp(0)                               // Clip if > tc0\r
-                       cmp.l.f0.1      (8) null:w              TempRow0(0)             -tc_exp(0)                              // Clip if < -tc0\r
-                       \r
-                       (f0.0) mov (8) TempRow0(0)<1>                           tc_exp(0)\r
-                       (f0.1) mov (8) TempRow0(0)<1>                           -tc_exp(0)\r
-                       \r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       add.sat (8)     TempRow1B(0)<2>         P0                      TempRow0(0)                             // p0+delta\r
-               \r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       add.sat (8)     TempRow0B(0)<2>         Q0                      -TempRow0(0)                    // q0-delta\r
-\r
-                       mov (8) NewP0                           TempRow1B(0)                    // p0'\r
-                       mov (8) NewQ0                           TempRow0B(0)                    // q0'\r
-\r
-               endif\r
-UV_ENDIF2:\r
-UV_ENDIF1:\r
-       endif\r
-\r
-RETURN\r
-\r
-#endif // !defined(__AVC_ILDB_CHROMA_CORE__)\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Chroma_Core_Mbaff.asm
deleted file mode 100644 (file)
index f567d95..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB Chroma Core Mbaff /////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//     This core performs AVC U or V ILDB filtering on one horizontal edge (8 pixels) of a MB.\r
-//     If data is transposed, it can also de-block a vertical edge.\r
-//\r
-//     Bafore calling this subroutine, caller needs to set the following parameters.\r
-//\r
-//     - EdgeCntlMap1                          //      Edge control map A\r
-//     - EdgeCntlMap2                          //      Edge control map B\r
-//     - P_AddrReg                                     //      Src and dest address register for P pixels\r
-//     - Q_AddrReg                                     //      Src and dest address register for Q pixels      \r
-//     - alpha                                         //  alpha corresponding to the edge to be filtered\r
-//     - beta                                          //  beta corresponding to the edge to be filtered\r
-//     - tc0                                           //      tc0  corresponding to the edge to be filtered\r
-//\r
-//     U or V:\r
-//     +----+----+----+----+\r
-//     | P1 | p0 | q0 | q1 |\r
-//     +----+----+----+----+\r
-//\r
-//     p1 = r[P_AddrReg, 0]<16;8,2> \r
-//     p0 = r[P_AddrReg, 16]<16;8,2> \r
-//     q0 = r[Q_AddrReg, 0]<16;8,2>  \r
-//     q1 = r[Q_AddrReg, 16]<16;8,2> \r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// The region is both src and dest\r
-// P0-P3 and Q0-Q3 should be only used if they have not been modified to new values  \r
-#undef         P1\r
-#undef         P0\r
-#undef         Q0\r
-#undef         Q1\r
-\r
-#define P1             r[P_AddrReg,  0]<16;8,2>:ub\r
-#define P0             r[P_AddrReg, 16]<16;8,2>:ub\r
-#define Q0             r[Q_AddrReg,  0]<16;8,2>:ub\r
-#define Q1             r[Q_AddrReg, 16]<16;8,2>:ub\r
-\r
-// New region as dest\r
-#undef         NewP0\r
-#undef         NewQ0\r
-\r
-#define NewP0  r[P_AddrReg, 16]<2>:ub\r
-#define NewQ0  r[Q_AddrReg,  0]<2>:ub\r
-\r
-// Filter one chroma edge - mbaff\r
-FILTER_UV_MBAFF:\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x1112:w\r
-#endif\r
-       //---------- Derive filterSampleflag in AVC spec, equition (8-469) ----------\r
-\r
-       //===== Assume f0.0 contains MaskA when entering this routine\r
-//     mov (1) f0.0:uw         MaskA:uw\r
-\r
-       add (8) q0_p0(0)<1>                     Q0              -P0                             // q0-p0\r
-       add (8) TempRow0(0)<1>          P1              -P0                             // p1-p0\r
-       add (8) TempRow1(0)<1>          Q1              -Q0                             // q1-q0\r
-\r
-       // Build FilterSampleFlag\r
-       // abs(q0-p0) < alpha\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)q0_p0(0)                   Mbaff_ALPHA(0)\r
-       // abs(p1-p0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow0(0)                Mbaff_BETA(0)\r
-       // abs(q1-q0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow1(0)                Mbaff_BETA(0)\r
-\r
-       //-----------------------------------------------------------------------------------------\r
-\r
-       // if \r
-    (f0.0)     if      (8)             MBAFF_UV_ENDIF1\r
-               // For channels whose edge control map1 = 1 ---> perform de-blocking\r
-\r
-//             mov (1)         f0.1:w          MaskB:w         {NoMask}                // Now check for which algorithm to apply\r
-\r
-               (f0.1)  if      (8)             MBAFF_UV_ELSE2\r
-\r
-                       // For channels whose edge control map2 = 1 ---> bS = 4 algorithm \r
-                       // p0' = (2*p1 + P0 + q1 + 2) >> 2\r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2\r
-                       //------------------------------------------------------------------------------------\r
-\r
-                       // p0' = (2*p1 + p0 + q1 + 2) >> 2\r
-                       add (8) acc0<1>:w               Q1                              2:w\r
-                       mac (8) acc0<1>:w               P1                              2:w\r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w   P0\r
-                       shr.sat (8)     TempRow0B(0)<2>         acc0<8;8,1>:w           2:w\r
-\r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2\r
-                       add (8) acc0<1>:w               P1                              2:w\r
-                       mac (8) acc0<1>:w               Q1                              2:w\r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w   Q0\r
-                       shr.sat (8)     TempRow1B(0)<2>         acc0<8;8,1>:w           2:w\r
-\r
-                       mov (8) NewP0           TempRow0B(0)                                    // p0'\r
-                       mov (8) NewQ0           TempRow1B(0)                                    // q0'\r
-                       \r
-MBAFF_UV_ELSE2: \r
-               else    (8)             MBAFF_UV_ENDIF2\r
-                       // For channels whose edge control map2 = 0 ---> bS < 4 algorithm\r
-                       \r
-                       // tc_exp = tc0_exp + 1\r
-                       add (8) tc_exp(0)<1>    Mbaff_TC0(0)            1:w\r
-\r
-                       // delta = Clip3(-tc, tc, ((((q0 - p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // 4 * (q0-p0) + p1 - q1 + 4\r
-                       add (8) acc0<1>:w               P1                      4:w\r
-                       mac (8) acc0<1>:w               q0_p0(0)        4:w     \r
-                       add (8) acc0<1>:w               acc0<8;8,1>:w           -Q1\r
-                       shr (8) TempRow0(0)<1>  acc0<8;8,1>:w           3:w\r
-\r
-                       // tc clip\r
-                       cmp.g.f0.0      (8) null:w              TempRow0(0)             tc_exp(0)                               // Clip if > tc0\r
-                       cmp.l.f0.1      (8) null:w              TempRow0(0)             -tc_exp(0)                              // Clip if < -tc0\r
-                       \r
-                       (f0.0) mov (8) TempRow0(0)<1>                           tc_exp(0)\r
-                       (f0.1) mov (8) TempRow0(0)<1>                           -tc_exp(0)\r
-                       \r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       add.sat (8)     TempRow1B(0)<2>         P0                      TempRow0(0)                             // p0+delta\r
-               \r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       add.sat (8)     TempRow0B(0)<2>         Q0                      -TempRow0(0)                    // q0-delta\r
-\r
-                       mov (8) NewP0                           TempRow1B(0)                    // p0'\r
-                       mov (8) NewQ0                           TempRow0B(0)                    // q0'\r
-\r
-               endif\r
-MBAFF_UV_ENDIF2:\r
-MBAFF_UV_ENDIF1:\r
-       endif\r
-\r
-RETURN\r
-\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_CloseGateway.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_CloseGateway.asm
deleted file mode 100644 (file)
index f69ee8c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//----- Close a Message Gateway -----\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:b                        0x4444:w\r
-#endif\r
-\r
-// Message descriptor\r
-// bit 31      EOD\r
-// 27:24       FFID = 0x0011 for msg gateway\r
-// 23:20       msg length = 1 MRF\r
-// 19:16       Response length = 0\r
-// 1:0         SubFuncID = 01 for CloseGateway\r
-// Message descriptor: 0 000 0011 0001 0000 + 0 0 000000000000 01 ==> 0000 0011 0001 0000 0000 0000 0000 0001\r
-send (8)       null:ud         m7        r0.0<0;1,0>:ud    MSG_GW      CGWMSGDSC \r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Dep_Check.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Dep_Check.asm
deleted file mode 100644 (file)
index 70f8a55..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//---------- Check dependency and spawn all MBs ----------\r
-\r
-// Launch the 1st round of child threads for Vertical ILDB\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:w                        0x3333:w\r
-#endif\r
-\r
-//=====================================================================\r
-// Jump Table 1\r
-       // 0 0 ---> Goto ALL_SPAWNED\r
-       // 0 1 ---> Goto ALL_SPAWNED\r
-       // 1 0 ---> Goto SLEEP_ENTRY\r
-       // 1 1 ---> Goto POST_SLEEP\r
-       mov (2)         JumpTable.0<1>:d        0:d                             { NoDDClr }\r
-#if defined(CHROMA_ROOT)               \r
-       mov (1)         JumpTable.2:d   SLEEP_ENTRY_UV_ILDB_FRAME_IP-ALL_SPAWNED_UV_ILDB_FRAME_IP:d             { NoDDClr, NoDDChk }\r
-       mov (1)         JumpTable.3:d   POST_SLEEP_UV_ILDB_FRAME_IP-ALL_SPAWNED_UV_ILDB_FRAME_IP:d              { NoDDChk }\r
-#else\r
-       mov (1)         JumpTable.2:d   SLEEP_ENTRY_Y_ILDB_FRAME_IP-ALL_SPAWNED_Y_ILDB_FRAME_IP:d               { NoDDClr, NoDDChk }\r
-       mov (1)         JumpTable.3:d   POST_SLEEP_Y_ILDB_FRAME_IP-ALL_SPAWNED_Y_ILDB_FRAME_IP:d                { NoDDChk }\r
-#endif\r
-//=====================================================================\r
-\r
-       mov (2)         f0.0<1>:w               0:w\r
-\r
-       // Get m0 most of fields ready for URB write\r
-       mov     (8)                     MRF0<1>:ud              MSGSRC.0<8;8,1>:ud\r
-\r
-       // Add child kernel offset\r
-       add (1)         CT_R0Hdr.2:ud                   r0.2:ud                 CHILD_OFFSET:w\r
-\r
-       // Init\r
-       mov (1)         Col_Boundary:w                  2:w\r
-       mov (1)         Row_Boundary:w                  LastRow:w\r
-       mov (1)         TopRowForScan:w                 0:w\r
-       mov (2)         OutstandingThreads<1>:w 0:w\r
-\r
-       // Init Scoreboard  (idle = 0x00FF, busy = 0x0000)\r
-       // Low word is saved col.  High word is busy/idle status\r
-       mov     (16)            GatewayAperture(0)<1>   0x00FF00FF:ud           // Init r6-r7\r
-       mov     (16)            GatewayAperture(2)<1>   0x00FF00FF:ud           // Init r8-r9\r
-       mov     (16)            GatewayAperture(4)<1>   0x00FF00FF:ud           // Init r10-r11\r
-       mov     (16)            GatewayAperture(6)<1>   0x00FF00FF:ud           // Init r12-r13\r
-       mov     (16)            GatewayAperture(8)<1>   0x00FF00FF:ud           // Init r14-r15\r
-\r
-       mul     (1)                     StatusAddr:w            CurRow:w                4:w             // dword to bytes offset conversion\r
-\r
-       //=====================================================================\r
-\r
-//SPAWN_LOOP:\r
-       //===== OutstandingThreads < ThreadLimit ? ============================\r
-       cmp.l.f0.1 (1)  null:w          OutstandingThreads:w    ThreadLimit:w           // Check the thread limit\r
-#if defined(CHROMA_ROOT) \r
-    (f0.1) jmpi                ILDB_LABEL(POST_SLEEP_UV)\r
-#else  // LUMA_ROOT\r
-    (f0.1) jmpi                ILDB_LABEL(POST_SLEEP_Y)\r
-#endif\r
-\r
-#if defined(CHROMA_ROOT) \r
-ILDB_LABEL(SLEEP_ENTRY_UV):\r
-#else  // LUMA_ROOT\r
-ILDB_LABEL(SLEEP_ENTRY_Y):\r
-#endif\r
-    //===== Goto Sleep ====================================================\r
-    // Either reached max thread limit or no child thread can be spawned due to dependency.\r
-       add     (1)                     OutstandingThreads:w    OutstandingThreads:w    -1:w // Do this before wait is faster\r
-       wait                    n0.0:d                                                                                          \r
-\r
-#if defined(CHROMA_ROOT) \r
-ILDB_LABEL(POST_SLEEP_UV):\r
-#else  // LUMA_ROOT\r
-ILDB_LABEL(POST_SLEEP_Y):\r
-#endif\r
-       //===== Luma Status[CurRow] == busy ? =====\r
-       cmp.z.f0.0 (1)  null:uw         r[StatusAddr, GatewayApertureB+ScoreBd_Idx]:uw          0:uw                    // Check west neighbor\r
-       cmp.g.f0.1 (1)  null:w          CurCol:w                LastCol:w               // Check if the curCol > LastCol\r
-\r
-#if defined(CHROMA_ROOT) \r
-       mov     (16)            acc0.0<1>:w             URBOffsetUVBase<0;1,0>:w                        // Add offset to UV base (MBsCntY * URB_EBTRIES_PER_MB)\r
-       mac (1)                 URBOffset:w             CurRow:w                        4:w                             // 4 entries per row\r
-#else\r
-       mul     (1)                     URBOffset:w             CurRow:w                        4:w                             // 4 entries per row\r
-#endif\r
-\r
-#if defined(CHROMA_ROOT) \r
-       (f0.0) jmpi             ILDB_LABEL(SLEEP_ENTRY_UV)                                                              // Current row has a child thread running, can not spawn a new child thread, go back to sleep\r
-       (f0.1) jmpi             ILDB_LABEL(NEXT_MB_UV)                                                                  // skip MB if the curCol > LastCol \r
-#else  // LUMA_ROOT\r
-       (f0.0) jmpi             ILDB_LABEL(SLEEP_ENTRY_Y)                                                               // Current row has a child thread running, can not spawn a new child thread, go back to sleep\r
-       (f0.1) jmpi             ILDB_LABEL(NEXT_MB_Y)                                                                   // skip MB if the curCol > LastCol \r
-#endif\r
-               \r
-       //========== Spwan a child thread ========================================\r
-       // Save cur col and set Status[CurRow] to busy\r
-       mov (2)                 r[StatusAddr, GatewayApertureB]<1>:uw           CurColB<2;2,1>:ub               // Store the new col\r
-                       \r
-       // Increase OutstandingThreads and ProcessedMBs by 1\r
-       add     (2)                     OutstandingThreads<1>:w         OutstandingThreads<2;2,1>:w             1:w  \r
-\r
-       #include "AVC_ILDB_SpawnChild.asm"\r
-\r
-       //===== Find next MB ===================================================\r
-#if defined(CHROMA_ROOT) \r
-ILDB_LABEL(NEXT_MB_UV):\r
-#else  // LUMA_ROOT\r
-ILDB_LABEL(NEXT_MB_Y):\r
-#endif\r
-       // Check pic boundary, results are in f0.0 bit0 and bit1\r
-       cmp.ge.f0.0     (2)     null<1>:w   CurCol<2;2,1>:w     Col_Boundary<2;2,1>:w\r
-\r
-       // Update TopRowForScan if the curCol = LastCol\r
-       (f0.1) add (1)  TopRowForScan:w         CurRow:w                1:w     \r
-\r
-//     cmp.l.f0.1 (1)  null<1>:w               ProcessedMBs:w          TotalBlocks:w           // Processed all blocks ?\r
-       // 2 sets compare\r
-       // ProcessedMBs:w < TotalBlocks:w               OutstandingThreads:w < ThreadLimit:wProcessedMBs:w\r
-       // 0 0 ---> Goto ALL_SPAWNED\r
-       // 0 1 ---> Goto ALL_SPAWNED\r
-       // 1 0 ---> Goto SLEEP_ENTRY\r
-       // 1 1 ---> Goto POST_SLEEP\r
-       cmp.l.f0.1 (2)  null<1>:w               OutstandingThreads<2;2,1>:w     ThreadLimit<2;2,1>:w\r
-\r
-       // Just do it in stalled cycles\r
-       mov (1)         acc0.0:w                4:w\r
-       mac     (1)             StatusAddr:w            CurRow:w                4:w                                             // dword to bytes offset conversion     \r
-       add (2)         CurCol<1>:w             CurCol<2;2,1>:w         StepToNextMB<2;2,1>:b   // CurCol -= 2 and CurRow += 1\r
-               \r
-       // Set f0.0 if turning around is needed, assuming bit 15 - 2 are zeros for correct comparison.\r
-       cmp.nz.f0.0 (1) null<1>:w       f0.0:w          0x01:w\r
-               \r
-       mul (1)         JumpAddr:w              f0.1:w          4:w             // byte offet in dword count\r
-               \r
-       // The next MB is at the row TopRowForScan\r
-       (f0.0) mul (1)          StatusAddr:w    TopRowForScan:w         4:w                             // dword to bytes offset conversion\r
-       (f0.0) mov (1)          CurRow:w                TopRowForScan:w                                                         { NoDDClr }     // Restart from the top row that has MBs not deblocked yet.\r
-       (f0.0) add (1)          CurCol:w                r[StatusAddr, GatewayApertureB]:uw              1:w             { NoDDChk }\r
-       \r
-       //===== Processed all blocks ? =========================================\r
-       // (f0.1) jmpi          SPAWN_LOOP\r
-\r
-       jmpi    r[JumpAddr, JUMPTABLE_BASE]:d\r
-//JUMP_BASE:\r
-\r
-       //======================================================================\r
-\r
-       // All MB are spawned at this point, check for outstanding thread count\r
-#if defined(CHROMA_ROOT) \r
-ILDB_LABEL(ALL_SPAWNED_UV):\r
-#else  // LUMA_ROOT\r
-ILDB_LABEL(ALL_SPAWNED_Y):\r
-#endif\r
-       cmp.e.f0.1 (1)  null:w          OutstandingThreads:w            0:w                     // Check before goto sleep\r
-#if defined(CHROMA_ROOT) \r
-       (f0.1) jmpi             ILDB_LABEL(ALL_DONE_UV)\r
-#else  // LUMA_ROOT\r
-       (f0.1) jmpi             ILDB_LABEL(ALL_DONE_Y)\r
-#endif\r
-       \r
-       wait                    n0.0:d                                                                                          // Wake up by a finished child thread\r
-       add     (1)                     OutstandingThreads:w    OutstandingThreads:w    -1:w\r
-\r
-#if defined(CHROMA_ROOT) \r
-       // One thread is free and give it to luma thread limit --- Increase luma thread limit by one.\r
-       #include "AVC_ILDB_LumaThrdLimit.asm"\r
-#endif\r
-\r
-#if defined(CHROMA_ROOT) \r
-    jmpi                       ILDB_LABEL(ALL_SPAWNED_UV)                                                      // Waked up and goto dependency check\r
-#else  // LUMA_ROOT\r
-    jmpi                       ILDB_LABEL(ALL_SPAWNED_Y)                                                       // Waked up and goto dependency check\r
-#endif\r
-\r
-       // All child threads are finsihed at this point \r
-#if defined(CHROMA_ROOT) \r
-ILDB_LABEL(ALL_DONE_UV):\r
-#else  // LUMA_ROOT\r
-ILDB_LABEL(ALL_DONE_Y):\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_h.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_h.asm
deleted file mode 100644 (file)
index ff807d5..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter horizontal Mbaff UV ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all horizontal edges of UV.\r
-//\r
-//     It sssumes the data for horizontal de-blocking is already transposed.  \r
-//\r
-//             Chroma:\r
-//\r
-//             +-------+-------+               H0 Edge\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+               H1 Edge\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBC:w\r
-#endif \r
-\r
-//=============== Chroma deblocking ================\r
-\r
-//---------- Deblock UV external top edge ----------\r
-\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterTopMbEdgeFlag:w           // Check for FilterTopMbEdgeFlag \r
-\r
-       mov     (1)     f0.1:w          DualFieldMode:w         // Check for dual field mode\r
-\r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<0;1,0>:uw             RRampW(0)\r
-       shr (16)        TempRow1(0)<1>          r[ECM_AddrReg, wEdgeCntlMapB_ExtTopHorz0]<0;1,0>:uw             RRampW(0)\r
-\r
-    (f0.0)     jmpi    H0_UV_DONE                              // Skip H0 UV edge\r
-\r
-       (f0.1) jmpi DUAL_FIELD_UV\r
-\r
-       // Non dual field mode  \r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-       // Ext U\r
-       //      p1 = Prev MB U row 0\r
-       //      p0 = Prev MB U row 1\r
-       //      q0 = Cur MB U row 0\r
-       //      q1 = Cur MB U row 1\r
-       mov (1) P_AddrReg:w             PREV_MB_U_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_U_BASE:w         { NoDDChk }\r
-       \r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop0_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop0_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_0_Cb]<1;2,0>:ub\r
-\r
-       // Store UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-\r
-       // Ext V\r
-       mov (1) P_AddrReg:w             PREV_MB_V_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_V_BASE:w         { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop0_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop0_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_0_Cr]<1;2,0>:ub\r
-\r
-       // Set UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-\r
-       jmpi H0_UV_DONE \r
-       \r
-DUAL_FIELD_UV:\r
-       // Dual field mode, FieldModeCurrentMbFlag=0 && FieldModeAboveMbFlag=1\r
-\r
-       //===== Ext U, Top field\r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE:w                     { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+32:w          { NoDDChk }\r
-\r
-       mov (16) ABOVE_CUR_MB_UW(0)<1>  PREV_MB_UW(0, 0)<16;8,1>        // Copy p1, p0\r
-       mov (16) ABOVE_CUR_MB_UW(1)<1>  SRC_UW(0, 0)<16;8,1>            // Copy q1, q0\r
-\r
-       //===== Ext U, top field\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop0_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop0_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_0_Cb]<1;2,0>:ub\r
-\r
-       // Store UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        // Ext U, top field\r
-\r
-       //===== Ext V, top field\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE+1:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+33:w          { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop0_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop0_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_0_Cr]<1;2,0>:ub\r
-\r
-       // Set UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        // Ext U, top field\r
-\r
-       // Prefetch for bottom field\r
-       // Get bot field Luma maskA and maskB   \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz1]<0;1,0>:uw             RRampW(0)\r
-       shr (16)        TempRow1(0)<1>          r[ECM_AddrReg, wEdgeCntlMapB_ExtTopHorz1]<0;1,0>:uw             RRampW(0)\r
-\r
-       // Save deblocked top field rows\r
-       mov (8) PREV_MB_UW(1, 0)<1>             ABOVE_CUR_MB_UW(0, 8)   // Copy p0\r
-       mov (8) SRC_UW(0, 0)<1>                 ABOVE_CUR_MB_UW(1, 0)   // Copy q0\r
-       //==========================================================================\r
-\r
-       //===== Ext U, Bot field \r
-       \r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE:w                     { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+32:w          { NoDDChk }\r
-\r
-       mov (16) ABOVE_CUR_MB_UW(0)<1>  PREV_MB_UW(0, 8)<16;8,1>        // Copy p1, p0\r
-       mov (16) ABOVE_CUR_MB_UW(1)<1>  SRC_UW(0, 8)<16;8,1>            // Copy q1, q0\r
-\r
-       //===== Ext U, bottom field\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop1_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop1_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_1_Cb]<1;2,0>:ub\r
-\r
-       // Store UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        // Ext U, bottom field\r
-\r
-       //===== Ext V, bot field\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE+1:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+33:w          { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaTop1_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaTop1_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h00_1_Cr]<1;2,0>:ub\r
-\r
-       // Set UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        // Ext V, bottom field\r
-       \r
-       // Save deblocked bot field rows\r
-       mov (8) PREV_MB_UW(1, 8)<1>             ABOVE_CUR_MB_UW(0, 8)   // Copy p0\r
-       mov (8) SRC_UW(0, 8)<1>                 ABOVE_CUR_MB_UW(1, 0)   // Copy q0\r
-       //========================================\r
-\r
-H0_UV_DONE:\r
-\r
-//---------- Deblock U internal horz middle edge ----------\r
-\r
-       //***** Need to take every other bit to form U maskA in core\r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMap_IntMidHorz]<0;1,0>:uw               RRampW(0)\r
-\r
-       //      p1 = Cur MB U row 2\r
-       //      p0 = Cur MB U row 3\r
-       //      q0 = Cur MB U row 4\r
-       //      q1 = Cur MB U row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_U_BASE:w          { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_U_BASE:w          { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaInternal_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaInternal_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h20_Cb]<1;2,0>:ub\r
-\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-\r
-       // Store UV MaskA and MaskB\r
-       mov (1) f0.1:uw         0:w\r
-       mov (1) MaskB:uw        0:w                     { NoDDClr }\r
-       mov (1) MaskA:uw        f0.0:uw         { NoDDChk }\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock V internal horz middle edge ----------\r
-\r
-       //      p1 = Cur MB V row 2\r
-       //      p0 = Cur MB V row 3\r
-       //      q0 = Cur MB V row 4\r
-       //      q1 = Cur MB V row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_V_BASE:w          { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_V_BASE:w          { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaInternal_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaInternal_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_h20_Cr]<1;2,0>:ub\r
-\r
-       // Set UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-//-----------------------------------------------\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_v.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_UV_v.asm
deleted file mode 100644 (file)
index c0f2678..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC LDB filter vertical Mbaff UV ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all vertical edges of UV.\r
-//\r
-//     It sssumes the data for vertical de-blocking is already transposed.  \r
-//\r
-//             Chroma:\r
-//\r
-//             +-------+-------+\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//\r
-//             V0              V1              \r
-//             Edge    Edge    \r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBC:w\r
-#endif \r
-\r
-//=============== Chroma deblocking ================\r
-\r
-//---------- Deblock U external left edge ----------\r
-\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterLeftMbEdgeFlag:w          // Check for FilterLeftMbEdgeFlag \r
-\r
-       cmp.z.f0.1      (1)     null:w  VertEdgePattern:uw              LEFT_FIELD_CUR_FRAME:w\r
-\r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]<0;1,0>:uw            RRampW(0)\r
-       shr (16)        TempRow1(0)<1>          r[ECM_AddrReg, wEdgeCntlMapB_ExtLeftVert0]<0;1,0>:uw            RRampW(0)\r
-       \r
-    (f0.0)     jmpi    BYPASS_V0_UV    // Do not deblock Left ext edge\r
-\r
-       cmp.z.f0.0      (1)     null:w  VertEdgePattern:uw              LEFT_FRAME_CUR_FIELD:w\r
-\r
-       (-f0.1) jmpi V0_U_NEXT1 // Jump if not LEFT_FIELD_CUR_FRAME\r
-\r
-       //----- For LEFT_FIELD_CUR_FRAME\r
-       \r
-       // Extract UV MaskA and MaskB from every other 2 bits of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<4;2,1>              1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<4;2,1>              1:w\r
-\r
-       // For FieldModeLeftMbFlag=1 && FieldModeCurrentMbFlag=0 \r
-       mov     (4)     Mbaff_ALPHA(0,0)<2>             r[ECM_AddrReg, bAlphaLeft0_Cb]<0;1,0>:ub        { NoDDClr }\r
-       mov     (4)     Mbaff_ALPHA(0,1)<2>             r[ECM_AddrReg, bAlphaLeft1_Cb]<0;1,0>:ub        { NoDDChk }\r
-       mov     (4)     Mbaff_BETA(0,0)<2>              r[ECM_AddrReg, bBetaLeft0_Cb]<0;1,0>:ub         { NoDDClr }\r
-       mov     (4)     Mbaff_BETA(0,1)<2>              r[ECM_AddrReg, bBetaLeft1_Cb]<0;1,0>:ub         { NoDDChk }\r
-       mov (4) Mbaff_TC0(0,0)<2>               r[ECM_AddrReg, bTc0_v00_0_Cb]<4;4,1>:ub         { NoDDClr }\r
-       mov (4) Mbaff_TC0(0,1)<2>               r[ECM_AddrReg, bTc0_v00_1_Cb]<4;4,1>:ub         { NoDDChk }\r
-\r
-       jmpi    V0_U_NEXT3\r
-\r
-V0_U_NEXT1:\r
-       \r
-       (-f0.0) jmpi V0_U_NEXT2                 // Jump if not LEFT_FRAME_CUR_FIELD\r
-       \r
-       //----- For LEFT_FRAME_CUR_FIELD\r
-               \r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-       // For FieldModeLeftMbFlag=0 && FieldModeCurrentMbFlag=1\r
-       mov     (4)     Mbaff_ALPHA(0,0)<1>             r[ECM_AddrReg, bAlphaLeft0_Cb]<0;1,0>:ub        { NoDDClr }\r
-       mov     (4)     Mbaff_ALPHA(0,4)<1>             r[ECM_AddrReg, bAlphaLeft1_Cb]<0;1,0>:ub        { NoDDChk }\r
-       mov     (4)     Mbaff_BETA(0,0)<1>              r[ECM_AddrReg, bBetaLeft0_Cb]<0;1,0>:ub         { NoDDClr }\r
-       mov     (4)     Mbaff_BETA(0,4)<1>              r[ECM_AddrReg, bBetaLeft1_Cb]<0;1,0>:ub         { NoDDChk }\r
-       mov (4) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Cb]<4;4,1>:ub         { NoDDClr }\r
-       mov (4) Mbaff_TC0(0,4)<1>               r[ECM_AddrReg, bTc0_v00_1_Cb]<4;4,1>:ub         { NoDDChk }\r
-\r
-       jmpi    V0_U_NEXT3\r
-       \r
-V0_U_NEXT2:\r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-       \r
-       // Both are frames or fields\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaLeft0_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaLeft0_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Cb]<1;2,0>:ub\r
-\r
-V0_U_NEXT3:    \r
-\r
-       //      p1 = Prev MB U row 0\r
-       //      p0 = Prev MB U row 1\r
-       //      q0 = Cur MB U row 0\r
-       //      q1 = Cur MB U row 1\r
-       mov (1) P_AddrReg:w             PREV_MB_U_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_U_BASE:w         { NoDDChk }\r
-\r
-       // Store UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-//-----------------------------------------------\r
-\r
-//---------- Deblock V external left edge ----------\r
-\r
-       // No change to MaskA and MaskB\r
-\r
-       cmp.z.f0.0      (4)     null:w  VertEdgePattern:uw              LEFT_FIELD_CUR_FRAME:w\r
-       cmp.z.f0.1      (4)     null:w  VertEdgePattern:uw              LEFT_FRAME_CUR_FIELD:w\r
-\r
-       // both are frame or field\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaLeft0_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaLeft0_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Cr]<1;2,0>:ub\r
-                               \r
-       //      p1 = Prev MB V row 0\r
-       //      p0 = Prev MB V row 1\r
-       //      q0 = Cur MB V row 0\r
-       //      q1 = Cur MB V row 1\r
-       mov (1) P_AddrReg:w             PREV_MB_V_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_V_BASE:w         { NoDDChk }\r
-                               \r
-       // For FieldModeLeftMbFlag=1 && FieldModeCurrentMbFlag=0 \r
-       (f0.0) mov (4)  Mbaff_ALPHA(0,0)<2>             r[ECM_AddrReg, bAlphaLeft0_Cr]<0;1,0>:ub        { NoDDClr }\r
-       (f0.0) mov (4)  Mbaff_ALPHA(0,1)<2>             r[ECM_AddrReg, bAlphaLeft1_Cr]<0;1,0>:ub        { NoDDChk }     \r
-       (f0.0) mov (4)  Mbaff_BETA(0,0)<2>              r[ECM_AddrReg, bBetaLeft0_Cr]<0;1,0>:ub         { NoDDClr }\r
-       (f0.0) mov (4)  Mbaff_BETA(0,1)<2>              r[ECM_AddrReg, bBetaLeft1_Cr]<0;1,0>:ub         { NoDDChk }\r
-       (f0.0) mov (4)  Mbaff_TC0(0,0)<2>               r[ECM_AddrReg, bTc0_v00_0_Cr]<4;4,1>:ub         { NoDDClr }\r
-       (f0.0) mov (4)  Mbaff_TC0(0,1)<2>               r[ECM_AddrReg, bTc0_v00_1_Cr]<4;4,1>:ub         { NoDDChk }\r
-\r
-       // For FieldModeLeftMbFlag=0 && FieldModeCurrentMbFlag=1\r
-       (f0.1) mov (4)  Mbaff_ALPHA(0,0)<1>             r[ECM_AddrReg, bAlphaLeft0_Cr]<0;1,0>:ub        { NoDDClr }\r
-       (f0.1) mov (4)  Mbaff_ALPHA(0,4)<1>             r[ECM_AddrReg, bAlphaLeft1_Cr]<0;1,0>:ub        { NoDDChk }\r
-       (f0.1) mov (4)  Mbaff_BETA(0,0)<1>              r[ECM_AddrReg, bBetaLeft0_Cr]<0;1,0>:ub         { NoDDClr }\r
-       (f0.1) mov (4)  Mbaff_BETA(0,4)<1>              r[ECM_AddrReg, bBetaLeft1_Cr]<0;1,0>:ub         { NoDDChk }\r
-       (f0.1) mov (4)  Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Cr]<4;4,1>:ub         { NoDDClr }\r
-       (f0.1) mov (4)  Mbaff_TC0(0,4)<1>               r[ECM_AddrReg, bTc0_v00_1_Cr]<4;4,1>:ub         { NoDDChk }\r
-\r
-       // Set UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-//-----------------------------------------------\r
-\r
-BYPASS_V0_UV:\r
-       // Set EdgeCntlMap2 = 0, so it always uses bS < 4 algorithm.\r
-       // Same alpha and beta for all internal vert and horiz edges \r
-\r
-//---------- Deblock U internal vert middle edge ----------\r
-\r
-       //***** Need to take every other bit to form U or V maskA\r
-       shr (16) TempRow0(0)<1>                 r[ECM_AddrReg, wEdgeCntlMap_IntMidVert]<0;1,0>:uw               RRampW(0)\r
-\r
-       //      p1 = Cur MB U row 2\r
-       //      p0 = Cur MB U row 3\r
-       //      q0 = Cur MB U row 4\r
-       //      q1 = Cur MB U row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_U_BASE:w          { NoDDClr }             // Skip 2 U rows and 2 V rows\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_U_BASE:w          { NoDDChk }\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaInternal_Cb]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaInternal_Cb]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v02_Cb]<1;2,0>:ub\r
-\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-\r
-       // Store MaskA and MaskB\r
-       mov (1) f0.1:uw         0:w                     \r
-       mov (1) MaskB:uw        0:w                     { NoDDClr }\r
-       mov (1) MaskA:uw        f0.0:uw         { NoDDChk }\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-       \r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock V internal vert middle edge ----------\r
-\r
-       //      P1 = Cur MB V row 2\r
-       //      P0 = Cur MB V row 3\r
-       //      Q0 = Cur MB V row 4\r
-       //      Q1 = Cur MB V row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_V_BASE:w          { NoDDClr }             // Skip 2 U rows and 2 V rows\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_V_BASE:w          { NoDDChk }\r
-\r
-       // Put MaskA into f0.0\r
-       // Put MaskB into f0.1\r
-       mov (2) f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       mov     (8) Mbaff_ALPHA(0,0)<1>         r[ECM_AddrReg, bAlphaInternal_Cr]<0;1,0>:ub\r
-       mov     (8) Mbaff_BETA(0,0)<1>          r[ECM_AddrReg, bBetaInternal_Cr]<0;1,0>:ub\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v02_Cr]<1;2,0>:ub\r
-\r
-       CALL(FILTER_UV_MBAFF, 1)        \r
-\r
-//-----------------------------------------------\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_h.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_h.asm
deleted file mode 100644 (file)
index a98b024..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter horizontal Mbaff Y ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all horizontal edges of Y.\r
-//\r
-//     It sssumes the data for horizontal de-blocking is already transposed.  \r
-//\r
-//             Luma:\r
-//\r
-//             +-------+-------+-------+-------+               H0  Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H1 Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H2      Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H3 Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBB:w\r
-#endif \r
-       \r
-\r
-//========== Luma deblocking ==========\r
-\r
-\r
-//---------- Deblock Y external top edge (H0)  ----------      \r
-\r
-       // Bypass deblocking if it is the top edge of the picture.  \r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterTopMbEdgeFlag:w           // Check for FilterTopMbEdgeFlag \r
-       mov     (1)     f0.1:w          DualFieldMode:w                 // Check for dual field mode\r
-               \r
-       // Non dual field mode  \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   r[ECM_AddrReg, bAlphaTop0_Y]<0;1,0>:ub          2:w                     // alpha >> 2\r
-\r
-       mov (2) MaskA<1>:uw     r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<2;2,1>:uw\r
-\r
-       // Ext Y\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaTop0_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaTop0_Y]<0;1,0>:ub\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_h00_0_Y]<1;4,0>:ub\r
-\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                     // alpha2 = (alpha >> 2) + 2  \r
-\r
-    (f0.0) jmpi        H0_Y_DONE                               // Skip Ext Y deblocking\r
-       (f0.1) jmpi     DUAL_FIELD_Y\r
-       \r
-       mov (1) P_AddrReg:w             PREV_MB_Y_BASE:w                { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_Y_BASE:w                 { NoDDChk }\r
-       \r
-       CALL(FILTER_Y_MBAFF, 1)                 // Non dual field deblocking\r
-               \r
-       jmpi    H0_Y_DONE\r
-\r
-DUAL_FIELD_Y:\r
-       // Dual field mode, FieldModeCurrentMbFlag=0 && FieldModeAboveMbFlag=1\r
-\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE:w             { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+64:w  { NoDDChk }\r
-\r
-       //  Must use PREV_MB_YW.  TOP_MB_YW is not big enough.\r
-       // Get top field rows\r
-       mov (16) ABOVE_CUR_MB_YW(0)<1>  PREV_MB_YW(0, 0)<16;8,1>        // Copy p3, p2\r
-       mov (16) ABOVE_CUR_MB_YW(1)<1>  PREV_MB_YW(2, 0)<16;8,1>        // Copy p1, p0\r
-       mov (16) ABOVE_CUR_MB_YW(2)<1>  SRC_YW(0, 0)<16;8,1>            // Copy q0, q1\r
-       mov (16) ABOVE_CUR_MB_YW(3)<1>  SRC_YW(2, 0)<16;8,1>            // Copy q2, q3\r
-\r
-       CALL(FILTER_Y_MBAFF, 1)                         // Ext Y, top field\r
-\r
-       // Save deblocked top field rows\r
-       mov (8) PREV_MB_YW(1, 0)<1>             ABOVE_CUR_MB_YW(0, 8)   // Copy p2\r
-       mov (8) PREV_MB_YW(2, 0)<1>             ABOVE_CUR_MB_YW(1, 0)   // Copy p1\r
-       mov (8) PREV_MB_YW(3, 0)<1>             ABOVE_CUR_MB_YW(1, 8)   // Copy p0\r
-       mov (8) SRC_YW(0, 0)<1>                 ABOVE_CUR_MB_YW(2, 0)   // Copy q0\r
-       mov (8) SRC_YW(1, 0)<1>                 ABOVE_CUR_MB_YW(2, 8)   // Copy q1\r
-       mov (8) SRC_YW(2, 0)<1>                 ABOVE_CUR_MB_YW(3, 0)   // Copy q2\r
-\r
-       //==================================================================================\r
-       // Bottom field\r
-       \r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   r[ECM_AddrReg, bAlphaTop1_Y]<0;1,0>:ub          2:w                     // alpha >> 2\r
-\r
-       mov (1) P_AddrReg:w             ABOVE_CUR_MB_BASE:w             { NoDDClr }\r
-       mov (1) Q_AddrReg:w             ABOVE_CUR_MB_BASE+64:w  { NoDDChk }\r
-       \r
-       // Get bot field rows\r
-       mov (16) ABOVE_CUR_MB_YW(0)<1>  PREV_MB_YW(0, 8)<16;8,1>        // Copy p3, p2\r
-       mov (16) ABOVE_CUR_MB_YW(1)<1>  PREV_MB_YW(2, 8)<16;8,1>        // Copy p1, p0\r
-       mov (16) ABOVE_CUR_MB_YW(2)<1>  SRC_YW(0, 8)<16;8,1>            // Copy q0, q1\r
-       mov (16) ABOVE_CUR_MB_YW(3)<1>  SRC_YW(2, 8)<16;8,1>            // Copy q2, q3\r
-\r
-       mov (2) MaskA<1>:uw     r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz1]<2;2,1>:uw\r
-\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaTop1_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaTop1_Y]<0;1,0>:ub\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_h00_1_Y]<1;4,0>:ub\r
-\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                     // alpha2 = (alpha >> 2) + 2  \r
-\r
-       CALL(FILTER_Y_MBAFF, 1)                         // Ext Y, bot field\r
-\r
-       // Save deblocked top field rows\r
-       mov (8) PREV_MB_YW(1, 8)<1>             ABOVE_CUR_MB_YW(0, 8)   // Copy p2\r
-       mov (8) PREV_MB_YW(2, 8)<1>             ABOVE_CUR_MB_YW(1, 0)   // Copy p1\r
-       mov (8) PREV_MB_YW(3, 8)<1>             ABOVE_CUR_MB_YW(1, 8)   // Copy p0\r
-       mov (8) SRC_YW(0, 8)<1>                 ABOVE_CUR_MB_YW(2, 0)   // Copy q0\r
-       mov (8) SRC_YW(1, 8)<1>                 ABOVE_CUR_MB_YW(2, 8)   // Copy q1\r
-       mov (8) SRC_YW(2, 8)<1>                 ABOVE_CUR_MB_YW(3, 0)   // Copy q2\r
-       //==================================================================================\r
-\r
-H0_Y_DONE:\r
-\r
-//BYPASS_H0_Y:\r
-//------------------------------------------------------------------\r
-       // Same alpha, alpha2, beta and MaskB for all internal edges \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   r[ECM_AddrReg, bAlphaInternal_Y]<0;1,0>:ub              2:w                     // alpha >> 2\r
-\r
-       // alpha = bAlphaInternal_Y \r
-       // beta = bBetaInternal_Y\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaInternal_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaInternal_Y]<0;1,0>:ub\r
-\r
-       mov (1) MaskB:uw        0:w                                             // Set MaskB = 0 for all 3 edges, so it always uses bS < 4 algorithm.\r
-\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                     // alpha2 = (alpha >> 2) + 2  \r
-\r
-//---------- Deblock Y internal top edge (H1)  ----------\r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_H1_Y\r
-\r
-       //      p3 = Cur MB Y row 0 = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 4 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 5 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 6 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 7 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             SRC_MB_Y_BASE:w                                 { NoDDClr }\r
-       mov (1) Q_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w   { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntTopHorz]:uw\r
-\r
-       // tc0 has bTc0_h13_Y + bTc0_h12_Y + bTc0_h11_Y + bTc0_h10_Y            \r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_h10_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-//BYPASS_H1_Y:\r
-//------------------------------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal mid horizontal edge (H2) ----------\r
-\r
-       // Bypass deblocking if FilterInternal8x8EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal8x8EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_H2_Y\r
-\r
-       //      p3 = Cur MB Y row 4  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 5  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 6  = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 7  = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 8  = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 9  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 10 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 11 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntMidHorz]:uw\r
-\r
-       // tc0 has bTc0_h23_Y + bTc0_h22_Y + bTc0_h21_Y + bTc0_h20_Y            \r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_h20_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-//BYPASS_H2_Y:\r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal bottom edge (H3) ----------     \r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_H3_Y\r
-\r
-       //      p3 = Cur MB Y row 8  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 9  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 10 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 11 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 12 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 13 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 14 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 15 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             12*Y_ROW_WIDTH+SRC_MB_Y_BASE:w          { NoDDChk }\r
-       \r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntBotHorz]:uw\r
-\r
-       // tc0 has bTc0_h33_Y + bTc0_h32_Y + bTc0_h31_Y + bTc0_h30_Y\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_h30_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-//BYPASS_H3_Y:\r
-//-----------------------------------------------\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_v.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Mbaff_Y_v.asm
deleted file mode 100644 (file)
index 7846168..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter vertical Mbaff Y ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all vertical edges of Y.\r
-//\r
-//     It sssumes the data for vertical de-blocking is already transposed.  \r
-//\r
-//             Luma:\r
-//\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//\r
-//             V0              V1              V2              V3\r
-//             Edge    Edge    Edge    Edge\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBB:w\r
-#endif \r
-       \r
-\r
-//========== Luma deblocking ==========\r
-\r
-\r
-//---------- Deblock Y external left edge (V0) ----------      \r
-\r
-       cmp.z.f0.0      (8)     null:w  VertEdgePattern:uw              LEFT_FIELD_CUR_FRAME:w\r
-       cmp.z.f0.1      (8)     null:w  VertEdgePattern:uw              LEFT_FRAME_CUR_FIELD:w\r
-\r
-       // Intial set for both are frame or field\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_v00_0_Y]<1;4,0>:ub\r
-               \r
-       // For FieldModeCurrentMbFlag=1 && FieldModeLeftMbFlag=0\r
-       (f0.0) mov (8)  Mbaff_ALPHA(0,0)<2>             r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub         { NoDDClr }\r
-       (f0.0) mov (8)  Mbaff_ALPHA(0,1)<2>             r[ECM_AddrReg, bAlphaLeft1_Y]<0;1,0>:ub         { NoDDChk }\r
-       (f0.0) mov (8)  Mbaff_BETA(0,0)<2>              r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub          { NoDDClr }\r
-       (f0.0) mov (8)  Mbaff_BETA(0,1)<2>              r[ECM_AddrReg, bBetaLeft1_Y]<0;1,0>:ub          { NoDDChk }\r
-       (f0.0) mov (8)  Mbaff_TC0(0,0)<2>               r[ECM_AddrReg, bTc0_v00_0_Y]<1;2,0>:ub          { NoDDClr }\r
-       (f0.0) mov (8)  Mbaff_TC0(0,1)<2>               r[ECM_AddrReg, bTc0_v00_1_Y]<1;2,0>:ub          { NoDDChk }\r
-\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterLeftMbEdgeFlag:w          // Check for FilterLeftMbEdgeFlag \r
-\r
-       // For FieldModeCurrentMbFlag=0 && FieldModeLeftMbFlag=1\r
-       (f0.1) mov (8)  Mbaff_ALPHA(0,0)<1>             r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub         { NoDDClr }\r
-       (f0.1) mov (8)  Mbaff_ALPHA(0,8)<1>             r[ECM_AddrReg, bAlphaLeft1_Y]<0;1,0>:ub         { NoDDChk }\r
-       (f0.1) mov (8)  Mbaff_BETA(0,0)<1>              r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub          { NoDDClr }\r
-       (f0.1) mov (8)  Mbaff_BETA(0,8)<1>              r[ECM_AddrReg, bBetaLeft1_Y]<0;1,0>:ub          { NoDDChk }\r
-       (f0.1) mov (8)  Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Y]<1;2,0>:ub          { NoDDClr }\r
-       (f0.1) mov (8)  Mbaff_TC0(0,8)<1>               r[ECM_AddrReg, bTc0_v00_1_Y]<1;2,0>:ub          { NoDDChk }\r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   Mbaff_ALPHA(0)          2:w                     // alpha >> 2\r
-\r
-       //      p3 = Prev MB Y row 0 = r[P_AddrReg, 0]<16;16,1>\r
-       //      p2 = Prev MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Prev MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Prev MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 0  = r[Q_AddrReg, 0]<16;16,1>\r
-       //      q1 = Cur MB Y row 1  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 2  = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 3  = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             PREV_MB_Y_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_Y_BASE:w         { NoDDChk }\r
-\r
-       // Set MaskA and MaskB  \r
-       mov (2) MaskA<1>:uw             r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]<2;2,1>:uw\r
-\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                     // alpha2 = (alpha >> 2) + 2  \r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-       \r
-//BYPASS_V0_Y:\r
-//------------------------------------------------------------------\r
-\r
-\r
-/*\r
-//---------- Deblock Y external left edge (V0) ----------      \r
-\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterLeftMbEdgeFlag:w          // Check for FilterLeftMbEdgeFlag \r
-    (f0.0)     jmpi    ILDB_LABEL(BYPASS_EXT_LEFT_EDGE_Y)      \r
-\r
-       // Get vertical border edge control data  \r
-\r
-//     mov     (1)     f0.0            0:w\r
-       and     (1)     CTemp1_W:uw             r[ECM_AddrReg, BitFlags]:ub             FieldModeLeftMbFlag+FieldModeCurrentMbFlag:uw\r
-       cmp.z.f0.0      (1)     null:w  CTemp1_W:uw             LEFT_FIELD_CUR_FRAME:w\r
-       (-f0.0) jmpi LEFT_EDGE_Y_NEXT1\r
-\r
-       // For FieldModeCurrentMbFlag=1 && FieldModeLeftMbFlag=0\r
-       mov     (8)     Mbaff_ALPHA(0,0)<2>             r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub         { NoDDClr }\r
-       mov     (8)     Mbaff_ALPHA(0,1)<2>             r[ECM_AddrReg, bAlphaLeft1_Y]<0;1,0>:ub         { NoDDChk }\r
-       mov     (8)     Mbaff_BETA(0,0)<2>              r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub          { NoDDClr }\r
-       mov     (8)     Mbaff_BETA(0,1)<2>              r[ECM_AddrReg, bBetaLeft1_Y]<0;1,0>:ub          { NoDDChk }\r
-       mov (8) Mbaff_TC0(0,0)<2>               r[ECM_AddrReg, bTc0_v00_0_Y]<1;2,0>:ub          { NoDDClr }\r
-       mov (8) Mbaff_TC0(0,1)<2>               r[ECM_AddrReg, bTc0_v00_1_Y]<1;2,0>:ub          { NoDDChk }\r
-\r
-       jmpi    LEFT_EDGE_Y_ALPHA_BETA_TC0_SELECTED\r
-\r
-LEFT_EDGE_Y_NEXT1:\r
-       cmp.z.f0.0      (1)     null:w  CTemp1_W:uw             LEFT_FRAME_CUR_FIELD:w\r
-       (-f0.0) jmpi LEFT_EDGE_Y_NEXT2\r
-\r
-\r
-       // For FieldModeCurrentMbFlag=0 && FieldModeLeftMbFlag=1\r
-       mov     (8)     Mbaff_ALPHA(0,0)<1>             r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub         { NoDDClr }\r
-       mov     (8)     Mbaff_ALPHA(0,8)<1>             r[ECM_AddrReg, bAlphaLeft1_Y]<0;1,0>:ub         { NoDDChk }\r
-       mov     (8)     Mbaff_BETA(0,0)<1>              r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub          { NoDDClr }\r
-       mov     (8)     Mbaff_BETA(0,8)<1>              r[ECM_AddrReg, bBetaLeft1_Y]<0;1,0>:ub          { NoDDChk }\r
-       mov (8) Mbaff_TC0(0,0)<1>               r[ECM_AddrReg, bTc0_v00_0_Y]<1;2,0>:ub          { NoDDClr }\r
-       mov (8) Mbaff_TC0(0,8)<1>               r[ECM_AddrReg, bTc0_v00_1_Y]<1;2,0>:ub          { NoDDChk }\r
-\r
-       jmpi    LEFT_EDGE_Y_ALPHA_BETA_TC0_SELECTED\r
-       \r
-LEFT_EDGE_Y_NEXT2:\r
-       // both are frame or field\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaLeft0_Y]<0;1,0>:ub\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_v00_0_Y]<1;4,0>:ub\r
-\r
-LEFT_EDGE_Y_ALPHA_BETA_TC0_SELECTED:\r
-\r
-       mov (2) MaskA<1>:uw             r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]<2;2,1>:uw\r
-\r
-       //      p3 = Prev MB Y row 0 = r[P_AddrReg, 0]<16;16,1>\r
-       //      p2 = Prev MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Prev MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Prev MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 0  = r[Q_AddrReg, 0]<16;16,1>\r
-       //      q1 = Cur MB Y row 1  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 2  = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 3  = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             PREV_MB_Y_BASE:w        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_Y_BASE:w         { NoDDChk }\r
-       \r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   r[ECM_AddrReg, bAlphaLeft0_Y]<0;1,0>:ub         2:w                     // alpha >> 2\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                     // alpha2 = (alpha >> 2) + 2  \r
-       \r
-       CALL(FILTER_Y_MBAFF, 1)\r
-\r
-ILDB_LABEL(BYPASS_EXT_LEFT_EDGE_Y):\r
-//------------------------------------------------------------------\r
-*/\r
-\r
-       // Same alpha, alpha2, beta and MaskB for all internal edges \r
-       \r
-       // Get (alpha >> 2) + 2\r
-       shr (16) Mbaff_ALPHA2(0,0)<1>   r[ECM_AddrReg, bAlphaInternal_Y]<0;1,0>:ub              2:w                     // alpha >> 2\r
-       \r
-       // alpha = bAlphaInternal_Y\r
-       // beta = bBetaInternal_Y\r
-       mov     (16) Mbaff_ALPHA(0,0)<1>        r[ECM_AddrReg, bAlphaInternal_Y]<0;1,0>:ub\r
-       mov     (16) Mbaff_BETA(0,0)<1>         r[ECM_AddrReg, bBetaInternal_Y]<0;1,0>:ub\r
-\r
-       mov (1) MaskB:uw        0:w                                             // Set MaskB = 0 for all 3 edges, so it always uses bS < 4 algorithm.\r
-\r
-       add (16) Mbaff_ALPHA2(0,0)<1>           Mbaff_ALPHA2(0,0)<16;16,1>              2:w                                             // alpha2 = (alpha >> 2) + 2  \r
-\r
-//---------- Deblock Y internal left edge (V1) ----------\r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_V1_Y\r
-\r
-       //      p3 = Cur MB Y row 0 = r[P_AddrReg, 0]<16;16,1>  \r
-       //      p2 = Cur MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 4 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 5 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 6 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 7 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             SRC_MB_Y_BASE:w                                         { NoDDClr }\r
-       mov (1) Q_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]:uw\r
-\r
-       // tc0 has bTc0_v31_Y + bTc0_v21_Y + bTc0_v11_Y + bTc0_v01_Y    \r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_v01_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-BYPASS_V1_Y:\r
-//------------------------------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal mid vert edge (V2) ----------\r
-\r
-       // Bypass deblocking if FilterInternal8x8EdgesFlag = 0  \r
-       and.z.f0.0      (1)     null:w  r[ECM_AddrReg, BitFlags]:ub             FilterInternal8x8EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_V2_Y\r
-\r
-       //      p3 = Cur MB Y row 4  = r[P_AddrReg, 0]<16;16,1>  \r
-       //      p2 = Cur MB Y row 5  = r[P_AddrReg, 16]<16;16,1> \r
-       //      p1 = Cur MB Y row 6  = r[P_AddrReg, 32]<16;16,1> \r
-       //      p0 = Cur MB Y row 7  = r[P_AddrReg, 48]<16;16,1> \r
-       //      q0 = Cur MB Y row 8  = r[Q_AddrReg, 0]<16;16,1>  \r
-       //      q1 = Cur MB Y row 9  = r[Q_AddrReg, 16]<16;16,1> \r
-       //      q2 = Cur MB Y row 10 = r[Q_AddrReg, 32]<16;16,1> \r
-       //      q3 = Cur MB Y row 11 = r[Q_AddrReg, 48]<16;16,1> \r
-       mov (1) P_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntMidVert]:uw\r
-\r
-       // tc0 has bTc0_v32_Y + bTc0_v22_Y + bTc0_v12_Y + bTc0_v02_Y    \r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_v02_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-BYPASS_V2_Y:\r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock Y interal right edge (V3) ----------       \r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0      (1)     null:w  r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_V3_Y\r
-\r
-       //      p3 = Cur MB Y row 8  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 9  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 10 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 11 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 12 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 13 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 14 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 15 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             12*Y_ROW_WIDTH+SRC_MB_Y_BASE:w          { NoDDChk }\r
-       \r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntRightVert]:uw\r
-\r
-       // tc0 has bTc0_v33_Y + bTc0_v23_Y + bTc0_v13_Y + bTc0_v03_Y\r
-       mov (16) Mbaff_TC0(0,0)<1>              r[ECM_AddrReg, bTc0_v03_Y]<1;4,0>:ub\r
-\r
-//     CALL(FILTER_Y_MBAFF, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y_MBAFF, 1)\r
-\r
-BYPASS_V3_Y:\r
-//-----------------------------------------------\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_h.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_h.asm
deleted file mode 100644 (file)
index 168df0f..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter horizontal UV ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all horizontal edges of UV.\r
-//\r
-//     It sssumes the data for horizontal de-blocking is already transposed.  \r
-//\r
-//             Chroma:\r
-//\r
-//             +-------+-------+               H0 Edge\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+               H1 Edge\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBC:w\r
-#endif \r
-\r
-//=============== Chroma deblocking ================\r
-\r
-//---------- Deblock U external top edge ----------\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterTopMbEdgeFlag:w           // Check for FilterTopMbEdgeFlag \r
-//    (f0.0)   jmpi    BYPASS_EXT_TOP_EDGE_UV  \r
-\r
-       // Get horizontal border edge control data.\r
-       \r
-       //***** Need to take every other bit to form U maskA and mask B\r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<0;1,0>:uw             RRampW(0)\r
-       shr (16)        TempRow1(0)<1>          r[ECM_AddrReg, wEdgeCntlMapB_ExtTopHorz0]<0;1,0>:uw             RRampW(0)\r
-               \r
-    (f0.0)     jmpi    ILDB_LABEL(BYPASS_EXT_TOP_EDGE_UV)                      \r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-//---------- Deblock U external edge ----------\r
-       //      p1 = Prev MB U row 0\r
-       //      p0 = Prev MB U row 1\r
-       //      q0 = Cur MB U row 0\r
-       //      q1 = Cur MB U row 1\r
-//     mov (1) P_AddrReg:w             PREV_MB_U_BASE:w                                                                        { NoDDClr }\r
-       mov (1) P_AddrReg:w             TOP_MB_U_BASE:w                                                                         { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_U_BASE:w                                                                         { NoDDChk }\r
-\r
-       // alpha = bAlphaTop0_Cb, beta = bBetaTop0_Cb\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaTop0_Cb]<2;2,1>:ub                                 { NoDDClr } \r
-       // tc0 has bTc0_h03_0_Cb + bTc0_h02_0_Cb + bTc0_h01_0_Cb + bTc0_h00_0_Cb\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h00_0_Cb]<4;4,1>:ub                                 { NoDDChk } \r
-               \r
-       // UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-//---------- Deblock V external top edge ----------\r
-       //      p1 = Prev MB V row 0\r
-       //      p0 = Prev MB V row 1\r
-       //      q0 = Cur MB V row 0\r
-       //      q1 = Cur MB V row 1\r
-//     mov (1) P_AddrReg:w             PREV_MB_V_BASE:w                { NoDDClr }\r
-       mov (1) P_AddrReg:w             TOP_MB_V_BASE:w         { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_V_BASE:w                 { NoDDChk }\r
-\r
-       // alpha = bAlphaTop0_Cr, beta = bBetaTop0_Cr\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaTop0_Cr]<2;2,1>:ub         { NoDDClr }\r
-       \r
-       // tc0 has bTc0_h03_0_Cr + bTc0_h02_0_Cr + bTc0_h01_0_Cr + bTc0_h00_0_Cr\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h00_0_Cr]<4;4,1>:ub         { NoDDChk }\r
-\r
-       // UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-ILDB_LABEL(BYPASS_EXT_TOP_EDGE_UV):\r
-\r
-       // Set EdgeCntlMap2 = 0, so it always uses bS < 4 algorithm.\r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-//     and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-//    (f0.0)   jmpi    BYPASS_4x4_DEBLOCK_H\r
-\r
-//---------- Deblock U internal horz middle edge ----------\r
-\r
-       //***** Need to take every other bit to form U maskA\r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMap_IntMidHorz]<0;1,0>:uw               RRampW(0)\r
-\r
-       //      p1 = Cur MB U row 2\r
-       //      p0 = Cur MB U row 3\r
-       //      q0 = Cur MB U row 4\r
-       //      q1 = Cur MB U row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_U_BASE:w                                  { NoDDClr }             // Skip 2 U rows and 2 V rows\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_U_BASE:w                                  { NoDDChk }\r
-\r
-       // alpha = bAlphaInternal_Cb, beta = bBetaInternal_Cb\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Cb]<2;2,1>:ub             { NoDDClr }\r
-       // tc0 has bTc0_h23_Cb + bTc0_h22_Cb + bTc0_h21_Cb + bTc0_h20_Cb                \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h20_Cb]<4;4,1>:ub                           { NoDDChk }\r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-\r
-       // UV MaskA and MaskB\r
-       mov (1) f0.1:uw         0:w\r
-       mov (1) MaskB:uw        0:w                                                                                                     { NoDDClr }\r
-       mov (1) MaskA:uw        f0.0:uw                                                                                         { NoDDChk }\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-//---------- Deblock V internal horz middle edge ----------\r
-       //      p1 = Cur MB V row 2\r
-       //      p0 = Cur MB V row 3\r
-       //      q0 = Cur MB V row 4\r
-       //      q1 = Cur MB V row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_V_BASE:w                                  { NoDDClr }             // Skip 2 U rows and 2 V rows\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_V_BASE:w                                  { NoDDChk }\r
-\r
-       // alpha = bAlphaInternal_Cr, beta = bBetaInternal_Cr\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Cr]<2;2,1>:ub             { NoDDClr }\r
-       // tc0 has bTc0_h23_Cr + bTc0_h22_Cr + bTc0_h21_Cr + bTc0_h20_Cr\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h20_Cr]<4;4,1>:ub                           { NoDDChk }\r
-\r
-       // UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-//BYPASS_4x4_DEBLOCK_H:\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_v.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_UV_v.asm
deleted file mode 100644 (file)
index 8d331a0..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC LDB filter vertical UV ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all vertical edges of UV.\r
-//\r
-//     It sssumes the data for vertical de-blocking is already transposed.  \r
-//\r
-//             Chroma:\r
-//\r
-//             +-------+-------+\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//             |               |               |\r
-//             |               |               |\r
-//             |               |               |\r
-//             +-------+-------+\r
-//\r
-//             V0              V1              \r
-//             Edge    Edge    \r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBC:w\r
-#endif \r
-\r
-//=============== Chroma deblocking ================\r
-\r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterLeftMbEdgeFlag:w          // Check for FilterLeftMbEdgeFlag \r
-//    (f0.0)   jmpi    BYPASS_EXT_LEFT_EDGE_UV \r
\r
-       // Get vertical border edge control data.  \r
-       \r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]<0;1,0>:uw            RRampW(0)\r
-       shr (16)        TempRow1(0)<1>          r[ECM_AddrReg, wEdgeCntlMapB_ExtLeftVert0]<0;1,0>:uw            RRampW(0)\r
-       \r
-    (f0.0)     jmpi    ILDB_LABEL(BYPASS_EXT_LEFT_EDGE_UV)\r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-       and.nz.f0.1 (8) null:w                  TempRow1(0)<16;8,2>             1:w\r
-\r
-//---------- Deblock U external edge ----------\r
-       //      p1 = Prev MB U row 0\r
-       //      p0 = Prev MB U row 1\r
-       //      q0 = Cur MB U row 0\r
-       //      q1 = Cur MB U row 1\r
-       mov (1) P_AddrReg:w             PREV_MB_U_BASE:w                                                                        { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_U_BASE:w                                                                         { NoDDChk }\r
-\r
-       // alpha = bAlphaLeft0_Cb, beta = bBetaLeft0_Cb\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaLeft0_Cb]<2;2,1>:ub                                { NoDDClr }\r
-       // tc0 has bTc0_v30_0_Cb + bTc0_v20_0_Cb + bTc0_v10_0_Cb + bTc0_v00_0_Cb\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v00_0_Cb]<4;4,1>:ub                                 { NoDDChk }\r
-       \r
-       // UV MaskA and MaskB\r
-       mov (2)         MaskA<1>:uw                     f0.0<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-//---------- Deblock V external edge ----------\r
-       //      p1 = Prev MB V row 0\r
-       //      p0 = Prev MB V row 1\r
-       //      q0 = Cur MB V row 0\r
-       //      q1 = Cur MB V row 1\r
-       mov (1) P_AddrReg:w             PREV_MB_V_BASE:w                                                                        { NoDDClr }             \r
-       mov (1) Q_AddrReg:w             SRC_MB_V_BASE:w                                                                         { NoDDChk }\r
-\r
-       // for vert edge: alpha = bAlphaLeft0_Cr, beta = bBetaLeft0_Cr\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaLeft0_Cr]<2;2,1>:ub                                { NoDDClr }\r
-       \r
-       // tc0 has bTc0_v30_0_Cr + bTc0_v20_0_Cr + bTc0_v10_0_Cr + bTc0_v00_0_Cr\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v00_0_Cr]<4;4,1>:ub                                 { NoDDChk }\r
-\r
-       // UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-\r
-ILDB_LABEL(BYPASS_EXT_LEFT_EDGE_UV):\r
-       // Set EdgeCntlMap2 = 0, so it always uses bS < 4 algorithm.\r
-       // Same alpha and beta for all internal vert and horiz edges \r
-\r
-\r
-       //***** Need to take every other bit to form U or V maskA\r
-       // Get Luma maskA and maskB     \r
-       shr (16)        TempRow0(0)<1>          r[ECM_AddrReg, wEdgeCntlMap_IntMidVert]<0;1,0>:uw               RRampW(0)\r
-\r
-//---------- Deblock U internal edge ----------\r
-       //      p1 = Cur MB U row 2\r
-       //      p0 = Cur MB U row 3\r
-       //      q0 = Cur MB U row 4\r
-       //      q1 = Cur MB U row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_U_BASE:w                                  { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_U_BASE:w                                  { NoDDChk }\r
-\r
-       // alpha = bAlphaInternal_Cb, beta = bBetaInternal_Cb\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Cb]<2;2,1>:ub             { NoDDClr }\r
-\r
-       // tc0 has bTc0_v32_Cb + bTc0_v22_Cb + bTc0_v12_Cb + bTc0_v02_Cb        \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v02_Cb]<4;4,1>:ub                           { NoDDChk }\r
-\r
-       // Extract UV MaskA and MaskB from every other bit of Y masks\r
-       and.nz.f0.0 (8) null:w                  TempRow0(0)<16;8,2>             1:w\r
-\r
-       // UV MaskA and MaskB\r
-       mov (1) f0.1:uw         0:w\r
-       mov (1) MaskB:uw        0:w                                                                                                     { NoDDClr }\r
-       mov (1) MaskA:uw        f0.0:uw                                                                                         { NoDDChk }\r
-       \r
-       CALL(FILTER_UV, 1)      \r
-\r
-\r
-//---------- Deblock V internal edge ----------\r
-       //      P1 = Cur MB V row 2\r
-       //      P0 = Cur MB V row 3\r
-       //      Q0 = Cur MB V row 4\r
-       //      Q1 = Cur MB V row 5\r
-       mov (1) P_AddrReg:w             4*UV_ROW_WIDTH+SRC_MB_V_BASE:w                                  { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*UV_ROW_WIDTH+SRC_MB_V_BASE:w                                  { NoDDChk }\r
-\r
-       // alpha = bAlphaInternal_Cr, beta = bBetaInternal_Cr\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Cr]<2;2,1>:ub             { NoDDClr }     \r
-\r
-       // tc0 has bTc0_v32_Cr + bTc0_v22_Cr + bTc0_v12_Cr + bTc0_v02_Cr        \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v02_Cr]<4;4,1>:ub                           { NoDDChk }\r
-\r
-       // UV MaskA and MaskB\r
-       mov (2)         f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       CALL(FILTER_UV, 1)      \r
-\r
-\r
-//BYPASS_4x4_DEBLOCK_V:\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_h.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_h.asm
deleted file mode 100644 (file)
index 45ab4df..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter horizontal Y ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all horizontal edges of Y.\r
-//\r
-//     It sssumes the data for horizontal de-blocking is already transposed.  \r
-//\r
-//             Luma:\r
-//\r
-//             +-------+-------+-------+-------+               H0  Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H1 Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H2      Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+               H3 Edge\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBB:w\r
-#endif \r
-       \r
-\r
-//========== Luma deblocking ==========\r
-\r
-\r
-//---------- Deblock Y external top edge (H0)  ----------      \r
-\r
-       // Bypass deblocking if it is the top edge of the picture.  \r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterTopMbEdgeFlag:w           // Check for FilterTopMbEdgeFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]:uw            0xFFFF:uw       // MaskA = 0? \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (1) alpha2:w                r[ECM_AddrReg, bAlphaTop0_Y]:ub         2:w                     // alpha >> 2\r
-\r
-       //      p3 = Prev MB Y row 0 = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Prev MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Prev MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Prev MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 0  = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 1  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 2  = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 3  = r[Q_AddrReg, 48]<16;16,1>\r
-//     mov (1) P_AddrReg:w             PREV_MB_Y_BASE:w                { NoDDClr }\r
-       mov (1) P_AddrReg:w             TOP_MB_Y_BASE:w         { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_Y_BASE:w         { NoDDChk }\r
-       \r
-       // Get horizontal border edge control data\r
-       // alpha = bAlphaTop0_Y \r
-       // beta = bBetaTop0_Y\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaTop0_Y]<2;2,1>:ub                  { NoDDClr }             // 2 channels for alpha and beta\r
-       \r
-       mov (2) MaskA<1>:uw     r[ECM_AddrReg, wEdgeCntlMapA_ExtTopHorz0]<2;2,1>:uw             { NoDDClr, NoDDChk }\r
-\r
-       // tc0 has bTc0_h03_0_Y | bTc0_h02_0_Y | bTc0_h01_0_Y | bTc0_h00_0_Y\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h00_0_Y]<4;4,1>:ub                  { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_EXT_TOP_EDGE_Y   \r
-//     (f0.0.anyv)      jmpi   BYPASS_EXT_TOP_EDGE_Y\r
-       \r
-       add (1) alpha2:w                alpha2:w                2:w                                                             // alpha2 = (alpha >> 2) + 2  \r
-               \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_EXT_TOP_EDGE_Y:\r
-//------------------------------------------------------------------\r
-       // Same alpha, alpha2, beta and MaskB for all internal edges \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (1) alpha2:w                r[ECM_AddrReg, bAlphaInternal_Y]:ub             2:w                     // alpha >> 2\r
-\r
-       // alpha = bAlphaInternal_Y \r
-       // beta = bBetaInternal_Y\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Y]<2;2,1>:ub              { NoDDClr }\r
-\r
-       // Set MaskB = 0 for all 3 int edges, so it always uses bS < 4 algorithm.\r
-       mov (1) MaskB:uw        0:w                                                                     { NoDDChk }\r
-\r
-       add (1) alpha2:w                alpha2:w                2:w                                                             // alpha2 = (alpha >> 2) + 2  \r
-               \r
-\r
-//---------- Deblock Y internal top edge (H1)  ----------\r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-       //      p3 = Cur MB Y row 0 = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 4 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 5 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 6 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 7 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             SRC_MB_Y_BASE:w                                 { NoDDClr }\r
-       mov (1) Q_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w   { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntTopHorz]:uw              { NoDDClr }\r
-       \r
-       // tc0 has bTc0_h13_Y + bTc0_h12_Y + bTc0_h11_Y + bTc0_h10_Y            \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h10_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_4x4_DEBLOCK_H\r
-//     (f0.0.anyv)      jmpi   BYPASS_4x4_DEBLOCK_H\r
-\r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_4x4_DEBLOCK_H:\r
-//------------------------------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal mid horizontal edge (H2) ----------\r
-\r
-       // Bypass deblocking if FilterInternal8x8EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal8x8EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMap_IntMidHorz]:uw              0xFFFF:uw       // MaskA = 0? \r
-\r
-       //      p3 = Cur MB Y row 4  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 5  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 6  = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 7  = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 8  = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 9  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 10 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 11 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w      { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w      { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntMidHorz]:uw      { NoDDClr }\r
-//     mov (1) MaskB:uw        0:w                                             // Set MaskB = 0, so it always uses bS < 4 algorithm.\r
-\r
-       // tc0 has bTc0_h23_Y + bTc0_h22_Y + bTc0_h21_Y + bTc0_h20_Y            \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h20_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_8x8_DEBLOCK_H\r
-//     (f0.0.anyv)      jmpi   BYPASS_8x8_DEBLOCK_H\r
-   \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_8x8_DEBLOCK_H:\r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal bottom edge (H3) ----------     \r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0 (1) null:w   r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMap_IntBotHorz]:uw              0xFFFF:uw       // MaskA = 0? \r
-\r
-       //      p3 = Cur MB Y row 8  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 9  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 10 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 11 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 12 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 13 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 14 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 15 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr } \r
-       mov (1) Q_AddrReg:w             12*Y_ROW_WIDTH+SRC_MB_Y_BASE:w      { NoDDChk } \r
-\r
-       \r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntBotHorz]:uw      { NoDDClr }\r
-//     mov (1) MaskB:uw        0:w                                             // Set MaskB = 0, so it always uses bS < 4 algorithm.\r
-\r
-       // tc0 has bTc0_h33_Y + bTc0_h32_Y + bTc0_h31_Y + bTc0_h30_Y         \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_h30_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_4x4_DEBLOCK_H2\r
-//     (f0.0.anyv)      jmpi   BYPASS_4x4_DEBLOCK_H2\r
-    \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_4x4_DEBLOCK_H2:\r
-//-----------------------------------------------\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_v.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Filter_Y_v.asm
deleted file mode 100644 (file)
index 9d6bf0a..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-////////// AVC ILDB filter vertical Y ///////////////////////////////////////////////////////\r
-//\r
-//     This filter code prepares the src data and control data for ILDB filtering on all vertical edges of Y.\r
-//\r
-//     It sssumes the data for vertical de-blocking is already transposed.  \r
-//\r
-//             Luma:\r
-//\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             |               |               |               |               |\r
-//             +-------+-------+-------+-------+\r
-//\r
-//             V0              V1              V2              V3\r
-//             Edge    Edge    Edge    Edge\r
-//\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xBBBB:w\r
-#endif \r
-       \r
-\r
-//========== Luma deblocking ==========\r
-\r
-\r
-//---------- Deblock Y external left edge (V0) ----------      \r
-\r
-       // Bypass deblocking if it is left edge of the picture.  \r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterLeftMbEdgeFlag:w          // Check for FilterLeftMbEdgeFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]:uw           0xFFFF:uw       // MaskA = 0? \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (1) alpha2:w                r[ECM_AddrReg, bAlphaLeft0_Y]:ub                2:w                     // alpha >> 2\r
-\r
-       //      p3 = Prev MB Y row 0 = r[P_AddrReg, 0]<16;16,1>\r
-       //      p2 = Prev MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Prev MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Prev MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 0  = r[Q_AddrReg, 0]<16;16,1>\r
-       //      q1 = Cur MB Y row 1  = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 2  = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 3  = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             PREV_MB_Y_BASE:w                { NoDDClr }\r
-       mov (1) Q_AddrReg:w             SRC_MB_Y_BASE:w                 { NoDDChk }\r
-       \r
-       // Get vertical border edge control data  \r
-       // alpha = bAlphaLeft0_Y \r
-       // beta = bBetaLeft0_Y\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaLeft0_Y]<2;2,1>:ub                 { NoDDClr }             // 2 channels for alpha and beta\r
-\r
-       mov (2) MaskA<1>:uw     r[ECM_AddrReg, wEdgeCntlMapA_ExtLeftVert0]<2;2,1>:uw    { NoDDClr, NoDDChk }\r
-       \r
-       // tc0 has bTc0_v30_0_Y | bTc0_v20_0_Y | bTc0_v10_0_Y | bTc0_v00_0_Y\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v00_0_Y]<4;4,1>:ub                  { NoDDChk }\r
-\r
-//     (f0.0)  jmpi    BYPASS_EXT_LEFT_EDGE_Y  \r
-//     (f0.0.anyv)      jmpi   BYPASS_EXT_LEFT_EDGE_Y\r
-               \r
-       add (1) alpha2:w                alpha2:w                2:w                                                             // alpha2 = (alpha >> 2) + 2  \r
-               \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-\r
-//BYPASS_EXT_LEFT_EDGE_Y:\r
-//------------------------------------------------------------------\r
-       // Same alpha, alpha2, beta and MaskB for all internal edges \r
-\r
-       // Get (alpha >> 2) + 2\r
-       shr (1) alpha2:w                r[ECM_AddrReg, bAlphaInternal_Y]:ub             2:w                     // alpha >> 2\r
-\r
-       // alpha = bAlphaInternal_Y\r
-       // beta = bBetaInternal_Y\r
-       mov     (2)     alpha<1>:w      r[ECM_AddrReg, bAlphaInternal_Y]<2;2,1>:ub              { NoDDClr }\r
-\r
-       // Set MaskB = 0 for all 3 int edges, so it always uses bS < 4 algorithm.\r
-       mov (1) MaskB:uw        0:w                                                                                             { NoDDChk }\r
-\r
-       add (1) alpha2:w                alpha2:w                2:w                                                             // alpha2 = (alpha >> 2) + 2  \r
-\r
-\r
-//---------- Deblock Y internal left edge (V1) ----------\r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0  (1) null:w          r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]:uw             0xFFFF:uw       // MaskA = 0? \r
-\r
-       //      p3 = Cur MB Y row 0 = r[P_AddrReg, 0]<16;16,1>  \r
-       //      p2 = Cur MB Y row 1 = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 2 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 3 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 4 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 5 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 6 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 7 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             SRC_MB_Y_BASE:w                                 { NoDDClr }\r
-       mov (1) Q_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w   { NoDDChk }\r
-       \r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntLeftVert]:uw             { NoDDClr }\r
-\r
-       // tc0 has bTc0_v31_Y + bTc0_v21_Y + bTc0_v11_Y + bTc0_v01_Y    \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v01_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_4x4_DEBLOCK_V\r
-//     (f0.0.anyv)      jmpi   BYPASS_4x4_DEBLOCK_V\r
-\r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_4x4_DEBLOCK_V:\r
-//------------------------------------------------------------------\r
-\r
-\r
-//---------- Deblock Y internal mid vert edge (V2) ----------\r
-\r
-       // Bypass deblocking if FilterInternal8x8EdgesFlag = 0  \r
-       and.z.f0.0      (1)     null:w  r[ECM_AddrReg, BitFlags]:ub             FilterInternal8x8EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMap_IntMidVert]:uw              0xFFFF:uw       // MaskA = 0? \r
-\r
-       //      p3 = Cur MB Y row 4  = r[P_AddrReg, 0]<16;16,1>  \r
-       //      p2 = Cur MB Y row 5  = r[P_AddrReg, 16]<16;16,1> \r
-       //      p1 = Cur MB Y row 6  = r[P_AddrReg, 32]<16;16,1> \r
-       //      p0 = Cur MB Y row 7  = r[P_AddrReg, 48]<16;16,1> \r
-       //      q0 = Cur MB Y row 8  = r[Q_AddrReg, 0]<16;16,1>  \r
-       //      q1 = Cur MB Y row 9  = r[Q_AddrReg, 16]<16;16,1> \r
-       //      q2 = Cur MB Y row 10 = r[Q_AddrReg, 32]<16;16,1> \r
-       //      q3 = Cur MB Y row 11 = r[Q_AddrReg, 48]<16;16,1> \r
-       mov (1) P_AddrReg:w             4*Y_ROW_WIDTH+SRC_MB_Y_BASE:w   { NoDDClr }\r
-       mov (1) Q_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w   { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntMidVert]:uw              { NoDDClr }\r
-//     mov (1) MaskB:uw        0:w                                             // Set MaskB = 0, so it always uses bS < 4 algorithm.\r
-\r
-       // tc0 has bTc0_v32_Y + bTc0_v22_Y + bTc0_v12_Y + bTc0_v02_Y    \r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v02_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_8x8_DEBLOCK_V\r
-//     (f0.0.anyv)      jmpi   BYPASS_8x8_DEBLOCK_V\r
-    \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_8x8_DEBLOCK_V:\r
-//-----------------------------------------------\r
-\r
-\r
-//---------- Deblock Y interal right edge (V3) ----------       \r
-\r
-       // Bypass deblocking if FilterInternal4x4EdgesFlag = 0  \r
-       and.z.f0.0      (1)     null:w  r[ECM_AddrReg, BitFlags]:ub             FilterInternal4x4EdgesFlag:w            // Check for FilterInternal4x4EdgesFlag \r
-\r
-//     and.z.f0.1 (1)  null:uw         r[ECM_AddrReg, wEdgeCntlMap_IntRightVert]:uw            0xFFFF:uw       // MaskA = 0? \r
-\r
-       //      p3 = Cur MB Y row 8  = r[P_AddrReg, 0]<16;16,1> \r
-       //      p2 = Cur MB Y row 9  = r[P_AddrReg, 16]<16;16,1>\r
-       //      p1 = Cur MB Y row 10 = r[P_AddrReg, 32]<16;16,1>\r
-       //      p0 = Cur MB Y row 11 = r[P_AddrReg, 48]<16;16,1>\r
-       //      q0 = Cur MB Y row 12 = r[Q_AddrReg, 0]<16;16,1> \r
-       //      q1 = Cur MB Y row 13 = r[Q_AddrReg, 16]<16;16,1>\r
-       //      q2 = Cur MB Y row 14 = r[Q_AddrReg, 32]<16;16,1>\r
-       //      q3 = Cur MB Y row 15 = r[Q_AddrReg, 48]<16;16,1>\r
-       mov (1) P_AddrReg:w             8*Y_ROW_WIDTH+SRC_MB_Y_BASE:w           { NoDDClr }\r
-       mov (1) Q_AddrReg:w             12*Y_ROW_WIDTH+SRC_MB_Y_BASE:w      { NoDDChk }\r
-\r
-       mov (1) MaskA:uw        r[ECM_AddrReg, wEdgeCntlMap_IntRightVert]:uw    { NoDDClr }\r
-//     mov (1) MaskB:uw        0:w                                             // Set MaskB = 0, so it always uses bS < 4 algorithm.\r
-\r
-       // tc0 has bTc0_v33_Y + bTc0_v23_Y + bTc0_v13_Y + bTc0_v03_Y\r
-       mov (4) tc0<1>:ub       r[ECM_AddrReg, bTc0_v03_Y]<4;4,1>:ub                    { NoDDChk }\r
-\r
-//    (f0.0)   jmpi    BYPASS_4x4_DEBLOCK_V2\r
-//     (f0.0.anyv)      jmpi   BYPASS_4x4_DEBLOCK_V2\r
-    \r
-//     CALL(FILTER_Y, 1)\r
-       PRED_CALL(-f0.0, FILTER_Y, 1)\r
-\r
-//BYPASS_4x4_DEBLOCK_V2:\r
-//-----------------------------------------------\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_ForwardMsg.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_ForwardMsg.asm
deleted file mode 100644 (file)
index 96fe828..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//========== Forward message to root thread through gateway ==========\r
-// Each child thread write a byte into the root GRF r50 defiend in open Gataway.\r
-\r
-#if defined(_DEBUG) \r
-mov            (1)             EntrySignatureC:w                       0x7777:w\r
-#endif\r
-\r
-// Init payload to r0\r
-mov (8)        GatewayPayload<1>:ud    0:w                                                             //{ NoDDClr } \r
-\r
-// Forward a message:\r
-// Offset = x relative to r50 (defiend in open gataway), x = ORIX >> 4 [bit 28:16]\r
-// Need to shift left 16\r
-\r
-// shift 2 more bits for byte to word offset\r
-\r
-//shl  (1)             Offset_Length:ud                GateWayOffsetC:w                16:w            { NoDDClr, NoDDChk }\r
-shl    (1)             Offset_Length:ud                GateWayOffsetC:w                18:w            \r
-\r
-// 2 bytes offset\r
-add    (1)             Offset_Length:ud                        Offset_Length:ud                0x00020000:d    { NoDDClr }\r
-       \r
-// Length = 1 byte,    [bit 10:8 = 000]\r
-//000 xxxxxxxxxxxxx 00000 000 00000000 ==> 000x xxxx xxxx xxxx 0000 0000 0000 0000\r
-\r
-//mov (1)      DispatchID:ub                   r0.20:ub                // Dispatch ID\r
-\r
-//Move in EUid and Thread ID that we received from the PARENT thread\r
-mov (1)        EUID_TID:uw                     r0.6:uw                                                         { NoDDClr, NoDDChk }\r
-\r
-mov (1)        GatewayPayloadKey:uw    0x1212:uw                                                       { NoDDClr, NoDDChk }    // Key\r
-\r
-//mov  (4)             GatewayPayload<1>:ud    0:ud                                                            { NoDDClr, NoDDChk }    // Init payload low 4 dword\r
-\r
-// Write back one byte (value = 0xFF) to root thread GRF to indicate this child thread is finished\r
-// All lower 4 bytes must be assigned to the same byte value.\r
-mov    (4)             GatewayPayload<1>:ub    0xFFFF:uw                                                       { NoDDChk }\r
-\r
-// msg descriptor bit 15 set to '1' for notification\r
-#ifdef GW_DCN\r
-// For ILK, EOT bit should also be set to terminate the thread. This is to fix a timing related HW issue.\r
-//\r
-send (8)       null:ud                 m0                      GatewayPayload<8;8,1>:ud    MSG_GW_EOT  FWDMSGDSC+NOTIFYMSG\r
-#else\r
-send (8)       null:ud                 m0                      GatewayPayload<8;8,1>:ud    MSG_GW      FWDMSGDSC+NOTIFYMSG\r
-#endif // GW_DCN\r
-\r
-//========== Forward Msg Done ========================================\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_LumaThrdLimit.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_LumaThrdLimit.asm
deleted file mode 100644 (file)
index 554a673..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//========== Forward message to root thread through gateway ==========\r
-\r
-// Chroma root kenrel updates luma thread limit.\r
-\r
-#if defined(_DEBUG) \r
-mov            (1)             EntrySignatureC:w                       0x7788:w\r
-#endif\r
-\r
-// Init payload to r0\r
-mov (8)        GatewayPayload<1>:ud    0:w                                                             { NoDDClr } \r
-\r
-// Forward a message:\r
-// Offset = x relative to r50 (defiend in open gataway), x = ORIX >> 4 [bit 28:16]\r
-// Need to shift left 16\r
-\r
-mov    (1)             Offset_Length:ud                THREAD_LIMIT_OFFSET:ud                          { NoDDClr, NoDDChk }\r
-\r
-// Length = 1 byte,    [bit 10:8 = 000]\r
-//000 xxxxxxxxxxxxx 00000 000 00000000 ==> 000x xxxx xxxx xxxx 0000 0000 0000 0000\r
-\r
-//mov (1)      DispatchID:ub                   r0.20:ub                // Dispatch ID\r
-\r
-//  Copy EUid and Thread ID that we received from the PARENT thread\r
-mov (1)        EUID_TID:uw                     r0.6:uw                                                         { NoDDClr, NoDDChk }\r
-\r
-mov (1)        GatewayPayloadKey:uw    0x1212:uw                                                       { NoDDChk }     // Key\r
-\r
-//mov  (4)             GatewayPayload<1>:ud    0:ud                                                            { NoDDClr, NoDDChk }    // Init payload low 4 dword\r
-\r
-// Write back one byte (value = 0xFF) to root thread GRF to indicate this child thread is finished\r
-// All lower 4 bytes must be assigned to the same byte value.\r
-add    (1)             Temp1_W:w                               MaxThreads:uw   -OutstandingThreads:uw\r
-mov    (4)             GatewayPayload<1>:ub    Temp1_B<0;1,0>:ub \r
-\r
-send (8)       GatewayResponse:ud              m0                      GatewayPayload<8;8,1>:ud    MSG_GW      FWDMSGDSC\r
-\r
-//========== Forward Msg Done ========================================\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core.asm
deleted file mode 100644 (file)
index f293488..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__AVC_ILDB_LUMA_CORE__)   // Make sure this file is only included once\r
-#define __AVC_ILDB_LUMA_CORE__\r
-\r
-////////// AVC ILDB Luma Core /////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//     This core performs AVC LUMA ILDB filtering on one horizontal edge (16 pixels) of a MB.  \r
-//     If data is transposed, it can also de-block a vertical edge.\r
-//\r
-//     Bafore calling this subroutine, caller needs to set the following parameters.\r
-//\r
-//     - EdgeCntlMap1                          //      Edge control map A\r
-//     - EdgeCntlMap2                          //      Edge control map B\r
-//     - P_AddrReg                                     //      Src and dest address register for P pixels\r
-//     - Q_AddrReg                                     //      Src and dest address register for Q pixels      \r
-//     - alpha                                         //  alpha corresponding to the edge to be filtered\r
-//     - beta                                          //  beta corresponding to the edge to be filtered\r
-//     - tc0                                           //      tc0  corresponding to the edge to be filtered\r
-//\r
-//\r
-//     +----+----+----+----+----+----+----+----+\r
-//     | p3 | p2 | P1 | p0 | q0 | q1 | q2 | q3 |\r
-//     +----+----+----+----+----+----+----+----+\r
-//\r
-//     p3 = r[P_AddrReg, 0]<16;16,1>  \r
-//     p2 = r[P_AddrReg, 16]<16;16,1> \r
-//     p1 = r[P_AddrReg, 32]<16;16,1> \r
-//     p0 = r[P_AddrReg, 48]<16;16,1> \r
-//     q0 = r[Q_AddrReg, 0]<16;16,1>  \r
-//     q1 = r[Q_AddrReg, 16]<16;16,1> \r
-//     q2 = r[Q_AddrReg, 32]<16;16,1> \r
-//     q3 = r[Q_AddrReg, 48]<16;16,1> \r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// The region is both src and dest\r
-// P0-P3 and Q0-Q3 should be only used if they have not been modified to new values\r
-#undef         P3\r
-#undef         P2\r
-#undef         P1\r
-#undef         P0\r
-#undef         Q0\r
-#undef         Q1\r
-#undef         Q2\r
-#undef         Q3\r
-  \r
-#define P3             r[P_AddrReg,  0]<16;16,1>:ub\r
-#define P2             r[P_AddrReg, 16]<16;16,1>:ub\r
-#define P1             r[P_AddrReg, 32]<16;16,1>:ub\r
-#define P0             r[P_AddrReg, 48]<16;16,1>:ub\r
-#define Q0             r[Q_AddrReg,  0]<16;16,1>:ub\r
-#define Q1             r[Q_AddrReg, 16]<16;16,1>:ub\r
-#define Q2             r[Q_AddrReg, 32]<16;16,1>:ub\r
-#define Q3             r[Q_AddrReg, 48]<16;16,1>:ub\r
-\r
-// New region as dest\r
-#undef         NewP2\r
-#undef         NewP1\r
-#undef         NewP0\r
-#undef         NewQ0\r
-#undef         NewQ1\r
-#undef         NewQ2\r
-\r
-#define NewP2  r[P_AddrReg, 16]<1>:ub\r
-#define NewP1  r[P_AddrReg, 32]<1>:ub\r
-#define NewP0  r[P_AddrReg, 48]<1>:ub\r
-#define NewQ0  r[Q_AddrReg,  0]<1>:ub\r
-#define NewQ1  r[Q_AddrReg, 16]<1>:ub\r
-#define NewQ2  r[Q_AddrReg, 32]<1>:ub\r
-\r
-// Filter one luma edge\r
-FILTER_Y:\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x1111:w\r
-#endif\r
-       //---------- Derive filterSampleflag in AVC spec, equition (8-469) ----------\r
-       // bS is in MaskA\r
-\r
-       // Src copy of the p3, p2, p1, p0, q0, q1, q2, q3\r
-//     mov (16) p0123_W(0)<1>          r[P_AddrReg]<16;16,1>:uw\r
-//     mov (16) p0123_W(1)<1>          r[P_AddrReg, 32]<16;16,1>:uw\r
-//     mov (16) q0123_W(0)<1>          r[Q_AddrReg]<16;16,1>:uw\r
-//     mov (16) q0123_W(1)<1>          r[Q_AddrReg, 32]<16;16,1>:uw\r
-\r
-       mov (2) f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       add (16) q0_p0(0)<1>            Q0              -P0                             // q0-p0\r
-       add (16) TempRow0(0)<1>         P1              -P0                             // p1-p0\r
-       add (16) TempRow1(0)<1>         Q1              -Q0                             // q1-q0\r
-\r
-       // Build FilterSampleFlag\r
-       // abs(q0-p0) < alpha\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)q0_p0(0)                   alpha:w\r
-       // abs(p1-p0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow0(0)                beta:w\r
-       // abs(q1-q0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow1(0)                beta:w\r
-\r
-       //-----------------------------------------------------------------------------------------\r
-\r
-    (f0.0)     if      (16)            Y_ENDIF1\r
-               // For channels whose edge control map1 = 1 ---> perform de-blocking\r
-\r
-//             mov (1)         f0.1:uw         MaskB:uw        {NoMask}                // Now check for which algorithm to apply\r
-\r
-               // (abs)ap = |p2-p0|\r
-               add (16) ap(0)<1>               P2              -P0             // ap = p2-p0\r
-               // (abs)aq = |q2-q0|\r
-               add (16) aq(0)<1>               Q2              -Q0             // aq = q2-q0\r
-\r
-               // Make a copy of unmodified p0 and p1 for use in q0'and q1' calculation\r
-               mov (16) p0123_W(1)<1>          r[P_AddrReg, 32]<16;16,1>:uw            {NoMask}\r
-\r
-               (f0.1)  if      (16)            Y_ELSE2\r
-\r
-                       // For channels whose edge control map2 = 1 ---> bS = 4 algorithm\r
-\r
-                       // Compute q0', q1' and q2'\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS = 4 Algorithm :                   \r
-                       //\r
-                       // gama = |p0-q0| < ((alpha >> 2) + 2) \r
-                       // deltap = (ap<beta) && gama;                  // deep filter flag\r
-                       //      if (deltap) {\r
-                       //              p0' = (        p2 +2*p1 +2*p0 +2*q0 + q1 + 4) >> 3; \r
-                       //              p1' = (        p2 +  p1 +  p0 +  q0      + 2) >> 2;\r
-                       //              p2' = (2*p3 +3*p2 +  p1 +  p0 +  q0      + 4) >> 3;\r
-                       //      } else {  \r
-                       //              p0' = (            2*p1 +  p0 +  q1      + 2) >> 2;\r
-                       //      }\r
-                       //-----------------------------------------------------------------------------\r
-\r
-                       // gama = |p0-q0| < ((alpha >> 2) + 2) = |p0-q0| < alpha2  \r
-                       cmp.l.f0.1 (16) null:w  (abs)q0_p0(0)   alpha2:w\r
-\r
-                       // Common P01 = p0 + p1\r
-                       add (16)        P0_plus_P1(0)<1>        P0                      P1      \r
-\r
-                       // Common Q01 = q0 + q1\r
-                       add (16)        Q0_plus_Q1(0)<1>        Q0                      Q1\r
-\r
-//                     mov (1) CTemp1_W:w              f0.1:uw                                         {NoMask}\r
-                       mov (1) f0.0:uw                 f0.1:uw                                         {NoMask}\r
-       \r
-                       // deltap = ((abs)ap < beta) && gama\r
-                       (f0.1) cmp.l.f0.1 (16) null:w   (abs)ap(0)              beta<0;1,0>:w                                                   // (abs)ap < beta ?\r
-\r
-                       // deltaq = ((abs)aq < beta) && gama\r
-                       (f0.0) cmp.l.f0.0 (16) null:w   (abs)aq(0)              beta<0;1,0>:w                                                   // (abs)aq < beta ?\r
-\r
-\r
-//                     mov (1) CTemp1_W:w              f0.0:uw                                         {NoMask}                                        // gama = |p0-q0| < ((alpha >> 2) + 2) for each channel \r
-//                     and (1)         f0.1:w          f0.1:uw         CTemp1_W:w              {NoMask}                                        // deltap = (ap<beta) && gama\r
-\r
-\r
-                       (f0.1)  if      (16)            Y_ELSE3                 // for channels its deltap = true\r
-\r
-                       add (16)        P2_plus_P3(0)<1>        P2              P3\r
-                       \r
-                       // A =  (p1 + p0) + q0 = P01 + q0\r
-                       add (16)        A(0)<1>                 P0_plus_P1(0)           Q0                                                      // A =  P01 + q0\r
-\r
-                       // Now acc0 = A\r
-\r
-                       // B =  p2 + (p1 + p0 + q0) + 4 = p2 + A + 4\r
-//                     add (16)        acc0.0<1>:w             P2                              4:w                                                             // p2 + 4 \r
-//                     add (16)        BB(0)<1>                        acc0.0<16;16,1>:w               A(0)                                    // B = p2 + A + 4\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               4:w                                                             // p2 + 4 \r
-                       add (16)        BB(0)<1>                        acc0.0<16;16,1>:w               P2                                      // B = p2 + A + 4\r
-                       \r
-                       // Now acc0 = B\r
-\r
-                       // p2' = (2*p3 +3*p2 + A + 4) >> 3 = (2*(p3+p2) + B) >> 3\r
-//                     mov     (16)    acc0.0<1>:w             BB(0)\r
-                       mac (16)        acc0.0<1>:w             P2_plus_P3(0)           2:w             \r
-                       shr.sat (16) TempRow3B(0)<2>    acc0.0<16;16,1>:w               3:w\r
-                       \r
-                       // p1' = (p2 + A + 2) >> 2 = (B - 2) >> 2\r
-                       add (16)        acc0.0<1>:w             BB(0)                   -2:w\r
-                       shr.sat (16) TempRow1B(0)<2>    acc0.0<16;16,1>:w               2:w\r
-       \r
-                       // p0' = (p2 +2*A + q1 + 4) >> 3 = (B + A + q1) >> 3\r
-                       add (16)        acc0.0<1>:w             Q1                              A(0)                                                    // B + A\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               BB(0)                                                   // B + A + q1\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w               3:w                                                             // (B + A + q1) >> 3\r
-\r
-                       // p2' = (2*p3 +3*p2 + A + 4) >> 3 = (2*(p3+p2) + B) >> 3\r
-//                     mov     (16)    acc0.0<1>:w             BB(0)\r
-//                     mac (16)        acc0.0<1>:w             P2_plus_P3(0)           2:w             \r
-//                     shr.sat (16) TempRow3B(0)<2>    acc0.0<16;16,1>:w               3:w\r
-\r
-                       mov (16)        NewP2           TempRow3B(0)                                            // p2'\r
-                       mov (16)        NewP1           TempRow1B(0)                                            // p1'                  \r
-                       mov (16)        NewP0           TempRow0B(0)                                            // p0'\r
-\r
-Y_ELSE3:\r
-                       else (16)               Y_ENDIF3                // for channels its deltap = false\r
-\r
-                       // p0' = (2*p1 + p0 + q1 + 2) >> 2 =  (p1 + P01 + q1 + 2) >> 2\r
-                       add (16)        acc0.0<1>:w             P1                      P0_plus_P1(0)                   // p1 + P01 (TempRow1(0) = P01)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       Q1                              \r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       2:w                     // p1 + P01 + q1 + 2\r
-\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w               2:w     // >> 2\r
-                       mov (16)        NewP0           TempRow0B(0)                                            // p0'\r
-\r
-                       endif\r
-Y_ENDIF3:\r
-                       // Compute q0', q1' and q2'\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS = 4 Algorithm (cont):                     \r
-                       //\r
-                       //      deltaq = (aq<beta) && gama;             // deep filter flag\r
-                       //      if (deltaq) {\r
-                       //              q0' = (        q2 +2*q1 +2*q0 +2*p0 + p1 + 4) >> 3; \r
-                       //              q1' = (        q2 +  q1 +  q0 +  p0      + 2) >> 2;\r
-                       //              q2' = (2*q3 +3*q2 +  q1 +  q0 +  p0      + 4) >> 3;\r
-                       //      } else {\r
-                       //              q0' = (            2*q1 +  q0 +  p1      + 2) >> 2;\r
-                       //      }\r
-                       \r
-                       // deltaq = ((abs)aq < beta) && gama\r
-//                     cmp.l.f0.1 (16) null:w  (abs)aq(0)              beta<0;1,0>:w                                                   // (abs)aq < beta ?\r
-\r
-                       // Common Q01 = q0 + q1\r
-//                     add (16)        Q0_plus_Q1(0)<1>        Q0                      Q1\r
-                       \r
-//                     and (1)         f0.1:w          f0.1:uw         CTemp1_W:w              {NoMask}                                // deltaq = ((abs)ap < beta) && gama\r
-\r
-                       (f0.0)  if      (16)            Y_ELSE4                 // for channels its deltaq = true\r
-                       \r
-                       add (16)        Q2_plus_Q3(0)<1>        Q2                      Q3\r
-\r
-                       // A =  (q1 + q0) + p0 = Q01 + p0\r
-                       add (16)        A(0)<1>                 Q0_plus_Q1(0)           p0(0)                                                   // A =  q1+q0 + p0\r
-\r
-                       // Acc0 = A\r
-\r
-                       // B =  q2 + q1 + q0 + p0 + 4 = q2 + A + 4\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               4:w                                                     // q2 + 4 \r
-                       add (16)        BB(0)<1>                        acc0.0<16;16,1>:w               Q2                                                              // B = q2 + A + 4\r
-\r
-                       // Acc0 = B\r
-                       \r
-                       // q2' = (2*q3 +3*q2 + A + 4) >> 3 = (2*(q3+q2) + B) >> 3\r
-//                     mov (16)        acc0.0<1>:w             BB(0)   \r
-                       mac (16)        acc0.0<1>:w             Q2_plus_Q3(0)   2:w\r
-                       shr.sat (16) TempRow3B(0)<2>    acc0.0<16;16,1>:w               3:w\r
-\r
-                       // q1' = (q2 + A + 2) >> 2 = (B - 2) >> 2\r
-                       add (16)        acc0.0<1>:w             BB(0)                   -2:w\r
-                       shr.sat (16) TempRow1B(0)<2>    acc0.0<16;16,1>:w       2:w\r
-                       \r
-                       // q0' = (q2 +2*A + p1 + 4) >> 3 = (B + A + p1) >> 3\r
-                       add (16)        acc0.0<1>:w             p1(0)                                   A(0)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               BB(0)\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w       3:w\r
-                       \r
-                       mov (16)        NewQ2           TempRow3B(0)                                            // q2'\r
-                       mov (16)        NewQ1           TempRow1B(0)                                            // q1'\r
-                       mov (16)        NewQ0           TempRow0B(0)                                            // q0'\r
-\r
-Y_ELSE4:\r
-                       else (16)               Y_ENDIF4                // for channels its deltaq = false\r
-\r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2 =  (q1 + Q01 + p1 + 2) >> 2\r
-                       // Use original p1 values in p1(0)\r
-                       add (16)        acc0.0<1>:w             p1(0)                   Q0_plus_Q1(0)                   // p1 + P01 (TempRow1(0) = P01)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       Q1                              \r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       2:w                     // p1 + P01 + q1 + 2\r
-\r
-                       shr.sat (16)    TempRow0B(0)<2>         acc0.0<16;16,1>:w               2:w                                                             // >> 2\r
-                       mov (16)        NewQ0           TempRow0B(0)                                            // q0'\r
-\r
-                       endif\r
-Y_ENDIF4:\r
-\r
-                       \r
-                       // Done with bS = 4 algorithm\r
-                       \r
-Y_ELSE2: \r
-               else    (16)            Y_ENDIF2\r
-                       // For channels whose edge control map2 = 0 ---> bS < 4 algorithm\r
-\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS < 4 Algorithm :\r
-                       // tc = tc0 + (|p2-p0|<Beta ? 1 : 0) + (|q2-q0|<Beta ? 1 : 0)\r
-                       // delta = Clip3(-tc, tc, ((((q0-p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       // if (|p2-p0|<Beta)\r
-                       //              p1' = p1 + Clip3(-tc0, tc0, (p2 + ((p0+q0+1)>>1) - (p1<<1)) >> 1 )\r
-                       // if (|q2-q0|<Beta)\r
-                       //              q1' = q1 + Clip3(-tc0, tc0, (q2 + ((p0+q0+1)>>1) - (q1<<1)) >> 1 )\r
-                       //-----------------------------------------------------------------------------\r
-                       \r
-                       // Expand tc0\r
-                       mov (16)        tc_exp(0)<1>    tc0<1;4,0>:ub   {NoMask}\r
-                       mov (16)        tc0_exp(0)<1>   tc0<1;4,0>:ub   {NoMask}                                        // tc0_exp = tc0, each tc0 is duplicated 4 times for 4 adjcent 4 pixels \r
-                                               \r
-                       // tc_exp = tc0_exp + (|p2-p0|<Beta ? 1 : 0) + (|q2-q0|<Beta ? 1 : 0)                   \r
-//                     mov (16)        tc_exp(0)<1>            tc0_exp(0)                                                                      // tc = tc0_exp first\r
-                       \r
-\r
-                       cmp.l.f0.0 (16) null:w          (abs)ap(0)                      beta:w                                          // |p2-p0|< Beta ? ---> (abs)ap < Beta ?\r
-                       cmp.l.f0.1 (16) null:w          (abs)aq(0)                      beta:w                                          // |q2-q0|< Beta ? ---> (abs)aq < Beta ?\r
-                       \r
-                       //--- Use free cycles here ---\r
-                       // delta = Clip3(-tc, tc, ((((q0-p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // 4 * (q0-p0) + p1 - q1 + 4\r
-                       add (16) acc0<1>:w              P1                      4:w                                                     // p1 + 4\r
-                       mac (16) acc0<1>:w              q0_p0(0)        4:w                                                     // 4 * (q0-p0) + p1 + 4\r
-                       add (16) acc0<1>:w              acc0<16;16,1>:w         -Q1                                     // 4 * (q0-p0) + p1 - q1 + 4\r
-                       shr (16) TempRow0(0)<1> acc0<16;16,1>:w         3:w\r
-                                               \r
-                       // Continue on getting tc_exp\r
-                       (f0.0) add (16) tc_exp(0)<1>    tc_exp(0)       1:w                                                     // tc0_exp + (|p2-p0|<Beta ? 1 : 0)\r
-                       mov (2) CTemp1_W<1>:w           f0.0<2;2,1>:w                   {NoMask}                                        // Save |p2-p0|<Beta flag                       \r
-                       (f0.1) add (16) tc_exp(0)<1>    tc_exp(0)       1:w                                                     // tc_exp = tc0_exp + (|p2-p0|<Beta ? 1 : 0) + (|q2-q0|<Beta ? 1 : 0)\r
-                       \r
-\r
-                       // Continue on cliping tc to get delta\r
-                       cmp.g.f0.0      (16) null:w             TempRow0(0)             tc_exp(0)                                       // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow0(0)             -tc_exp(0)                                      // Clip if delta' < -tc\r
-\r
-                       //--- Use free cycles here ---\r
-                       // common = (p0+q0+1) >> 1        --->  TempRow2(0)\r
-                       // Same as avg of p0 and q0\r
-                       avg (16) TempRow2(0)<1>         P0                      Q0\r
-\r
-                       // Continue on cliping tc to get delta\r
-                       (f0.0) mov (16) TempRow0(0)<1>                          tc_exp(0)\r
-                       (f0.1) mov (16) TempRow0(0)<1>                          -tc_exp(0)\r
-\r
-                       //--- Use free cycles here ---\r
-                       mov (2) f0.0<1>:w               CTemp1_W<2;2,1>:w       {NoMask}                        // CTemp1_W = (|p2-p0|<Beta)\r
-                                                                                                                                                       // CTemp2_W = (|q2-q0|<Beta)            \r
-                       //-----------------------------------------------------------------------\r
-\r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       add.sat (16) TempRow1B(0)<2>            P0                      TempRow0(0)                                     // p0+delta\r
-                       add.sat (16) TempRow0B(0)<2>            Q0                      -TempRow0(0)                            // q0-delta\r
-                       mov (16) NewP0          TempRow1B(0)                                    // p0'\r
-                       mov (16) NewQ0          TempRow0B(0)                                    // q0'\r
-                       //-----------------------------------------------------------------------\r
-\r
-                       // Now compute p1' and q1'\r
-\r
-                       // if (|p2-p0|<Beta)\r
-//                     mov (1) f0.0:w          CTemp1_W:w                              {NoMask}                        // CTemp1_W = (|p2-p0|<Beta)\r
-                       (f0.0)  if      (16)            Y_ENDIF6\r
-               \r
-                       // p1' = p1 + Clip3(-tc0, tc0, adj)\r
-                       // adj = (p2 + common - (p1<<1)) >> 1 = (p2 + common - (p1*2)) >> 1\r
-                       add (16) acc0<1>:w      P2              TempRow2(0)                                                     // TempRow2(0) = common = (p0+q0+1) >> 1\r
-                       mac (16) acc0<1>:w      P1              -2:w\r
-                       shr (16) TempRow1(0)<1>         acc0<16;16,1>:w         1:w\r
-\r
-                       // tc clip to get tc_adj\r
-                       cmp.g.f0.0      (16) null:w             TempRow1(0)             tc0_exp(0)                                      // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow1(0)             -tc0_exp(0)                                     // Clip if delta' < -tc\r
-                       \r
-                       (f0.0) mov (16) TempRow1(0)<1>                          tc0_exp(0)\r
-                       (f0.1) mov (16) TempRow1(0)<1>                          -tc0_exp(0)\r
-\r
-                       //--- Use free cycles here ---\r
-                       mov (1) f0.1:w          CTemp2_W:w                              {NoMask}                        // CTemp2_W = (|q2-q0|<Beta)\r
-\r
-                       // p1' = p1 + tc_adj\r
-                       add.sat (16) TempRow1B(0)<2>            P1                      TempRow1(0)                                     // p1+tc_adj\r
-                       mov (16) NewP1                  TempRow1B(0)                            // p1'\r
-\r
-                       //------------------------------------------------------------------------\r
-Y_ENDIF6:\r
-                       endif\r
-                       \r
-                       // if (|q2-q0|<Beta)\r
-//                     mov (1) f0.1:w          CTemp2_W:w                              {NoMask}                        // CTemp2_W = (|q2-q0|<Beta)\r
-                       (f0.1)  if      (16)            Y_ENDIF7\r
-                                       \r
-                       // q1' = q1 + Clip3(-tc0, tc0, adj)\r
-                       // adj = (q2 + common - (q1<<1)) >> 1 \r
-                       // same as q2 + common - (q1 * 2)\r
-                       add (16) acc0<1>:w      Q2              TempRow2(0)\r
-                       mac (16) acc0<1>:w      Q1              -2:w\r
-                       shr (16) TempRow1(0)<1>         acc0<16;16,1>:w         1:w     \r
-\r
-                       // tc clip to get tc_adj\r
-                       cmp.g.f0.0      (16) null:w             TempRow1(0)             tc0_exp(0)                                      // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow1(0)             -tc0_exp(0)                                     // Clip if delta' < -tc\r
-\r
-                       (f0.0) mov (16) TempRow1(0)<1>                          tc0_exp(0)\r
-                       (f0.1) mov (16) TempRow1(0)<1>                          -tc0_exp(0)\r
-\r
-                       // q1' = q1 + tc_adj\r
-                       add.sat (16) TempRow1B(0)<2>            Q1                      TempRow1(0)                                     // q1+tc_adj\r
-                       mov (16) NewQ1                  TempRow1B(0)                            // q1'\r
-\r
-                       //------------------------------------------------------------------------                      \r
-Y_ENDIF7:\r
-                       endif\r
-\r
-               endif\r
-Y_ENDIF2:\r
-Y_ENDIF1:\r
-       endif\r
-\r
-RETURN\r
-\r
-#endif // !defined(__AVC_ILDB_LUMA_CORE__)\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Luma_Core_Mbaff.asm
deleted file mode 100644 (file)
index fd65b3c..0000000
+++ /dev/null
@@ -1,391 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__AVC_ILDB_LUMA_CORE_MBAFF__)     // Make sure this file is only included once\r
-#define __AVC_ILDB_LUMA_CORE_MBAFF__\r
-\r
-////////// AVC ILDB Luma Core Mbaff /////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//     This core performs AVC LUMA ILDB filtering on one horizontal edge (16 pixels) of a MB.  \r
-//     If data is transposed, it can also de-block a vertical edge.\r
-//\r
-//     Bafore calling this subroutine, caller needs to set the following parameters.\r
-//\r
-//     - EdgeCntlMap1                          //      Edge control map A\r
-//     - EdgeCntlMap2                          //      Edge control map B\r
-//     - P_AddrReg                                     //      Src and dest address register for P pixels\r
-//     - Q_AddrReg                                     //      Src and dest address register for Q pixels      \r
-//     - alpha                                         //  alpha corresponding to the edge to be filtered\r
-//     - beta                                          //  beta corresponding to the edge to be filtered\r
-//     - tc0                                           //      tc0  corresponding to the edge to be filtered\r
-//\r
-//\r
-//     +----+----+----+----+----+----+----+----+\r
-//     | p3 | p2 | P1 | p0 | q0 | q1 | q2 | q3 |\r
-//     +----+----+----+----+----+----+----+----+\r
-//\r
-//     p3 = r[P_AddrReg, 0]<16;16,1>  \r
-//     p2 = r[P_AddrReg, 16]<16;16,1> \r
-//     p1 = r[P_AddrReg, 32]<16;16,1> \r
-//     p0 = r[P_AddrReg, 48]<16;16,1> \r
-//     q0 = r[Q_AddrReg, 0]<16;16,1>  \r
-//     q1 = r[Q_AddrReg, 16]<16;16,1> \r
-//     q2 = r[Q_AddrReg, 32]<16;16,1> \r
-//     q3 = r[Q_AddrReg, 48]<16;16,1> \r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// The region is both src and dest\r
-// P0-P3 and Q0-Q3 should be only used if they have not been modified to new values  \r
-#undef         P3\r
-#undef         P2\r
-#undef         P1\r
-#undef         P0\r
-#undef         Q0\r
-#undef         Q1\r
-#undef         Q2\r
-#undef         Q3\r
-\r
-#define P3             r[P_AddrReg,  0]<16;16,1>:ub\r
-#define P2             r[P_AddrReg, 16]<16;16,1>:ub\r
-#define P1             r[P_AddrReg, 32]<16;16,1>:ub\r
-#define P0             r[P_AddrReg, 48]<16;16,1>:ub\r
-#define Q0             r[Q_AddrReg,  0]<16;16,1>:ub\r
-#define Q1             r[Q_AddrReg, 16]<16;16,1>:ub\r
-#define Q2             r[Q_AddrReg, 32]<16;16,1>:ub\r
-#define Q3             r[Q_AddrReg, 48]<16;16,1>:ub\r
-\r
-// New region as dest\r
-#undef         NewP2\r
-#undef         NewP1\r
-#undef         NewP0\r
-#undef         NewQ0\r
-#undef         NewQ1\r
-#undef         NewQ2\r
-\r
-#define NewP2  r[P_AddrReg, 16]<1>:ub\r
-#define NewP1  r[P_AddrReg, 32]<1>:ub\r
-#define NewP0  r[P_AddrReg, 48]<1>:ub\r
-#define NewQ0  r[Q_AddrReg,  0]<1>:ub\r
-#define NewQ1  r[Q_AddrReg, 16]<1>:ub\r
-#define NewQ2  r[Q_AddrReg, 32]<1>:ub\r
-\r
-\r
-\r
-// Filter one luma edge - mbaff\r
-FILTER_Y_MBAFF:\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x1111:w\r
-#endif\r
-       //---------- Derive filterSampleflag in AVC spec, equition (8-469) ----------\r
-       // bS is in MaskA\r
-\r
-       // Src copy of the p3, p2, p1, p0, q0, q1, q2, q3\r
-//     mov (16) p0123_W(0)<1>          r[P_AddrReg]<16;16,1>:uw\r
-//     mov (16) p0123_W(1)<1>          r[P_AddrReg, 32]<16;16,1>:uw\r
-//     mov (16) q0123_W(0)<1>          r[Q_AddrReg]<16;16,1>:uw\r
-//     mov (16) q0123_W(1)<1>          r[Q_AddrReg, 32]<16;16,1>:uw\r
-\r
-       // Move MaskA and MaskB to flag regs\r
-       mov (2) f0.0<1>:uw              MaskA<2;2,1>:uw\r
-\r
-       add (16) q0_p0(0)<1>            Q0                      -P0                             // q0-p0\r
-       add (16) TempRow0(0)<1>         P1                      -P0                             // p1-p0\r
-       add (16) TempRow1(0)<1>         Q1                      -Q0                             // q1-q0\r
-\r
-       // abs(q0-p0) < alpha\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)q0_p0(0)           Mbaff_ALPHA(0)\r
-       // abs(p1-p0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow0(0)        Mbaff_BETA(0)\r
-       // abs(q1-q0) < Beta\r
-       (f0.0) cmp.l.f0.0 (16) null:w           (abs)TempRow1(0)        Mbaff_BETA(0)\r
-\r
-       //-----------------------------------------------------------------------------------------\r
-\r
-    (f0.0)     if      (16)            MBAFF_Y_ENDIF1\r
-               // For channels whose edge control map1 = 1 ---> perform de-blocking\r
-\r
-//             mov (1)         f0.1:uw         MaskB:uw        {NoMask}                // Now check for which algorithm to apply\r
-\r
-               // (abs)ap = |p2-p0|\r
-               add (16) ap(0)<1>               P2              -P0\r
-\r
-               // (abs)aq = |q2-q0|\r
-               add (16) aq(0)<1>               Q2              -Q0\r
-\r
-               // Make a copy of unmodified p0 and p1 for use in q0'and q1' calculation\r
-               mov (16) p0123_W(1)<1>          r[P_AddrReg, 32]<16;16,1>:uw            {NoMask}\r
-                       \r
-               (f0.1)  if      (16)            MBAFF_Y_ELSE2\r
-\r
-                       // For channels whose edge control map2 = 1 ---> bS = 4 algorithm\r
-\r
-                       // Compute q0', q1' and q2'\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS = 4 Algorithm :                   \r
-                       //\r
-                       // gama = |p0-q0| < ((alpha >> 2) + 2) \r
-                       // deltap = (ap<beta) && gama;                  // deep filter flag\r
-                       //      if (deltap) {\r
-                       //              p0' = (        p2 +2*p1 +2*p0 +2*q0 + q1 + 4) >> 3; \r
-                       //              p1' = (        p2 +  p1 +  p0 +  q0      + 2) >> 2;\r
-                       //              p2' = (2*p3 +3*p2 +  p1 +  p0 +  q0      + 4) >> 3;\r
-                       //      } else {  \r
-                       //              p0' = (            2*p1 +  p0 +  q1      + 2) >> 2;\r
-                       //      }\r
-                       //-----------------------------------------------------------------------------\r
-\r
-                       // gama = |p0-q0| < ((alpha >> 2) + 2) = |p0-q0| < alpha2  \r
-                       cmp.l.f0.1 (16) null:w  (abs)q0_p0(0)   Mbaff_ALPHA2(0)\r
-\r
-                       // Common P01 = p0 + p1\r
-                       add (16)        P0_plus_P1(0)<1>        P0                      P1      \r
-\r
-                       // Common Q01 = q0 + q1\r
-                       add (16)        Q0_plus_Q1(0)<1>        Q0                      Q1\r
-\r
-                       mov (1) f0.0:uw                 f0.1:uw                                         {NoMask}\r
-\r
-                       // deltap = ((abs)ap < beta) && gama\r
-                       (f0.1) cmp.l.f0.1 (16) null:w   (abs)ap(0)              Mbaff_BETA(0)                                                   // (abs)ap < beta ?\r
-\r
-                       // deltaq = ((abs)aq < beta) && gama\r
-                       (f0.0) cmp.l.f0.0 (16) null:w   (abs)aq(0)              Mbaff_BETA(0)                                                   // (abs)aq < beta ?\r
-\r
-\r
-                       (f0.1)  if      (16)            MBAFF_Y_ELSE3                   // for channels its deltap = true\r
-       \r
-                       add (16)        P2_plus_P3(0)<1>        P2              P3\r
-                       \r
-                       // A =  p1 + p0 + q0 = P01 + q0\r
-                       add (16)        A(0)<1>                 P0_plus_P1(0)           Q0                                                      // A =  P01 + q0\r
-\r
-                       // Now acc0 = A\r
-\r
-                       // B =  p2 + p1 + p0 + q0 + 4 = p2 + A + 4\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               4:w                                                             // p2 + 4 \r
-                       add (16)        BB(0)<1>                        acc0.0<16;16,1>:w               P2                                      // B = p2 + A + 4\r
-\r
-                       // Now acc0 = B\r
-\r
-                       // p2' = (2*p3 +3*p2 + A + 4) >> 3 = (2*(p3+p2) + B) >> 3\r
-                       mac (16)        acc0.0<1>:w             P2_plus_P3(0)           2:w             \r
-                       shr.sat (16) TempRow3B(0)<2>    acc0.0<16;16,1>:w               3:w\r
-\r
-                       // p1' = (p2 + A + 2) >> 2 = (B - 2) >> 2\r
-                       add (16)        acc0.0<1>:w             BB(0)                   -2:w\r
-                       shr.sat (16) TempRow1B(0)<2>    acc0.0<16;16,1>:w               2:w\r
-       \r
-                       // p0' = (p2 +2*A + q1 + 4) >> 3 = (B + A + q1) >> 3\r
-                       add (16)        acc0.0<1>:w             Q1                              A(0)                                                    // B + A\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               BB(0)                                                   // B + A + q1\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w               3:w                                                             // (B + A + q1) >> 3\r
-\r
-                       mov (16)        NewP2           TempRow3B(0)                                            // p2'\r
-                       mov (16)        NewP1           TempRow1B(0)                                            // p1'                  \r
-                       mov (16)        NewP0           TempRow0B(0)                                            // p0'\r
-\r
-MBAFF_Y_ELSE3:\r
-                       else (16)               MBAFF_Y_ENDIF3          // for channels its deltap = false\r
-\r
-                       // p0' = (2*p1 + p0 + q1 + 2) >> 2 =  (p1 + P01 + q1 + 2) >> 2\r
-                       add (16)        acc0.0<1>:w             P1                      P0_plus_P1(0)                   // p1 + P01 (TempRow1(0) = P01)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       Q1                              \r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       2:w                     // p1 + P01 + q1 + 2\r
-\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w               2:w     // >> 2\r
-                       mov (16)        NewP0           TempRow0B(0)                                            // p0'\r
-\r
-                       endif\r
-\r
-MBAFF_Y_ENDIF3:\r
-                       // Compute q0', q1' and q2'\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS = 4 Algorithm (cont):                     \r
-                       //\r
-                       //      deltaq = (aq<beta) && gama;             // deep filter flag\r
-                       //      if (deltaq) {\r
-                       //              q0' = (        q2 +2*q1 +2*q0 +2*p0 + p1 + 4) >> 3; \r
-                       //              q1' = (        q2 +  q1 +  q0 +  p0      + 2) >> 2;\r
-                       //              q2' = (2*q3 +3*q2 +  q1 +  q0 +  p0      + 4) >> 3;\r
-                       //      } else {\r
-                       //              q0' = (            2*q1 +  q0 +  p1      + 2) >> 2;\r
-                       //      }\r
-                       \r
-                       (f0.0)  if      (16)            MBAFF_Y_ELSE4                   // for channels its deltaq = true\r
-                       \r
-                       add (16)        Q2_plus_Q3(0)<1>        Q2                      Q3\r
-\r
-                       // A =  q1 + q0 + p0 = Q01 + p0\r
-                       add (16)        A(0)<1>                 Q0_plus_Q1(0)           p0(0)                                                   // A =  q1+q0 + p0\r
-\r
-                       // B =  q2 + q1 + q0 + p0 + 4 = q2 + A + 4\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               4:w                                                     // q2 + 4 \r
-                       add (16)        BB(0)<1>                        acc0.0<16;16,1>:w               Q2                                                              // B = q2 + A + 4\r
-                       \r
-                       // Acc0 = B\r
-\r
-                       // q2' = (2*q3 +3*q2 + A + 4) >> 3 = (2*(q3+q2) + B) >> 3\r
-                       mac (16)        acc0.0<1>:w             Q2_plus_Q3(0)   2:w\r
-                       shr.sat (16) TempRow3B(0)<2>    acc0.0<16;16,1>:w               3:w\r
-\r
-                       // q1' = (q2 + A + 2) >> 2 = (B - 2) >> 2\r
-                       add (16)        acc0.0<1>:w             BB(0)                   -2:w\r
-                       shr.sat (16) TempRow1B(0)<2>    acc0.0<16;16,1>:w       2:w\r
-                       \r
-                       // q0' = (q2 +2*A + p1 + 4) >> 3 = (B + A + p1) >> 3\r
-                       add (16)        acc0.0<1>:w             p1(0)                                   A(0)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w               BB(0)\r
-                       shr.sat (16) TempRow0B(0)<2>    acc0.0<16;16,1>:w       3:w\r
-                       \r
-                       mov (16)        NewQ2           TempRow3B(0)                                            // q2'\r
-                       mov (16)        NewQ1           TempRow1B(0)                                            // q1'\r
-                       mov (16)        NewQ0           TempRow0B(0)                                            // q0'\r
-\r
-MBAFF_Y_ELSE4:\r
-                       else (16)               MBAFF_Y_ENDIF4          // for channels its deltaq = false\r
-\r
-                       // q0' = (2*q1 + q0 + p1 + 2) >> 2 =  (q1 + Q01 + p1 + 2) >> 2\r
-                       // Use original p1 values in p1(0)\r
-                       add (16)        acc0.0<1>:w             p1(0)                   Q0_plus_Q1(0)                   // p1 + P01 (TempRow1(0) = P01)\r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       Q1                              \r
-                       add (16)        acc0.0<1>:w             acc0.0<16;16,1>:w       2:w                     // p1 + P01 + q1 + 2\r
-\r
-                       shr.sat (16)    TempRow0B(0)<2>         acc0.0<16;16,1>:w               2:w                                                             // >> 2\r
-                       mov (16)        NewQ0           TempRow0B(0)                                            // q0'\r
-\r
-                       endif\r
-MBAFF_Y_ENDIF4:\r
-\r
-                       \r
-                       // Done with bS = 4 algorithm\r
-                       \r
-MBAFF_Y_ELSE2: \r
-               else    (16)            MBAFF_Y_ENDIF2\r
-                       // For channels whose edge control map2 = 0 ---> bS < 4 algorithm\r
-\r
-                       //-----------------------------------------------------------------------------\r
-                       // bS < 4 Algorithm :\r
-                       // tc = tc0 + (|p2-p0|<Beta ? 1 : 0) + (|q2-q0|<Beta ? 1 : 0)\r
-                       // delta = Clip3(-tc, tc, ((((q0-p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       // if (|p2-p0|<Beta)\r
-                       //              p1' = p1 + Clip3(-tc0, tc0, (p2 + ((p0+q0+1)>>1) - (p1<<1)) >> 1 )\r
-                       // if (|q2-q0|<Beta)\r
-                       //              q1' = q1 + Clip3(-tc0, tc0, (q2 + ((p0+q0+1)>>1) - (q1<<1)) >> 1 )\r
-                       //-----------------------------------------------------------------------------\r
-                       \r
-                       mov (16)        tc_exp(0)<1>            Mbaff_TC0(0)                                                            // tc = tc0_exp first\r
-                       \r
-                       cmp.l.f0.0 (16) null:w          (abs)ap(0)                      Mbaff_BETA(0)                           // |p2-p0|<Beta ?\r
-                       cmp.l.f0.1 (16) null:w          (abs)aq(0)                      Mbaff_BETA(0)                           // |q2-q0|<Beta ?\r
-                               \r
-                       //--- Use free cycles here ---\r
-                       // delta = Clip3(-tc, tc, ((((q0-p0)<<2) + (p1-q1) + 4) >> 3))\r
-                       // 4 * (q0-p0) + p1 - q1 + 4\r
-                       add (16) acc0<1>:w              P1                      4:w                                                     // p1 + 4\r
-                       mac (16) acc0<1>:w              q0_p0(0)        4:w                                                     // 4 * (q0-p0) + p1 + 4\r
-                       add (16) acc0<1>:w              acc0<16;16,1>:w         -Q1                                     // 4 * (q0-p0) + p1 - q1 + 4\r
-                       shr (16) TempRow0(0)<1> acc0<16;16,1>:w         3:w\r
-                                               \r
-                       // Continue on getting tc_exp\r
-                       (f0.0) add (16) tc_exp(0)<1>    tc_exp(0)       1:w                                                     // tc0_exp + (|p2-p0|<Beta ? 1 : 0)\r
-                       mov (2) CTemp1_W<1>:w           f0.0<2;2,1>:w                   {NoMask}                                        // Save |p2-p0|<Beta flag                       \r
-                       (f0.1) add (16) tc_exp(0)<1>    tc_exp(0)       1:w                                                     // tc_exp = tc0_exp + (|p2-p0|<Beta ? 1 : 0) + (|q2-q0|<Beta ? 1 : 0)\r
-                               \r
-                       // Continue on cliping tc to get delta\r
-                       cmp.g.f0.0      (16) null:w             TempRow0(0)             tc_exp(0)                                       // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow0(0)             -tc_exp(0)                                      // Clip if delta' < -tc\r
-\r
-                       //--- Use free cycles here ---\r
-                       // common = (p0+q0+1) >> 1        --->  TempRow2(0)\r
-                       // Same as avg of p0 and q0\r
-                       avg (16) TempRow2(0)<1>         P0                      Q0\r
-\r
-                       // Continue on cliping tc to get delta\r
-                       (f0.0) mov (16) TempRow0(0)<1>                          tc_exp(0)\r
-                       (f0.1) mov (16) TempRow0(0)<1>                          -tc_exp(0)\r
-\r
-                       //--- Use free cycles here ---\r
-                       mov (2) f0.0<1>:w               CTemp1_W<2;2,1>:w       {NoMask}                        // CTemp1_W = (|p2-p0|<Beta)\r
-                                                                                                                                                       // CTemp2_W = (|q2-q0|<Beta)            \r
-\r
-                       // p0' = Clip1(p0 + delta) = Clip3(0, 0xFF, p0 + delta)\r
-                       // q0' = Clip1(q0 - delta) = Clip3(0, 0xFF, q0 - delta)\r
-                       add.sat (16) TempRow1B(0)<2>            P0                      TempRow0(0)                                     // p0+delta\r
-                       add.sat (16) TempRow0B(0)<2>            Q0                      -TempRow0(0)                            // q0-delta\r
-                       \r
-                       mov (16) NewP0          TempRow1B(0)                                    // p0'\r
-                       mov (16) NewQ0          TempRow0B(0)                                    // q0'\r
-\r
-                       //-----------------------------------------------------------------------\r
-\r
-                       // Now compute p1' and q1'\r
-\r
-                       // if (|p2-p0|<Beta)\r
-                       (f0.0)  if      (16)            MBAFF_Y_ENDIF6\r
-\r
-                       // p1' = p1 + Clip3(-tc0, tc0, adj)\r
-                       // adj = (p2 + common - (p1<<1)) >> 1 = (p2 + common - (p1*2)) >> 1\r
-                       add (16) acc0<1>:w      P2              TempRow2(0)                                                     // TempRow2(0) = common = (p0+q0+1) >> 1\r
-                       mac (16) acc0<1>:w      P1              -2:w\r
-                       shr (16) TempRow1(0)<1>         acc0<16;16,1>:w         1:w\r
-\r
-                       // tc clip to get tc_adj\r
-                       cmp.g.f0.0      (16) null:w             TempRow1(0)             Mbaff_TC0(0)                                    // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow1(0)             -Mbaff_TC0(0)                                   // Clip if delta' < -tc\r
-                       \r
-                       (f0.0) mov (16) TempRow1(0)<1>                          Mbaff_TC0(0)\r
-                       (f0.1) mov (16) TempRow1(0)<1>                          -Mbaff_TC0(0)\r
-\r
-                       //--- Use free cycles here ---\r
-                       mov (1) f0.1:w          CTemp2_W:w                              {NoMask}                        // CTemp2_W = (|q2-q0|<Beta)\r
-\r
-                       // p1' = p1 + tc_adj\r
-                       add.sat (16) TempRow1B(0)<2>            P1                      TempRow1(0)                                     // p1+tc_adj\r
-                       mov (16) NewP1                  TempRow1B(0)                            // p1'\r
-                       //------------------------------------------------------------------------\r
-\r
-MBAFF_Y_ENDIF6:\r
-                       endif\r
-                       \r
-                       // if (|q2-q0|<Beta)\r
-                       (f0.1)  if      (16)            MBAFF_Y_ENDIF7\r
-\r
-                       // q1' = q1 + Clip3(-tc0, tc0, adj)\r
-                       // adj = (q2 + common - (q1<<1)) >> 1 \r
-                       // same as q2 + common - (q1 * 2)\r
-                       add (16) acc0<1>:w      Q2              TempRow2(0)\r
-                       mac (16) acc0<1>:w      Q1              -2:w\r
-                       shr (16) TempRow1(0)<1>         acc0<16;16,1>:w         1:w     \r
-                                       \r
-                       // tc clip to get tc_adj\r
-                       cmp.g.f0.0      (16) null:w             TempRow1(0)             Mbaff_TC0(0)                                    // Clip if delta' > tc\r
-                       cmp.l.f0.1      (16) null:w             TempRow1(0)             -Mbaff_TC0(0)                                   // Clip if delta' < -tc\r
-\r
-                       (f0.0) mov (16) TempRow1(0)<1>                          Mbaff_TC0(0)\r
-                       (f0.1) mov (16) TempRow1(0)<1>                          -Mbaff_TC0(0)\r
-                       \r
-                       // q1' = q1 + tc_adj\r
-                       add.sat (16) TempRow1B(0)<2>            Q1                      TempRow1(0)                                     // q1+tc_adj\r
-                       mov (16) NewQ1                  TempRow1B(0)                            // q1'\r
-                       \r
-                       //------------------------------------------------------------------------                      \r
-MBAFF_Y_ENDIF7:\r
-                       endif\r
-\r
-               endif\r
-MBAFF_Y_ENDIF2:\r
-MBAFF_Y_ENDIF1:\r
-       endif\r
-\r
-RETURN\r
-\r
-#endif // !defined(__AVC_ILDB_LUMA_CORE_MBAFF__)\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_OpenGateway.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_OpenGateway.asm
deleted file mode 100644 (file)
index 06d1933..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//----- Open a Message Gateway -----\r
-// The parent thread is the recipient thread\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:w                        0x1111:w\r
-#endif\r
-\r
-mov (8)        GatewayPayload<1>:ud            r0.0<8;8,1>:ud                  // Init payload to r0\r
-\r
-// r50- (16 GRFs) are the GRFs child thread can wtite to. \r
-\r
-// Reg base is at bit 28:21, Gateway size is at [bit 10:8]\r
-// r6: 6 = 00000110\r
-//000 00000110 0000000000 100 00000000 ==> 0000 0000 1100 0000 0000 0100 0000 0000\r
-mov (1)        RegBase_GatewaySize:ud  0x00C00400:ud   // Reg base + Gateway size (16 GRFs)\r
-\r
-\r
-//000 00110010 0000000000 100 00000000 ==> 0000 0110 0100 0000 0000 0100 0000 0000\r
-//mov (1)      RegBase_GatewaySize:ud  0x06400400:ud   // Reg base (r50 = 0x640 byte offset) + Gateway size (16 GRFs)\r
-\r
-//mov (1)      DispatchID:ub                   r0.20:ub                // Dispatch ID\r
-mov (1)        GatewayPayloadKey:uw    0x1212:uw               // Key=0x1212\r
-\r
-// Message descriptor\r
-// bit 31      EOD\r
-// 27:24       FFID = 0x0011 for msg gateway\r
-// 23:20       msg length = 1 MRF\r
-// 19:16       Response length = 0\r
-// 14          AckReg = 1\r
-// 1:0         SubFuncID = 00 for OpenGateway\r
-// Message descriptor: 0 000 0011 0001 0000 + 0 1 000000000000 00 ==> 0000 0011 0001 0000 0100 0000 0000 0000\r
-// Send message to gateway: the ack message is put into response GRF r49 ==> Good for debugging\r
-send (8)       GatewayResponse:ud      m7        GatewayPayload<8;8,1>:ud    MSG_GW    OGWMSGDSC\r
-\r
-//----- End of Open a Message Gateway -----\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_UV.asm
deleted file mode 100644 (file)
index 759e80a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#include "AVC_ILDB_Root_UV.asm"\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Field_Y.asm
deleted file mode 100644 (file)
index f88eede..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#include "AVC_ILDB_Root_Y.asm"\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_UV.asm
deleted file mode 100644 (file)
index 73f5657..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-// Kernel name: AVC_ILDB_Root_Mbaff.asm\r
-//\r
-//  Root kernel serves as a scheduler for child threads.\r
-//\r
-//\r
-//     ***** Note *****\r
-//     Initial design bundle MB pair for each thread, and share AVC_ILDB_MB_Dep_Check.asm\r
-//     with non mbaff kernels.\r
-//\r
-//     Optimization will be done later, putting top and bottom MBs on separate threads.\r
-//\r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 10/19/06 5:06p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  AVC_ILDB_ROOT_MBAFF_UV\r
-// ----------------------------------------------------\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_ROOT_MBAFF_UV\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_ROOT_UV):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-\r
-#if defined(_DEBUG) \r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-// Init URB space for running on RTL.  It satisfies reading an unwritten URB entries.  \r
-// Will remove it for production release.\r
-\r
-\r
-//mov (8) m1:ud                0x11111111:ud\r
-//mov (8) m2:ud                0x22222222:ud \r
-//mov (8) m3:ud                0x33333333:ud\r
-//mov (8) m4:ud                0x44444444:ud \r
-\r
-//mov (1)      Temp1_W:w       0:w\r
-\r
-//ILDB_INIT_URB:\r
-//mul (1)      URBOffset:w                             Temp1_W:w               4:w\r
-//shl (1) URBWriteMsgDescLow:uw        URBOffset:w             4:w             // Msg descriptor: URB write dest offset (9:4)\r
-//mov (1) URBWriteMsgDescHigh:uw       0x0650:uw                               // Msg descriptor: URB write 5 MRFs (m0 - m4)\r
-//#include "writeURB.asm"\r
-\r
-//add          (1)             Temp1_W:w       Temp1_W:w       1:w                             // Increase block count\r
-//cmp.l.f0.0 (1)       null            Temp1_W:w       MBsCntY:w               // Check the block count limit\r
-//(f0.0) jmpi          ILDB_INIT_URB                                                   // Loop back\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-mov            (1)             EntrySignature:w                        0xEFF0:w\r
-\r
-#endif\r
-//----------------------------------------------------------------------------------------------------------------\r
-\r
-// Set global variable\r
-mov (32)       ChildParam:uw                   0:uw                                                            // Reset local variables\r
-//mul  (1)             TotalBlocks:w                   MBsCntX:w               MBsCntY:w                       // Total # of MB pairs\r
-//add  (1)             GatewayApertureE:w              MBsCntY:w               GatewayApertureB:w      // Aperture End = aperture Head + BlockCntY\r
-\r
-\r
-// 2 URB entries for Y:\r
-// Entry 0 - Child thread R0Hdr\r
-// Entry 1 - input parameter to child kernel (child r1)\r
-\r
-#define        URB_ENTRIES_PER_MB      2\r
-\r
-// URB_ENTRIES_PER_MB in differnt form, the final desired format is (URB_ENTRIES_PER_MB-1) << 10\r
-mov (1) URB_EntriesPerMB_2:w           URB_ENTRIES_PER_MB-1:w\r
-shl (1) URB_EntriesPerMB_2:w           URB_EntriesPerMB_2:w    10:w\r
-\r
-#define        CHROMA_ROOT                                                                                                             // Compiling flag for chroma only\r
-//mul (1)              URBOffsetUVBase:w               MBsCntY:w               URB_ENTRIES_PER_MB:w    // Right after Y entries\r
-\r
-// URB base for UV kernels\r
-#if defined(DEV_CL)    \r
-       mov (1)         URBOffsetUVBase:w               240:w\r
-#else\r
-       mov (1)         URBOffsetUVBase:w               320:w\r
-#endif\r
-\r
-\r
-mov    (1)             ChildThreadsID:uw               3:uw\r
-\r
-shr (1)                ThreadLimit:w           MaxThreads:w            1:w             // Initial luma thread limit to 50%\r
-mul    (1)             TotalBlocks:w           MBsCntX:w               MBsCntY:w       // MBs to be processed count down from TotalBlocks\r
-\r
-//***** Init CT_R0Hdr fields that are common to all threads *************************\r
-mov (8)        CT_R0Hdr.0:ud                   r0.0<8;8,1>:ud                          // Init to root R0 header\r
-mov (1)        CT_R0Hdr.7:ud                   r0.6:ud                                         // Copy Parent Thread Cnt; JJ did the change on 06/20/2006\r
-mov (1) CT_R0Hdr.31:ub                 0:w                                                     // Reset the highest byte\r
-mov (1) CT_R0Hdr.3:ud                  0x00000000       \r
-mov (1) CT_R0Hdr.6:uw                  sr0.0:uw                                        // sr0.0: state reg contains general thread states, e.g. EUID/TID.\r
-\r
-//***** Init ChildParam fields that are common to all threads ***********************\r
-mov (8)        ChildParam<1>:ud        RootParam<8;8,1>:ud             // Copy all root parameters\r
-mov (4)                CurCol<1>:w                     0:w                                             // Reset CurCol, CurRow\r
-add    (2)             LastCol<1>:w            MBsCntX<2;2,1>:w                -1:w    // Get LastCol and LastRow\r
-\r
-mov (1) URBWriteMsgDesc:ud             MSG_LEN(2)+URBWMSGDSC:ud\r
-\r
-//===================================================================================\r
-\r
-#include "AVC_ILDB_OpenGateway.asm"            // Open root thread gateway for receiving notification \r
-\r
-#include "AVC_ILDB_Dep_Check.asm"      // Check dependency and spawn all MBs\r
-\r
-//#include "AVC_ILDB_UpdateThrdLimit.asm"      // Update thread limit in luma root thread via gateway\r
-\r
-#include "AVC_ILDB_CloseGateway.asm"   // Close root thread gateway \r
-\r
-// Chroma root EOT = child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-\r
-#undef         CHROMA_ROOT\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Mbaff_Y.asm
deleted file mode 100644 (file)
index 124154b..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-// Kernel name: AVC_ILDB_Root_Mbaff.asm\r
-//\r
-//  Root kernel serves as a scheduler for child threads.\r
-//\r
-//\r
-//     ***** Note *****\r
-//     Initial design bundle MB pair for each thread, and share AVC_ILDB_MB_Dep_Check.asm\r
-//     with non mbaff kernels.\r
-//\r
-//     Optimization will be done later, putting top and bottom MBs on separate threads.\r
-//\r
-//\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 10/19/06 5:06p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  AVC_ILDB_ROOT_MBAFF_Y\r
-// ----------------------------------------------------\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_ROOT_MBAFF_Y\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_ROOT_Y):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-\r
-#if defined(_DEBUG) \r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-// Init URB space for running on RTL.  It satisfies reading an unwritten URB entries.  \r
-// Will remove it for production release.\r
-\r
-\r
-//mov (8) m1:ud                0x11111111:ud\r
-//mov (8) m2:ud                0x22222222:ud \r
-//mov (8) m3:ud                0x33333333:ud\r
-//mov (8) m4:ud                0x44444444:ud \r
-\r
-//mov (1)      Temp1_W:w       0:w\r
-\r
-//ILDB_INIT_URB:\r
-//mul (1)      URBOffset:w                             Temp1_W:w               4:w\r
-//shl (1) URBWriteMsgDescLow:uw        URBOffset:w             4:w             // Msg descriptor: URB write dest offset (9:4)\r
-//mov (1) URBWriteMsgDescHigh:uw       0x0650:uw                               // Msg descriptor: URB write 5 MRFs (m0 - m4)\r
-//#include "writeURB.asm"\r
-\r
-//add          (1)             Temp1_W:w       Temp1_W:w       1:w                             // Increase block count\r
-//cmp.l.f0.0 (1)       null            Temp1_W:w       MBsCntY:w               // Check the block count limit\r
-//(f0.0) jmpi          ILDB_INIT_URB                                                   // Loop back\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-mov            (1)             EntrySignature:w                        0xEFF0:w\r
-\r
-#endif\r
-//----------------------------------------------------------------------------------------------------------------\r
-\r
-// Set global variable\r
-mov (32)       ChildParam:uw                   0:uw                                                            // Reset local variables\r
-//mul  (1)             TotalBlocks:w                   MBsCntX:w               MBsCntY:w                       // Total # of MB pairs\r
-//add  (1)             GatewayApertureE:w              MBsCntY:w               GatewayApertureB:w      // Aperture End = aperture Head + BlockCntY\r
-\r
-\r
-// 2 URB entries for Y:\r
-// Entry 0 - Child thread R0Hdr\r
-// Entry 1 - input parameter to child kernel (child r1)\r
-\r
-#undef                 URB_ENTRIES_PER_MB\r
-#define        URB_ENTRIES_PER_MB              2\r
-\r
-// URB_ENTRIES_PER_MB in differnt form, the final desired format is (URB_ENTRIES_PER_MB-1) << 10\r
-mov (1)        URB_EntriesPerMB_2:w            URB_ENTRIES_PER_MB-1:w\r
-shl (1)        URB_EntriesPerMB_2:w            URB_EntriesPerMB_2:w    10:w\r
-\r
-mov    (1)             ChildThreadsID:uw               1:uw                                    // ChildThreadsID for chroma root\r
-\r
-shr (1)                ThreadLimit:w           MaxThreads:w            1:w             // Initial luma thread limit to 50%\r
-mul    (1)             TotalBlocks:w           MBsCntX:w               MBsCntY:w       // MBs to be processed count down from TotalBlocks\r
-\r
-//***** Init CT_R0Hdr fields that are common to all threads *************************\r
-mov (8)                CT_R0Hdr.0:ud                   r0.0<8;8,1>:ud                          // Init to root R0 header\r
-mov (1)                CT_R0Hdr.7:ud                   r0.6:ud                                         // Copy Parent Thread Cnt; JJ did the change on 06/20/2006\r
-mov (1)        CT_R0Hdr.31:ub                  0:w                                                     // Reset the highest byte\r
-mov (1)        CT_R0Hdr.3:ud                   0x00000000       \r
-mov (1)        CT_R0Hdr.6:uw                   sr0.0:uw                                        // sr0.0: state reg contains general thread states, e.g. EUID/TID.\r
-\r
-//***** Init ChildParam fields that are common to all threads ***********************\r
-mov (8)        ChildParam<1>:ud        RootParam<8;8,1>:ud             // Copy all root parameters\r
-mov (4)                CurCol<1>:w                     0:w                                             // Reset CurCol, CurRow\r
-add    (2)             LastCol<1>:w            MBsCntX<2;2,1>:w                -1:w    // Get LastCol and LastRow\r
-\r
-mov (1)        URBWriteMsgDesc:ud              MSG_LEN(2)+URBWMSGDSC:ud\r
-\r
-//===================================================================================\r
-\r
-#include "AVC_ILDB_OpenGateway.asm"            // Open root thread gateway for receiving notification \r
-\r
-#if defined(DEV_CL)    \r
-       mov     (1)             URBOffset:uw            240:uw  // Use chroma URB offset to spawn chroma root\r
-#else\r
-       mov     (1)             URBOffset:uw            320:uw  // Use chroma URB offset to spawn chroma root\r
-#endif\r
-\r
-#include "AVC_ILDB_SpawnChromaRoot.asm"        // Spawn chroma root\r
-\r
-mov    (1)             URBOffset:uw            0:uw    // Use luma URB offset to spawn luma child \r
-mov    (1)             ChildThreadsID:uw       2:uw    // Starting ChildThreadsID for luma child threads\r
-\r
-#include "AVC_ILDB_Dep_Check.asm"      // Check dependency and spawn all MBs\r
-\r
-// Wait for UV root thread to finish\r
-ILDB_LABEL(WAIT_FOR_UV):\r
-cmp.l.f0.0 (1) null:w  ThreadLimit:w           MaxThreads:w\r
-(f0.0)         jmpi    ILDB_LABEL(WAIT_FOR_UV)\r
-\r
-#include "AVC_ILDB_CloseGateway.asm"   // Close root thread gateway \r
-\r
-END_THREAD                                                             // End of root thread\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_UV.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_UV.asm
deleted file mode 100644 (file)
index 9a779be..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: AVC_ILDB_Root_UV.asm\r
-//\r
-//  Root kernel serves as a scheduler for child threads\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 10/19/06 5:06p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  AVC_ILDB_ROOT_UV\r
-// ----------------------------------------------------\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_ROOT_UV\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_ROOT_UV):\r
-#endif\r
\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-#if defined(_DEBUG) \r
-mov            (1)             EntrySignature:w                        0xFF11:w\r
-#endif\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-#if defined(_DEBUG) \r
-\r
-// Init URB space for running on RTL.  It satisfies reading an unwritten URB entries.  \r
-// Will remove it for production release.\r
-\r
-mov (8) m1:ud          0x55555555:ud\r
-mov (8) m2:ud          0x66666666:ud \r
-mov (8) m3:ud          0x77777777:ud\r
-mov (8) m4:ud          0x88888888:ud \r
-\r
-mov (1)        Temp1_W:w       MBsCntY:w\r
-shl (1)        Temp2_W:w       MBsCntY:w               1:w\r
-\r
-ILDB_LABEL(ILDB_INIT_URB_UV):\r
-mul (1)        URBOffset:uw                    Temp1_W:uw              4:w             // Each thread uses 4 URB entries (1 r0 + 1 inline + 2 data)\r
-mov (1) URBWriteMsgDesc:ud             MSG_LEN(4)+URBWMSGDSC:ud                        // Msg descriptor: URB write msg length = 5\r
-#include "writeURB.asm"\r
-\r
-add            (1)             Temp1_W:w       Temp1_W:w       1:w                             // Increase block count\r
-cmp.l.f0.0 (1)         null            Temp1_W:w       Temp2_W:w               // Check the block count limit\r
-(f0.0) jmpi            ILDB_LABEL(ILDB_INIT_URB_UV)                    // Loop back\r
-\r
-mov            (1)             EntrySignature:w                        0xFFF0:w\r
-\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// Set global variable\r
-mov (32)       ChildParam:uw                   0:uw                                                            // Reset local variables, 2 GRFs\r
-//mul  (1)             TotalBlocks:w                   MBsCntX:w               MBsCntY:w                       // Total # of blocks\r
-//add  (1)             GatewayApertureE:w              MBsCntY:w               GatewayApertureB:w      // Aperture End = aperture Head + BlockCntY\r
-\r
-// 4 URB entries for Y:\r
-// Entry 0 - Child thread R0Hdr\r
-// Entry 1 - input parameter to child kernel (child r1)\r
-// Entry 2 - Prev MB data UV 2x8\r
-// Entry 3 - Unused\r
-\r
-#define        URB_ENTRIES_PER_MB      4\r
-\r
-// URB_ENTRIES_PER_MB in differnt form, the final desired format is (URB_ENTRIES_PER_MB-1) << 10\r
-mov (1)        URB_EntriesPerMB_2:w            URB_ENTRIES_PER_MB-1:w\r
-shl (1)        URB_EntriesPerMB_2:w            URB_EntriesPerMB_2:w    10:w\r
-\r
-#define        CHROMA_ROOT                                                                                                     // Compiling flag for chroma only\r
-\r
-// URB base for UV kernels\r
-#if defined(DEV_CL)    \r
-       mov (1)         URBOffsetUVBase:w               240:w\r
-#else\r
-       mov (1)         URBOffsetUVBase:w               320:w\r
-#endif\r
-\r
-\r
-mov    (1)             ChildThreadsID:uw               3:uw\r
-\r
-shr (1)                ThreadLimit:w           MaxThreads:w            1:w             // Initial luma thread limit to 50%\r
-mul    (1)             TotalBlocks:w           MBsCntX:w               MBsCntY:w       // MBs to be processed count down from TotalBlocks\r
-\r
-//***** Init CT_R0Hdr fields that are common to all threads *************************\r
-mov (8)                CT_R0Hdr.0:ud           r0.0<8;8,1>:ud                          // Init to root R0 header\r
-mov (1)        CT_R0Hdr.7:ud           r0.6:ud                                         // Copy Parent Thread Cnt; JJ did the change on 06/20/2006\r
-mov (1)        CT_R0Hdr.31:ub          0:w                                                     // Reset the highest byte\r
-mov (1)        CT_R0Hdr.3:ud           0x00000000       \r
-mov (1)        CT_R0Hdr.6:uw           sr0.0:uw                                        // sr0.0: state reg contains general thread states, e.g. EUID/TID.\r
-\r
-//***** Init ChildParam fields that are common to all threads ***********************\r
-mov (8)        ChildParam<1>:ud        RootParam<8;8,1>:ud             // Copy all root parameters\r
-mov (4)                CurCol<1>:w                     0:w                                             // Reset CurCol, CurRow, \r
-add    (2)             LastCol<1>:w            MBsCntX<2;2,1>:w                -1:w    // Get LastCol and LastRow\r
-\r
-mov (1)        URBWriteMsgDesc:ud              MSG_LEN(2)+URBWMSGDSC:ud\r
-\r
-//===================================================================================\r
-\r
-#include "AVC_ILDB_OpenGateway.asm"            // Open gateway for receiving notification \r
-\r
-#include "AVC_ILDB_Dep_Check.asm"              // Check dependency and spawn all luma child threads in parallel with chroma root\r
-\r
-//#include "AVC_ILDB_LumaThrdLimit.asm"        // Update thread limit in luma root thread via gateway\r
-\r
-#include "AVC_ILDB_CloseGateway.asm"   // Close root thread gateway \r
-\r
-// Chroma root EOT = child send EOT : Request type = 1\r
-       END_CHILD_THREAD\r
-       \r
-#undef         CHROMA_ROOT\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Y.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Root_Y.asm
deleted file mode 100644 (file)
index 9b9b1a8..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: AVC_ILDB_Root_Y.asm\r
-//\r
-//  Root kernel serves as a scheduler for child threads\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 10/19/06 5:06p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  AVC_ILDB_ROOT_Y\r
-// ----------------------------------------------------\r
-#define AVC_ILDB\r
-\r
-.kernel AVC_ILDB_ROOT_Y\r
-#if defined(COMBINED_KERNEL)\r
-ILDB_LABEL(AVC_ILDB_ROOT_Y):\r
-#endif\r
-\r
-#include "SetupVPKernel.asm"\r
-#include "AVC_ILDB.inc"\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-#if defined(_DEBUG) \r
-\r
-// Init URB space for running on RTL.  It satisfies reading an unwritten URB entries.  \r
-// Will remove it for production release.\r
-\r
-mov (8) m1:ud          0x11111111:ud\r
-mov (8) m2:ud          0x22222222:ud \r
-mov (8) m3:ud          0x33333333:ud\r
-mov (8) m4:ud          0x44444444:ud \r
-\r
-mov (1)        Temp1_W:w       0:w\r
-\r
-ILDB_LABEL(ILDB_INIT_URB_Y):\r
-//mul (1)      Temp2_W:w                               Temp1_W:w               4:w             // URBOffset\r
-//shl (1) URBWriteMsgDescLow:uw        Temp2_W:w               4:w             // Msg descriptor: URB write dest offset (9:4)\r
-//mov (1) URBWriteMsgDescHigh:uw       0x0650:uw                               // Msg descriptor: URB write 5 MRFs (m0 - m4)\r
-\r
-//mul (1)      URBOffset:uw                    Temp1_W:uw              4:w             // Each thread uses 4 URB entries (1 r0 + 1 inline + 2 data)\r
-mul (1)        URBOffset:uw                    Temp1_W:uw              2:w             // Each thread uses 2 URB entries (1 r0 + 1 inline)\r
-mov (1) URBWriteMsgDesc:ud             MSG_LEN(2)+URBWMSGDSC:ud                        // Msg descriptor: URB write msg length = 3\r
-#include "writeURB.asm"\r
-\r
-add            (1)             Temp1_W:w       Temp1_W:w       1:w                             // Increase block count\r
-cmp.l.f0.0 (1)         null            Temp1_W:w       MBsCntY:w               // Check the block count limit\r
-(f0.0) jmpi            ILDB_LABEL(ILDB_INIT_URB_Y)                                                     // Loop back\r
-\r
-mov            (1)             EntrySignature:w                        0xFFF0:w\r
-\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-// Set global variable\r
-mov (32)       ChildParam:uw                   0:uw                                                            // Reset local variables, 2 GRFs\r
-//mul  (1)             TotalBlocks:w                   MBsCntX:w               MBsCntY:w                       // Total # of blocks\r
-//add  (1)             GatewayApertureE:w              MBsCntY:w               GatewayApertureB:w      // Aperture End = aperture Head + BlockCntY\r
-\r
-// 4 URB entries for Y:\r
-// Entry 0 - Child thread R0Hdr\r
-// Entry 1 - input parameter to child kernel (child r1)\r
-// Entry 2 - Prev MB data Y 4x16, col 1 and col 0\r
-// Entry 3 - Prev MB data Y 4x16, col 3 and col 2\r
-\r
-#undef                 URB_ENTRIES_PER_MB\r
-#define        URB_ENTRIES_PER_MB              4\r
-\r
-// URB_ENTRIES_PER_MB in differnt form, the final desired format is (URB_ENTRIES_PER_MB-1) << 10\r
-mov (1)        URB_EntriesPerMB_2:w            URB_ENTRIES_PER_MB-1:w\r
-shl (1)        URB_EntriesPerMB_2:w            URB_EntriesPerMB_2:w    10:w\r
-\r
-shr (1)                ThreadLimit:w           MaxThreads:w    1:w                     // Initial luma thread limit to 50%\r
-mul    (1)             TotalBlocks:w           MBsCntX:w               MBsCntY:w       // MBs to be processed count down from TotalBlocks\r
-\r
-//***** Init CT_R0Hdr fields that are common to all threads *************************\r
-mov (8)                CT_R0Hdr.0:ud           r0.0<8;8,1>:ud                          // Init to root R0 header\r
-mov (1)        CT_R0Hdr.7:ud           r0.6:ud                                         // Copy Parent Thread Cnt; JJ did the change on 06/20/2006\r
-mov (1)        CT_R0Hdr.31:ub          0:w                                                     // Reset the highest byte\r
-mov (1)        CT_R0Hdr.3:ud           0x00000000       \r
-mov (1)        CT_R0Hdr.6:uw           sr0.0:uw                                        // sr0.0: state reg contains general thread states, e.g. EUID/TID.\r
-\r
-//***** Init ChildParam fields that are common to all threads ***********************\r
-mov (8)        ChildParam<1>:ud        RootParam<8;8,1>:ud             // Copy all root parameters\r
-mov (4)                CurCol<1>:w                     0:w                                             // Reset CurCol, CurRow, \r
-add    (2)             LastCol<1>:w            MBsCntX<2;2,1>:w                -1:w    // Get LastCol and LastRow\r
-       \r
-mov (1)        URBWriteMsgDesc:ud              MSG_LEN(2)+URBWMSGDSC:ud\r
-\r
-//===================================================================================\r
-\r
-#include "AVC_ILDB_OpenGateway.asm"            // Open gateway for receiving notification \r
-\r
-#if defined(DEV_CL)    \r
-       mov     (1)             URBOffset:uw            240:uw  // Use chroma URB offset to spawn chroma root\r
-#else\r
-       mov     (1)             URBOffset:uw            320:uw  // Use chroma URB offset to spawn chroma root\r
-#endif\r
-\r
-#include "AVC_ILDB_SpawnChromaRoot.asm"        // Spawn chroma root\r
-\r
-mov    (1)             URBOffset:uw            0:uw    // Use luma URB offset to spawn luma child \r
-mov    (1)             ChildThreadsID:uw       2:uw    // Starting ChildThreadsID for luma child threads\r
-\r
-#include "AVC_ILDB_Dep_Check.asm"              // Check dependency and spawn all luma child threads in parallel with chroma root\r
-\r
-\r
-// Wait for UV root thread to finish\r
-ILDB_LABEL(WAIT_FOR_UV):\r
-cmp.l.f0.0 (1) null:w  ThreadLimit:w           MaxThreads:w\r
-(f0.0)         jmpi    ILDB_LABEL(WAIT_FOR_UV)\r
-\r
-\r
-#include "AVC_ILDB_CloseGateway.asm"   // Close root thread gateway \r
-\r
-END_THREAD                                                             // End of root thread\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Spawn.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_Spawn.asm
deleted file mode 100644 (file)
index 5b5c91e..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//=============== Spawn a child thread for a vertical child ===============\r
-\r
-#if defined(_DEBUG) \r
-       mov     (1)             EntrySignature:w        0x6666:w\r
-#endif\r
-       \r
-       mul     (1)             URBOffset:uw            CurRow:uw               2:w // 5:w                      // Each row uses 5 URB entries (R0, child R0, 3 GRFs of data from left MB)\r
-\r
-       mov (8)         CT_R0Hdr.0:ud           r0.0<8;8,1>:ud                          // Init to root R0 header\r
-       \r
-       // R0.2: Interface Discriptor Ptr.  Add offset 16 for next Interface Discriptor for child kernel\r
-       add (1)         CT_R0Hdr.2:ud           r0.2:ud                 IDesc_Child_Offset:w\r
-       \r
-       #include "AVC_ILDB_SpawnChild.asm"\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChild.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChild.asm
deleted file mode 100644 (file)
index 0f6950c..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//=============== Spawn a child thread for Luma or Chroma ===============\r
-\r
-       //----- Create child thread R0 header -----\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:w                        0xAAAA:w\r
-#endif\r
-\r
-       //***** Set CT_R0Hdr fields that change for every thread \r
-       \r
-       // Restore CT_R0Hdr.4:ud to r0.4:ud \r
-       mov (1) CT_R0Hdr.4:ud           r0.4:ud\r
-\r
-       // R0.2: Interface Discriptor Ptr.  Add a child offset for child kernel\r
-//     add (1) CT_R0Hdr.2:ud           r0.2:ud                 CHILD_OFFSET:w\r
-\r
-       // Assign a new Thread Count for this child\r
-       mov (1) CT_R0Hdr.6:ud           ChildThreadsID:uw\r
-\r
-       //----- Prepare URB for launching a child thread -----\r
-       mov (16) m2.0:w         ChildParam<16;16,1>:w\r
-\r
-       shr (1)  MRF0.0:uw      URBOffset:uw    1:w\r
-\r
-       add     (1)     ChildThreadsID:uw               ChildThreadsID:uw       2:uw    // Luma child=even, chroma child=odd\r
-               \r
-       //--------------------------------------------------\r
-//     #include "writeURB.asm"\r
-       send  null:uw   MRF0     null:ud        URBWRITE        URBWriteMsgDesc:ud              // URB write    \r
-\r
-       //--------------------------------------------------\r
-       // Set URB handle for child thread launching:\r
-       // URB handle Length            (bit 15:10) - 0000 0000 0000 0000  yyyy yy00 0000 0000\r
-       // URB handle offset            (bit 9:0)       - 0000 0000 0000 0000  0000 00xx xxxx xxxx\r
-\r
-       or  (1) CT_R0Hdr.4:ud           URB_EntriesPerMB_2:w    URBOffset:uw\r
-       \r
-       // 2 URB entries:\r
-       // Entry 0 - CT_R0Hdr\r
-       // Entry 1 - input parameter to child kernel\r
-\r
-       //----- Spawn a child now -----\r
-       send (8) null:ud        CT_R0Hdr          null:ud    TS TSMSGDSC\r
-//     send (8) null:ud        CT_Spawn_Reg    null:ud    0x07100001\r
-\r
-\r
-       // Restore CT_R0Hdr.4:ud to r0.4:ud for next use\r
-//     mov (1) CT_R0Hdr.4:ud           r0.4:ud\r
diff --git a/i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChromaRoot.asm b/i965_drv_video/shaders/h264/ildb/AVC_ILDB_SpawnChromaRoot.asm
deleted file mode 100644 (file)
index cd5e57e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//=============== Spawn a chroma root thread ===============\r
-\r
-       //----- Create chroma root thread R0 header -----\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:w                        0xAABA:w\r
-#endif\r
-\r
-\r
-\r
-       // Restore CT_R0Hdr.4:ud to r0.4:ud \r
-//     mov (1) CT_R0Hdr.4:ud           r0.4:ud\r
-\r
-       // R0.2: Interface Discriptor Ptr.  Add child offset for child kernel\r
-       add (1) CT_R0Hdr.2:ud           r0.2:ud                 CHROMA_ROOT_OFFSET:w\r
-\r
-       // Assign a new Thread Count for this child\r
-       mov (1) CT_R0Hdr.6:ud           1:w             // ThreadID=1 for chroma root\r
-\r
-       //----- Copy luma root r1 for launching chroma root thread -----\r
-       mov (16) m2.0:w         RootParam<16;16,1>:w\r
-\r
-       #include "writeURB.asm"\r
-\r
-       //--------------------------------------------------\r
-       // Set URB handle for child thread launching:\r
-       // URB handle Length            (bit 15:10) - 0000 0000 0000 0000  yyyy yy00 0000 0000\r
-       // URB handle offset            (bit 9:0)       - 0000 0000 0000 0000  0000 00xx xxxx xxxx\r
-\r
-       or  (1) CT_R0Hdr.4:ud           URB_EntriesPerMB_2:w    URBOffset:uw\r
-       \r
-       // 2 URB entries:\r
-       // Entry 0 - CT_R0Hdr\r
-       // Entry 1 - input parameter to child kernel\r
-\r
-       //----- Spawn a child now -----\r
-       send (8) null:ud        CT_R0Hdr        null:ud    TS   TSMSGDSC\r
-\r
-       // Restore CT_R0Hdr.4:ud to r0.4:ud for next use \r
-       mov (1) CT_R0Hdr.4:ud           r0.4:ud\r
diff --git a/i965_drv_video/shaders/h264/ildb/Child_Undefs.inc b/i965_drv_video/shaders/h264/ildb/Child_Undefs.inc
deleted file mode 100644 (file)
index fa3ade1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Modual name: Child_Undefs.inc\r
-//\r
-// Undefine global symbols for new process in child thread\r
-//\r
-\r
-#undef         P1      \r
-#undef         P2      \r
-#undef         P3      \r
-#undef         P4\r
-#undef         P5\r
-#undef         P6\r
-#undef         P7\r
-#undef         P8\r
-#undef         EDGECNTLMAP\r
-#undef         CLIP_NEGATIVE\r
-#undef         CLIP_DONE\r
diff --git a/i965_drv_video/shaders/h264/ildb/ILDB_header.inc b/i965_drv_video/shaders/h264/ildb/ILDB_header.inc
deleted file mode 100644 (file)
index 100c674..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__ILDB_HEADER__)  // Make sure this file is only included once\r
-#define __ILDB_HEADER__\r
-\r
-// Module name: ILDB_header.inc\r
-//\r
-\r
-.default_execution_size        (16)\r
-.default_register_type :ub\r
-\r
-#undef NULLREG\r
-#undef RETURN_REG\r
-#undef EOTMSGDSC\r
-#undef MSGSRC\r
-#undef END_THREAD\r
-#undef TSMSGDSC\r
-\r
-//  ----------- Common constant definitions ------------\r
-//\r
-//  Bit position constants\r
-//\r
-#define BIT0   0x01\r
-#define BIT1   0x02\r
-#define BIT2   0x04\r
-#define BIT3   0x08\r
-#define BIT4   0x10\r
-#define BIT5   0x20\r
-#define BIT6   0x40\r
-#define BIT7   0x80\r
-#define BIT8   0x0100\r
-#define BIT9   0x0200\r
-#define BIT10  0x0400\r
-#define BIT11  0x0800\r
-#define BIT12  0x1000\r
-#define BIT13  0x2000\r
-#define BIT14  0x4000\r
-#define BIT15  0x8000\r
-#define BIT16  0x00010000\r
-#define BIT17  0x00020000\r
-#define BIT18  0x00040000\r
-#define BIT19  0x00080000\r
-#define BIT20  0x00100000\r
-#define BIT21  0x00200000\r
-#define BIT22  0x00400000\r
-#define BIT23  0x00800000\r
-#define BIT24  0x01000000\r
-#define BIT25  0x02000000\r
-#define BIT26  0x04000000\r
-#define BIT27  0x08000000\r
-#define BIT28  0x10000000\r
-#define BIT29  0x20000000\r
-#define BIT30  0x40000000\r
-#define BIT31  0x80000000\r
-\r
-// Common constants\r
-//\r
-#define        INST_SIZE       16      // Instruction size in byte\r
-\r
-#define        GRFWIB  32              // GRF register width in byte\r
-#define        GRFWIW  16              // GRF register width in word\r
-#define        GRFWID  8               // GRF register width in dword\r
-\r
-#define TOP_FIELD      0\r
-#define BOTTOM_FIELD   1\r
-\r
-#define PREVIOUS_FRAME 0       // Previous frame\r
-#define CURRENT_FRAME  1       // Current frame\r
-#define NEXT_FRAME     2       // Next frame\r
-\r
-#define Y_ROW_WIDTH            16      // in bytes\r
-#define UV_ROW_WIDTH   8\r
-\r
-//  Useful macros\r
-//\r
-#define REGION(Width,HStride) <Width*HStride;Width,HStride>    // Region definition when ExecSize = Width\r
-\r
-#define NULLREG                null<1>:d\r
-#define NULLREGW       null<1>:w\r
-\r
-#define RETURN_REG     r62             // Return pointer for all sub-routine calls (type DWORD)\r
-\r
-#define CALL(subFunc, skipInst)        add (1) RETURN_REG<1>:ud   ip:ud        (1+skipInst)*INST_SIZE \n\\r
-                               jmpi (1) subFunc\r
-\r
-#define        RETURN          mov (1) ip:ud   RETURN_REG<0;1,0>:ud            // Return to calling module\r
-\r
-#define PRED_CALL(flag, subFunc, skipInst)     add (1) RETURN_REG<1>:ud   ip:ud        (1+skipInst)*INST_SIZE \n\\r
-                       (flag)  jmpi (1) subFunc\r
-\r
-\r
-//  Definitions for surface states, GRF regions, and common data fields\r
-//\r
-//  Note: Each kernel needs to define a specific symbol before including this\r
-//  header file to ensure correct definitions.\r
-//\r
-\r
-\r
-\r
-#if defined(AVC_ILDB)  \r
-\r
-.reg_count_total    64\r
-.reg_count_payload  4\r
-\r
-    // Binding Table Index\r
-       #define BI_CNTRL_DATA           0                       // Control data map  \r
-    #define    BI_SRC_Y                        1\r
-    #define    BI_SRC_UV                       2\r
-    #define    BI_DEST_Y                       3\r
-    #define    BI_DEST_UV                      4\r
-       \r
-\r
-       //========== Left MB, 4x16 in r2 and r3 ==========\r
-       #define         PREV_MB_Y_BASE  64              //2*GRFWIB                                                                                              // Byte offset to r2\r
-       .declare    PREV_MB_YD  Base=r2         ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-       .declare    PREV_MB_YW  Base=r2         ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-    .declare    PREV_MB_YB  Base=r2    ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-    \r
-    #define            PREV_MB_U_BASE  64              //2*GRFWIB              // seperate thread from Y                               // Byte offset to r2\r
-       .declare        PREV_MB_UD      Base=r2         ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-    .declare    PREV_MB_UW  Base=r2    ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-    .declare    PREV_MB_UB  Base=r2    ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-    \r
-       #define         PREV_MB_V_BASE  65              //2*GRFWIB+1            // NV12                                                                 // Byte offset to r2.1\r
-    .declare    PREV_MB_VB     Base=r2.1       ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-\r
-       //========== Top MB, 16x4 in r4 and r5 ==========       \r
-       #define         TOP_MB_Y_BASE   128             //4*GRFWIB                                                                                              // Byte offset to r4\r
-       .declare    TOP_MB_YD   Base=r4         ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-       .declare    TOP_MB_YW   Base=r4         ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-    .declare    TOP_MB_YB      Base=r4         ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-    \r
-    #define            TOP_MB_U_BASE   128             //4*GRFWIB              // seperate thread from Y                               // Byte offset to r4\r
-       .declare        TOP_MB_UD       Base=r4         ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-    .declare    TOP_MB_UW      Base=r4         ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-    .declare    TOP_MB_UB      Base=r4         ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-    \r
-       #define         TOP_MB_V_BASE   129             //4*GRFWIB+1            // NV12                                                                 // Byte offset to r4.1\r
-    .declare    TOP_MB_VB  Base=r4.1   ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-\r
-    \r
-    //========== Current MB, 16x16 in r6-r13 ==========\r
-       #define         SRC_MB_Y_BASE   192     //6*GRFWIB                                                                                              // Byte offset to r6\r
-    .declare    SRC_YD         Base=r6         ElementSize=4 SrcRegion=REGION(8,1) Type=ud             // For read and write, 8 GRFs\r
-    .declare    SRC_YW         Base=r6         ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-    .declare    SRC_YB         Base=r6         ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 8 GRFs       \r
-\r
-       #define         SRC_MB_U_BASE   192             //6*GRFWIB              // seperate thread from Y                               // Byte offset to r6\r
-    .declare    SRC_UD         Base=r6         ElementSize=4 SrcRegion=REGION(8,1) Type=ud             // For read and write, 2 GRFs\r
-    .declare    SRC_UW         Base=r6         ElementSize=2 SrcRegion=REGION(16,1) Type=uw    // For read and write, 4 GRFs\r
-    .declare    SRC_UB         Base=r6         ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 2 GRFs\r
-          \r
-       #define         SRC_MB_V_BASE   193             // 6*GRFWIB+1           // NV12                                                                 // Byte offset to r6.1\r
-    .declare    SRC_VD         Base=r6.1       ElementSize=4 SrcRegion=REGION(8,1) Type=ud             // For read and write, 2 GRFs\r
-    .declare    SRC_VW         Base=r6.1       ElementSize=2 SrcRegion=REGION(16,1) Type=uw    // For read and write, 4 GRFs\r
-    .declare    SRC_VB         Base=r6.1       ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 2 GRFs\r
-\r
-#else                          // No kernel specified, define nothing.\r
-\r
-.reg_count_total    64\r
-.reg_count_payload  2\r
-\r
-       #define SRCAOFF r1.0:ud         // Offset into alpha data\r
-       #define SRCOFF  r1.1:ud         // Offset into source YUV data\r
-       #define ORIX    r1.4            // :w, H. origin of the destination block in pel\r
-       #define ORIY    r1.5            // :w, V. origin of the destination block in pel\r
-\r
-#endif\r
-\r
-//  ----------- Message Payload Header fields------------\r
-//\r
-#define IDP            r0.2:ud         // Interface Descriptor Pointer\r
-#define        BTP             r0.4:ud         // Binding Table Pointer\r
-\r
-//  ----------- Common Message Descriptor ------------\r
-//\r
-#ifdef DEV_ILK\r
-#define GW_DCN                         // Should be enabled only for ILK-B0 and beyond\r
-#define MSG_GW         0x03            // Message Gateway\r
-#define MSG_GW_EOT     0x23            // Message Gateway plus EOT bit set (For ILK only)\r
-#define DAPREAD                0x04            // Data Port Read Extended Message Descriptor,\r
-#define DAPWRITE       0x05            // Data Port Write Extended Message Descriptor,\r
-#define URBWRITE       0x06            // URB\r
-#define TS                     0x07            // Thread Spawner Extended Message Descriptor\r
-#define TS_EOT         0x27            // End of Thread Extended Message Descriptor\r
-\r
-#define EOTMSGDSC      0x02000000      // End of Thread Message Descriptor /w URB handle dereferenced (used by root kernel)\r
-#define CHILD_EOTMSGDSC        0x02000012      // End of Child Thread Message Descriptor w/o URB handle dereferenced\r
-\r
-// Data Port Message Descriptor\r
-#define DWBRMSGDSC_RC   0x02086000     // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_TF 0x02086600    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_BF 0x02086700    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_SC   0x0208A000     // DWORD Block Read Message Descriptor, reading from sampler cache = A.\r
-#define DWBRMSGDSC_SC_TF 0x0208E600    // DWORD Block Read Message Descriptor, reading top field from field mode sampler cache.\r
-#define DWBRMSGDSC_SC_BF 0x0208E700    // DWORD Block Read Message Descriptor, reading bottom field from field mode sampler cache.\r
-\r
-#define ILDBRMSGDSC             0x02085800     // AVC ILDB Control Data Read Msg Desc on Bearlake-C\r
-\r
-#define DWBWMSGDSC              0x02082000     // DWORD Block Write Message Descriptor\r
-#define DWBWMSGDSC_WC   0x0218A000     // DWORD Block Write Message Descriptor + write commit\r
-\r
-// URB Message Descriptor\r
-#define        URBWMSGDSC      0x02080000              // URB Write Message Descriptor\r
-\r
-// Thread Spawner Message Descriptor\r
-#define        TSMSGDSC        0x02000001\r
-\r
-// Message Gateway Message Descriptors\r
-#define OGWMSGDSC      0x02000000      // OpenGateway Message Descriptor\r
-#define CGWMSGDSC      0x02000001      // CloseGateway Message Descriptor\r
-#define FWDMSGDSC      0x02000002      // ForwardMsg Message Descriptor\r
-#define        NOTIFYMSG       0x00008000      // Send notification with ForwardMsg message\r
-\r
-#define        RESP_LEN(len)   0x100000*len\r
-#define MSG_LEN(len)   0x2000000*len\r
-\r
-#else  // Pre DEV_ILK\r
-\r
-#define MSG_GW\r
-#define MSG_GW_EOT\r
-#define DAPREAD\r
-#define DAPWRITE\r
-#define URBWRITE\r
-#define TS\r
-#define TS_EOT\r
-\r
-#define EOTMSGDSC      0x87100000              // End of Thread Message Descriptor /w URB handle dereferenced (used by root kernel) \r
-#define CHILD_EOTMSGDSC        0x87100012      // End of Child Thread Message Descriptor w/o URB handle dereferenced\r
-\r
-// Data Port Message Descriptor\r
-#define DWBRMSGDSC_RC   0x04106000     // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_TF 0x04106600    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_BF 0x04106700    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_SC   0x0410A000     // DWORD Block Read Message Descriptor, reading from sampler cache = A.\r
-#define DWBRMSGDSC_SC_TF 0x0410A600    // DWORD Block Read Message Descriptor, reading top field from field mode sampler cache.\r
-#define DWBRMSGDSC_SC_BF 0x0410A700    // DWORD Block Read Message Descriptor, reading bottom field from field mode sampler cache.\r
-\r
-#define ILDBRMSGDSC             0x04105800     // AVC ILDB Control Data Read Msg Desc on Bearlake-C\r
-\r
-#define DWBWMSGDSC              0x05102000     // DWORD Block Write Message Descriptor\r
-#define DWBWMSGDSC_WC   0x0511A000     // DWORD Block Write Message Descriptor + write commit\r
-\r
-// URB Message Descriptor\r
-#define        URBWMSGDSC      0x06100000              // URB Write Message Descriptor\r
-\r
-// Thread Spawner Message Descriptor\r
-#define        TSMSGDSC        0x07100001\r
-\r
-// Message Gateway Message Descriptors\r
-#define OGWMSGDSC      0x03100000      // OpenGateway Message Descriptor\r
-#define CGWMSGDSC      0x03100001      // CloseGateway Message Descriptor\r
-#define FWDMSGDSC      0x03100002      // ForwardMsg Message Descriptor\r
-#define        NOTIFYMSG       0x00008000      // Send notification with ForwardMsg message\r
-\r
-#define        RESP_LEN(len)   0x10000*len\r
-#define MSG_LEN(len)   0x100000*len\r
-\r
-//     bits 15 - 0 = 01 011 000 00000000 = 0101 1000 0000 0000 = 5800\r
-// Render cache, AVC loop rd,                                                  \r
-#endif // DEV_ILK\r
-                               \r
-//     Enable frame/field selection in message descriptor\r
-#define ENMSGDSCFM     0x400           // Enable MSGDSC to select frame surface\r
-#define ENMSGDSCTF     0x600           // Enable MSGDSC to select top field surface\r
-#define ENMSGDSCBF     0x700           // Enable MSGDSC to select bottom field surface\r
-\r
-#define END_THREAD      send (8) NULLREG MSGHDR r0:ud TS_EOT   EOTMSGDSC\r
-#define END_CHILD_THREAD       send (8) NULLREG MSGHDR r0:ud TS_EOT    CHILD_EOTMSGDSC\r
-\r
-//  ----------- Message related register ------------\r
-//\r
-#define MSGHDR         m1              // Message Payload Header\r
-#define MSGHDRY                m1              // Message Payload Header register for Y data\r
-#define MSGHDRU                m2              // Message Payload Header register for U data\r
-#define MSGHDRV                m3              // Message Payload Header register for V data\r
-\r
-#define MSGHDRC                m1              // Message Payload Header register for CUR MB\r
-#define MSGHDRL                m2              // Message Payload Header register for LEFT MB\r
-#define MSGHDRT                m3              // Message Payload Header register for TOP MB\r
-\r
-#define MSGHDRYA       m4              // Second Message Payload Header register for Y data\r
-#define MSGSRC         r63             // Message source register\r
-#define MSGDSC         a0.0:ud         // Message Descriptor register (type DWORD)\r
-\r
-#define MH_ORI         MSGSRC.0        // DWORD block R/W message header block offset\r
-#define MH_ORIX                MSGSRC.0        // DWORD block R/W message header X offset\r
-#define MH_ORIY                MSGSRC.1        // DWORD block R/W message header Y offset\r
-#define MH_SIZE                MSGSRC.2        // DWORD block R/W message header block width & height\r
-\r
-\r
-//  M2 - M9 for message data payload\r
-.declare    MSGPAYLOADB        Base=m2 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    MSGPAYLOADW        Base=m2 ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-.declare    MSGPAYLOADD        Base=m2 ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-.declare    MSGPAYLOADF        Base=m2 ElementSize=4 SrcRegion=REGION(8,1) Type=f\r
-\r
-// End of ILDB_header.inc\r
-\r
-#endif // !defined(__ILDB_HEADER__)\r
diff --git a/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data.asm b/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data.asm
deleted file mode 100644 (file)
index 695ae4e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_ILDB_Cntrl_Data.asm\r
-//\r
-// This module loads AVC ILDB control data for one MB.  \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     CNTRL_DATA_D:   CNTRL_DATA_D Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                       // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_CNTRL_DATA:  Binding table index of control data surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-       // We need to get control data offset for the bottom MB in mbaff mode.\r
-       // That is, get f0.1=1 if MbaffFlag==1 && BotFieldFlag==1\r
-       and (1) CTemp1_W:uw             BitFields:uw    MbaffFlag+BotFieldFlag:uw       // Mute all other bits\r
-\r
-       and.nz.f0.0     (1)     null:w          BitFields:w             CntlDataExpFlag:w                       // Get CntlDataExpFlag\r
-\r
-       cmp.e.f0.1 (1) NULLREGW         CTemp1_W:uw     MbaffFlag+BotFieldFlag:uw       // Check mbaff and bot flags\r
-\r
-       (f0.0)  jmpi    ILDB_LABEL(READ_BLC_CNTL_DATA) \r
-\r
-       // On Crestline, MB control data in memory occupy 64 DWs (expanded).  \r
-//    mov (1)  MSGSRC.0<1>:ud  0:w                                             { NoDDClr }                             // Block origin X\r
-//    mov (1)  MSGSRC.1<1>:ud  CntrlDataOffsetY:ud             { NoDDClr, NoDDChk }    // Block origin Y\r
-//    mov (1)  MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }                             // Block width and height (16x16=256 bytes)\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:uw                      { NoDDClr }                             // Block origin X,Y\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud                           { NoDDChk }                             // Block width and height (16x16=256 bytes)\r
-\r
-       (f0.1) add (1)  MSGSRC.1:ud             MSGSRC.1:ud             16:w    // +16 to for bottom MB in a pair\r
-\r
-    send (8) CNTRL_DATA_D(0)<1>        MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD DWBRMSGDSC_SC+0x00080000+BI_CNTRL_DATA  // Receive 8 GRFs\r
-       jmpi    ILDB_LABEL(READ_CNTL_DATA_DONE)\r
-       \r
-       \r
-ILDB_LABEL(READ_BLC_CNTL_DATA):\r
-       // On Bearlake-C, MB control data in memory occupy 16 DWs. Data port returns 8 GRFs with expanded control data.\r
-\r
-       // Global offset\r
-       mov (1) MSGSRC.2:ud             CntrlDataOffsetY:ud     // CntrlDataOffsetY is the global offset\r
-\r
-       (f0.1) add (1) MSGSRC.2:ud              MSGSRC.2:ud             64:w    // +64 to the next MB control data (bot MB)\r
-\r
-    send (8) CNTRL_DATA_D(0)<1>        MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(8)+ILDBRMSGDSC+BI_CNTRL_DATA   // Receive 8 GRFs\r
-\r
-ILDB_LABEL(READ_CNTL_DATA_DONE):\r
-\r
-// End of load_ILDB_Cntrl_Data.asm\r
-\r
-\r
-\r
-\r
-// AVC ILDB control data message header format\r
-\r
-//DWord        Bit     Description\r
-//M0.7 31:0    Debug \r
-//M0.6 31:0    Debug\r
-//M0.5 31:8    Ignored\r
-//             7:0             Dispatch ID. // This ID is assigned by the fixed function unit and is a unique identifier for the thread.  It is used to free up resources used by the thread upon thread completion.\r
-//M0.4 31:0    Ignored\r
-//M0.3 31:0    Ignored\r
-//M0.2 31:0    Global Offset. Specifies the global byte offset into the buffer.\r
-                               //      This offset must be OWord aligned (bits 3:0 MBZ) Format = U32 Range = [0,FFFFFFF0h]\r
-//M0.1 31:0    Ignored\r
-//M0.0 31:0    Ignored\r
-\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_16DW.asm b/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_16DW.asm
deleted file mode 100644 (file)
index 4c91a29..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_ILDB_Cntrl_Data_16DW.asm\r
-//\r
-// This module loads AVC ILDB 64DW control data for one MB CTG. \r
-// Dataport expands from 16DW to 64DW.\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     CNTRL_DATA_D:   CNTRL_DATA_D Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                       // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_CNTRL_DATA:  Binding table index of control data surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-// On CTG, MB control data in memory occupy 16 DWs. Data port returns 8 GRFs with expanded control data.\r
-\r
-#if defined(_MBAFF) \r
-       // We need to get control data offset for the bottom MB in mbaff mode.\r
-       // That is, get f0.1=1 if MbaffFlag==1 && BotFieldFlag==1\r
-//     and (1) CTemp1_W:uw             BitFields:uw    MbaffFlag+BotFieldFlag:uw       // Mute all other bits\r
-//     cmp.e.f0.1 (1) NULLREGW         CTemp1_W:uw     MbaffFlag+BotFieldFlag:uw       // Check mbaff and bot flags\r
-               \r
-       and.ne.f0.1 (1) NULLREGW        BitFields:uw    BotFieldFlag:uw\r
-\r
-       // Global offset\r
-       mov (1) MSGSRC.2:ud             CntrlDataOffsetY:ud\r
-               \r
-       (f0.1) add (1) MSGSRC.2:ud              MSGSRC.2:ud             64:w    // +64 to the next MB control data (bot MB)\r
-#endif\r
-\r
-    send (8) CNTRL_DATA_D(0)<1>        MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(8)+ILDBRMSGDSC+BI_CNTRL_DATA   // Receive 8 GRFs\r
-\r
-// End of load_ILDB_Cntrl_Data_16DW.asm\r
-\r
-\r
-\r
-// AVC ILDB control data message header format\r
-\r
-//DWord        Bit     Description\r
-//M0.7 31:0    Debug \r
-//M0.6 31:0    Debug\r
-//M0.5 31:8    Ignored\r
-//             7:0             Dispatch ID. // This ID is assigned by the fixed function unit and is a unique identifier for the thread.  It is used to free up resources used by the thread upon thread completion.\r
-//M0.4 31:0    Ignored\r
-//M0.3 31:0    Ignored\r
-//M0.2 31:0    Global Offset. Specifies the global byte offset into the buffer.\r
-                               //      This offset must be OWord aligned (bits 3:0 MBZ) Format = U32 Range = [0,FFFFFFF0h]\r
-//M0.1 31:0    Ignored\r
-//M0.0 31:0    Ignored\r
-\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_22DW.asm b/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_22DW.asm
deleted file mode 100644 (file)
index 19e9a20..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_ILDB_Cntrl_Data_22DW.asm\r
-//\r
-// ********** Apple only module **********\r
-//\r
-// This module loads AVC ILDB 22DW control data for one MB for CLN.\r
-// The reduced control data set is for progressive picture ONLY.\r
-//\r
-// Control data memory layout for each MB is 8x11 = 88 bytes.  \r
-// It ocuppies 3 GRFs after reading in.\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     CNTRL_DATA_D:   CNTRL_DATA_D Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                       // 3 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_CNTRL_DATA:  Binding table index of control data surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-    mul (1)    MSGSRC.0<1>:ud  ORIX:uw                 8:uw            { NoDDClr }                             // Block origin X\r
-    mul (1)    MSGSRC.1<1>:ud  ORIY:uw                 11:uw           { NoDDClr, NoDDChk }    // Block origin Y\r
-    mov (1)    MSGSRC.2<1>:ud  0x000A0007:ud                           { NoDDChk }                             // Block width and height (8x11=88 bytes)\r
-\r
-    send (8) CNTRL_DATA_D(0)<1>        MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(3)+DWBRMSGDSC_SC+BI_CNTRL_DATA // Receive 3 GRFs\r
-       \r
-// End of load_ILDB_Cntrl_Data_22DW.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_64DW.asm b/i965_drv_video/shaders/h264/ildb/Load_ILDB_Cntrl_Data_64DW.asm
deleted file mode 100644 (file)
index b026afb..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_ILDB_Cntrl_Data_64DW.asm\r
-//\r
-// This module loads AVC ILDB 64DW control data for one MB for CLN.  \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     CNTRL_DATA_D:   CNTRL_DATA_D Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                       // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_CNTRL_DATA:  Binding table index of control data surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-// On CLN, MB control data in memory occupy 64 DWs.\r
-\r
-#if defined(_MBAFF) \r
-       // We need to get control data offset for the bottom MB in mbaff mode.\r
-       // That is, set f0.1=1 if MbaffFlag==1 && BotFieldFlag==1\r
-       and (1) acc0.0:uw               BitFields:uw    MbaffFlag+BotFieldFlag:uw       // Mute all other bits\r
-       cmp.e.f0.1 (1) NULLREGW         acc0.0:uw       MbaffFlag+BotFieldFlag:uw       // Check mbaff and bot flags\r
-#endif         // CTemp1_W\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:uw                      { NoDDClr }                             // Block origin X,Y\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud                           { NoDDChk }                             // Block width and height (16x16=256 bytes)\r
-\r
-#if defined(_MBAFF) \r
-       (f0.1) add (1) MSGSRC.1:ud      MSGSRC.1:ud             16:w    // +16 to the bottom MB control data (bot MB)\r
-#endif\r
-\r
-    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\r
-       \r
-// End of load_ILDB_Cntrl_Data_64DW.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/Makefile.am b/i965_drv_video/shaders/h264/ildb/Makefile.am
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/i965_drv_video/shaders/h264/ildb/Root_Undefs.inc b/i965_drv_video/shaders/h264/ildb/Root_Undefs.inc
deleted file mode 100644 (file)
index c0ee016..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Modual name: Root_Undefs.inc\r
-//\r
-// Undefine global symbols for new process in root thread\r
-//\r
-\r
-#undef                 READ_BI\r
-#undef                 WRITE_BI\r
-\r
-#undef         ILDB_H_INDEPENDENT\r
-#undef         ILDB_H_INDEPENDENT_CONT\r
-#undef         ILDB_H_DEPENDENT\r
-#undef         ILDB_H_DEPENDENT_SCAN\r
-#undef         ILDB_H_NO_DEPENDENT\r
-\r
-#undef         ILDB_V_INDEPENDENT\r
-#undef         ILDB_V_INDEPENDENT_CONT\r
-#undef         ILDB_V_DEPENDENT\r
-#undef         ILDB_V_DEPENDENT_SCAN\r
-#undef         ILDB_V_NO_DEPENDENT\r
diff --git a/i965_drv_video/shaders/h264/ildb/SetupVPKernel.asm b/i965_drv_video/shaders/h264/ildb/SetupVPKernel.asm
deleted file mode 100644 (file)
index c7d9634..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Modual name: SetupVPKernel.asm\r
-//\r
-// Initial setup for running video-processing kernels\r
-//\r
-\r
-#include "ILDB_header.inc"\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-\r
-    mov (8)    MSGSRC.0<1>:ud  r0.0<8;8,1>:ud  // Initialize message payload header with R0\r
-\r
-// End of SetupVPKernel\r
diff --git a/i965_drv_video/shaders/h264/ildb/TransposeNV12_16x16.asm b/i965_drv_video/shaders/h264/ildb/TransposeNV12_16x16.asm
deleted file mode 100644 (file)
index 192a89f..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: TransposeNV12_16x16.asm\r
-//     \r
-//     Transpose a 16x16 NV12 MB.  The output is also in NV12\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_YB:                 SRC_YB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 8 GRFs\r
-//     SRC_UW:                 SRC_UW Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw     // 4 GRFs\r
-//\r
-//  Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub             // 8 GRFs\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw              // 4 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDA:w\r
-#endif\r
-\r
-\r
-// Transpose Y (16x16 bytes)\r
-\r
-// The first step\r
-mov (16)       BUF_B(0,0)<1>           SRC_YB(0,0)<16;4,1>\r
-mov (16)       BUF_B(0,16)<1>          SRC_YB(2,0)<16;4,1>\r
-mov (16)       BUF_B(1,0)<1>           SRC_YB(4,0)<16;4,1>\r
-mov (16)       BUF_B(1,16)<1>          SRC_YB(6,0)<16;4,1>\r
-\r
-mov (16)       BUF_B(2,0)<1>           SRC_YB(0,4)<16;4,1>\r
-mov (16)       BUF_B(2,16)<1>          SRC_YB(2,4)<16;4,1>\r
-mov (16)       BUF_B(3,0)<1>           SRC_YB(4,4)<16;4,1>\r
-mov (16)       BUF_B(3,16)<1>          SRC_YB(6,4)<16;4,1>\r
-\r
-mov (16)       BUF_B(4,0)<1>           SRC_YB(0,8)<16;4,1>\r
-mov (16)       BUF_B(4,16)<1>          SRC_YB(2,8)<16;4,1>\r
-mov (16)       BUF_B(5,0)<1>           SRC_YB(4,8)<16;4,1>\r
-mov (16)       BUF_B(5,16)<1>          SRC_YB(6,8)<16;4,1>\r
-\r
-mov (16)       BUF_B(6,0)<1>           SRC_YB(0,12)<16;4,1>\r
-mov (16)       BUF_B(6,16)<1>          SRC_YB(2,12)<16;4,1>\r
-mov (16)       BUF_B(7,0)<1>           SRC_YB(4,12)<16;4,1>\r
-mov (16)       BUF_B(7,16)<1>          SRC_YB(6,12)<16;4,1>\r
-\r
-// The second step\r
-mov (16)       SRC_YB(0,0)<1>          BUF_B(0,0)<32;8,4>\r
-mov (16)       SRC_YB(0,16)<1>         BUF_B(0,1)<32;8,4>\r
-mov (16)       SRC_YB(1,0)<1>          BUF_B(0,2)<32;8,4>\r
-mov (16)       SRC_YB(1,16)<1>         BUF_B(0,3)<32;8,4>\r
-\r
-mov (16)       SRC_YB(2,0)<1>          BUF_B(2,0)<32;8,4>\r
-mov (16)       SRC_YB(2,16)<1>         BUF_B(2,1)<32;8,4>\r
-mov (16)       SRC_YB(3,0)<1>          BUF_B(2,2)<32;8,4>\r
-mov (16)       SRC_YB(3,16)<1>         BUF_B(2,3)<32;8,4>\r
-\r
-mov (16)       SRC_YB(4,0)<1>          BUF_B(4,0)<32;8,4>\r
-mov (16)       SRC_YB(4,16)<1>         BUF_B(4,1)<32;8,4>\r
-mov (16)       SRC_YB(5,0)<1>          BUF_B(4,2)<32;8,4>\r
-mov (16)       SRC_YB(5,16)<1>         BUF_B(4,3)<32;8,4>\r
-\r
-mov (16)       SRC_YB(6,0)<1>          BUF_B(6,0)<32;8,4>\r
-mov (16)       SRC_YB(6,16)<1>         BUF_B(6,1)<32;8,4>\r
-mov (16)       SRC_YB(7,0)<1>          BUF_B(6,2)<32;8,4>\r
-mov (16)       SRC_YB(7,16)<1>         BUF_B(6,3)<32;8,4>\r
-\r
-// Y is transposed.\r
-\r
-\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// Src U and V are mixed in NV12 format. U on even bytes, V on odd bytes.\r
-// Transpose by treating UV pair as a word.\r
-\r
-\r
-// Src U 8x8 and V 8x8 are mixed. (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |17 17 16 16 15 15 14 14 13 13 12 12 11 11 10 10 07 07 06 06 05 05 04 04 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 33 33 32 32 31 31 30 30 27 27 26 26 25 25 24 24 23 23 22 22 21 21 20 20|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |57 57 56 56 55 55 54 54 53 53 52 52 51 51 50 50 47 47 46 46 45 45 44 44 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 73 73 72 72 71 71 70 70 67 67 66 66 65 65 64 64 63 63 62 62 61 61 60 60|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//  First step                 (16)    <1>:w <==== <8;4,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |33 33 32 32 31 31 30 30 23 23 22 22 21 21 20 20 13 13 12 12 11 11 10 10 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 73 72 72 71 71 70 70 63 63 62 62 61 61 60 60 53 53 52 52 51 51 50 50 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 27 27 26 26 25 25 24 24 17 17 16 16 15 15 14 14 07 07 06 06 05 05 04 04|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 67 67 66 66 65 65 64 64 57 57 56 56 55 55 54 54 47 47 46 46 45 45 44 44|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-// Transpose UV (8x8 words), The first step\r
-mov (16)       BUF_W(0,0)<1>           SRC_UW(0,0)<8;4,1>\r
-mov (16)       BUF_W(1,0)<1>           SRC_UW(2,0)<8;4,1>\r
-mov (16)       BUF_W(2,0)<1>           SRC_UW(0,4)<8;4,1>\r
-mov (16)       BUF_W(3,0)<1>           SRC_UW(2,4)<8;4,1>\r
-\r
-\r
-//     Second step             (16)    <1>:w <=== <16;4,4>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 73 63 63 53 53 43 43 33 33 23 23 13 13 03 03 72 72 62 62 52 52 42 42 32 32 22 22 12 12 02 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |75 75 65 65 55 55 45 45 35 35 25 25 15 15 05 05 74 74 64 64 54 54 44 44 34 34 24 24 14 14 04 04|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 67 67 57 57 47 47 37 37 27 27 17 17 07 07 76 76 66 66 56 56 46 46 36 36 26 26 16 16 06 06|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-// Transpose UV (8x8 words), The second step\r
-mov (8)                SRC_UW(0,0)<1>          BUF_W(0,0)<16;4,4>\r
-mov (8)                SRC_UW(0,8)<1>          BUF_W(0,1)<16;4,4>\r
-mov (8)                SRC_UW(1,0)<1>          BUF_W(0,2)<16;4,4>\r
-mov (8)                SRC_UW(1,8)<1>          BUF_W(0,3)<16;4,4>\r
-mov (8)                SRC_UW(2,0)<1>          BUF_W(2,0)<16;4,4>\r
-mov (8)                SRC_UW(2,8)<1>          BUF_W(2,1)<16;4,4>\r
-mov (8)                SRC_UW(3,0)<1>          BUF_W(2,2)<16;4,4>\r
-mov (8)                SRC_UW(3,8)<1>          BUF_W(2,3)<16;4,4>\r
-\r
-// U and V are now transposed and separated.\r
diff --git a/i965_drv_video/shaders/h264/ildb/TransposeNV12_4x16.asm b/i965_drv_video/shaders/h264/ildb/TransposeNV12_4x16.asm
deleted file mode 100644 (file)
index cb1dcbc..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: TransposeNV12_4x16.asm\r
-//     \r
-//     Transpose a 4x16 internal planar to 16x4 internal planar block\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_YB:                 SRC_YB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 8 GRFs\r
-//     SRC_UW:                 SRC_UB Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw             // 4 GRFs\r
-//\r
-//  Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub             // 8 GRFs\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw              // 4 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDB:w\r
-#endif\r
-\r
-// Transpose Y (4x16) right most 4 columns\r
-\r
-// The first step\r
-mov (16)       BUF_B(0,0)<1>           SRC_YB(0,0)<16;4,1>             // Read 2 rows, write 1 row\r
-mov (16)       BUF_B(0,16)<1>          SRC_YB(2,0)<16;4,1>\r
-mov (16)       BUF_B(1,0)<1>           SRC_YB(4,0)<16;4,1>\r
-mov (16)       BUF_B(1,16)<1>          SRC_YB(6,0)<16;4,1>\r
-\r
-// The second step\r
-mov (16)       BUF_B(2,0)<1>           BUF_B(0,0)<32;8,4>              // Read 2 rows, write 1 row\r
-mov (16)       BUF_B(2,16)<1>          BUF_B(0,1)<32;8,4>\r
-mov (16)       BUF_B(3,0)<1>           BUF_B(0,2)<32;8,4>\r
-mov (16)       BUF_B(3,16)<1>          BUF_B(0,3)<32;8,4>\r
-\r
-// Y is now transposed. the result is in BUF_B(2) and BUF_B(3).\r
-\r
-\r
-\r
-// Transpose UV (4x8),  right most 2 columns in word\r
-// Use BUF_W(0) as temp buf\r
-\r
-// Src U 8x8 and V 8x8 are mixed. (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |17 17 16 16 15 15 14 14 13 13 12 12 11 11 10 10 07 07 06 06 05 05 04 04 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 33 33 32 32 31 31 30 30 27 27 26 26 25 25 24 24 23 23 22 22 21 21 20 20|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |57 57 56 56 55 55 54 54 53 53 52 52 51 51 50 50 47 47 46 46 45 45 44 44 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 73 73 72 72 71 71 70 70 67 67 66 66 65 65 64 64 63 63 62 62 61 61 60 60|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//  First step                 (8)     <1>:w <==== <8;2,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-mov (8)                BUF_W(0,0)<1>           SRC_UW(0,0)<8;2,1>\r
-mov (8)                BUF_W(0,8)<1>           SRC_UW(2,0)<8;2,1>\r
-\r
-//     Second step             (16) <1>:w <==== <1;8,2>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-mov (16)       BUF_W(1,0)<1>           BUF_W(0,0)<1;8,2>\r
-\r
-// UV are now transposed.  the result is in BUF_W(1).\r
-\r
-\r
-\r
-//The first step\r
-//mov (16)     BUF_B(0,0)<1>           SRC_UW(0,0)<8;2,1>              // Read 2 rows, write 1 row\r
-// The second step\r
-//mov (8)              SRC_UB(4,0)<1>          BUF_B(0,0)<16;8,2>              // Read 1 row, write 1 row\r
-//mov (8)              SRC_UB(4,8)<1>          BUF_B(0,1)<16;8,2>              // Read 1 row, write 1 row\r
-\r
-// Transpose V (8x8),  right most 2 columns\r
-// The first step\r
-//mov (16)     BUF_B(0,0)<1>           SRC_VB(0,1)<8;2,1>              // Read 2 rows, write 1 row\r
-// The second step\r
-//mov (8)              SRC_UB(4,16)<1>         BUF_B(0,0)<16;8,2>              // Read 1 row, write 1 row\r
-//mov (8)              SRC_UB(4,24)<1>         BUF_B(0,1)<16;8,2>              // Read 1 row, write 1 row\r
-\r
-// U and V are now transposed.  the result is in BUF_B(4).\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_2x8.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_2x8.asm
deleted file mode 100644 (file)
index 967e587..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: Transpose_UV_2x8.asm\r
-//     \r
-//     Transpose UV 2x8 to 8x2 block (2x8U + 2x8V in NV12)\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_UW:                 SRC_UB Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw             // 4 GRFs\r
-//\r
-//  Temp buffer:\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw              // 4 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDB:w\r
-#endif\r
-\r
-// Transpose UV (4x8),  right most 2 columns in word\r
-// Use BUF_W(0) as temp buf\r
-\r
-// Src U 8x8 and V 8x8 are mixed. (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |17 17 16 16 15 15 14 14 13 13 12 12 11 11 10 10 07 07 06 06 05 05 04 04 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 33 33 32 32 31 31 30 30 27 27 26 26 25 25 24 24 23 23 22 22 21 21 20 20|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |57 57 56 56 55 55 54 54 53 53 52 52 51 51 50 50 47 47 46 46 45 45 44 44 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 73 73 72 72 71 71 70 70 67 67 66 66 65 65 64 64 63 63 62 62 61 61 60 60|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//  First step                 (8)     <1>:w <==== <8;2,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 67 67 66 66 57 57 56 56 47 47 46 46 37 37 36 36 27 27 26 26 17 17 16 16 07 07 06 06|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-mov (8)                LEFT_TEMP_W(0,0)<1>             SRC_UW(0,6)<8;2,1>              { NoDDClr }\r
-mov (8)                LEFT_TEMP_W(0,8)<1>             SRC_UW(2,6)<8;2,1>              { NoDDChk }\r
-\r
-//     Second step             (16) <1>:w <==== <1;8,2>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 67 67 57 57 47 47 37 37 27 27 17 17 07 07 76 76 66 66 56 56 46 46 36 36 26 26 16 16 06 06|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-mov (16)       LEFT_TEMP_W(1,0)<1>             LEFT_TEMP_W(0,0)<1;8,2>\r
-\r
-// UV are now transposed.  the result is in BUF_W(1)\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_8x8.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_8x8.asm
deleted file mode 100644 (file)
index dbb7e65..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: Transpose_UV_8x8.asm\r
-//     \r
-//     Transpose a 8x8 UV block. (8x8U + 8x8V)  The output is also in NV12\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_UW:                 SRC_UW Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw     // 4 GRFs\r
-//\r
-//  Temp buffer:\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=2 SrcRegion=REGION(8,1) Type=uw              // 4 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDA:w\r
-#endif\r
-\r
-//////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-// Src U and V are mixed in NV12 format. U on even bytes, V on odd bytes.\r
-// Transpose by treating UV pair as a word.\r
-\r
-\r
-// Src U 8x8 and V 8x8 are mixed. (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |17 17 16 16 15 15 14 14 13 13 12 12 11 11 10 10 07 07 06 06 05 05 04 04 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 33 33 32 32 31 31 30 30 27 27 26 26 25 25 24 24 23 23 22 22 21 21 20 20|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |57 57 56 56 55 55 54 54 53 53 52 52 51 51 50 50 47 47 46 46 45 45 44 44 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 73 73 72 72 71 71 70 70 67 67 66 66 65 65 64 64 63 63 62 62 61 61 60 60|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//  First step                 (16)    <1>:w <==== <8;4,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |33 33 32 32 31 31 30 30 23 23 22 22 21 21 20 20 13 13 12 12 11 11 10 10 03 03 02 02 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 73 72 72 71 71 70 70 63 63 62 62 61 61 60 60 53 53 52 52 51 51 50 50 43 43 42 42 41 41 40 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |37 37 36 36 35 35 34 34 27 27 26 26 25 25 24 24 17 17 16 16 15 15 14 14 07 07 06 06 05 05 04 04|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 76 76 75 75 74 74 67 67 66 66 65 65 64 64 57 57 56 56 55 55 54 54 47 47 46 46 45 45 44 44|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-// Transpose UV (8x8 words), The first step\r
-mov (16)       CUR_TEMP_W(0,0)<1>              SRC_UW(0,0)<8;4,1>\r
-mov (16)       CUR_TEMP_W(1,0)<1>              SRC_UW(2,0)<8;4,1>\r
-mov (16)       CUR_TEMP_W(2,0)<1>              SRC_UW(0,4)<8;4,1>\r
-mov (16)       CUR_TEMP_W(3,0)<1>              SRC_UW(2,4)<8;4,1>\r
-\r
-\r
-//     Second step             (16)    <1>:w <=== <16;4,4>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 73 63 63 53 53 43 43 33 33 23 23 13 13 03 03 72 72 62 62 52 52 42 42 32 32 22 22 12 12 02 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |75 75 65 65 55 55 45 45 35 35 25 25 15 15 05 05 74 74 64 64 54 54 44 44 34 34 24 24 14 14 04 04|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |77 77 67 67 57 57 47 47 37 37 27 27 17 17 07 07 76 76 66 66 56 56 46 46 36 36 26 26 16 16 06 06|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-// Transpose UV (8x8 words), The second step\r
-mov (8)                SRC_UW(0,0)<1>          CUR_TEMP_W(0,0)<16;4,4>         { NoDDClr }\r
-mov (8)                SRC_UW(0,8)<1>          CUR_TEMP_W(0,1)<16;4,4>         { NoDDChk }\r
-mov (8)                SRC_UW(1,0)<1>          CUR_TEMP_W(0,2)<16;4,4>         { NoDDClr }\r
-mov (8)                SRC_UW(1,8)<1>          CUR_TEMP_W(0,3)<16;4,4>         { NoDDChk }\r
-mov (8)                SRC_UW(2,0)<1>          CUR_TEMP_W(2,0)<16;4,4>         { NoDDClr }\r
-mov (8)                SRC_UW(2,8)<1>          CUR_TEMP_W(2,1)<16;4,4>         { NoDDChk }\r
-mov (8)                SRC_UW(3,0)<1>          CUR_TEMP_W(2,2)<16;4,4>         { NoDDClr }\r
-mov (8)                SRC_UW(3,8)<1>          CUR_TEMP_W(2,3)<16;4,4>         { NoDDChk }\r
-\r
-// U and V are now transposed and separated.\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_Right_Most_2x8.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_UV_Right_Most_2x8.asm
deleted file mode 100644 (file)
index be7feba..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Transpose Cur MB Right Most 2x8 to 8x2\r
-//  Assume source is LEFT_TEMP_W(0), and detination is LEFT_TEMP_W(1)\r
-\r
-//     Input from dport for transpose: \r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     Output of transpose:    <1>     <=== <16;8,2>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     mov (8) LEFT_TEMP_W(1,0)<1>             LEFT_TEMP_W(0,0)<16;8,2>                { NoDDClr }\r
-//     mov (8) LEFT_TEMP_W(1,8)<1>             LEFT_TEMP_W(0,1)<16;8,2>                { NoDDChk }\r
-\r
-       mov (16)        LEFT_TEMP_W(1,0)<1>             LEFT_TEMP_W(0,0)<1;8,2>\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_16x16.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_16x16.asm
deleted file mode 100644 (file)
index 8c20f74..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: Transpose_Y_16x16.asm\r
-//     \r
-//     Transpose Y 16x16 block.\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_YB:                 SRC_YB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 8 GRFs\r
-//\r
-//  Temp buffer:\r
-//     CUR_TEMP_B:             BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub             // 8 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDA:w\r
-#endif\r
-\r
-\r
-// Transpose Y (16x16 bytes)\r
-\r
-// The first step\r
-mov (16)       CUR_TEMP_B(0,0)<1>              SRC_YB(0,0)<16;4,1>             { NoDDClr } \r
-mov (16)       CUR_TEMP_B(0,16)<1>             SRC_YB(2,0)<16;4,1>             { NoDDChk }\r
-mov (16)       CUR_TEMP_B(1,0)<1>              SRC_YB(4,0)<16;4,1>             { NoDDClr }\r
-mov (16)       CUR_TEMP_B(1,16)<1>             SRC_YB(6,0)<16;4,1>             { NoDDChk }\r
-\r
-mov (16)       CUR_TEMP_B(2,0)<1>              SRC_YB(0,4)<16;4,1>             { NoDDClr }\r
-mov (16)       CUR_TEMP_B(2,16)<1>             SRC_YB(2,4)<16;4,1>             { NoDDChk }\r
-mov (16)       CUR_TEMP_B(3,0)<1>              SRC_YB(4,4)<16;4,1>             { NoDDClr }\r
-mov (16)       CUR_TEMP_B(3,16)<1>             SRC_YB(6,4)<16;4,1>             { NoDDChk }\r
-\r
-mov (16)       CUR_TEMP_B(4,0)<1>              SRC_YB(0,8)<16;4,1>             { NoDDClr }\r
-mov (16)       CUR_TEMP_B(4,16)<1>             SRC_YB(2,8)<16;4,1>             { NoDDChk }\r
-mov (16)       CUR_TEMP_B(5,0)<1>              SRC_YB(4,8)<16;4,1>             { NoDDClr }\r
-mov (16)       CUR_TEMP_B(5,16)<1>             SRC_YB(6,8)<16;4,1>             { NoDDChk }\r
-\r
-mov (16)       CUR_TEMP_B(6,0)<1>              SRC_YB(0,12)<16;4,1>    { NoDDClr }\r
-mov (16)       CUR_TEMP_B(6,16)<1>             SRC_YB(2,12)<16;4,1>    { NoDDChk }\r
-mov (16)       CUR_TEMP_B(7,0)<1>              SRC_YB(4,12)<16;4,1>    { NoDDClr }\r
-mov (16)       CUR_TEMP_B(7,16)<1>             SRC_YB(6,12)<16;4,1>    { NoDDChk }\r
-\r
-// The second step\r
-mov (16)       SRC_YB(0,0)<1>          CUR_TEMP_B(0,0)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(0,16)<1>         CUR_TEMP_B(0,1)<32;8,4>         { NoDDChk }\r
-mov (16)       SRC_YB(1,0)<1>          CUR_TEMP_B(0,2)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(1,16)<1>         CUR_TEMP_B(0,3)<32;8,4>         { NoDDChk }\r
-\r
-mov (16)       SRC_YB(2,0)<1>          CUR_TEMP_B(2,0)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(2,16)<1>         CUR_TEMP_B(2,1)<32;8,4>         { NoDDChk }\r
-mov (16)       SRC_YB(3,0)<1>          CUR_TEMP_B(2,2)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(3,16)<1>         CUR_TEMP_B(2,3)<32;8,4>         { NoDDChk }\r
-\r
-mov (16)       SRC_YB(4,0)<1>          CUR_TEMP_B(4,0)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(4,16)<1>         CUR_TEMP_B(4,1)<32;8,4>         { NoDDChk }\r
-mov (16)       SRC_YB(5,0)<1>          CUR_TEMP_B(4,2)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(5,16)<1>         CUR_TEMP_B(4,3)<32;8,4>         { NoDDChk }\r
-\r
-mov (16)       SRC_YB(6,0)<1>          CUR_TEMP_B(6,0)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(6,16)<1>         CUR_TEMP_B(6,1)<32;8,4>         { NoDDChk }\r
-mov (16)       SRC_YB(7,0)<1>          CUR_TEMP_B(6,2)<32;8,4>         { NoDDClr }\r
-mov (16)       SRC_YB(7,16)<1>         CUR_TEMP_B(6,3)<32;8,4>         { NoDDChk }\r
-\r
-// Y is transposed.\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_4x16.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_4x16.asm
deleted file mode 100644 (file)
index 70c0b1c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-//     Module name: Transpose_Y_4x16.asm\r
-//     \r
-//     Transpose a 4x16 internal planar to 16x4 internal planar block.\r
-//     The src block is 16x16.  Right moft 4 columns are transposed.\r
-//\r
-//----------------------------------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region is :ub\r
-//     SRC_YB:                 SRC_YB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // 8 GRFs\r
-//\r
-//  Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub             // 8 GRFs\r
-//\r
-//////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDDB:w\r
-#endif\r
-\r
-// Transpose Y (4x16) right most 4 columns\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |1f 1e 1d 1c 1b 1a 19 18 17 16 15 14 13 12 11 10 0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |3f 3e 3d 3c 3b 3a 39 38 37 36 35 34 33 32 31 30 2f 2e 2d 2c 2b 2a 29 28 27 26 25 24 23 22 21 20|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |5f 5e 5d 5c 5b 5a 59 58 57 56 55 54 53 52 51 50 4f 4e 4d 4c 4b 4a 49 48 47 46 45 44 43 42 41 40|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |7f 7e 7d 7c 7b 7a 79 78 77 76 75 74 73 72 71 70 6f 6e 6d 6c 6b 6a 69 68 67 66 65 64 63 62 61 60|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |9f 9e 9d 9c 9b 9a 99 98 97 96 95 94 93 92 91 90 8f 8e 8d 8c 8b 8a 89 88 87 86 85 84 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |bf be bd bc bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 a0|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |df de dd dc db da d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 cf ce cd cc cb ca c9 c8 c7 c6 c5 c4 c3 c2 c1 c0|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |ff fe fd fc fb fa f9 f8 f7 f6 f5 f4 f3 f2 f1 f0 ef ee ed ec eb ea e9 e8 e7 e6 e5 e4 e3 e2 e1 e0|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-// The first step\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |7f 7e 7d 7c 6f 6e 6d 6c 5f 5e 5d 5c 4f 4e 4d 4c 3f 3e 3d 3c 2f 2e 2d 2c 1f 1e 1d 1c 0f 0e 0d 0c|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |ff fe fd fc ef ee ed ec df de dd dc cf ce cd cc bf be bd bc af ae ad ac 9f 9e 9d 9c 8f 8e 8d 8c|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-// The second step\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |fd ed dd cd bd ad 9d 8d 7d 6d 5d 4d 3d 2d 1d 0d fc ec dc cc bc ac 9c 8c 7c 6c 5c 4c 3c 2c 1c 0c|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |ff ef df cf bf af 9f 8f 7f 6f 5f 4f 3f 2f 1f 0f fe ee de ce be ae 9e 8e 7e 6e 5e 4e 3e 2e 1e 0e|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-\r
-mov (16)       LEFT_TEMP_B(0,0)<1>             SRC_YB(0,12)<16;4,1>            { NoDDClr }     \r
-mov (16)       LEFT_TEMP_B(0,16)<1>    SRC_YB(2,12)<16;4,1>            { NoDDChk }\r
-mov (16)       LEFT_TEMP_B(1,0)<1>             SRC_YB(4,12)<16;4,1>            { NoDDClr }\r
-mov (16)       LEFT_TEMP_B(1,16)<1>    SRC_YB(6,12)<16;4,1>            { NoDDChk }\r
-\r
-// The second step\r
-mov (16)       LEFT_TEMP_B(2,0)<1>             LEFT_TEMP_B(0,0)<32;8,4>                { NoDDClr }     \r
-mov (16)       LEFT_TEMP_B(2,16)<1>    LEFT_TEMP_B(0,1)<32;8,4>                { NoDDChk }\r
-mov (16)       LEFT_TEMP_B(3,0)<1>             LEFT_TEMP_B(0,2)<32;8,4>                { NoDDClr }\r
-mov (16)       LEFT_TEMP_B(3,16)<1>    LEFT_TEMP_B(0,3)<32;8,4>                { NoDDChk }\r
-\r
-// Y is now transposed. the result is in LEFT_TEMP_B(2) and LEFT_TEMP_B(3).\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_Right_Most_4x16.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Cur_Y_Right_Most_4x16.asm
deleted file mode 100644 (file)
index c458f85..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Transpose cur Y right most 4x16 to 16x4\r
-//  Assume source is LEFT_TEMP_B(0), and detination is LEFT_TEMP_B(2)\r
-\r
-\r
-//     Input received from dport:\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     Output of transpose:            <1>     <= <32;8,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-       // Transpose the data, also occupy 2 GRFs\r
-       mov (16)        LEFT_TEMP_B(2)<1>                       LEFT_TEMP_B(0, 0)<32;8,4>               { NoDDClr }\r
-       mov (16)        LEFT_TEMP_B(2, 16)<1>           LEFT_TEMP_B(0, 1)<32;8,4>               { NoDDChk }\r
-       mov (16)        LEFT_TEMP_B(3)<1>                       LEFT_TEMP_B(0, 2)<32;8,4>               { NoDDClr }\r
-       mov (16)        LEFT_TEMP_B(3, 16)<1>           LEFT_TEMP_B(0, 3)<32;8,4>               { NoDDChk }\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Left_UV_2x8.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Left_UV_2x8.asm
deleted file mode 100644 (file)
index 678456e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Transpose left MB 2x8 to 8x2\r
-//  Assume source is LEFT_TEMP_W, and detination is PREV_MB_UW\r
-\r
-//     Input from dport for transpose: \r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     Output of transpose:    <1>     <=== <16;8,2>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     mov (8) PREV_MB_UW(0,0)<1>              BUF_W(0,0)<16;8,2>              { NoDDClr }\r
-//     mov (8) PREV_MB_UW(0,8)<1>              BUF_W(0,1)<16;8,2>              { NoDDChk }\r
-       \r
-//     mov (8) PREV_MB_UW(0,0)<1>              LEFT_TEMP_W(0,0)<16;8,2>                { NoDDClr }\r
-//     mov (8) PREV_MB_UW(0,8)<1>              LEFT_TEMP_W(0,1)<16;8,2>                { NoDDChk }\r
-\r
-       mov (16)        PREV_MB_UW(0,0)<1>              LEFT_TEMP_W(0,0)<1;8,2>\r
diff --git a/i965_drv_video/shaders/h264/ildb/Transpose_Left_Y_4x16.asm b/i965_drv_video/shaders/h264/ildb/Transpose_Left_Y_4x16.asm
deleted file mode 100644 (file)
index 435996c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Transpose left MB 4x16 to 16x4\r
-//  Assume source is LEFT_TEMP_B, and detination is PREV_MB_YB\r
-\r
-\r
-//     Input received from dport:\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     Output of transpose:            <1>     <= <32;8,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-       // Transpose the data, also occupy 2 GRFs\r
-       mov (16)        PREV_MB_YB(0)<1>                        LEFT_TEMP_B(0, 0)<32;8,4>               { NoDDClr }\r
-       mov (16)        PREV_MB_YB(0, 16)<1>            LEFT_TEMP_B(0, 1)<32;8,4>               { NoDDChk }\r
-       mov (16)        PREV_MB_YB(1)<1>                        LEFT_TEMP_B(0, 2)<32;8,4>               { NoDDClr }\r
-       mov (16)        PREV_MB_YB(1, 16)<1>            LEFT_TEMP_B(0, 3)<32;8,4>               { NoDDChk }\r
diff --git a/i965_drv_video/shaders/h264/ildb/loadNV12_16x16T.asm b/i965_drv_video/shaders/h264/ildb/loadNV12_16x16T.asm
deleted file mode 100644 (file)
index d5aa552..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: loadNV12_16x16T.asm\r
-//\r
-// Load and transpose NV12 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud   (U+V for NV12)    // 4 GRFs\r
-//\r
-//     Source region is :ub.  The same region as :ud region\r
-//     SRC_YB:                 SRC_YB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub            // 8 GRFs\r
-//     SRC_UB:                 SRC_UB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub            // 2 GRFs\r
-//     SRC_VB:                 SRC_VB Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub            // 2 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//     Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD1:w\r
-#endif\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w               // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud           // Block width and height (16x16)\r
-    send (8) SRC_YD(0)<1>      MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(8)+DWBRMSGDSC_RC+BI_SRC_Y      // Read 8 GRFs\r
-\r
-       // Read U+V\r
-    asr (1)    MSGSRC.1:ud             MSGSRC.1:ud                     1:w                                             // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2<1>:ud  0x0007000F:ud           // NV12 U+V block width and height (16x8)\r
-    send (8) SRC_UD(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(4)+DWBRMSGDSC_RC+BI_SRC_UV     // Read 4 GRFs\r
-\r
-       #include "TransposeNV12_16x16.asm"\r
-\r
-//     #include "Transpose_Y_16x16.asm"        \r
-//     #include "Transpose_NV12_UV_16x8.asm"   \r
-               \r
-// End of loadNV12_16x16T\r
diff --git a/i965_drv_video/shaders/h264/ildb/loadNV12_16x4.asm b/i965_drv_video/shaders/h264/ildb/loadNV12_16x4.asm
deleted file mode 100644 (file)
index a2e7dfd..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Loadnv12_16X4.Asm\r
-//\r
-// Load Nv12 16X4 Block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols Need To Be Defined Before Including This Module\r
-//\r
-//     Source Region In :Ud\r
-//     Src_Yd:                 Src_Yd Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud                     // 3 Grfs (2 For Y, 1 For U+V)\r
-//\r
-//     Source Region Is :Ub.  The Same Region As :Ud Region\r
-//     Src_Yb:                 Src_Yb Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub            // 2 Grfs\r
-//     Src_Ub:                 Src_Ub Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub            // 0.5 Grf\r
-//     Src_Vb:                 Src_Vb Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub            // 0.5 Grf\r
-//\r
-//     Binding Table Index: \r
-//     Bi_Src_Y:               Binding Table Index Of Y Surface\r
-//     Bi_Src_UV:              Binding Table Index Of UV Surface (Nv12)\r
-//\r
-//     Temp Buffer:\r
-//     Buf_D:                  Buf_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud\r
-//     Buf_B:                  Buf_B Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD2:w\r
-#endif\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX<2;2,1>:w           // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud           // Block width and height (16x4)\r
-    send (8) PREV_MB_YD(0)<1>  MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(2)+DWBRMSGDSC_RC+BI_SRC_Y      // Read 2 GRFs\r
-\r
-       // Read U+V\r
-    asr (1)    MSGSRC.1:ud             MSGSRC.1:ud                     1:w                                             // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2<1>:ud  0x0001000F:ud           // NV12 U+V block width and height (16x2)\r
-\r
-       // Load NV12 U+V tp a temp buf  \r
-       send (8) BUF_D(0)<1>    MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(1)+DWBRMSGDSC_RC+BI_SRC_UV     // Read 1 GRF\r
-\r
-       // Convert NV12 U+V to internal planar U and V and place them right after Y.\r
-//     mov (16)        SRC_UB(0,0)<1>          BUF_B(0,0)<32;16,2>\r
-//     mov (16)        SRC_VB(0,0)<1>          BUF_B(0,1)<32;16,2>     \r
-       \r
-// End of loadNV12_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T.asm
deleted file mode 100644 (file)
index 25cb96c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Cur_UV_8x8T.asm\r
-//\r
-// Load and transpose UV 8x8 block (NV12: 8x8U and 8x8V mixed)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud   (U+V for NV12)    // 4 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD1:w\r
-#endif\r
-\r
-       // Read U+V blk\r
-#if defined(_PROGRESSIVE) \r
-    mov (1)    MSGSRC.0:ud             ORIX_CUR:w                              { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w              1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0007000F:ud                   { NoDDChk }                     // NV12 U+V block width and height (16x8 bytes)\r
-\r
-    //send (8) SRC_UD(0)<1>    MSGHDRU         MSGSRC<8;8,1>:ud        DWBRMSGDSC_SC+0x00040000+BI_SRC_UV\r
-    mov (1)    MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC+BI_SRC_UV:ud  \r
-#endif\r
-\r
-#if defined(_FIELD)\r
-//    cmp.z.f0.0 (1)  NULLREGW         PicTypeC:w      0:w                                             // Get pic type flag\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-       // they are used later in this file\r
-\r
-    mov (1)    MSGSRC.0:ud             ORIX_CUR:w                              { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w              1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0007000F:ud                   { NoDDChk }                     // NV12 U+V block width and height (16x8 bytes)\r
-\r
-    // Set message descriptor\r
-\r
-    // Frame picture\r
-//    (f0.0) mov (1)   MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC+BI_SRC_UV:ud                  // Read 4 GRFs from SRC_UV\r
-//     (f0.0) jmpi             load_UV_8x8T\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC_BF+BI_SRC_UV:ud  // Read 4 GRFs from SRC_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC_TF+BI_SRC_UV:ud  // Read 4 GRFs from SRC_UV top field\r
-\r
-//load_UV_8x8T:\r
-\r
-#endif\r
-\r
-    send (8) SRC_UD(0)<1>      MSGHDRU         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-//     #include "Transpose_Cur_UV_8x8.asm"\r
-\r
-// End of load_UV_8x8T\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_UV_8x8T_Mbaff.asm
deleted file mode 100644 (file)
index 82b7d9e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Cur_UV_8x8T.asm\r
-//\r
-// Load and transpose UV 8x8 block (NV12: 8x8U and 8x8V mixed)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud   (U+V for NV12)    // 4 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD1:w\r
-#endif\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW        BitFields:w     BotFieldFlag:w                                  // Get bottom field flag\r
-\r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_CUR:w                                              { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w                      1:w                     { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0007000F:ud                                   { NoDDChk }                     // NV12 U+V block width and height (16x8 bytes)\r
-\r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_UV_8X8T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC+BI_SRC_UV:ud                  // Read 4 GRFs from SRC_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-    \r
-ILDB_LABEL(ELSE_UV_8X8T): \r
-       else    (1)             ILDB_LABEL(ENDIF_UV_8X8T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC_BF+BI_SRC_UV:ud  // Read 4 GRFs from SRC_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(4)+DWBRMSGDSC_SC_TF+BI_SRC_UV:ud  // Read 4 GRFs from SRC_UV top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_UV_8X8T):\r
-\r
-    send (8) SRC_UD(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-//     #include "Transpose_Cur_UV_8x8.asm"\r
-\r
-// End of load_UV_8x8T\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_UV_Right_Most_2x8.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_UV_Right_Most_2x8.asm
deleted file mode 100644 (file)
index 426a518..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Cur_UV_Right_Most_2X8.Asm\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read U+V, (UV MB size = 16x8)\r
-    add (1)    MSGSRC.0:ud             ORIX_CUR:w                      12:w                    { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w                      1:w                             { NoDDClr, NoDDChk }            // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                           { NoDDChk }             // NV12 U+V block width and height (4x8)\r
-       send (8) LEFT_TEMP_D(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV    \r
-#endif\r
-\r
-#if defined(_FIELD) || defined(_MBAFF)\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w                          // Get bottom field flag\r
-\r
-       // Read U+V\r
-    add (1)    MSGSRC.0:ud             ORIX_CUR:w                      12:w                            { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w                      1:w                             { NoDDClr, NoDDChk }            // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                           { NoDDChk }             // NV12 U+V block width and height (4x8)\r
-\r
-       // Load NV12 U+V \r
-       \r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_2x8T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV:ud                 // Read 1 GRF from SRC_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-\r
-ILDB_LABEL(ELSE_Y_2x8T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_2x8T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_BF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_TF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y top field\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_2x8T):\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-//     send (8) BUF_D(0)<1>    MSGHDRU MSGSRC<8;8,1>:ud        MSGDSC  \r
-       send (8) LEFT_TEMP_D(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD MSGDSC  \r
-\r
-#endif\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T.asm
deleted file mode 100644 (file)
index d70b101..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Y_16x16T.asm\r
-//\r
-// Load and transpose Y 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD1:w\r
-#endif\r
-       // Read Y\r
-       \r
-#if defined(_PROGRESSIVE) \r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w               { NoDDClr }                     // Block origin\r
-       mov (1) MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }                     // Block width and height (16x16)\r
-\r
-    //send (8) SRC_YD(0)<1>    MSGHDRC         MSGSRC<8;8,1>:ud        DWBRMSGDSC_SMPLR+0x00080000+BI_SRC_Y\r
-       mov (1) MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC+BI_SRC_Y:ud           \r
-#endif\r
-\r
-    \r
-#if defined(_FIELD)\r
-//    cmp.z.f0.0 (1)  NULLREGW         PicTypeC:w      0:w                                             // Get pic type flag\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-       // they are used later in this file\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w               { NoDDClr }                     // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }                     // Block width and height (16x16)\r
-    \r
-    // Set message descriptor\r
-    // Frame picture\r
-//     (f0.0) mov (1)  MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC+BI_SRC_Y:ud                   // Read 8 GRFs from SRC_Y\r
-//     (f0.0) jmpi             load_Y_16x16T\r
-\r
-       // Non frame picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_BF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_TF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y top field\r
-\r
-//load_Y_16x16T:\r
-\r
-#endif\r
-\r
-    send (8) SRC_YD(0)<1>      MSGHDRC         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-       \r
-//     #include "Transpose_Cur_Y_16x16.asm"\r
-\r
-// End of load_Y_16x16T\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_Y_16x16T_Mbaff.asm
deleted file mode 100644 (file)
index f9c4745..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Y_16x16T.asm\r
-//\r
-// Load and transpose Y 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD1:w\r
-#endif\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-       \r
-    and.nz.f0.1 (1)    NULLREGW        BitFields:w     BotFieldFlag:w          // Get bottom field flag\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:d   ORIX_CUR<2;2,1>:w               { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }             // Block width and height (16x16)\r
-    \r
-    // Set message descriptor, etc.\r
-    \r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_16x16T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC+BI_SRC_Y:ud                   // Read 8 GRFs from SRC_Y\r
-    \r
-       (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-    \r
-ILDB_LABEL(ELSE_Y_16x16T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_16x16T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_BF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(8)+DWBRMSGDSC_SC_TF+BI_SRC_Y:ud  // Read 8 GRFs from SRC_Y top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_16x16T):\r
-\r
-    send (8) SRC_YD(0)<1>      MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-//     #include "Transpose_Cur_Y_16x16.asm"\r
-\r
-// End of load_Y_16x16T\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Cur_Y_Right_Most_4x16.asm b/i965_drv_video/shaders/h264/ildb/load_Cur_Y_Right_Most_4x16.asm
deleted file mode 100644 (file)
index cd25ace..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Cur_Y_Right_Most_4x16.asm\r
-//\r
-// Load luma cur MB right most 4x16 into LEFT_TEMP_B\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read Y \r
-    add (1)    MSGSRC.0<1>:ud  ORIX_CUR:w              12:w    { NoDDClr }                             // Block origin, move right 12 bytes\r
-    mov (1)    MSGSRC.1<1>:ud  ORIY_CUR:w                              { NoDDClr, NoDDChk }    // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }                             // Block width and height (4x16)\r
-    send (8) LEFT_TEMP_D(0)<1> MSGHDRL         MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y     \r
-#endif\r
-\r
-\r
-#if defined(_FIELD) || defined(_MBAFF)\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w  // Get bottom field flag\r
-\r
-       // Read Y\r
-    add (1)    MSGSRC.0<1>:ud  ORIX_CUR:w              12:w    { NoDDClr }                             // Block origin, move right 12 bytes\r
-    mov (1)    MSGSRC.1<1>:ud  ORIY_CUR:w                              { NoDDClr, NoDDChk }    // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }                             // Block width and height (4x16)\r
-    \r
-    // Set message descriptor, etc.\r
-    \r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_4x16T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y:ud                  // Read 2 GRFs from DEST_Y\r
-    \r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-    \r
-ILDB_LABEL(ELSE_Y_4x16T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_4x16T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_BF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_TF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y top field\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_4x16T):\r
-\r
-//    send (8) BUF_D(0)<1>     MSGHDRY MSGSRC<8;8,1>:ud        MSGDSC\r
-    send (8) LEFT_TEMP_D(0)<1> MSGHDRL         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-#endif\r
-\r
-//     Transpose 4x16 to 16x4\r
-\r
-//     Input received from dport:\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     Output of transpose:            <1>     <= <32;8,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-/*\r
-       // Transpose the data, also occupy 2 GRFs\r
-       mov (16)        PREV_MB_YB(0)<1>                        BUF_B(0, 0)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(0, 16)<1>            BUF_B(0, 1)<32;8,4>             { NoDDChk }\r
-       mov (16)        PREV_MB_YB(1)<1>                        BUF_B(0, 2)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(1, 16)<1>            BUF_B(0, 3)<32;8,4>             { NoDDChk }\r
-*/\r
-// End of load_Y_4x16T\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T.asm b/i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T.asm
deleted file mode 100644 (file)
index a5f622c..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Left_UV_2X8T.Asm\r
-//\r
-// Load UV 8X2 Block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols ceed To be defined before including this module\r
-//\r
-//     Source Region Is :UB\r
-//     BUF_D:                  BUF_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=UD\r
-\r
-//     Binding Table Index: \r
-//     BI_SRC_UV:              Binding Table Index Of UV Surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_LEFT:w                                                     { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_LEFT:w                     1:w                             { NoDDClr, NoDDChk }            // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                           { NoDDChk }             // NV12 U+V block width and height (4x8)\r
-\r
-       send (8) LEFT_TEMP_D(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV    \r
-#endif\r
-\r
-#if defined(_FIELD) || defined(_MBAFF)\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w                          // Get bottom field flag\r
-\r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_LEFT:w                                                     { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_LEFT:w                     1:w                             { NoDDClr, NoDDChk }            // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                           { NoDDChk }             // NV12 U+V block width and height (4x8)\r
-\r
-       // Load NV12 U+V \r
-       \r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_2x8T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV:ud                 // Read 1 GRF from SRC_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-\r
-ILDB_LABEL(ELSE_Y_2x8T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_2x8T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_BF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_TF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y top field\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_2x8T):\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-//     send (8) BUF_D(0)<1>    MSGHDRU MSGSRC<8;8,1>:ud        MSGDSC  \r
-       send (8) LEFT_TEMP_D(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD MSGDSC  \r
-\r
-#endif\r
-\r
-// End of load_Left_UV_2x8T.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Left_UV_2x8T_Mbaff.asm
deleted file mode 100644 (file)
index fefda4f..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Left_UV_2X8T.Asm\r
-//\r
-// Load UV 8X2 Block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols ceed To be defined before including this module\r
-//\r
-//     Source Region Is :UB\r
-//     BUF_D:                  BUF_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=UD\r
-\r
-//     Binding Table Index: \r
-//     BI_SRC_UV:              Binding Table Index Of UV Surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w                          // Get bottom field flag\r
-\r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_LEFT:w                                                     { NoDDClr }             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_LEFT:w                     1:w                             { NoDDClr, NoDDChk }            // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                           { NoDDChk }             // NV12 U+V block width and height (4x8)\r
-\r
-       // Load NV12 U+V \r
-       \r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_2x8T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV:ud                 // Read 1 GRF from SRC_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-\r
-ILDB_LABEL(ELSE_Y_2x8T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_2x8T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_BF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_TF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_2x8T):\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-//     send (8) BUF_D(0)<1>    MSGHDRU MSGSRC<8;8,1>:ud        MSGDSC  \r
-       send (8) LEFT_TEMP_D(0)<1>      MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD MSGDSC  \r
-\r
-\r
-//     Input from dport for transpose: \r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     Output of transpose:    <1>     <=== <16;8,2>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-/*\r
-       mov (8) PREV_MB_UW(0,0)<1>              BUF_W(0,0)<16;8,2>              { NoDDClr }\r
-       mov (8) PREV_MB_UW(0,8)<1>              BUF_W(0,1)<16;8,2>              { NoDDChk }\r
-*/\r
-// End of load_Left_UV_2x8T.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T.asm b/i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T.asm
deleted file mode 100644 (file)
index ab454f1..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Y_4x16T.asm\r
-//\r
-// Load luma left MB 4x16 and transpose 4x16 to 16x4.\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     PREV_MB_YD:             PREV_MB_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                 // 2 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }             // Block width and height (4x16)\r
-    \r
-//    mov (1)  MSGDSC  DWBRMSGDSC_RC+0x00020000+BI_DEST_Y:ud                   // Read 2 GRFs from DEST_Y\r
-    send (8) LEFT_TEMP_D(0)<1> MSGHDRL         MSGSRC<8;8,1>:ud        DAPREAD RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y     \r
-#endif\r
-\r
-\r
-#if defined(_FIELD) || defined(_MBAFF)\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w  // Get bottom field flag\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }             // Block width and height (4x16)\r
-    \r
-    // Set message descriptor, etc.\r
-    \r
-       (f0.0)  if      (1)             ILDB_LABEL(ELSE_Y_4x16T)\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y:ud                  // Read 2 GRFs from DEST_Y\r
-    \r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-    \r
-ILDB_LABEL(ELSE_Y_4x16T): \r
-       else    (1)             ILDB_LABEL(ENDIF_Y_4x16T)\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_BF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_TF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y top field\r
-\r
-       endif\r
-ILDB_LABEL(ENDIF_Y_4x16T):\r
-\r
-//    send (8) BUF_D(0)<1>     MSGHDRY MSGSRC<8;8,1>:ud        MSGDSC\r
-    send (8) LEFT_TEMP_D(0)<1> MSGHDRL         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-#endif\r
-\r
-//     Transpose 4x16 to 16x4\r
-\r
-//     Input received from dport:\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     Output of transpose:            <1>     <= <32;8,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-/*\r
-       // Transpose the data, also occupy 2 GRFs\r
-       mov (16)        PREV_MB_YB(0)<1>                        BUF_B(0, 0)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(0, 16)<1>            BUF_B(0, 1)<32;8,4>             { NoDDChk }\r
-       mov (16)        PREV_MB_YB(1)<1>                        BUF_B(0, 2)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(1, 16)<1>            BUF_B(0, 3)<32;8,4>             { NoDDChk }\r
-*/\r
-// End of load_Y_4x16T\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Left_Y_4x16T_Mbaff.asm
deleted file mode 100644 (file)
index 95f73a3..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: load_Y_4x16T.asm\r
-//\r
-// Load luma left MB 4x16 and transpose 4x16 to 16x4.\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     PREV_MB_YD:             PREV_MB_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                 // 2 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD0:w\r
-#endif\r
-\r
-    // FieldModeCurrentMbFlag determines how to access left MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w  // Get bottom field flag\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }             // Block width and height (4x16)\r
-    \r
-    // Set message descriptor, etc.\r
-    \r
-       (f0.0)  if      (1)             ELSE_Y_4x16T\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y:ud                  // Read 2 GRFs from DEST_Y\r
-    \r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-    \r
-ELSE_Y_4x16T: \r
-       else    (1)             ENDIF_Y_4x16T\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_BF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_TF+BI_DEST_Y:ud  // Read 2 GRFs from DEST_Y top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ENDIF_Y_4x16T:\r
-\r
-//    send (8) BUF_D(0)<1>     MSGHDRY MSGSRC<8;8,1>:ud        MSGDSC\r
-    send (8) LEFT_TEMP_D(0)<1> MSGHDRL         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-\r
-//     Transpose 4x16 to 16x4\r
-\r
-//     Input received from dport:\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-//     Output of transpose:            <1>     <= <32;8,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-/*\r
-       // Transpose the data, also occupy 2 GRFs\r
-       mov (16)        PREV_MB_YB(0)<1>                        BUF_B(0, 0)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(0, 16)<1>            BUF_B(0, 1)<32;8,4>             { NoDDChk }\r
-       mov (16)        PREV_MB_YB(1)<1>                        BUF_B(0, 2)<32;8,4>             { NoDDClr }\r
-       mov (16)        PREV_MB_YB(1, 16)<1>            BUF_B(0, 3)<32;8,4>             { NoDDChk }\r
-*/\r
-// End of load_Y_4x16T\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2.asm b/i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2.asm
deleted file mode 100644 (file)
index 844291f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Top_UV_8X2.Asm\r
-//\r
-// Load UV 8X2 Block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols ceed To be defined before including this module\r
-//\r
-//     Source Region Is :UB\r
-//     BUF_D:                  BUF_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=UD\r
-\r
-//     Binding Table Index: \r
-//     BI_SRC_UV:              Binding Table Index Of UV Surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD2:w\r
-#endif\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_TOP:w                                              { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_TOP:w                      1:w                     { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0001000F:ud                                   { NoDDChk }                     // NV12 U+V block width and height (16x2)\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-       //send (8) TOP_MB_UD(0)<1>      MSGHDRU         MSGSRC<8;8,1>:ud        RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV    \r
-       mov (1) MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV:ud \r
-#endif\r
-\r
-#if defined(_FIELD)\r
-\r
-//    cmp.z.f0.0 (1)  NULLREGW PicTypeC:w      0:w                                                     // Get pic type flag\r
-    and.nz.f0.1 (1)  NULLREGW  BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-       // They are used later in this file\r
-\r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_TOP:w                                              { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_TOP:w                      1:w                     { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0001000F:ud                                   { NoDDChk }                     // NV12 U+V block width and height (16x2)\r
-\r
-       // Load NV12 U+V \r
-       \r
-    // Set message descriptor\r
-    // Frame picture\r
-//    (f0.0) mov (1)   MSGDSC  DWBRMSGDSC_RC+0x00010000+BI_DEST_UV:ud                  // Read 1 GRF from SRC_UV\r
-//     (f0.0) jmpi             Load_Top_UV_8x2\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_BF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_TF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y top field\r
-\r
-//Load_Top_UV_8x2:\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-//     send (8) PREV_MB_UD(0)<1>       MSGHDRU         MSGSRC<8;8,1>:ud        MSGDSC  \r
-\r
-#endif\r
-\r
-       send (8) TOP_MB_UD(0)<1>        MSGHDRU         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC  \r
-               \r
-// End of load_Top_UV_8x2.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Top_UV_8x2_Mbaff.asm
deleted file mode 100644 (file)
index d60aa4e..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Top_UV_8X2.Asm\r
-//\r
-// Load UV 8X2 Block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols ceed To be defined before including this module\r
-//\r
-//     Source Region Is :UB\r
-//     BUF_D:                  BUF_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=UD\r
-\r
-//     Binding Table Index: \r
-//     BI_SRC_UV:              Binding Table Index Of UV Surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD2:w\r
-#endif\r
-\r
-    // FieldModeCurrentMbFlag determines how to access above MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w\r
-\r
-       // Read U+V\r
-    mov (1)    MSGSRC.0:ud             ORIX_TOP:w                                              { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:d              ORIY_TOP:w                      1:w                     { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0001000F:ud                                   { NoDDChk }                     // NV12 U+V block width and height (16x2)\r
-\r
-       // Load NV12 U+V \r
-       \r
-    // Set message descriptor\r
-    \r
-       (f0.0)  if      (1)             ELSE_UV_8X2\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+BI_DEST_UV:ud                 // Read 1 GRF from SRC_UV\r
-\r
-       // Add vertical offset 8 for bot MB in MBAFF mode\r
-       (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              8:w             \r
-    \r
-       // Dual field mode setup\r
-       and.z.f0.1 (1) NULLREGW         DualFieldMode:w         1:w\r
-       (f0.1) jmpi NOT_DUAL_FIELD_UV\r
-\r
-    add (1)    MSGSRC.1:d              MSGSRC.1:d              -2:w                    { NoDDClr }                     // Load 4 lines in stead of 2\r
-       mov (1) MSGSRC.2:ud             0x0003000F:ud                                   { NoDDChk }                     // New block width and height (16x8)\r
-\r
-       add (1) MSGDSC                  MSGDSC                  RESP_LEN(1):ud  // 1 more GRF to receive\r
-\r
-NOT_DUAL_FIELD_UV:    \r
-    \r
-ELSE_UV_8X2: \r
-       else    (1)             ENDIF_UV_8X2\r
-\r
-       // Field picture\r
-       asr (1) MSGSRC.1:d              ORIY_CUR:w              2:w                     // asr 1: NV12 U+V block origin y = half of Y comp\r
-                                                                                                               // asr 1: Reduce y by half in field access mode\r
-       \r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_BF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC_TF+BI_DEST_UV:ud  // Read 1 GRF from SRC_Y top field\r
-\r
-       add (1) MSGSRC.1:d              MSGSRC.1:d              -2:w                            // for last 2 rows of above MB\r
-\r
-       endif\r
-ENDIF_UV_8X2:\r
-\r
-       // Read 1 GRF from DEST surface as the above MB has been deblocked.\r
-       send (8) PREV_MB_UD(0)<1>       MSGHDRU MSGSRC<8;8,1>:ud        DAPREAD MSGDSC  \r
-\r
-// End of load_Top_UV_8x2.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4.asm b/i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4.asm
deleted file mode 100644 (file)
index 7590d62..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Y_16X4.asm\r
-//\r
-// Load Y 16X4 Block to PREV_MB_YD\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols Need To Be Defined Before Including This Module\r
-//\r
-//     Source Region In :Ud\r
-//     Src_YD:                 Src_Yd Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud                     // 3 Grfs (2 For Y, 1 For U+V)\r
-//\r
-//     Source Region Is :Ub.  The Same Region As :Ud Region\r
-//     Src_YB:                 Src_Yb Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub            // 2 Grfs\r
-//\r
-//     Binding Table Index: \r
-//     Bi_Src_Y:               Binding Table Index Of Y Surface\r
-//\r
-//     Temp Buffer:\r
-//     Buf_D:                  Buf_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud\r
-//     Buf_B:                  Buf_B Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD2:w\r
-#endif\r
-\r
-#if defined(_PROGRESSIVE) \r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w               { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                   { NoDDChk }             // Block width and height (16x4)\r
-\r
-    mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y:ud                  // Read 2 GRFs from SRC_Y\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-\r
-//    cmp.z.f0.0 (1)  NULLREGW         PicTypeC:w      0:w                                             // Get pic type flag\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-       // they are used later in this file\r
-       \r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w               { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                   { NoDDChk }             // Block width and height (16x4)\r
-   \r
-    // Set message descriptor\r
-\r
-    // Frame picture\r
-//     (f0.0) mov (1)  MSGDSC  DWBRMSGDSC_RC+0x00020000+BI_DEST_Y:ud                   // Read 2 GRFs from SRC_Y\r
-//     (f0.0) jmpi             load_Y_16x4\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_BF+BI_DEST_Y:ud  // Read 2 GRFs from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_TF+BI_DEST_Y:ud  // Read 2 GRFs from SRC_Y top field\r
-\r
-//load_Y_16x4:\r
-    // Read 2 GRFs from DEST surface, as the above MB has been deblocked\r
-//    send (8) PREV_MB_YD(0)<1>        MSGHDRY         MSGSRC<8;8,1>:ud        MSGDSC\r
-    \r
-#endif\r
-    \r
-    send (8) TOP_MB_YD(0)<1>   MSGHDRT         MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-           \r
-// End of load_Y_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/load_Top_Y_16x4_Mbaff.asm
deleted file mode 100644 (file)
index 0237882..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module Name: Load_Y_16X4.asm\r
-//\r
-// Load Y 16X4 Block to PREV_MB_YD\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols Need To Be Defined Before Including This Module\r
-//\r
-//     Source Region In :Ud\r
-//     Src_YD:                 Src_Yd Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud                     // 3 Grfs (2 For Y, 1 For U+V)\r
-//\r
-//     Source Region Is :Ub.  The Same Region As :Ud Region\r
-//     Src_YB:                 Src_Yb Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub            // 2 Grfs\r
-//\r
-//     Binding Table Index: \r
-//     Bi_Src_Y:               Binding Table Index Of Y Surface\r
-//\r
-//     Temp Buffer:\r
-//     Buf_D:                  Buf_D Base=Rxx Elementsize=4 Srcregion=Region(8,1) Type=Ud\r
-//     Buf_B:                  Buf_B Base=Rxx Elementsize=1 Srcregion=Region(16,1) Type=Ub\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD2:w\r
-#endif\r
-    // FieldModeCurrentMbFlag determines how to access above MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w   BotFieldFlag:w\r
-\r
-       // Read Y\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w               { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                   { NoDDChk }             // Block width and height (16x4)\r
-   \r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ELSE_Y_16x4\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC+BI_DEST_Y:ud                  // Read 2 GRFs from SRC_Y\r
-\r
-       // Add vertical offset 16 for bot MB in MBAFF mode\r
-       (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              16:w            \r
-       \r
-       // Dual field mode setup\r
-       and.z.f0.1 (1) NULLREGW         DualFieldMode:w         1:w\r
-       (f0.1) jmpi NOT_DUAL_FIELD\r
-\r
-    add (1)    MSGSRC.1:d              MSGSRC.1:d              -4:w    { NoDDClr }             // Load 8 lines in above MB\r
-       mov (1) MSGSRC.2:ud             0x0007000F:ud                   { NoDDChk }             // New block width and height (16x8)\r
-       \r
-       add (1) MSGDSC                  MSGDSC                  RESP_LEN(2):ud  // 2 more GRF to receive\r
-\r
-NOT_DUAL_FIELD:\r
-\r
-ELSE_Y_16x4: \r
-       else    (1)             ENDIF_Y_16x4\r
-\r
-       asr (1) MSGSRC.1:d              ORIY_CUR:w              1:w             // Reduce y by half in field access mode\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_BF+BI_DEST_Y:ud  // Read 2 GRFs from SRC_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  RESP_LEN(2)+DWBRMSGDSC_RC_TF+BI_DEST_Y:ud  // Read 2 GRFs from SRC_Y top field\r
-\r
-       add (1) MSGSRC.1:d              MSGSRC.1:d              -4:w    // for last 4 rows of above MB\r
-\r
-       endif\r
-ENDIF_Y_16x4:\r
-        \r
-    // Read 2 GRFs from DEST surface, as the above MB has been deblocked\r
-    send (8) PREV_MB_YD(0)<1>  MSGHDRY MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-// End of load_Y_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/saveNV12_16x16.asm b/i965_drv_video/shaders/h264/ildb/saveNV12_16x16.asm
deleted file mode 100644 (file)
index 1cbe27b..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: saveNV12_16x16.asm\r
-//\r
-// Save a NV12 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 4 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD4:w\r
-#endif\r
-\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w               // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud           // Block width and height (16x16)\r
-\r
-       // Pack Y    \r
-       mov     (16)    MSGPAYLOADD(0)<1>               SRC_YD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_YD(2)\r
-       mov (16)        MSGPAYLOADD(4)<1>               SRC_YD(4)\r
-       mov (16)        MSGPAYLOADD(6)<1>               SRC_YD(6)\r
-    \r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(8)+DWBWMSGDSC+BI_DEST_Y         // Write 8 GRFs\r
-\r
-\r
-\r
-    asr (1)    MSGSRC.1:ud             MSGSRC.1:ud                     1:w                                             // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2<1>:ud  0x0007000F:ud                                                           // NV12 U+V block width and height (16x8)\r
-\r
-       mov (16)        MSGPAYLOADD(0)<1>               SRC_UD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_UD(2)\r
-\r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(4)+DWBWMSGDSC+BI_DEST_UV                // Write 4 GRFs\r
-\r
-\r
-// End of saveNV12_16x16.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/saveNV12_16x4.asm b/i965_drv_video/shaders/h264/ildb/saveNV12_16x4.asm
deleted file mode 100644 (file)
index 3a99995..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: saveNV12_16x4.asm\r
-//\r
-// Save a NV12 16x4 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 2 GRFs\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 1 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD5:w\r
-#endif\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w                                                       // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                                                           // Block width and height (16x4)\r
-\r
-       // Pack Y    \r
-       mov     (16)    MSGPAYLOADD(0)<1>               SRC_YD(0)                                               // Compressed inst\r
-    \r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(2)+DWBWMSGDSC+BI_DEST_Y         // Write 2 GRFs\r
-\r
-\r
-    asr (1)    MSGSRC.1:ud             MSGSRC.1:ud                     1:w                                             // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2<1>:ud  0x0001000F:ud                                                           // NV12 U+V block width and height (16x2)\r
-\r
-       // Pack U and V\r
-//     mov (16)        MSGPAYLOADB(0,0)<2>             SRC_UB(0,0)\r
-//     mov (16)        MSGPAYLOADB(0,1)<2>             SRC_VB(0,0)\r
-       \r
-       mov (8) MSGPAYLOADD(0,0)<1>             SRC_UD(0)       \r
-       \r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(1)+DWBWMSGDSC+BI_DEST_UV        // Write 1 GRF\r
-\r
-// End of saveNV12_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/saveNV12_16x4T.asm b/i965_drv_video/shaders/h264/ildb/saveNV12_16x4T.asm
deleted file mode 100644 (file)
index 66085d1..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: saveNV12_16x4T.asm\r
-//\r
-// Transpose 16x4 to 4x16 YNV12 data and write to memory \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Left MB region:\r
-//     PREV_MB_YB:             Base=rxx        ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-//     PREV_MB_UW:     Base=ryy        ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//     Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=1 SrcRegion=REGION(8,1) Type=uw\r
-//\r
-//\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD6:w\r
-#endif\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   // 4x16\r
-    \r
-// Transpose Y, save them to MRFs\r
-\r
-//     16x4 Y src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//  First step         (16)    <1>     <=== <16;4,1>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 63 53 43 72 62 52 42 71 61 51 41 70 60 50 40 33 23 13 03 32 22 12 02 31 21 11 01 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 f2 e2 d2 c2 f1 e1 d1 c1 f0 e0 d0 c0 b3 a3 93 83 b2 a2 92 82 b1 a1 91 81 b0 a0 90 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-       // The first step\r
-       mov (16)        BUF_B(0,0)<1>                   PREV_MB_YB(0,0)<16;4,1>\r
-       mov (16)        BUF_B(0,16)<1>                  PREV_MB_YB(0,4)<16;4,1>\r
-       mov (16)        BUF_B(1,0)<1>                   PREV_MB_YB(0,8)<16;4,1>\r
-       mov (16)        BUF_B(1,16)<1>                  PREV_MB_YB(0,12)<16;4,1>\r
-\r
-//\r
-//  Second step                (16)    <1>     <=== <1;4,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-       // The second step\r
-//     mov     (16)    MSGPAYLOADB(0,0)<1>             BUF_B(0,0)<32;8,4>                      // Read 2 rows, write 1 row\r
-//     mov (16)        MSGPAYLOADB(0,16)<1>    BUF_B(0,1)<32;8,4>\r
-//     mov (16)        MSGPAYLOADB(1,0)<1>             BUF_B(0,2)<32;8,4>\r
-//     mov (16)        MSGPAYLOADB(1,16)<1>    BUF_B(0,3)<32;8,4>\r
-\r
-       mov     (16)    MSGPAYLOADB(0,0)<1>             BUF_B(0,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(0,16)<1>    BUF_B(0,16)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,0)<1>             BUF_B(1,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,16)<1>    BUF_B(1,16)<1;4,4>\r
-\r
-//  Transposed Y in 4x16 is ready for writting to dataport.\r
-//\r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(2)+DWBWMSGDSC+BI_DEST_Y                         // Write 2 GRFs\r
-\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-       // Transpose U/V, save them to MRFs in NV12 format\r
-    asr (1)    MSGSRC.1:ud             MSGSRC.1:ud                     1:w                                             // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2<1>:ud  0x00070003:ud                                                           // NV12 U+V block width and height (4x8)\r
-\r
-\r
-//     16x2 UV src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     First step              (8)             <1>     <=== <8;4,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 70 70 60 60 50 50 40 40 31 31 21 21 11 11 01 01 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) BUF_W(0,0)<1>           PREV_MB_UW(0,0)<8;4,1>\r
-       mov (8) BUF_W(0,8)<1>           PREV_MB_UW(0,4)<8;4,1>\r
-\r
-//     Second step             (8)             <1>     <=== <1;2,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) MSGPAYLOADW(0,0)<1>             BUF_W(0,0)<1;2,4>\r
-       mov (8) MSGPAYLOADW(0,8)<1>             BUF_W(0,8)<1;2,4>\r
-\r
-//  Transposed U+V in NV12 in 4x8 is ready for writting to dataport.\r
\r
-    send (8)   NULLREG MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSG_LEN(1)+DWBWMSGDSC+BI_DEST_UV                // Write 1 GRF\r
-    \r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8.asm b/i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8.asm
deleted file mode 100644 (file)
index 8959021..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Cur_UV_8x8.asm\r
-//\r
-// Save UV 8x8 block (8x8U + 8x8V in NV12)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 4 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD4:w\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-    mov (1)    MSGSRC.0:ud             ORIX_CUR:w                                      { NoDDClr }     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w                      1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0007000F:ud                           { NoDDChk }             // NV12 U+V block width and height (16x8)\r
-\r
-       mov (16)        MSGPAYLOADD(0)<1>               SRC_UD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_UD(2) \r
-       \r
-#if defined(_PROGRESSIVE) \r
-       mov (1)         MSGDSC  MSG_LEN(4)+DWBWMSGDSC+BI_DEST_UV:ud\r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00400000+BI_DEST_UV\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(4)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 4 GRFs to DEST_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(4)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 4 GRFs to DEST_UV top field\r
-\r
-#endif\r
-\r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_Cur_UV_8x8.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Cur_UV_8x8_Mbaff.asm
deleted file mode 100644 (file)
index 6f469ea..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Cur_UV_8x8.asm\r
-//\r
-// Save UV 8x8 block (8x8U + 8x8V in NV12)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 4 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD4:w\r
-#endif\r
-\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW        BitFields:w     BotFieldFlag:w\r
-\r
-    mov (1)    MSGSRC.0:ud             ORIX_CUR:w                                      { NoDDClr }     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_CUR:w                      1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0007000F:ud                           { NoDDChk }             // NV12 U+V block width and height (16x8)\r
-\r
-       mov (16)        MSGPAYLOADD(0)<1>               SRC_UD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_UD(2)\r
-\r
-    // Set message descriptor\r
-    \r
-       (f0.0)  if      (1)             ELSE_UV_8X8\r
-    \r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(4)+DWBWMSGDSC+BI_DEST_UV:ud                     // Write 4 GRFs to DEST_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d      MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-\r
-ELSE_UV_8X8: \r
-       else    (1)             ENDIF_UV_8X8\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(4)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 4 GRFs to DEST_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(4)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 4 GRFs to DEST_UV top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ENDIF_UV_8X8:\r
-    \r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_Cur_UV_8x8.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16.asm b/i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16.asm
deleted file mode 100644 (file)
index 0178b01..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Cur_Y_16x16.asm\r
-//\r
-// Save a Y 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD4:w\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w       { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud           { NoDDChk }             // Block width and height (16x16)\r
-\r
-       // Pack Y    \r
-       mov     (16)    MSGPAYLOADD(0)<1>               SRC_YD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_YD(2)       \r
-       mov (16)        MSGPAYLOADD(4)<1>               SRC_YD(4)       \r
-       mov (16)        MSGPAYLOADD(6)<1>               SRC_YD(6)       \r
-    \r
-\r
-#if defined(_PROGRESSIVE) \r
-       mov (1) MSGDSC  MSG_LEN(8)+DWBWMSGDSC+BI_DEST_Y:ud      \r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00800000+BI_DEST_Y\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y top field\r
-\r
-#endif\r
-\r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-       \r
-// End of save_Cur_Y_16x16.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Cur_Y_16x16_Mbaff.asm
deleted file mode 100644 (file)
index 6ab78dc..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Cur_Y_16x16.asm\r
-//\r
-// Save a Y 16x16 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 8 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD4:w\r
-#endif\r
-\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_CUR<2;2,1>:w               { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F000F:ud                   { NoDDChk }             // Block width and height (16x16 or 12x16)\r
-\r
-       // Pack Y    \r
-       mov     (16)    MSGPAYLOADD(0)<1>               SRC_YD(0)               // Compressed inst\r
-       mov (16)        MSGPAYLOADD(2)<1>               SRC_YD(2)\r
-       mov (16)        MSGPAYLOADD(4)<1>               SRC_YD(4)\r
-       mov (16)        MSGPAYLOADD(6)<1>               SRC_YD(6)\r
-    \r
-    // Set message descriptor\r
-\r
-       (f0.0)  if      (1)             ELSE_Y_16x16\r
-    \r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(8)+DWBWMSGDSC+BI_DEST_Y:ud                      // Write 8 GRFs to DEST_Y\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-\r
-ELSE_Y_16x16: \r
-       else    (1)             ENDIF_Y_16x16\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(8)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 8 GRFs to DEST_Y top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ENDIF_Y_16x16:\r
-    \r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_Cur_Y_16x16.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T.asm b/i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T.asm
deleted file mode 100644 (file)
index 172002e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Left_UV_8x2T.asm\r
-//\r
-// Transpose 8x2 to 2x8 UV data and write to memory \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Left MB region:\r
-//     PREV_MB_UW:     Base=ryy        ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-\r
-//     Binding table index: \r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//     Temp buffer:\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=1 SrcRegion=REGION(8,1) Type=uw\r
-//\r
-//\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD6:w\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1)  NULLREGW  BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-       // Transpose U/V, save them to MRFs in NV12 format\r
-    mov (1)    MSGSRC.0:ud             ORIX_LEFT:w                                             { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_LEFT:w                     1:w                     { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                                   { NoDDChk }                     // NV12 U+V block width and height (4x8)\r
-\r
-\r
-//     16x2 UV src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     First step              (8)             <1>     <=== <8;4,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 70 70 60 60 50 50 40 40 31 31 21 21 11 11 01 01 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) LEFT_TEMP_W(0,0)<1>             PREV_MB_UW(0,0)<8;4,1>          { NoDDClr }\r
-       mov (8) LEFT_TEMP_W(0,8)<1>             PREV_MB_UW(0,4)<8;4,1>          { NoDDChk }\r
-\r
-//     Second step             (8)             <1>     <=== <1;2,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) MSGPAYLOADW(0,0)<1>             LEFT_TEMP_W(0,0)<1;2,4>\r
-       mov (8) MSGPAYLOADW(0,8)<1>             LEFT_TEMP_W(0,8)<1;2,4>\r
-\r
-//  Transposed U+V in NV12 in 4x8 is ready for writting to dataport.\r
\r
-#if defined(_PROGRESSIVE) \r
-       mov (1) MSGDSC  MSG_LEN(1)+DWBWMSGDSC+BI_DEST_UV:ud\r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00100000+BI_DEST_UV\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(1)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 1 GRF to DEST_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 1 GRF to DEST_UV top field\r
-\r
-#endif\r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Left_UV_8x2T_Mbaff.asm
deleted file mode 100644 (file)
index f98b311..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Left_UV_8x2T.asm\r
-//\r
-// Transpose 8x2 to 2x8 UV data and write to memory \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Left MB region:\r
-//     PREV_MB_UW:     Base=ryy        ElementSize=2 SrcRegion=REGION(8,1) Type=uw\r
-\r
-//     Binding table index: \r
-//     BI_SRC_UV:              Binding table index of UV surface (NV12)\r
-//\r
-//     Temp buffer:\r
-//     BUF_W:                  BUF_W Base=rxx ElementSize=1 SrcRegion=REGION(8,1) Type=uw\r
-//\r
-//\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD6:w\r
-#endif\r
-\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-   \r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w\r
-\r
-       // Transpose U/V, save them to MRFs in NV12 format\r
-    mov (1)    MSGSRC.0:ud             ORIX_LEFT:w                                     { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_LEFT:w                     1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud                           { NoDDChk }                             // NV12 U+V block width and height (4x8)\r
-\r
-\r
-//     16x2 UV src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 31 31 21 21 11 11 01 01 70 70 60 60 50 50 40 40 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//     First step              (8)             <1>     <=== <8;4,1>:w\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 61 61 51 51 41 41 70 70 60 60 50 50 40 40 31 31 21 21 11 11 01 01 30 30 20 20 10 10 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) BUF_W(0,0)<1>           PREV_MB_UW(0,0)<8;4,1>  { NoDDClr }\r
-       mov (8) BUF_W(0,8)<1>           PREV_MB_UW(0,4)<8;4,1>  { NoDDChk }\r
-\r
-//     Second step             (8)             <1>     <=== <1;2,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |71 71 70 70 61 61 60 60 51 51 50 50 41 41 40 40 31 31 30 30 21 21 20 20 11 11 10 10 01 01 00 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-       mov (8) MSGPAYLOADW(0,0)<1>             BUF_W(0,0)<1;2,4>\r
-       mov (8) MSGPAYLOADW(0,8)<1>             BUF_W(0,8)<1;2,4>\r
-\r
-//  Transposed U+V in NV12 in 4x8 is ready for writting to dataport.\r
\r
-    // Set message descriptor\r
-    \r
-       (f0.0)  if      (1)             ELSE_UV_8X2T\r
-    \r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC+BI_DEST_UV:ud                     // Write 1 GRF to DEST_UV\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              8:w             // Add vertical offset 8 for bot MB in MBAFF mode\r
-\r
-ELSE_UV_8X2T: \r
-       else    (1)             ENDIF_UV_8X2T\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(1)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 1 GRF to DEST_UV bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 1 GRF to DEST_UV top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ENDIF_UV_8X2T:\r
-\r
-    send (8)   null:ud         MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T.asm b/i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T.asm
deleted file mode 100644 (file)
index 84d81e9..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Left_Y_16x4T.asm\r
-//\r
-// Transpose 16x4 to 4x16 Y data and write to memory \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Left MB region:\r
-//     PREV_MB_YB:             Base=rxx        ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//     Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-//\r
-//\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD6:w\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }             // 4x16\r
-    \r
-// Transpose Y, save them to MRFs\r
-\r
-//     16x4 Y src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//  First step         (16)    <1>     <=== <16;4,1>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 63 53 43 72 62 52 42 71 61 51 41 70 60 50 40 33 23 13 03 32 22 12 02 31 21 11 01 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 f2 e2 d2 c2 f1 e1 d1 c1 f0 e0 d0 c0 b3 a3 93 83 b2 a2 92 82 b1 a1 91 81 b0 a0 90 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-       // The first step\r
-       mov (16)        LEFT_TEMP_B(0,0)<1>                     PREV_MB_YB(0,0)<16;4,1>         { NoDDClr }     \r
-       mov (16)        LEFT_TEMP_B(0,16)<1>            PREV_MB_YB(0,4)<16;4,1>         { NoDDChk }\r
-       mov (16)        LEFT_TEMP_B(1,0)<1>                     PREV_MB_YB(0,8)<16;4,1>         { NoDDClr }\r
-       mov (16)        LEFT_TEMP_B(1,16)<1>            PREV_MB_YB(0,12)<16;4,1>        { NoDDChk }\r
-\r
-//\r
-//  Second step                (16)    <1>     <=== <1;4,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-       // The second step\r
-       mov     (16)    MSGPAYLOADB(0,0)<1>             LEFT_TEMP_B(0,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(0,16)<1>    LEFT_TEMP_B(0,16)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,0)<1>             LEFT_TEMP_B(1,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,16)<1>    LEFT_TEMP_B(1,16)<1;4,4>\r
-\r
-//  Transposed Y in 4x16 is ready for writting to dataport.\r
-\r
-\r
-#if defined(_PROGRESSIVE) \r
-       mov (1) MSGDSC  MSG_LEN(2)+DWBWMSGDSC+BI_DEST_Y:ud\r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00200000+BI_DEST_Y\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(2)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y top field\r
-\r
-#endif\r
-\r
-    send (8)   null:ud         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Left_Y_16x4T_Mbaff.asm
deleted file mode 100644 (file)
index 977ad4f..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Left_Y_16x4T.asm\r
-//\r
-// Transpose 16x4 to 4x16 Y data and write to memory \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Left MB region:\r
-//     PREV_MB_YB:             Base=rxx        ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-\r
-//     Binding table index: \r
-//     BI_SRC_Y:               Binding table index of Y surface\r
-//\r
-//     Temp buffer:\r
-//     BUF_B:                  BUF_B Base=rxx ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-//\r
-//\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD6:w\r
-#endif\r
-\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    and.nz.f0.1 (1)    NULLREGW                BitFields:w     BotFieldFlag:w\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_LEFT<2;2,1>:w              { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x000F0003:ud                   { NoDDChk }             // 4x16\r
-    \r
-// Transpose Y, save them to MRFs\r
-\r
-//     16x4 Y src in GRF (each pix is specified as yx)\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f1 e1 d1 c1 b1 a1 91 81 71 61 51 41 31 21 11 01 f0 e0 d0 c0 b0 a0 90 80 70 60 50 40 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 b3 a3 93 83 73 63 53 43 33 23 13 03 f2 e2 d2 c2 b2 a2 92 82 72 62 52 42 32 22 12 02|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-//  First step         (16)    <1>     <=== <16;4,1>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 63 53 43 72 62 52 42 71 61 51 41 70 60 50 40 33 23 13 03 32 22 12 02 31 21 11 01 30 20 10 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 e3 d3 c3 f2 e2 d2 c2 f1 e1 d1 c1 f0 e0 d0 c0 b3 a3 93 83 b2 a2 92 82 b1 a1 91 81 b0 a0 90 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-\r
-       // The first step\r
-       mov (16)        BUF_B(0,0)<1>                   PREV_MB_YB(0,0)<16;4,1>         { NoDDClr }\r
-       mov (16)        BUF_B(0,16)<1>                  PREV_MB_YB(0,4)<16;4,1>         { NoDDChk }\r
-       mov (16)        BUF_B(1,0)<1>                   PREV_MB_YB(0,8)<16;4,1>         { NoDDClr }\r
-       mov (16)        BUF_B(1,16)<1>                  PREV_MB_YB(0,12)<16;4,1>        { NoDDChk }     \r
-\r
-//\r
-//  Second step                (16)    <1>     <=== <1;4,4>\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |73 72 71 70 63 62 61 60 53 52 51 50 43 42 41 40 33 32 31 30 23 22 21 20 13 12 11 10 03 02 01 00|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//     |f3 f2 f1 f0 e3 e2 e1 e0 d3 d2 d1 d0 c3 c2 c1 c0 b3 b2 b1 b0 a3 a2 a1 a0 93 92 91 90 83 82 81 80|\r
-//     +-----------------------+-----------------------+-----------------------+-----------------------+\r
-//\r
-       // The second step\r
-       mov     (16)    MSGPAYLOADB(0,0)<1>             BUF_B(0,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(0,16)<1>    BUF_B(0,16)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,0)<1>             BUF_B(1,0)<1;4,4>\r
-       mov (16)        MSGPAYLOADB(1,16)<1>    BUF_B(1,16)<1;4,4>\r
-\r
-//  Transposed Y in 4x16 is ready for writting to dataport.\r
-\r
-       //***** Left MB is loaded the same as indicated by FieldModeCurrentMbFlag.\r
-\r
-    // Set message descriptor\r
\r
-       (f0.0)  if      (1)             ELSE_Y_16x4T\r
-    \r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC+BI_DEST_Y:ud                      // Write 2 GRFs to DEST_Y\r
-\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            // Add vertical offset 16 for bot MB in MBAFF mode\r
-\r
-ELSE_Y_16x4T: \r
-       else    (1)             ENDIF_Y_16x4T\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(2)+DWBWMSGDSC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y top field\r
-\r
-       asr (1) MSGSRC.1:d              MSGSRC.1:d              1:w                                     // Reduce y by half in field access mode\r
-\r
-       endif\r
-ENDIF_Y_16x4T:\r
-\r
-    send (8)   null:ud         MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2.asm b/i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2.asm
deleted file mode 100644 (file)
index 5263c35..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Top_UV_8x2.asm\r
-//\r
-// Save UV 8x2 block (8x2U + 8x2V in NV12)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 1 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD5:w\r
-#endif\r
-       \r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-    mov (1)    MSGSRC.0:ud             ORIX_TOP:w                                      { NoDDClr }                             // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_TOP:w                      1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0001000F:ud                           { NoDDChk }                             // NV12 U+V block width and height (16x2)\r
-\r
-       mov (8) MSGPAYLOADD(0,0)<1>             TOP_MB_UD(0)    \r
-       \r
-\r
-#if defined(_PROGRESSIVE) \r
-       mov (1) MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+BI_DEST_UV:ud\r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00100000+BI_DEST_UV\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 1 GRF to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 1 GRF to DEST_Y top field\r
-\r
-#endif\r
-\r
-    send (8)   WritebackResponse(0)<1>         MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-// End of save_Top_UV_8x2.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Top_UV_8x2_Mbaff.asm
deleted file mode 100644 (file)
index ef2ba84..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Top_UV_8x2.asm\r
-//\r
-// Save UV 8x2 block (8x2U + 8x2V in NV12)\r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_UD:                 SRC_UD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 1 GRF\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_UV:             Binding table index of UV surface (NV12)\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD5:w\r
-#endif\r
-       and.z.f0.1 (8) NULLREGW         DualFieldMode<0;1,0>:w          1:w\r
-\r
-    // FieldModeCurrentMbFlag determines how to access above MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-    \r
-       // Pack U and V\r
-    mov (1)    MSGSRC.0:ud             ORIX_TOP:w                                      { NoDDClr }                     // Block origin\r
-    asr (1)    MSGSRC.1:ud             ORIY_TOP:w                      1:w             { NoDDClr, NoDDChk }    // NV12 U+V block origin y = half of Y comp\r
-    mov (1)    MSGSRC.2:ud             0x0001000F:ud                           { NoDDChk }                             // NV12 U+V block width and height (16x2)\r
-\r
-       // Dual field mode\r
-       (f0.1) mov (8)  MSGPAYLOADD(0)<1>               PREV_MB_UD(0)\r
-    (-f0.1) mov (8) MSGPAYLOADD(0)<1>          PREV_MB_UD(1)   // for dual field mode, write last 2 rows\r
-       \r
-    // Set message descriptor\r
-\r
-    and.nz.f0.1 (1) NULLREGW           BitFields:w   BotFieldFlag:w\r
-    \r
-       (f0.0)  if      (1)             ELSE_UV_8X2_SAVE\r
-\r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+BI_DEST_UV:ud                  // Write 1 GRFs to DEST_UV\r
-\r
-       // Add vertical offset 8 for bot MB in MBAFF mode\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              8:w             \r
-\r
-ELSE_UV_8X2_SAVE: \r
-       else    (1)             ENDIF_UV_8X2_SAVE\r
-\r
-       asr (1) MSGSRC.1:d              ORIY_CUR:w              2:w                     // asr 1: NV12 U+V block origin y = half of Y comp\r
-                                                                                                               // asr 1: Reduce y by half in field access mode\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+ENMSGDSCBF+BI_DEST_UV:ud  // Write 1 GRF to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(1)+DWBWMSGDSC_WC+ENMSGDSCTF+BI_DEST_UV:ud  // Write 1 GRF to DEST_Y top field\r
-\r
-       add (1) MSGSRC.1:d              MSGSRC.1:d              -2:w            // for last 4 rows of above MB\r
-\r
-       endif\r
-ENDIF_UV_8X2_SAVE:\r
-\r
-    send (8)   WritebackResponse(0)<1>         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_Top_UV_8x2.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4.asm b/i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4.asm
deleted file mode 100644 (file)
index 8889087..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Top_Y_16x4.asm\r
-//\r
-// Save a Y 16x4 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 2 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD5:w\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-    and.nz.f0.1 (1) NULLREGW   BitFields:w     BotFieldFlag:w                  // Get bottom field flag\r
-#endif\r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w                       { NoDDClr }             // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                           { NoDDChk }             // Block width and height (16x4)\r
-\r
-       // Pack Y    \r
-       mov     (16)    MSGPAYLOADD(0)<1>               TOP_MB_YD(0)                                    // Compressed inst\r
-    \r
-\r
-#if defined(_PROGRESSIVE) \r
-       mov (1) MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+BI_DEST_Y:ud\r
-//    send (8) NULLREG         MSGHDR          MSGSRC<8;8,1>:ud        DWBWMSGDSC+0x00200000+BI_DEST_Y\r
-#endif\r
-\r
-#if defined(_FIELD)\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y top field\r
-\r
-#endif\r
-\r
-    send (8)   WritebackResponse(0)<1>         MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-// End of save_Top_Y_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4_Mbaff.asm b/i965_drv_video/shaders/h264/ildb/save_Top_Y_16x4_Mbaff.asm
deleted file mode 100644 (file)
index d8bb9a7..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_Top_Y_16x4.asm\r
-//\r
-// Save a Y 16x4 block \r
-//\r
-//----------------------------------------------------------------\r
-//  Symbols need to be defined before including this module\r
-//\r
-//     Source region in :ud\r
-//     SRC_YD:                 SRC_YD Base=rxx ElementSize=4 SrcRegion=REGION(8,1) Type=ud                     // 2 GRFs\r
-//\r
-//     Binding table index: \r
-//     BI_DEST_Y:              Binding table index of Y surface\r
-//\r
-//----------------------------------------------------------------\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0xDDD5:w\r
-#endif\r
-\r
-       and.z.f0.1 (16) NULLREGW                DualFieldMode<0;1,0>:w          1:w\r
-\r
-    // FieldModeCurrentMbFlag determines how to access above MB\r
-       and.z.f0.0 (1)  null:w          r[ECM_AddrReg, BitFlags]:ub             FieldModeCurrentMbFlag:w                \r
-\r
-    mov (2)    MSGSRC.0<1>:ud  ORIX_TOP<2;2,1>:w               { NoDDClr }                     // Block origin\r
-    mov (1)    MSGSRC.2<1>:ud  0x0003000F:ud                   { NoDDChk }                     // Block width and height (16x4)\r
-\r
-       // Pack Y\r
-       // Dual field mode\r
-       (f0.1) mov      (16) MSGPAYLOADD(0)<1>          PREV_MB_YD(0)                           // Compressed inst\r
-    (-f0.1)  mov (16) MSGPAYLOADD(0)<1>                PREV_MB_YD(2)                           // for dual field mode, write last 4 rows\r
-    \r
-    // Set message descriptor\r
-\r
-    and.nz.f0.1 (1) NULLREGW           BitFields:w   BotFieldFlag:w\r
-\r
-       (f0.0)  if      (1)             ELSE_Y_16x4_SAVE\r
-    \r
-    // Frame picture\r
-    mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+BI_DEST_Y:ud                   // Write 2 GRFs to DEST_Y\r
-\r
-       // Add vertical offset 16 for bot MB in MBAFF mode\r
-       (f0.1) add (1)  MSGSRC.1:d              MSGSRC.1:d              16:w            \r
-\r
-ELSE_Y_16x4_SAVE: \r
-       else    (1)             ENDIF_Y_16x4_SAVE\r
-\r
-       asr (1) MSGSRC.1:d              ORIY_CUR:w              1:w                                     // Reduce y by half in field access mode\r
-\r
-       // Field picture\r
-    (f0.1) mov (1)     MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+ENMSGDSCBF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y bottom field\r
-    (-f0.1) mov (1)    MSGDSC  MSG_LEN(2)+DWBWMSGDSC_WC+ENMSGDSCTF+BI_DEST_Y:ud  // Write 2 GRFs to DEST_Y top field\r
-\r
-       add (1) MSGSRC.1:d              MSGSRC.1:d              -4:w    // for last 4 rows of above MB\r
-\r
-       endif\r
-ENDIF_Y_16x4_SAVE:\r
-    \r
-    send (8)   WritebackResponse(0)<1>         MSGHDR          MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_Top_Y_16x4.asm\r
diff --git a/i965_drv_video/shaders/h264/ildb/writeURB.asm b/i965_drv_video/shaders/h264/ildb/writeURB.asm
deleted file mode 100644 (file)
index 328d4d4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: WriteURB.asm\r
-//\r
-// General purpose module to write data to URB using the URB handle/offset in r0\r
-//\r
-//----------------------------------------------------------------\r
-//     Assume:\r
-//     - a0.0 and a0.1 is meg desc, has been assign with URB offset and msg size\r
-//     - MRFs are alrady assigned with data.\r
-//----------------------------------------------------------------\r
-//\r
-//  16x16 byte pixel block can be saved using just 1 "send" instruction.\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignature:w                        0x3535:w\r
-#endif\r
-\r
-// URB write header:\r
-//mov (8) MSGSRC.0:ud  r0.0<8;8,1>:ud                  // Copy parent R0 header\r
-\r
-//shr (1)      Temp2_W:uw      URBOffset:uw    1:w     // divide by 2, because URB entry is counted by 512bits.  Offset is counted by 256bits.\r
-//add (1) MSGSRC.0:uw          r0.0:uw         Temp2_W:uw      \r
-\r
-\r
-shr (1)        MSGSRC.0:uw             URBOffset:uw    1:w     // divide by 2, because URB entry is counted by 512bits.  Offset is counted by 256bits.\r
-//mov (1)      MSGSRC.0:uw             URBOffset_2:uw\r
-\r
-//mov (1) MSGSRC.1:ud  0:ud                                    // Reset Handle 1\r
-\r
-send  null:uw  m0        MSGSRC<8;8,1>:uw              URBWRITE        URBWriteMsgDesc:ud // URB write\r
-//send  null:ud        MRF0     null:ud        URBWriteMsgDesc:ud              // URB write    \r
diff --git a/i965_drv_video/shaders/h264/ildb/writeURB_UV_Child.asm b/i965_drv_video/shaders/h264/ildb/writeURB_UV_Child.asm
deleted file mode 100644 (file)
index cbb942d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: WriteURB_Child.asm\r
-//\r
-// General purpose module to write data to URB using the URB handle/offset in r0\r
-//\r
-//----------------------------------------------------------------\r
-//     Assume:\r
-//     - a0.0 and a0.1 is meg desc, has been assign with URB offset and msg size\r
-//     - MRFs are alrady assigned with data.\r
-//----------------------------------------------------------------\r
-//\r
-//  16x16 byte pixel block can be saved using just 1 "send" instruction.\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x3535:w\r
-#endif\r
-\r
-// URB write header:\r
-//mov (8) MSGSRC.0:ud  r0.0<8;8,1>:ud                  // Copy parent R0 header\r
-\r
-//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
-//add (1) MSGSRC.0:uw          r0.0:uw         Temp2_W:uw      \r
-\r
-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
-\r
-//mov (1) MSGSRC.1:ud  0:ud                                    // Reset Handle 1\r
-\r
-       // URB write 1 MRFs, \r
-       // Current MB offset is in URBOffset, use it as write origin\r
-       // Add 2 to offset to store data be be passed to the right MB\r
-\r
-send  null:uw  m0        MSGSRC<8;8,1>:uw              URBWRITE        MSG_LEN(1)+URBWMSGDSC+0x20 // URB write\r
diff --git a/i965_drv_video/shaders/h264/ildb/writeURB_Y_Child.asm b/i965_drv_video/shaders/h264/ildb/writeURB_Y_Child.asm
deleted file mode 100644 (file)
index 9559bda..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: WriteURB_Child.asm\r
-//\r
-// General purpose module to write data to URB using the URB handle/offset in r0\r
-//\r
-//----------------------------------------------------------------\r
-//     Assume:\r
-//     - a0.0 and a0.1 is meg desc, has been assign with URB offset and msg size\r
-//     - MRFs are alrady assigned with data.\r
-//----------------------------------------------------------------\r
-//\r
-//  16x16 byte pixel block can be saved using just 1 "send" instruction.\r
-\r
-#if defined(_DEBUG) \r
-       mov             (1)             EntrySignatureC:w                       0x3535:w\r
-#endif\r
-\r
-// URB write header:\r
-//mov (8) MSGSRC.0:ud  r0.0<8;8,1>:ud                  // Copy parent R0 header\r
-\r
-//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
-//add (1) MSGSRC.0:uw          r0.0:uw         Temp2_W:uw      \r
-\r
-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
-\r
-//mov (1) MSGSRC.1:ud  0:ud                                    // Reset Handle 1\r
-\r
-       // URB write 2 MRFs, \r
-       // Current MB offset is in URBOffset, use it as write origin\r
-       // Add 2 to offset to store data be be passed to the right MB\r
-       //mov (1) URBWriteMsgDesc:ud            0x06300020:ud\r
-\r
-send  null:uw  m0        MSGSRC<8;8,1>:uw              URBWRITE        MSG_LEN(2)+URBWMSGDSC+0x20 // URB write\r
diff --git a/i965_drv_video/shaders/h264/mc/AVCMCInter.asm b/i965_drv_video/shaders/h264/mc/AVCMCInter.asm
deleted file mode 100644 (file)
index 691fb33..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/*\r
- * All inter-prediction macroblock kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: AVCMCInter.asm\r
-\r
-#ifdef INTERLABEL\r
-#undef INTERLABEL\r
-#endif\r
-\r
-#if defined(MBAFF)\r
-//                             < MBaff_Motion >\r
-#define INTERLABEL(x)  x##_##MBF\r
-#elif defined(FIELD)\r
-//                             < FieldMB_Motion >\r
-#define INTERLABEL(x)  x##_##FLD\r
-#else // FRAME\r
-//                             < FrameMB_Motion >\r
-#define INTERLABEL(x)  x##_##FRM\r
-#endif\r
-//\r
-// Decoding an inter-prediction macroblock (conditional compile)\r
-//     -DMBAFF : MBAff picture MB\r
-//     -DFRAME : Frame picture MB\r
-//     -DFIELD : Field picture MB\r
-//     -DMBAFF -DMONO : MBAff mono picture MB\r
-//     -DFRAME -DMONO : Frame mono picture MB\r
-//     -DFIELD -DMONO : Field mono picture MB\r
-\r
-\r
-//#if !defined(__AVCMCInter__)         // Make sure this is only included once\r
-//#define __AVCMCInter__\r
-\r
-\r
-// TODO: header files need to be in sync with intra prediction\r
-#include "header.inc"\r
-#include "inter_Header.inc"\r
-\r
-// TODO: Kernel names for mono cases\r
-#if defined(MBAFF)\r
-.kernel MBAff_Motion\r
-MBAFF_MB:\r
-#elif defined(FIELD)\r
-.kernel FieldMB_Motion\r
-FIELD_MB:\r
-#else // Frame\r
-.kernel FrameMB_Motion\r
-FRAME_MB:\r
-#endif\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-#if defined(MBAFF)\r
-mov (1) acc0:ud 0x0aaa55a5:ud\r
-#elif defined(FIELD)\r
-mov (1) acc0:ud 0x0baa55a5:ud\r
-#else // Frame\r
-mov (1) acc0:ud 0x0caa55a5:ud\r
-#endif\r
-#endif\r
-\r
-\r
-#ifdef SW_SCOREBOARD\r
-    CALL(scoreboard_start_inter,1)\r
-#endif\r
-\r
-       mov (8)         gMSGSRC<1>:ud           r0.0<8;8,1>:ud          // Initialize message header payload with R0\r
-       \r
-       and (1)         gwMBTYPE<1>                     gMBTYPE:ub                                              nMBTYPE_MASK:w          // MB type\r
-       shl (2)         gX<1>:w                         gORIX<2;2,1>:ub                                 4:w // Convert MB origin to pixel unit\r
-       \r
-//     #include "process_inter16x16.asm"                                       // Handle B_L0_16x16 case with zero MVs and weighted pred off.\r
-       // In the case of B_L0_16x16 with zero MVs and weighted pred off, the kernel jumps to INTERLABEL(EXIT_LOOP).\r
-       \r
-INTERLABEL(INIT_MBPARA):\r
-       #include "initialize_MBPara.asm"\r
-       \r
-       \r
-    //========================= BEGIN - LOOP_SUBMB ===========================\r
-       mov (1)         gLOOP_SUBMB:uw          0:uw                            // 0, 2, 4, 6\r
-INTERLABEL(LOOP_SUBMB):\r
-\r
-       //========================== BEGIN - LOOP_DIR ============================\r
-       // Prediction flag (gPREDFLAG - 0:Pred_L0, 1:Pred_L1, 2:BiPred)\r
-       asr (1)         gPREDFLAG:w                     gSUBMB_MODE:ub                                  gLOOP_SUBMB:uw\r
-       mov (1)         gLOOP_DIR:uw            1:uw                            // 1, 0\r
-       and (1)         gPREDFLAG:w                     gPREDFLAG:w                                             0x3:w\r
-INTERLABEL(LOOP_DIR):\r
-\r
-       cmp.e.f0.0 (1) null:w                   gLOOP_DIR:w                                             gPREDFLAG:w     \r
-       (f0.0) jmpi     INTERLABEL(LOOP_DIR_CONTINUE)   \r
-       \r
-    // Get binding table index \r
-    // & reference picture parity (gREFPARITY - 0:top, 0x100:bottom, x:frame)\r
-    // & address of interpolation result\r
-    cmp.e.f0.1 (1) null:w                      gLOOP_DIR:w                                             1:w\r
-    (f0.1) mov (1)             gpINTP:ud                       nOFFSET_INTP0:ud                                                {NoDDClr} //\r
-    (f0.1) and (1)             gBIDX:w                         r[pBIDX]:ub                                             0x7f:w  {NoDDChk} //\r
-    (-f0.1) mov (1)            gpINTP:ud                       nOFFSET_INTP1:ud                                                {NoDDClr} //\r
-       (-f0.1) and (1)         gBIDX:w                         r[pBIDX,4]:ub                                   0x7f:w  {NoDDChk} //\r
-#if defined(MBAFF) || defined(FIELD)\r
-    (f0.1) and (1)             gREFPARITY:w                            r[pBIDX]:ub                                             0x80:w\r
-    (-f0.1) and (1)            gREFPARITY:w                            r[pBIDX,4]:ub                                   0x80:w\r
-    shl (1)            gREFPARITY:w            gREFPARITY<0;1,0>:w                             1:w\r
-#endif\r
-\r
-       // Sub MB shape\r
-       asr (1)         gSHAPETEMP:w            gSUBMB_SHAPE:ub                                 gLOOP_SUBMB:w\r
-       \r
-    // Chroma MV adjustment & Set message descriptor for frame/field read\r
-#if defined(MBAFF)\r
-       #include "chromaMVAdjust.asm" \r
-    and.nz.f0.0 (1) null:uw                    gFIELDMBFLAG:ub                                 nFIELDMB_MASK:uw\r
-    (f0.0) add (1) gD0:ud                      gBIDX:uw                                                nDWBRMSGDSC_SC_TF:ud\r
-    (-f0.0) add (1)    gMSGDSC_R:ud    gBIDX:uw                                                nDWBRMSGDSC_SC:ud\r
-    (f0.0) add (1) gMSGDSC_R:ud                gD0:ud                                                  gREFPARITY:uw\r
-#elif defined(FIELD)\r
-       #include "chromaMVAdjust.asm" \r
-    add (1)            gMSGDSC_R:ud            gBIDX:uw                                                nDWBRMSGDSC_SC_TF:ud\r
-    add (1)            gMSGDSC_R:ud            gMSGDSC_R:ud                                    gREFPARITY:uw\r
-#else // FRAME\r
-       add (1)         gMSGDSC_R:ud            gBIDX:uw                                                nDWBRMSGDSC_SC:ud\r
-#endif\r
-\r
-       and.nz.f0.1 (1) null:w                  gSHAPETEMP:w                                    3:w     \r
-       (f0.1) jmpi INTERLABEL(PROCESS4x4)\r
-       \r
-       //======================== BEGIN - PROCESS 8x8 ===========================\r
-       \r
-       // Reference block load\r
-       #include "loadRef_Y_16x13.asm"\r
-#ifndef MONO\r
-#if defined(MBAFF) || defined(FIELD)\r
-       add (1)         r[pMV,2]:w                      r[pMV,2]:w                                              gCHRMVADJ:w\r
-#endif\r
-       #include "loadRef_C_10x5.asm"\r
-#endif\r
-\r
-       // Interpolation\r
-       //CALL_INTER(INTERLABEL(Interpolate_Y_8x8_Func), 1)\r
-       #include "interpolate_Y_8x8.asm"\r
-#ifndef MONO\r
-       //CALL_INTER(INTERLABEL(Interpolate_C_4x4_Func), 1)\r
-       #include "interpolate_C_4x4.asm"\r
-#endif\r
-\r
-       jmpi INTERLABEL(ROUND_SHIFT_C)\r
-       //========================= END - PROCESS 8x8 ============================\r
-       \r
-       //======================== BEGIN - LOOP_SUBMBPT ==========================\r
-INTERLABEL(PROCESS4x4):\r
-\r
-       mov (1)         gLOOP_SUBMBPT:uw        4:uw                            // 4, 3, 2, 1\r
-INTERLABEL(LOOP_SUBMBPT):\r
-\r
-       // Reference block load\r
-       #include "loadRef_Y_16x9.asm"\r
-#ifndef MONO\r
-#if defined(MBAFF) || defined(FIELD)\r
-       add (1)         r[pMV,2]:w                      r[pMV,2]:w                                              gCHRMVADJ:w\r
-#endif\r
-       #include "loadRef_C_6x3.asm"\r
-#endif\r
-\r
-       // Interpolation\r
-       #include "interpolate_Y_4x4.asm"\r
-#ifndef MONO\r
-       #include "interpolate_C_2x2.asm"\r
-#endif\r
-       \r
-       cmp.e.f0.0 (1) null:w                   gLOOP_SUBMBPT:uw                                3:w\r
-       add.z.f0.1 (1) gLOOP_SUBMBPT:uw gLOOP_SUBMBPT:uw                                -1:w\r
-       add (1)         pMV:w                           pMV:w                                                   8:w     \r
-       (-f0.0) add (1) gpINTP:ud               gpINTP:ud                                               0x00080008:ud   // 8 & 8\r
-       (f0.0) add (1) gpINTP:ud                gpINTP:ud                                               0x00180038:ud   // 24 & 56\r
-       (-f0.1) jmpi INTERLABEL(LOOP_SUBMBPT)\r
-    \r
-    cmp.e.f0.1 null:w                          gLOOP_DIR:w                                             1:w\r
-    add (1)            pMV:w                           pMV:w                                                   -32:w\r
-    (f0.1) mov (1) gpINTP:ud           nOFFSET_INTP0:ud\r
-    (-f0.1) mov (1) gpINTP:ud          nOFFSET_INTP1:ud\r
-\r
-       mov (1)         pRESULT:uw                                      gpINTPC:uw\r
-    \r
-       //========================= END - LOOP_SUBMBPT ===========================\r
-    \r
-INTERLABEL(ROUND_SHIFT_C):\r
-    \r
-#ifndef MONO\r
-       #include "roundShift_C_4x4.asm"\r
-#endif\r
-\r
-INTERLABEL(LOOP_DIR_CONTINUE):\r
-       \r
-       add.nz.f0.1 (1) gLOOP_DIR:uw    gLOOP_DIR:uw                                    -1:w\r
-       add (1)         pMV:w                           pMV:w                                                   4:w\r
-    (-f0.1) jmpi INTERLABEL(LOOP_DIR)\r
-    //=========================== END - LOOP_DIR =============================\r
-\r
-INTERLABEL(Weighted_Prediction):\r
-       #include "weightedPred.asm"\r
-       \r
-       and.z.f0.1 (16) null<1>:w               gLOOP_SUBMB<0;1,0>:uw                   2:w\r
-\r
-       #include "recon_Y_8x8.asm"\r
-#ifndef MONO\r
-       #include "recon_C_4x4.asm"\r
-\r
-       (-f0.1) add (1) pERRORC:w               pERRORC:w                                               48:w\r
-#endif\r
-\r
-       cmp.e.f0.1 (1) null:w                   gLOOP_SUBMB:uw                                  6:w\r
-       add (1)         gLOOP_SUBMB:uw          gLOOP_SUBMB:uw                                  2:w\r
-\r
-       add (1)         pWGT_BIDX:ud            pWGT_BIDX:ud                                    0x00100001:ud   // 12 & 1\r
-       add (1)         pMV:w                           pMV:w                                                   gMVSTEP:w\r
-\r
-    (-f0.1) jmpi INTERLABEL(LOOP_SUBMB)\r
-    //========================== END - LOOP_SUBMB ============================\r
-    \r
-INTERLABEL(EXIT_LOOP):   \r
-       #include "writeRecon_YC.asm"    \r
-\r
-#ifdef SW_SCOREBOARD    \r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-    #include "Soreboard_update.asm"    // scorboard update function\r
-#else\r
-// Check for write commit first if SW scoreboard is disabled\r
-       mov     (1)     gREG_WRITE_COMMIT_Y<1>:ud       gREG_WRITE_COMMIT_Y<0;1,0>:ud           // Make sure Y write is committed\r
-       mov     (1)     gREG_WRITE_COMMIT_UV<1>:ud      gREG_WRITE_COMMIT_UV<0;1,0>:ud          // Make sure U/V write is committed\r
-#endif\r
-\r
-// Terminate the thread\r
-//\r
-    END_THREAD\r
-\r
-\r
-//#include "Interpolate_Y_8x8_Func.asm"\r
-//#include "Interpolate_C_4x4_Func.asm"\r
-//#include "WeightedPred_Y_Func.asm"   \r
-//#include "WeightedPred_C_Func.asm"   \r
-\r
-\r
-.end_code\r
-\r
-.end_kernel\r
-\r
-        \r
-//#endif       // !defined(__AVCMCInter__)\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVC.asm b/i965_drv_video/shaders/h264/mc/AllAVC.asm
deleted file mode 100644 (file)
index 045ddf3..0000000
+++ /dev/null
@@ -1,426 +0,0 @@
-/*\r
- * All HWMC kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-\r
-// Kernel name: AllAVC.asm\r
-//\r
-// All HWMC kernels merged into this file\r
-//\r
-//  $Revision: 2 $\r
-//  $Date: 9/10/06 2:02a $\r
-//\r
-\r
-// Note: To enable SW scoreboard for ILK AVC kernels, simply toggle the HW_SCOREBOARD \r
-//              and SW_SCOREBOARD definition as described below.\r
-//\r
-// ----------------------------------------------------\r
-//  Main: ALLINTRA\r
-// ----------------------------------------------------\r
-\r
-#define        COMBINED_KERNEL\r
-#define        ENABLE_ILDB\r
-\r
-//     WA for *Stim tool issue, should be removed later\r
-\r
-#ifdef DEV_ILK\r
-#define INSTFACTOR     2       // 128-bit count as 2 instructions\r
-#else\r
-#define INSTFACTOR     1       // 128-bit is 1 instruction\r
-#endif // DEV_ILK\r
-\r
-#ifdef DEV_CTG\r
-  #define SW_SCOREBOARD                // SW Scoreboard should be enabled for CTG and earlier\r
-  #undef HW_SCOREBOARD         // HW Scoreboard should be disabled for CTG and earlier\r
-#else\r
-  #define HW_SCOREBOARD                // HW Scoreboard should be enabled for ILK and beyond\r
-  #undef SW_SCOREBOARD         // SW Scoreboard should be disabled for ILK and beyond\r
-#endif // DEV_CTG\r
-#include "export.inc"\r
-#if defined(_EXPORT)\r
-       #include "AllAVC_Export.inc"\r
-#elif defined(_BUILD)\r
-       #include "AllAVC.ich"                   // ISAasm dumped .exports\r
-       #include "AllAVC_Export.inc"    // Keep jumping targets aligned, only for CTG and beyond\r
-       #include "AllAVC_Build.inc"\r
-#else\r
-#endif\r
-\r
-.kernel AllAVC\r
-\r
-// Build all intra prediction kernels\r
-//\r
-#ifdef INTRA_16x16_PAD_NENOP\r
-    $for(0; <INTRA_16x16_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef INTRA_16x16_PAD_NOP\r
-    $for(0; <INTRA_16x16_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "Intra_16x16.asm"\r
-\r
-#ifdef INTRA_8x8_PAD_NENOP\r
-    $for(0; <INTRA_8x8_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef INTRA_8x8_PAD_NOP\r
-    $for(0; <INTRA_8x8_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "Intra_8x8.asm"\r
-\r
-#ifdef INTRA_4x4_PAD_NENOP\r
-    $for(0; <INTRA_4x4_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef INTRA_4x4_PAD_NOP\r
-    $for(0; <INTRA_4x4_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "Intra_4x4.asm"\r
-\r
-#ifdef INTRA_PCM_PAD_NENOP\r
-    $for(0; <INTRA_PCM_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef INTRA_PCM_PAD_NOP\r
-    $for(0; <INTRA_PCM_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "Intra_PCM.asm"\r
-\r
-// Build FrameMB_Motion kernel\r
-//\r
-#define FRAME\r
-\r
-  #ifdef FRAME_MB_PAD_NENOP\r
-    $for(0; <FRAME_MB_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-  #endif\r
-  #ifdef FRAME_MB_PAD_NOP\r
-    $for(0; <FRAME_MB_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-  #endif\r
-    #include "AVCMCInter.asm"\r
-#undef  FRAME\r
-\r
-// Build FieldMB_Motion kernel\r
-//\r
-#define FIELD\r
-\r
-  #ifdef FIELD_MB_PAD_NENOP\r
-    $for(0; <FIELD_MB_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-  #endif\r
-  #ifdef FIELD_MB_PAD_NOP\r
-    $for(0; <FIELD_MB_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-  #endif\r
-    #include "AVCMCInter.asm"\r
-#undef  FIELD\r
-\r
-// Build MBAff_Motion kernel\r
-//\r
-#define MBAFF\r
-\r
-  #ifdef MBAFF_MB_PAD_NENOP\r
-    $for(0; <MBAFF_MB_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-  #endif\r
-  #ifdef MBAFF_MB_PAD_NOP\r
-    $for(0; <MBAFF_MB_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-  #endif\r
-    #include "AVCMCInter.asm"\r
-#undef  MBAFF\r
-\r
-#ifdef SW_SCOREBOARD    \r
-\r
-// SW scoreboard kernel for non-MBAFF\r
-//\r
-#ifdef SCOREBOARD_PAD_NENOP\r
-    $for(0; <SCOREBOARD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef SCOREBOARD_PAD_NOP\r
-    $for(0; <SCOREBOARD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "scoreboard.asm"\r
-\r
-//     SW scoreboard kernel for MBAFF\r
-\r
-#ifdef SCOREBOARD_MBAFF_PAD_NENOP\r
-    $for(0; <SCOREBOARD_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef SCOREBOARD_MBAFF_PAD_NOP\r
-    $for(0; <SCOREBOARD_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "scoreboard_MBAFF.asm"\r
-\r
-#elif defined(HW_SCOREBOARD)\r
\r
-// SetHWscoreboard kernel for non-MBAFF\r
-//\r
-#ifdef SETHWSCOREBOARD_PAD_NENOP\r
-    $for(0; <SETHWSCOREBOARD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef SETHWSCOREBOARD_PAD_NOP\r
-    $for(0; <SETHWSCOREBOARD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "SetHWScoreboard.asm"\r
-\r
-//     SetHWscoreboard kernel for MBAFF\r
-\r
-#ifdef SETHWSCOREBOARD_MBAFF_PAD_NENOP\r
-    $for(0; <SETHWSCOREBOARD_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef SETHWSCOREBOARD_MBAFF_PAD_NOP\r
-    $for(0; <SETHWSCOREBOARD_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "SetHWScoreboard_MBAFF.asm"\r
-\r
-#endif // SW_SCOREBOARD\r
-\r
-#ifdef BSDRESET_PAD_NENOP\r
-    $for(0; <BSDRESET_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef BSDRESET_PAD_NOP\r
-    $for(0; <BSDRESET_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "BSDReset.asm"\r
-\r
-#ifdef DCRESETDUMMY_PAD_NENOP\r
-    $for(0; <DCRESETDUMMY_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef DCRESETDUMMY_PAD_NOP\r
-    $for(0; <DCRESETDUMMY_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "DCResetDummy.asm"\r
-\r
-#ifdef ENABLE_ILDB\r
-\r
-// Build all ILDB kernels\r
-//\r
-//     Undefine some previous defined symbols since they will be re-defined/re-declared in ILDB kernels\r
-#undef A\r
-#undef B\r
-#undef p0\r
-#undef p1\r
-\r
-#define MSGPAYLOADB MSGPAYLOADB_ILDB\r
-#define MSGPAYLOADW MSGPAYLOADW_ILDB\r
-#define MSGPAYLOADD MSGPAYLOADD_ILDB\r
-#define MSGPAYLOADF MSGPAYLOADF_ILDB\r
-\r
-//                             < Frame ILDB >\r
-#define _PROGRESSIVE\r
-#define ILDB_LABEL(x)  x##_ILDB_FRAME\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_FRAME_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_FRAME_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_FRAME_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_FRAME_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_Y.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_FRAME_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_FRAME_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_FRAME_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_FRAME_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_Y.asm"\r
-\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_FRAME_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_FRAME_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_FRAME_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_FRAME_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_UV.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_FRAME_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_FRAME_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_FRAME_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_FRAME_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_UV.asm"\r
-#undef ILDB_LABEL\r
-#undef _PROGRESSIVE\r
-\r
-//                             < Field ILDB >\r
-#define _FIELD\r
-#define ILDB_LABEL(x)  x##_ILDB_FIELD\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_FIELD_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_FIELD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_FIELD_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_FIELD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_Field_Y.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_FIELD_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_FIELD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_FIELD_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_FIELD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_Field_Y.asm"\r
-\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_FIELD_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_FIELD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_FIELD_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_FIELD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_Field_UV.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_FIELD_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_FIELD_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_FIELD_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_FIELD_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_Field_UV.asm"\r
-#undef ILDB_LABEL\r
-#undef _FIELD\r
-\r
-//                             < MBAFF Frame ILDB >\r
-#define _MBAFF\r
-#define ILDB_LABEL(x)  x##_ILDB_MBAFF\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_MBAFF_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_Y_ILDB_MBAFF_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_Y_ILDB_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_Mbaff_Y.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_MBAFF_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_Y_ILDB_MBAFF_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_Y_ILDB_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_Mbaff_Y.asm"\r
-\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_MBAFF_PAD_NENOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_ROOT_UV_ILDB_MBAFF_PAD_NOP\r
-    $for(0; <AVC_ILDB_ROOT_UV_ILDB_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Root_Mbaff_UV.asm"\r
-\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_MBAFF_PAD_NENOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_MBAFF_PAD_NENOP; 1) {\r
-       nenop\r
-       }\r
-#endif\r
-#ifdef AVC_ILDB_CHILD_UV_ILDB_MBAFF_PAD_NOP\r
-    $for(0; <AVC_ILDB_CHILD_UV_ILDB_MBAFF_PAD_NOP; 1) {\r
-       nop\r
-       }\r
-#endif\r
-    #include "AVC_ILDB_Child_Mbaff_UV.asm"\r
-#undef ILDB_LABEL\r
-#undef _MBAFF\r
-\r
-#endif         // ENABLE_ILDB\r
-\r
-AllAVC_END:\r
-nop\r
-// End of AllAVC\r
-\r
-.end_code\r
-\r
-.end_kernel\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVCField.asm b/i965_drv_video/shaders/h264/mc/AllAVCField.asm
deleted file mode 100644 (file)
index 88240c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*\r
- * All field picture HWMC kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     2857702934      // 0xAA551616 - GUID for Intra_16x16 luma prediction mode offsets\r
-//    0    // Offset to Intra_16x16 luma prediction mode 0\r
-//    9    // Offset to Intra_16x16 luma prediction mode 1\r
-//   19    // Offset to Intra_16x16 luma prediction mode 2\r
-//   42    // Offset to Intra_16x16 luma prediction mode 3\r
-//     2857699336      // 0xAA550808 - GUID for Intra_8x8 luma prediction mode offsets\r
-//    0    // Offset to Intra_8x8 luma prediction mode 0\r
-//    5    // Offset to Intra_8x8 luma prediction mode 1\r
-//   10    // Offset to Intra_8x8 luma prediction mode 2\r
-//   26    // Offset to Intra_8x8 luma prediction mode 3\r
-//   36    // Offset to Intra_8x8 luma prediction mode 4\r
-//   50    // Offset to Intra_8x8 luma prediction mode 5\r
-//   68    // Offset to Intra_8x8 luma prediction mode 6\r
-//   85    // Offset to Intra_8x8 luma prediction mode 7\r
-//   95    // Offset to Intra_8x8 luma prediction mode 8\r
-//     2857698308      // 0xAA550404 - GUID for Intra_4x4 luma prediction mode offsets\r
-//    0    // Offset to Intra_4x4 luma prediction mode 0\r
-//    2    // Offset to Intra_4x4 luma prediction mode 1\r
-//    4    // Offset to Intra_4x4 luma prediction mode 2\r
-//   16    // Offset to Intra_4x4 luma prediction mode 3\r
-//   23    // Offset to Intra_4x4 luma prediction mode 4\r
-//   32    // Offset to Intra_4x4 luma prediction mode 5\r
-//   45    // Offset to Intra_4x4 luma prediction mode 6\r
-//   59    // Offset to Intra_4x4 luma prediction mode 7\r
-//   66    // Offset to Intra_4x4 luma prediction mode 8\r
-//     2857700364      // 0xAA550C0C - GUID for intra chroma prediction mode offsets\r
-//    0    // Offset to intra chroma prediction mode 0\r
-//   30    // Offset to intra chroma prediction mode 1\r
-//   36    // Offset to intra chroma prediction mode 2\r
-//   41    // Offset to intra chroma prediction mode 3\r
-\r
-// Kernel name: AllAVCField.asm\r
-//\r
-// All field picture HWMC kernels merged into this file\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 4/13/06 4:35p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: AllAVCField\r
-// ----------------------------------------------------\r
-\r
-#define        ALLHWMC\r
-#define        COMBINED_KERNEL\r
-\r
-.kernel AllAVCField\r
-\r
-    #include "Intra_PCM.asm"\r
-    #include "Intra_16x16.asm"\r
-    #include "Intra_8x8.asm"\r
-    #include "Intra_4x4.asm"\r
-    #include "scoreboard.asm"\r
-\r
-       #define FIELD\r
-       #include "AVCMCInter.asm"\r
-\r
-// End of AllAVCField\r
-\r
-.end_kernel\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVCFrame.asm b/i965_drv_video/shaders/h264/mc/AllAVCFrame.asm
deleted file mode 100644 (file)
index 8871627..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*\r
- * All frame picture HWMC kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     2857702934      // 0xAA551616 - GUID for Intra_16x16 luma prediction mode offsets\r
-//    0    // Offset to Intra_16x16 luma prediction mode 0\r
-//    9    // Offset to Intra_16x16 luma prediction mode 1\r
-//   19    // Offset to Intra_16x16 luma prediction mode 2\r
-//   42    // Offset to Intra_16x16 luma prediction mode 3\r
-//     2857699336      // 0xAA550808 - GUID for Intra_8x8 luma prediction mode offsets\r
-//    0    // Offset to Intra_8x8 luma prediction mode 0\r
-//    5    // Offset to Intra_8x8 luma prediction mode 1\r
-//   10    // Offset to Intra_8x8 luma prediction mode 2\r
-//   26    // Offset to Intra_8x8 luma prediction mode 3\r
-//   36    // Offset to Intra_8x8 luma prediction mode 4\r
-//   50    // Offset to Intra_8x8 luma prediction mode 5\r
-//   68    // Offset to Intra_8x8 luma prediction mode 6\r
-//   85    // Offset to Intra_8x8 luma prediction mode 7\r
-//   95    // Offset to Intra_8x8 luma prediction mode 8\r
-//     2857698308      // 0xAA550404 - GUID for Intra_4x4 luma prediction mode offsets\r
-//    0    // Offset to Intra_4x4 luma prediction mode 0\r
-//    2    // Offset to Intra_4x4 luma prediction mode 1\r
-//    4    // Offset to Intra_4x4 luma prediction mode 2\r
-//   16    // Offset to Intra_4x4 luma prediction mode 3\r
-//   23    // Offset to Intra_4x4 luma prediction mode 4\r
-//   32    // Offset to Intra_4x4 luma prediction mode 5\r
-//   45    // Offset to Intra_4x4 luma prediction mode 6\r
-//   59    // Offset to Intra_4x4 luma prediction mode 7\r
-//   66    // Offset to Intra_4x4 luma prediction mode 8\r
-//     2857700364      // 0xAA550C0C - GUID for intra chroma prediction mode offsets\r
-//    0    // Offset to intra chroma prediction mode 0\r
-//   30    // Offset to intra chroma prediction mode 1\r
-//   36    // Offset to intra chroma prediction mode 2\r
-//   41    // Offset to intra chroma prediction mode 3\r
-\r
-// Kernel name: AllAVCFrame.asm\r
-//\r
-// All frame picture HWMC kernels merged into this file\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 4/13/06 4:35p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: AllAVCFrame\r
-// ----------------------------------------------------\r
-\r
-#define        ALLHWMC\r
-#define        COMBINED_KERNEL\r
-\r
-.kernel AllAVCFrame\r
-\r
-    #include "Intra_PCM.asm"\r
-    #include "Intra_16x16.asm"\r
-    #include "Intra_8x8.asm"\r
-    #include "Intra_4x4.asm"\r
-    #include "scoreboard.asm"\r
-\r
-       #include "AVCMCInter.asm"\r
-\r
-// End of AllAVCFrame\r
-\r
-.end_kernel\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVCMBAFF.asm b/i965_drv_video/shaders/h264/mc/AllAVCMBAFF.asm
deleted file mode 100644 (file)
index 1dd06ed..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*\r
- * All MBAFF frame picture HWMC kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     2857702934      // 0xAA551616 - GUID for Intra_16x16 luma prediction mode offsets\r
-//    0    // Offset to Intra_16x16 luma prediction mode 0\r
-//    9    // Offset to Intra_16x16 luma prediction mode 1\r
-//   19    // Offset to Intra_16x16 luma prediction mode 2\r
-//   42    // Offset to Intra_16x16 luma prediction mode 3\r
-//     2857699336      // 0xAA550808 - GUID for Intra_8x8 luma prediction mode offsets\r
-//    0    // Offset to Intra_8x8 luma prediction mode 0\r
-//    5    // Offset to Intra_8x8 luma prediction mode 1\r
-//   10    // Offset to Intra_8x8 luma prediction mode 2\r
-//   26    // Offset to Intra_8x8 luma prediction mode 3\r
-//   36    // Offset to Intra_8x8 luma prediction mode 4\r
-//   50    // Offset to Intra_8x8 luma prediction mode 5\r
-//   68    // Offset to Intra_8x8 luma prediction mode 6\r
-//   85    // Offset to Intra_8x8 luma prediction mode 7\r
-//   95    // Offset to Intra_8x8 luma prediction mode 8\r
-//     2857698308      // 0xAA550404 - GUID for Intra_4x4 luma prediction mode offsets\r
-//    0    // Offset to Intra_4x4 luma prediction mode 0\r
-//    2    // Offset to Intra_4x4 luma prediction mode 1\r
-//    4    // Offset to Intra_4x4 luma prediction mode 2\r
-//   16    // Offset to Intra_4x4 luma prediction mode 3\r
-//   23    // Offset to Intra_4x4 luma prediction mode 4\r
-//   32    // Offset to Intra_4x4 luma prediction mode 5\r
-//   45    // Offset to Intra_4x4 luma prediction mode 6\r
-//   59    // Offset to Intra_4x4 luma prediction mode 7\r
-//   66    // Offset to Intra_4x4 luma prediction mode 8\r
-//     2857700364      // 0xAA550C0C - GUID for intra chroma prediction mode offsets\r
-//    0    // Offset to intra chroma prediction mode 0\r
-//   30    // Offset to intra chroma prediction mode 1\r
-//   36    // Offset to intra chroma prediction mode 2\r
-//   41    // Offset to intra chroma prediction mode 3\r
-\r
-// Kernel name: AllAVCMBAFF.asm\r
-//\r
-// All MBAFF frame picture HWMC kernels merged into this file\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 4/13/06 4:35p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: AllAVCMBAFF\r
-// ----------------------------------------------------\r
-\r
-#define        ALLHWMC\r
-#define        COMBINED_KERNEL\r
-\r
-.kernel AllAVCMBAFF\r
-\r
-    #include "Intra_PCM.asm"\r
-    #include "Intra_16x16.asm"\r
-    #include "Intra_8x8.asm"\r
-    #include "Intra_4x4.asm"\r
-    #include "scoreboard.asm"\r
-\r
-       #define MBAFF\r
-       #include "AVCMCInter.asm"\r
-\r
-// End of AllAVCMBAFF\r
-\r
-.end_kernel\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVC_Build.inc b/i965_drv_video/shaders/h264/mc/AllAVC_Build.inc
deleted file mode 100644 (file)
index 5bfb753..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-$table {\r
-AllAVC_END_IP/INSTFACTOR    // Total instruction count\r
-#if (defined(SW_SCOREBOARD) || defined(HW_SCOREBOARD)) && defined(ENABLE_ILDB)\r
-//    23    // Total kernel count\r
-#elif defined(SW_SCOREBOARD) || defined(HW_SCOREBOARD)\r
-//    11    // Total kernel count\r
-#elif defined(ENABLE_ILDB)\r
-//    21    // Total kernel count\r
-#else\r
-//    11    // Total kernel count\r
-#endif\r
-INTRA_16x16_ENTRY/INSTFACTOR    // Instruction offset to 'Intra_16x16'\r
-INTRA_8x8_ENTRY/INSTFACTOR    // Instruction offset to 'Intra_8x8'\r
-INTRA_4x4_ENTRY/INSTFACTOR    // Instruction offset to 'Intra_4x4'\r
-INTRA_PCM_ENTRY/INSTFACTOR    // Instruction offset to 'Intra_PCM'\r
-FRAME_MB_ENTRY/INSTFACTOR    // Instruction offset to 'FrameMB_Motion'\r
-FIELD_MB_ENTRY/INSTFACTOR    // Instruction offset to 'FieldMB_Motion'\r
-MBAFF_MB_ENTRY/INSTFACTOR    // Instruction offset to 'MBAff_Motion'\r
-#ifdef SW_SCOREBOARD    \r
-SCOREBOARD_ENTRY/INSTFACTOR                    // Instruction offset to 'scoreboard'\r
-SCOREBOARD_MBAFF_ENTRY/INSTFACTOR      // Instruction offset to 'scoreboard_MBAFF'\r
-#elif defined(HW_SCOREBOARD)\r
-SETHWSCOREBOARD_ENTRY/INSTFACTOR               // Instruction offset to 'AVC_SetIntraDepend'\r
-SETHWSCOREBOARD_MBAFF_ENTRY/INSTFACTOR // Instruction offset to 'AVC_SetIntraDependMBAFF'\r
-#endif // SW_SCOREBOARD\r
-#ifdef ENABLE_ILDB\r
-AVC_ILDB_ROOT_Y_ILDB_FRAME_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_Y'\r
-AVC_ILDB_CHILD_Y_ILDB_FRAME_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_Y'\r
-AVC_ILDB_ROOT_UV_ILDB_FRAME_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_UV'\r
-AVC_ILDB_CHILD_UV_ILDB_FRAME_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_UV'\r
-AVC_ILDB_ROOT_Y_ILDB_FIELD_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_Field_Y'\r
-AVC_ILDB_CHILD_Y_ILDB_FIELD_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_Field_Y'\r
-AVC_ILDB_ROOT_UV_ILDB_FIELD_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_Field_UV'\r
-AVC_ILDB_CHILD_UV_ILDB_FIELD_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_Field_UV'\r
-AVC_ILDB_ROOT_Y_ILDB_MBAFF_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_Mbaff_Y'\r
-AVC_ILDB_CHILD_Y_ILDB_MBAFF_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_Mbaff_Y'\r
-AVC_ILDB_ROOT_UV_ILDB_MBAFF_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Root_Mbaff_UV'\r
-AVC_ILDB_CHILD_UV_ILDB_MBAFF_ENTRY/INSTFACTOR    // Instruction offset to 'AVC_ILDB_Child_Mbaff_UV'\r
-#endif // ENABLE_ILDB\r
-BSDRESET_ENTRY/INSTFACTOR    // Instruction offset to 'BSDReset'\r
-DCRESETDUMMY_ENTRY/INSTFACTOR    // Instruction offset to 'DCResetDummy'\r
-\r
-//    0    // Instruction offset to Intra_4x4_luma_prediction_mode_0\r
-INTRA_4X4_HORIZONTAL_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_1\r
-INTRA_4X4_DC_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_2\r
-INTRA_4X4_DIAG_DOWN_LEFT_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_3\r
-INTRA_4X4_DIAG_DOWN_RIGHT_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_4\r
-INTRA_4X4_VERT_RIGHT_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_5\r
-INTRA_4X4_HOR_DOWN_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_6\r
-INTRA_4X4_VERT_LEFT_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_7\r
-INTRA_4X4_HOR_UP_IP-INTRA_4X4_VERTICAL_IP    // Instruction offset to Intra_4x4_luma_prediction_mode_8\r
-\r
-//    0    // Instruction offset to Intra_8x8_luma_prediction_mode_0\r
-INTRA_8X8_HORIZONTAL_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_1\r
-INTRA_8X8_DC_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_2\r
-INTRA_8X8_DIAG_DOWN_LEFT_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_3\r
-INTRA_8X8_DIAG_DOWN_RIGHT_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_4\r
-INTRA_8X8_VERT_RIGHT_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_5\r
-INTRA_8X8_HOR_DOWN_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_6\r
-INTRA_8X8_VERT_LEFT_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_7\r
-INTRA_8X8_HOR_UP_IP-INTRA_8X8_VERTICAL_IP    // Instruction offset to Intra_8x8_luma_prediction_mode_8\r
-\r
-//    0    // Instruction offset to Intra_16x16_luma_prediction_mode_0\r
-INTRA_16x16_HORIZONTAL_IP-INTRA_16x16_VERTICAL_IP    // Instruction offset to Intra_16x16_luma_prediction_mode_1\r
-INTRA_16x16_DC_IP-INTRA_16x16_VERTICAL_IP    // Instruction offset to Intra_16x16_luma_prediction_mode_2\r
-INTRA_16x16_PLANE_IP-INTRA_16x16_VERTICAL_IP    // Instruction offset to Intra_16x16_luma_prediction_mode_3\r
-\r
-//    0    // Instruction offset to intra_chroma_prediction_mode_0\r
-INTRA_CHROMA_HORIZONTAL_IP-INTRA_CHROMA_DC_IP    // Instruction offset to intra_chroma_prediction_mode_1\r
-INTRA_CHROMA_VERTICAL_IP-INTRA_CHROMA_DC_IP    // Instruction offset to intra_chroma_prediction_mode_2\r
-INTRA_Chroma_PLANE_IP-INTRA_CHROMA_DC_IP    // Instruction offset to intra_chroma_prediction_mode_3\r
-\r
-intra_Pred_4x4_Y_IP-ADD_ERROR_SB3_IP*0x100+intra_Pred_4x4_Y_IP-ADD_ERROR_SB2_IP*0x100+intra_Pred_4x4_Y_IP-ADD_ERROR_SB1_IP*0x100+intra_Pred_4x4_Y_IP-ADD_ERROR_SB0_IP  // Instruction offset to intra_4x4_pred_module\r
-}\r
diff --git a/i965_drv_video/shaders/h264/mc/AllAVC_Export.inc b/i965_drv_video/shaders/h264/mc/AllAVC_Export.inc
deleted file mode 100644 (file)
index 6bb3eff..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-.export entry_point INTRA_16x16\r
-.export entry_point INTRA_8x8\r
-.export entry_point INTRA_4x4\r
-.export entry_point INTRA_PCM\r
-.export entry_point FRAME_MB\r
-.export entry_point FIELD_MB\r
-.export entry_point MBAFF_MB\r
-#ifdef SW_SCOREBOARD    \r
-.export entry_point SCOREBOARD\r
-.export entry_point SCOREBOARD_MBAFF\r
-#elif defined(HW_SCOREBOARD)\r
-.export entry_point SETHWSCOREBOARD\r
-.export entry_point SETHWSCOREBOARD_MBAFF\r
-#endif // SW_SCOREBOARD\r
-\r
-#ifdef ENABLE_ILDB\r
-.export entry_point AVC_ILDB_ROOT_Y_ILDB_FRAME\r
-.export entry_point AVC_ILDB_CHILD_Y_ILDB_FRAME\r
-.export entry_point AVC_ILDB_ROOT_UV_ILDB_FRAME\r
-.export entry_point AVC_ILDB_CHILD_UV_ILDB_FRAME\r
-.export entry_point AVC_ILDB_ROOT_Y_ILDB_FIELD\r
-.export entry_point AVC_ILDB_CHILD_Y_ILDB_FIELD\r
-.export entry_point AVC_ILDB_ROOT_UV_ILDB_FIELD\r
-.export entry_point AVC_ILDB_CHILD_UV_ILDB_FIELD\r
-.export entry_point AVC_ILDB_ROOT_Y_ILDB_MBAFF\r
-.export entry_point AVC_ILDB_CHILD_Y_ILDB_MBAFF\r
-.export entry_point AVC_ILDB_ROOT_UV_ILDB_MBAFF\r
-.export entry_point AVC_ILDB_CHILD_UV_ILDB_MBAFF\r
-#endif // ENABLE_ILDB\r
-\r
-.export entry_point BSDRESET\r
-.export entry_point DCRESETDUMMY\r
-\r
-.export label INTRA_16x16_VERTICAL\r
-.export label INTRA_16x16_HORIZONTAL\r
-.export label INTRA_16x16_DC\r
-.export label INTRA_16x16_PLANE\r
-\r
-.export label INTRA_8X8_VERTICAL\r
-.export label INTRA_8X8_HORIZONTAL\r
-.export label INTRA_8X8_DC\r
-.export label INTRA_8X8_DIAG_DOWN_LEFT\r
-.export label INTRA_8X8_DIAG_DOWN_RIGHT\r
-.export label INTRA_8X8_VERT_RIGHT\r
-.export label INTRA_8X8_HOR_DOWN\r
-.export label INTRA_8X8_VERT_LEFT\r
-.export label INTRA_8X8_HOR_UP\r
-\r
-.export label INTRA_4X4_VERTICAL\r
-.export label INTRA_4X4_HORIZONTAL\r
-.export label INTRA_4X4_DC\r
-.export label INTRA_4X4_DIAG_DOWN_LEFT\r
-.export label INTRA_4X4_DIAG_DOWN_RIGHT\r
-.export label INTRA_4X4_VERT_RIGHT\r
-.export label INTRA_4X4_HOR_DOWN\r
-.export label INTRA_4X4_VERT_LEFT\r
-.export label INTRA_4X4_HOR_UP\r
-\r
-.export label INTRA_CHROMA_DC\r
-.export label INTRA_CHROMA_HORIZONTAL\r
-.export label INTRA_CHROMA_VERTICAL\r
-.export label INTRA_Chroma_PLANE\r
-\r
-.export label intra_Pred_4x4_Y\r
-.export label ADD_ERROR_SB0\r
-.export label ADD_ERROR_SB1\r
-.export label ADD_ERROR_SB2\r
-.export label ADD_ERROR_SB3\r
-\r
-.export label AllAVC_END\r
-\r
-#ifdef SW_SCOREBOARD    \r
-.export label MB_Loop\r
-.export label No_Message\r
-.export label Dependency_Check\r
-.export label Notify_MSG\r
-.export label Update_CurMB\r
-.export label MBAFF_MB_Loop\r
-.export label MBAFF_No_Message\r
-.export label MBAFF_Dependency_Check\r
-.export label MBAFF_Notify_MSG\r
-.export label MBAFF_Update_CurMB\r
-\r
-//.export label \r
-\r
-// Definitions for first pass MC kernel building\r
-#ifndef No_Message_IP\r
-#define No_Message_IP  0\r
-#endif\r
-\r
-#ifndef Dependency_Check_IP\r
-#define Dependency_Check_IP    0\r
-#endif\r
-\r
-#ifndef Notify_MSG_IP\r
-#define Notify_MSG_IP  0\r
-#endif\r
-\r
-#ifndef Update_CurMB_IP\r
-#define Update_CurMB_IP        0\r
-#endif\r
-\r
-#ifndef MBAFF_No_Message_IP\r
-#define MBAFF_No_Message_IP    0\r
-#endif\r
-\r
-#ifndef MBAFF_Dependency_Check_IP\r
-#define MBAFF_Dependency_Check_IP      0\r
-#endif\r
-\r
-#ifndef MBAFF_Notify_MSG_IP\r
-#define MBAFF_Notify_MSG_IP    0\r
-#endif\r
-\r
-#ifndef        AS_ENABLED\r
- #ifndef MBAFF_MB_Loop_IP\r
- #define MBAFF_MB_Loop_IP      0\r
- #endif\r
-\r
- #ifndef MB_Loop_IP\r
- #define MB_Loop_IP    0\r
- #endif\r
-#endif // End AS_ENABLED\r
-\r
-#ifndef MBAFF_Update_CurMB_IP\r
-#define MBAFF_Update_CurMB_IP  0\r
-#endif\r
-\r
-#endif // SW_SCOREBOARD\r
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-\r
-#ifdef ENABLE_ILDB\r
-.export label  ALL_SPAWNED_UV_ILDB_FRAME\r
-.export label  SLEEP_ENTRY_UV_ILDB_FRAME\r
-.export label  POST_SLEEP_UV_ILDB_FRAME\r
-.export label  ALL_SPAWNED_Y_ILDB_FRAME\r
-.export label  SLEEP_ENTRY_Y_ILDB_FRAME\r
-.export label  POST_SLEEP_Y_ILDB_FRAME\r
-\r
-// Definitions for first pass ILDB kernel building\r
-#ifndef        ALL_SPAWNED_UV_ILDB_FRAME_IP\r
-#define        ALL_SPAWNED_UV_ILDB_FRAME_IP    0\r
-#endif\r
-\r
-#ifndef        SLEEP_ENTRY_UV_ILDB_FRAME_IP\r
-#define        SLEEP_ENTRY_UV_ILDB_FRAME_IP    0\r
-#endif\r
-\r
-#ifndef        POST_SLEEP_UV_ILDB_FRAME_IP\r
-#define        POST_SLEEP_UV_ILDB_FRAME_IP     0\r
-#endif\r
-\r
-#ifndef        ALL_SPAWNED_Y_ILDB_FRAME_IP\r
-#define        ALL_SPAWNED_Y_ILDB_FRAME_IP     0\r
-#endif\r
-\r
-#ifndef        SLEEP_ENTRY_Y_ILDB_FRAME_IP\r
-#define        SLEEP_ENTRY_Y_ILDB_FRAME_IP     0\r
-#endif\r
-\r
-#ifndef        POST_SLEEP_Y_ILDB_FRAME_IP\r
-#define        POST_SLEEP_Y_ILDB_FRAME_IP      0\r
-#endif\r
-\r
-#endif // ENABLE_ILDB\r
diff --git a/i965_drv_video/shaders/h264/mc/AllIntra.asm b/i965_drv_video/shaders/h264/mc/AllIntra.asm
deleted file mode 100644 (file)
index 1cc895a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*\r
- * All intra-prediction macroblock kernels \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     2857702934      // 0xAA551616 - GUID for Intra_16x16 luma prediction mode offsets\r
-//    0    // Offset to Intra_16x16 luma prediction mode 0\r
-//    9    // Offset to Intra_16x16 luma prediction mode 1\r
-//   19    // Offset to Intra_16x16 luma prediction mode 2\r
-//   42    // Offset to Intra_16x16 luma prediction mode 3\r
-//     2857699336      // 0xAA550808 - GUID for Intra_8x8 luma prediction mode offsets\r
-//    0    // Offset to Intra_8x8 luma prediction mode 0\r
-//    5    // Offset to Intra_8x8 luma prediction mode 1\r
-//   10    // Offset to Intra_8x8 luma prediction mode 2\r
-//   26    // Offset to Intra_8x8 luma prediction mode 3\r
-//   36    // Offset to Intra_8x8 luma prediction mode 4\r
-//   50    // Offset to Intra_8x8 luma prediction mode 5\r
-//   68    // Offset to Intra_8x8 luma prediction mode 6\r
-//   85    // Offset to Intra_8x8 luma prediction mode 7\r
-//   95    // Offset to Intra_8x8 luma prediction mode 8\r
-//     2857698308      // 0xAA550404 - GUID for Intra_4x4 luma prediction mode offsets\r
-//    0    // Offset to Intra_4x4 luma prediction mode 0\r
-//    2    // Offset to Intra_4x4 luma prediction mode 1\r
-//    4    // Offset to Intra_4x4 luma prediction mode 2\r
-//   16    // Offset to Intra_4x4 luma prediction mode 3\r
-//   23    // Offset to Intra_4x4 luma prediction mode 4\r
-//   32    // Offset to Intra_4x4 luma prediction mode 5\r
-//   45    // Offset to Intra_4x4 luma prediction mode 6\r
-//   59    // Offset to Intra_4x4 luma prediction mode 7\r
-//   66    // Offset to Intra_4x4 luma prediction mode 8\r
-//     2857700364      // 0xAA550C0C - GUID for intra chroma prediction mode offsets\r
-//    0    // Offset to intra chroma prediction mode 0\r
-//   30    // Offset to intra chroma prediction mode 1\r
-//   36    // Offset to intra chroma prediction mode 2\r
-//   41    // Offset to intra chroma prediction mode 3\r
-\r
-// Kernel name: AllIntra.asm\r
-//\r
-// All HWMC kernels merged into this file\r
-//\r
-//  $Revision: 1 $\r
-//  $Date: 4/13/06 4:35p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: ALLINTRA\r
-// ----------------------------------------------------\r
-\r
-#define        ALLHWMC\r
-#define        COMBINED_KERNEL\r
-\r
-.kernel ALLINTRA\r
-\r
-    // All frame destination HWMC kernels\r
-    //\r
-    #include "Intra_PCM.asm"\r
-    #include "Intra_16x16.asm"\r
-    #include "Intra_8x8.asm"\r
-    #include "Intra_4x4.asm"\r
-\r
-// End of ALLINTRA\r
-\r
-.end_kernel\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/BSDReset.asm b/i965_drv_video/shaders/h264/mc/BSDReset.asm
deleted file mode 100644 (file)
index 5c6e5df..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*\r
- * Initial kernel for filling initial BSD command buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: BSDReset.asm\r
-//\r
-// Initial kernel for filling initial BSD command buffer\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: BSDReset\r
-// ----------------------------------------------------\r
-\r
-.kernel BSDReset\r
-BSDRESET:\r
-\r
-#include "header.inc"\r
-\r
-.code\r
-#ifdef SW_SCOREBOARD\r
-    CALL(scoreboard_start_inter,1)\r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-\r
-#define BSDRESET_ENABLE\r
-       #include "scoreboard_update.asm"        // scorboard update function\r
-#undef BSDRESET_ENABLE\r
-\r
-#endif // defined(SW_SCOREBOARD)\r
-\r
-// Terminate the thread\r
-//\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif // !defined(COMBINED_KERNEL)\r
diff --git a/i965_drv_video/shaders/h264/mc/DCResetDummy.asm b/i965_drv_video/shaders/h264/mc/DCResetDummy.asm
deleted file mode 100644 (file)
index d4e52a9..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Dummy kernel\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: DCResetDummy.asm\r
-//\r
-// Dummy kernel used by driver for debug-counter reset SW WA\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: DCResetDummy\r
-// ----------------------------------------------------\r
-\r
-.kernel DCResetDummy\r
-DCRESETDUMMY:\r
-\r
-#include "header.inc"\r
-\r
-.code\r
-\r
-// Terminate the thread\r
-//\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif // !defined(COMBINED_KERNEL)\r
diff --git a/i965_drv_video/shaders/h264/mc/Decode_Chroma_Intra.asm b/i965_drv_video/shaders/h264/mc/Decode_Chroma_Intra.asm
deleted file mode 100644 (file)
index 7799825..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*\r
- * Decode both intra chroma blocks\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__DECODE_CHROMA_INTRA__)          // Make sure this is only included once\r
-#define __DECODE_CHROMA_INTRA__\r
-\r
-// Module name: Decode_Chroma_Intra.asm\r
-//\r
-// Decode both intra chroma blocks\r
-//\r
-\r
-decode_Chroma_Intra:\r
-#ifndef MONO\r
-    #include "load_Intra_Ref_UV.asm"   // Load intra U/V reference data\r
-    #include "intra_Pred_Chroma.asm"   // Intra predict chroma blocks\r
-    #include "add_Error_UV.asm"                        // Add error data to predicted U/V data blocks\r
-#endif // !defined(MONO)\r
-    #include "save_8x8_UV.asm"                 // Save to destination U/V frame surface\r
-\r
-       RETURN\r
-// End of Decode_Chroma_Intra\r
-\r
-#endif // !defined(__DECODE_CHROMA_INTRA__)\r
diff --git a/i965_drv_video/shaders/h264/mc/EndIntraThread.asm b/i965_drv_video/shaders/h264/mc/EndIntraThread.asm
deleted file mode 100644 (file)
index 2c78b62..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*\r
- * Common module to end current intra thread\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: EndIntraThread.asm\r
-//\r
-// Common module to end current intra thread\r
-//\r
-#ifndef SW_SCOREBOARD\r
-// Check for write commit first if SW scoreboard is disabled\r
-       mov     (1)     REG_WRITE_COMMIT_Y<1>:ud        REG_WRITE_COMMIT_Y<0;1,0>:ud            // Make sure Y write is committed\r
-       mov     (1)     REG_WRITE_COMMIT_UV<1>:ud       REG_WRITE_COMMIT_UV<0;1,0>:ud           // Make sure U/V write is committed\r
-#endif\r
-\r
-       END_THREAD\r
-\r
-    #include "Intra_funcLib.asm"\r
-\r
-#ifndef COMBINED_KERNEL                // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif // COMBINED_KERNEL\r
-\r
-// End of EndIntraThread\r
diff --git a/i965_drv_video/shaders/h264/mc/HwmcOnlyHeader.inc b/i965_drv_video/shaders/h264/mc/HwmcOnlyHeader.inc
deleted file mode 100644 (file)
index 514cb78..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*\r
- * Header file used only in HWMC_ONLY mode\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: HwmcOnlyHeader.inc\r
-//\r
-// Header file used only in HWMC_ONLY mode\r
-//\r
-\r
-#include "header.inc"\r
-\r
-#if !defined(__HWMCONLYHEADER__)       // Make sure the following are only included once\r
-#define __HWMCONLYHEADER__\r
-\r
-.reg_count_total    64\r
-.reg_count_payload  2\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-#endif // !defined(__HWMCONLYHEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/Intra_16x16.asm b/i965_drv_video/shaders/h264/mc/Intra_16x16.asm
deleted file mode 100644 (file)
index e40e6a3..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*\r
- * Decode Intra_16x16 macroblock\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Intra_16x16.asm\r
-//\r
-// Decoding of Intra_16x16 macroblock\r
-//\r
-//  $Revision: 8 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: Intra_16x16\r
-// ----------------------------------------------------\r
-\r
-#define        INTRA_16X16\r
-\r
-.kernel Intra_16x16\r
-INTRA_16x16:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0x00aa55a5:ud\r
-#endif\r
-\r
-#include "SetupForHWMC.asm"\r
-\r
-#ifdef SW_SCOREBOARD    \r
-    CALL(scoreboard_start_intra,1)\r
-#endif\r
-\r
-#ifdef SW_SCOREBOARD \r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-#endif\r
-\r
-//\r
-//  Decode Y blocks\r
-//\r
-//     Load reference data from neighboring macroblocks\r
-    CALL(load_Intra_Ref_Y,1)\r
-\r
-//     Intra predict Intra_16x16 luma block\r
-       #include "intra_pred_16x16_Y.asm"\r
-\r
-//     Add error data to predicted intra data\r
-       #include "add_Error_16x16_Y.asm"\r
-\r
-//     Save decoded Y picture\r
-       CALL(save_16x16_Y,1)\r
-//\r
-//  Decode U/V blocks\r
-//\r
-//     Note: The decoding for chroma blocks will be the same for all intra prediction mode\r
-//\r
-       CALL(decode_Chroma_Intra,1)\r
-\r
-#ifdef SW_SCOREBOARD\r
-    #include "scoreboard_update.asm"\r
-#endif\r
-\r
-// Terminate the thread\r
-//\r
-    #include "EndIntraThread.asm"\r
-\r
-// End of Intra_16x16\r
diff --git a/i965_drv_video/shaders/h264/mc/Intra_4x4.asm b/i965_drv_video/shaders/h264/mc/Intra_4x4.asm
deleted file mode 100644 (file)
index 1169983..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*\r
- * Decode Intra_4x4 macroblock\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Intra_4x4.asm\r
-//\r
-// Decoding of Intra_4x4 macroblock\r
-//\r
-//  $Revision: 12 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: Intra_4x4\r
-// ----------------------------------------------------\r
-\r
-#define        INTRA_4X4\r
-\r
-.kernel Intra_4x4\r
-INTRA_4x4:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0x02aa55a5:ud\r
-#endif\r
-\r
-#include "SetupForHWMC.asm"\r
-\r
-#undef         PPREDBUF_Y\r
-#define            PPREDBUF_Y          a0.3    // Pointer to predicted Y picture\r
-\r
-#define                REG_INTRA_PRED_AVAIL    REG_INTRA_TEMP_4\r
-#define                REG_INTRA_4X4_PRED              REG_INTRA_TEMP_7                // Store predicted Intra_4x4 data\r
-\r
-// Offset where 4x4 predicted data blocks are stored\r
-#define        PREDSUBBLK0             0*GRFWIB\r
-#define        PREDSUBBLK1             1*GRFWIB\r
-#define        PREDSUBBLK2             2*GRFWIB\r
-#define        PREDSUBBLK3             3*GRFWIB\r
-#define        PREDSUBBLK4             4*GRFWIB\r
-#define        PREDSUBBLK5             5*GRFWIB\r
-#define        PREDSUBBLK6             6*GRFWIB\r
-#define        PREDSUBBLK7             7*GRFWIB\r
-#define        PREDSUBBLK8             8*GRFWIB\r
-#define        PREDSUBBLK9             9*GRFWIB\r
-#define        PREDSUBBLK10    10*GRFWIB\r
-#define        PREDSUBBLK11    11*GRFWIB\r
-#define        PREDSUBBLK12    12*GRFWIB\r
-#define        PREDSUBBLK13    13*GRFWIB\r
-#define        PREDSUBBLK14    14*GRFWIB\r
-#define        PREDSUBBLK15    15*GRFWIB\r
-\r
-// 4x4 error block byte offset within the 8x8 error block\r
-#define ERRBLK0                0\r
-#define ERRBLK1                8\r
-#define ERRBLK2                64\r
-#define ERRBLK3                72\r
-\r
-#ifdef SW_SCOREBOARD    \r
-    CALL(scoreboard_start_intra,1)\r
-#endif\r
-\r
-#ifdef SW_SCOREBOARD    \r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-#endif\r
-\r
-//\r
-//  Decode Y blocks\r
-//\r
-//     Load reference data from neighboring macroblocks\r
-    CALL(load_Intra_Ref_Y,1)\r
-\r
-       mov     (1)     PERROR<1>:w     ERRBUF*GRFWIB:w                 // Pointer to macroblock error data\r
-       mov     (1)     PPREDBUF_Y<1>:w PREDBUF*GRFWIB:w        // Pointer to predicted data\r
-       shr (2) REG_INTRA_PRED_AVAIL<1>:w       REG_INTRA_PRED_AVAIL_FLAG_BYTE<0;1,0>:ub        0x40:v\r
-    and.nz.f0.0 (8)    NULLREG REG_INTRA_PRED_AVAIL_FLAG_BYTE<0;1,0>:ub        4:w     // Top-right macroblock available for intra prediction?\r
-       (-f0.0.any8h) mov (8)   INTRA_REF_TOP(0,16)<1>  INTRA_REF_TOP(0,15)REGION(1,0)  // Extend right boundary of MB B to C\r
-\r
-//     Intra predict Intra_4x4 luma blocks\r
-//\r
-//     Sub-macroblock 0 *****************\r
-       mov     (16)    REF_TOP0(0)<1>  INTRA_REF_TOP0(0)       // Top reference data\r
-       mov     (8)             REF_LEFT(0)<1>  INTRA_REF_LEFT(0)REGION(8,4)    // Left reference data\r
-       shr     (4)             PRED_MODE<1>:w  INTRA_PRED_MODE(0)<1;2,0>       0x4040:v        // Expand IntraPredMode to 1 byte/block\r
-       CALL(intra_Pred_4x4_Y_4,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-       or  (1) REG_INTRA_PRED_AVAIL<1>:w       REG_INTRA_PRED_AVAIL<0;1,0>:w   0x1:w   // Left neighbor is available now\r
-\r
-//     Sub-macroblock 1 *****************\r
-\r
-       mov     (16)    REF_TOP0(0)<1>  INTRA_REF_TOP0(0,8)     // Top reference data\r
-       mov     (4)             REF_LEFT(0)<1>  r[PPREDBUF_Y,PREDSUBBLK1+6]<8;1,0>:ub   // Left reference data (top half)\r
-       mov     (4)             REF_LEFT(0,4)<1>        r[PPREDBUF_Y,PREDSUBBLK3+6]<8;1,0>:ub   // Left reference data (bottom half)\r
-       shr     (4)             PRED_MODE<1>:w  INTRA_PRED_MODE(0,2)<1;2,0>     0x4040:v        // Expand IntraPredMode to 1 byte/block\r
-       add     (1)             PPREDBUF_Y<1>:w PPREDBUF_Y<0;1,0>:w     4*GRFWIB:w      // Pointer to predicted sub-macroblock 1\r
-       CALL(intra_Pred_4x4_Y_4,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-       or  (1) REG_INTRA_PRED_AVAIL<1>:w       REG_INTRA_PRED_AVAIL.1<0;1,0>:w 0x2:w   // Top neighbor is available now\r
-\r
-//     Pack constructed data from word-aligned to byte-aligned format\r
-//     to speed up save_4x4_Y module later\r
-//     PPREDBUF_Y now points to sub-block #4\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK4]<1>:ub        r[PPREDBUF_Y,-PREDSUBBLK4]<32;16,2>:ub          // Sub-block 0\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK4+16]<1>:ub    r[PPREDBUF_Y,-PREDSUBBLK3]<32;16,2>:ub  // Sub-block 1\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK2]<1>:ub        r[PPREDBUF_Y,-PREDSUBBLK2]<32;16,2>:ub          // Sub-block 2\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK2+16]<1>:ub    r[PPREDBUF_Y,-PREDSUBBLK1]<32;16,2>:ub  // Sub-block 3\r
-\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK3]<1>:ub        r[PPREDBUF_Y]<32;16,2>:ub                               // Sub-block 4\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK3+16]<1>:ub    r[PPREDBUF_Y,PREDSUBBLK1]<32;16,2>:ub   // Sub-block 5\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK1]<1>:ub        r[PPREDBUF_Y,PREDSUBBLK2]<32;16,2>:ub           // Sub-block 6\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK1+16]<1>:ub    r[PPREDBUF_Y,PREDSUBBLK3]<32;16,2>:ub   // Sub-block 7\r
-\r
-//     Sub-macroblock 2 *****************\r
-\r
-       mov     (4)             REF_TOP0(0)<1>          INTRA_REF_LEFT0(0,28)REGION(4,1)                // Top-left reference data\r
-       mov     (8)             REF_TOP0(0,4)<1>        r[PPREDBUF_Y,0-2*GRFWIB+12]<16;4,1>:ub  // Top reference data from SB 2,3\r
-       mov     (8)             REF_TOP0(0,12)<1>       r[PPREDBUF_Y,0-GRFWIB+12]<16;4,1>:ub    // Top reference data from SB 6,7\r
-       mov     (8)             REF_TOP0(0,20)<1>       r[PPREDBUF_Y,0-GRFWIB+31]<0;1,0>:ub             // Top-right reference data\r
-       mov     (16)    REG_INTRA_REF_TOP<1>:w  REF_TOP_W(0)            // Store top reference data for SubMB #2 and #3.\r
-       mov     (8)             REF_LEFT(0)<1>          INTRA_REF_LEFT(1)REGION(8,4)    // Left reference data\r
-       shr     (4)             PRED_MODE<1>:w          INTRA_PRED_MODE(0,4)<1;2,0>     0x4040:v        // Expand IntraPredMode to 1 byte/block\r
-       CALL(intra_Pred_4x4_Y_4,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-       or  (1) REG_INTRA_PRED_AVAIL<1>:w       REG_INTRA_PRED_AVAIL<0;1,0>:w   0x1:w   // Left neighbor is available now\r
-\r
-//     Sub-macroblock 3 *****************\r
-\r
-       mov     (16)    REF_TOP0(0)<1>  INTRA_REF_TOP0(0,8)             // Top reference data\r
-       mov     (8)             REF_TOP0(0,16)<1>       INTRA_REF_TOP0(0,24)REGION(8,1) // Top reference data\r
-       mov     (4)             REF_LEFT(0)<1>  r[PPREDBUF_Y,PREDSUBBLK1+6]<8;1,0>:ub   // Left reference data (top half)\r
-       mov     (4)             REF_LEFT(0,4)<1>        r[PPREDBUF_Y,PREDSUBBLK3+6]<8;1,0>:ub   // Left reference data (bottom half)\r
-       shr     (4)             PRED_MODE<1>:w  INTRA_PRED_MODE(0,6)<1;2,0>     0x4040:v        // Expand IntraPredMode to 1 byte/block\r
-       add     (1)             PPREDBUF_Y<1>:w PPREDBUF_Y<0;1,0>:w     4*GRFWIB:w      // Pointer to predicted sub-macroblock 3\r
-       CALL(intra_Pred_4x4_Y_4,1)\r
-\r
-//     Pack constructed data from word-aligned to byte-aligned format\r
-//     to speed up save_4x4_Y module later\r
-//     PPREDBUF_Y now points to sub-block #12\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK4]<1>:ub        r[PPREDBUF_Y,-PREDSUBBLK4]<32;16,2>:ub          // Sub-block 8\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK4+16]<1>:ub    r[PPREDBUF_Y,-PREDSUBBLK3]<32;16,2>:ub  // Sub-block 9\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK2]<1>:ub        r[PPREDBUF_Y,-PREDSUBBLK2]<32;16,2>:ub          // Sub-block 10\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK2+16]<1>:ub    r[PPREDBUF_Y,-PREDSUBBLK1]<32;16,2>:ub  // Sub-block 11\r
-\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK3]<1>:ub        r[PPREDBUF_Y]<32;16,2>:ub                               // Sub-block 12\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK3+16]<1>:ub    r[PPREDBUF_Y,PREDSUBBLK1]<32;16,2>:ub   // Sub-block 13\r
-       mov (16)        r[PPREDBUF_Y,-PREDSUBBLK1]<1>:ub        r[PPREDBUF_Y,PREDSUBBLK2]<32;16,2>:ub           // Sub-block 14\r
-       mov (16)        r[PPREDBUF_Y,0-PREDSUBBLK1+16]<1>:ub    r[PPREDBUF_Y,PREDSUBBLK3]<32;16,2>:ub   // Sub-block 15\r
-\r
-//     All 4 sub-macroblock (containing 4 intra_4x4 blocks) have be constructed\r
-//     Save constructed Y picture\r
-       CALL(save_4x4_Y,1)              // Save Intra_4x4 predicted luma data.\r
-//\r
-//  Decode U/V blocks\r
-//\r
-//     Note: The decoding for chroma blocks will be the same for all intra prediction mode\r
-//\r
-       CALL(decode_Chroma_Intra,1)\r
-\r
-#ifdef SW_SCOREBOARD\r
-    #include "scoreboard_update.asm"\r
-#endif\r
-\r
-// Terminate the thread\r
-//\r
-    #include "EndIntraThread.asm"\r
-\r
-// End of Intra_4x4\r
diff --git a/i965_drv_video/shaders/h264/mc/Intra_8x8.asm b/i965_drv_video/shaders/h264/mc/Intra_8x8.asm
deleted file mode 100644 (file)
index 05a0be5..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*\r
- * Decode Intra_8x8 macroblock\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Intra_8x8.asm\r
-//\r
-// Decoding of Intra_8x8 macroblock\r
-//\r
-//  $Revision: 12 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: Intra_8x8\r
-// ----------------------------------------------------\r
-\r
-#define        INTRA_8X8\r
-\r
-.kernel Intra_8x8\r
-INTRA_8x8:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0x01aa55a5:ud\r
-#endif\r
-\r
-#include "SetupForHWMC.asm"\r
-\r
-#define                REG_INTRA_PRED_AVAIL    REG_INTRA_TEMP_4\r
-#define                INTRA_PRED_AVAIL                REG_INTRA_TEMP_4.4\r
-\r
-// Offset where 8x8 predicted data blocks are stored\r
-#define        PREDBLK0        0*GRFWIB\r
-#define        PREDBLK1        4*GRFWIB\r
-#define        PREDBLK2        8*GRFWIB\r
-#define        PREDBLK3        12*GRFWIB\r
-\r
-#ifdef SW_SCOREBOARD\r
-\r
-// Update "E" flag with "F" flag information\r
-       mov (1) REG_INTRA_TEMP_0<1>:w   REG_INTRA_PRED_AVAIL_FLAG_WORD<0;1,0>:w         // Store original Intra_Pred_Avail_Flag\r
-       and.nz.f0.0 (1) NULLREG REG_MBAFF_PIC   MBAFF_PIC       // Is current MBAFF picture\r
-       and.z.f0.1 (1) NULLREG  REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG   // Is "A" not available?\r
-       (f0.0) and.z.f0.0 (1) NULLREG   REG_FIELD_MACROBLOCK_FLAG       FIELD_MACROBLOCK_FLAG   // Is current frame MB?\r
-       (f0.1) and.nz.f0.1 (1) NULLREG  REG_INTRA_PRED_8X8_BLK2_AVAIL_FLAG      INTRA_PRED_8X8_BLK2_AVAIL_FLAG  // Is "F" flag set?\r
-       (f0.0.allv) or (1)      REG_INTRA_PRED_AVAIL_FLAG_WORD<1>:w     REG_INTRA_PRED_AVAIL_FLAG_WORD<0;1,0>:w INTRA_PRED_LEFT_BH_AVAIL_FLAG   // Set "E" to 1 if all conditions meet\r
-\r
-    CALL(scoreboard_start_intra,1)\r
-       mov (1) REG_INTRA_PRED_AVAIL_FLAG_WORD<1>:w     REG_INTRA_TEMP_0<0;1,0>:w               // Restore original Intra_Pred_Avail_Flag\r
-#endif\r
-\r
-#ifdef SW_SCOREBOARD    \r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-#endif\r
-\r
-//\r
-//  Decode Y blocks\r
-//\r
-//     Load reference data from neighboring macroblocks\r
-    CALL(load_Intra_Ref_Y,1)\r
-\r
-       mov     (1)     PERROR<1>:w     ERRBUF*GRFWIB:w                 // Pointer to macroblock error data\r
-       mov     (1)     PDECBUF_UD<1>:ud        0x00010001*PREDBUF*GRFWIB+0x00100000:ud // Pointers to predicted data\r
-       shr (2) REG_INTRA_PRED_AVAIL<1>:w       REG_INTRA_PRED_AVAIL_FLAG_BYTE<0;1,0>:ub        0x40:v\r
-       \r
-#if 1\r
-       mov (4) REF_LEFT_D(0,0)<1>      0:ud            // This is to make validation easier. Without it, DRAM mismatch occurs.\r
-#endif\r
-\r
-//     Intra predict Intra_8x8 luma blocks\r
-//\r
-//     Sub-macroblock 0 *****************\r
-       mov     (16)    REF_TOP_W(0)<1> REG_INTRA_REF_TOP<16;16,1>:w            // Copy entire top reference data\r
-       and.nz.f0.0 (8) NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_LEFT_AVAIL_FLAG   // Is "D" available?\r
-       (-f0.0) mov (1) REF_TOP(0,-1)<1>        INTRA_REF_TOP(0)REGION(1,0)             // p[-1,-1] = p[0,-1]\r
-\r
-       mov     (8)             REF_LEFT(0,2)<1>        INTRA_REF_LEFT(0)       // Left reference data, (leave 2 for reference filtering)\r
-       (-f0.0) mov (1)         REF_LEFT(0,1)<1>        INTRA_REF_LEFT(0)REGION(1,0)                    // p[-1,-1]=p[-1,0]\r
-       (f0.0.any2h)  mov (2)           REF_LEFT(0,0)<1>        INTRA_REF_TOP(0,-1)REGION(1,0)  // p'[-1,y] (y=0,1) = p[-1,-1]\r
-       and.nz.f0.1 (1) NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_AVAIL_FLAG        // Is "B" available?\r
-       (f0.1) mov      (1)             REF_LEFT(0,0)<1>        INTRA_REF_TOP(0,0)REGION(1,0)   // p[0,-1] for left filtering\r
-       and.nz.f0.1 (1) NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG   // Is "A" available?\r
-       (-f0.1) mov     (1)             REF_LEFT(0,2)<1>        INTRA_REF_TOP(0,-1)REGION(1,0)  // p'[-1,2] = p[-1,-1]\r
-\r
-       and     (1)             PRED_MODE<1>:w  INTRA_PRED_MODE(0)REGION(1,0)   0x0F:w          // Intra pred mode for current block\r
-       mov (1)         INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w           // Top/Left neighbor available flags\r
-       CALL(intra_Pred_8x8_Y,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-//     Sub-macroblock 1 *****************\r
-       mov     (16)    REF_TOP0(0)<1>  INTRA_REF_TOP(0,4)      // Top reference data\r
-       and.nz.f0.1 (8) NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_RIGHT_AVAIL_FLAG  // Is "C" available?\r
-       (f0.1.any8h)  mov (8)   REF_TOP(0,8)<1> INTRA_REF_TOP(0,16)<8;8,1>              // Take data from "C"\r
-       (-f0.1.any8h) mov (8)   REF_TOP(0,8)<1> INTRA_REF_TOP(0,15)REGION(1,0)  // Repeat last pixel from "B"\r
-\r
-       mov     (4)             REF_LEFT(0,2)<1>        DEC_Y(0,14)<16;1,0>             // Left reference data (top half) (leave 2 for reference filtering)\r
-       mov     (4)             REF_LEFT(0,6)<1>        DEC_Y(2,14)<16;1,0>             // Left reference data (bottom half)\r
-       mov     (2)             REF_LEFT(0,0)<1>        INTRA_REF_TOP(0,7)REGION(1,0)           // p'[-1,y] (y=0,1) = p[-1,-1]\r
-       and.nz.f0.1 (1) NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_AVAIL_FLAG        // Is "B" available?\r
-       (f0.1)  mov     (1)             REF_LEFT(0,0)<1>        INTRA_REF_TOP(0,8)REGION(1,0)   // p[-1,-1] for left filtering\r
-       (-f0.1) mov     (1)             REF_LEFT(0,1)<1>        DEC_Y(0,14)REGION(1,0)  // p[-1,-1] = p[-1,0]\r
-\r
-       shr     (1)             PRED_MODE<1>:w  INTRA_PRED_MODE(0)REGION(1,0)   4:w             // Intra pred mode for current block\r
-       add     (2)             PPREDBUF_Y<1>:w PPREDBUF_Y<2;2,1>:w     4*GRFWIB:w                      // Pointer to predicted sub-macroblock 1\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w   1:w             // Left neighbor is available\r
-       CALL(intra_Pred_8x8_Y,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-//     Pack constructed data from word-aligned to byte-aligned format and interlace Y0 and Y1(every two Y rows)\r
-//     to speed up save_8x8_Y module later\r
-//     PPREDBUF_Y now points to sub-macroblock Y1\r
-       mov (32)        r[PPREDBUF_Y,-PREDBLK1]<1>:ub           DEC_Y(0)<32;16,2> {Compr}       // First 4 Y0 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+32]<1>:ub       DEC_Y(4)<32;16,2> {Compr}       // First 4 Y1 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+64]<1>:ub       DEC_Y(2)<32;16,2> {Compr}       // Second 4 Y0 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+96]<1>:ub       DEC_Y(6)<32;16,2> {Compr}       // Second 4 Y1 rows\r
-\r
-//     Sub-macroblock 2 *****************\r
-//     Intra_8x8 special available flag handling\r
-       and.nz.f0.0 (1) NULLREG REG_MBAFF_PIC   MBAFF_PIC       // Is current MBAFF picture\r
-       and.z.f0.1 (1) NULLREG  REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG   // Is "A" not available?\r
-       (f0.0) and.z.f0.0 (1) NULLREG   REG_FIELD_MACROBLOCK_FLAG       FIELD_MACROBLOCK_FLAG   // Is current frame MB?\r
-       (f0.1) and.nz.f0.1 (1) NULLREG  REG_INTRA_PRED_8X8_BLK2_AVAIL_FLAG      INTRA_PRED_8X8_BLK2_AVAIL_FLAG  // Is special intra_8x8 available flag set?\r
-       (f0.0.allv) mov (1)     REF_TOP(0,-1)<1>        INTRA_REF_LEFT0(0,31)REGION(1,0)        // Top-left reference data\r
-       (f0.0.allv) jmpi (1)    INTRA_8x8_BLK2\r
-//     Done intra_8x8 special available flag handling\r
-\r
-       and.nz.f0.0 (8) NULLREG REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG   // Is top-half "A" available?\r
-       (f0.0.any4h) mov (4)    REF_TOP0(0)<1>          INTRA_REF_LEFT0(0,28)REGION(4,1)        // Top-left reference data\r
-       (-f0.0) mov (1) REF_TOP(0,-1)<1>        DEC_Y(2,24)REGION(1,0)  // p[-1,-1] = p[0,-1]\r
-INTRA_8x8_BLK2:\r
-       mov     (8)             REF_TOP(0)<1>           DEC_Y(2,24)REGION(8,1)          // Top reference data\r
-       mov     (8)             REF_TOP(0,8)<1>         DEC_Y(3,24)REGION(8,1)          // Top reference data\r
-\r
-       mov     (8)             REF_LEFT(0,2)<1>        INTRA_REF_LEFT(1)                       // Left reference data,  (leave 2 for reference filtering)\r
-       mov (1)         REF_LEFT(0,0)<1>        DEC_Y(2,24)REGION(1,0)          // p'[-1,0] = p[0,-1] since "B" is always available\r
-       (f0.0) mov      (1)     REF_LEFT(0,1)<1>        INTRA_REF_LEFT(0,28)REGION(1,0) // p[-1,1] = p[-1,-1] if top-half "A" available\r
-       (-f0.0) mov (1) REF_LEFT(0,1)<1>        INTRA_REF_LEFT(1)REGION(1,0)    // p[-1,1] = p[-1,0]\r
-       and.nz.f0.1 (1) NULLREG REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_BH_AVAIL_FLAG   // Is bottom-half "A" available?\r
-       (-f0.1) mov     (1)     REF_LEFT(0,2)<1>        INTRA_REF_LEFT(0,28)REGION(1,0) // p'[-1,2] = p[-1,-1]\r
-\r
-       and     (1)             PRED_MODE<1>:w                  INTRA_PRED_MODE(0,1)REGION(1,0) 0x0F:w  // Intra pred mode for current block\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL.1<0;1,0>:w 2:w             // Top neighbor is available\r
-       CALL(intra_Pred_8x8_Y,1)\r
-    add (1)            PERROR<1>:w     PERROR<0;1,0>:w 0x0080:w        // Pointers to next error block\r
-\r
-//     Sub-macroblock 3 *****************\r
-       mov     (4)             REF_TOP0(0)<1>          DEC_Y(2,28)REGION(4,1)          // Top-left reference data\r
-       mov     (8)             REF_TOP(0)<1>           DEC_Y(3,24)REGION(8,1)          // Top reference data\r
-       mov     (16)    REF_TOP(0,8)<1>         DEC_Y(3,31)REGION(1,0)          // Top-right reference data\r
-\r
-       mov (4)         REF_LEFT(0,2)<1>        DEC_Y(4,14)<16;1,0>             // Left reference data (top half) (leave 2 for reference filtering)\r
-       mov (4)         REF_LEFT(0,6)<1>        DEC_Y(6,14)<16;1,0>             // Left reference data (bottom half)\r
-       mov (1)         REF_LEFT(0,0)<1>        DEC_Y(3,24)REGION(1,0)  // p[-1,0] = p[0,-1]\r
-       mov (1)         REF_LEFT(0,1)<1>        DEC_Y(2,31)REGION(1,0)  // p[-1,1] = p[-1,-1]\r
-\r
-       shr     (1)             PRED_MODE<1>:w  INTRA_PRED_MODE(0,1)REGION(1,0) 4:w             // Intra pred mode for current block\r
-       add     (2)             PPREDBUF_Y<1>:w PPREDBUF_Y<2;2,1>:w     4*GRFWIB:w      // Pointer to predicted sub-macroblock 3\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w   3:w             // Top and Left neighbor are available\r
-       CALL(intra_Pred_8x8_Y,1)\r
-\r
-//     Pack constructed data from word-aligned to byte-aligned format\r
-//     to speed up save_8x8_Y module later\r
-//     PPREDBUF_Y now points to sub-macroblock Y1\r
-       mov (32)        r[PPREDBUF_Y,-PREDBLK1]<1>:ub           DEC_Y(4)<32;16,2> {Compr}       // First 4 Y2 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+32]<1>:ub       DEC_Y(8)<32;16,2> {Compr}       // First 4 Y3 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+64]<1>:ub       DEC_Y(6)<32;16,2> {Compr}       // Second 4 Y2 rows\r
-       mov (32)        r[PPREDBUF_Y,0-PREDBLK1+96]<1>:ub       DEC_Y(10)<32;16,2> {Compr}      // Second 4 Y3 rows\r
-\r
-//     All 4 sub-macroblock (containing 4 intra_8x8 blocks) have be constructed\r
-//     Save constructed Y picture\r
-       CALL(save_8x8_Y,1)              // Save Intra_8x8 predicted luma data.\r
-//\r
-//  Decode U/V blocks\r
-//\r
-//     Note: The decoding for chroma blocks will be the same for all intra prediction mode\r
-//\r
-       CALL(decode_Chroma_Intra,1)\r
-\r
-#ifdef SW_SCOREBOARD\r
-    #include "scoreboard_update.asm"\r
-#endif\r
-\r
-// Terminate the thread\r
-//\r
-    #include "EndIntraThread.asm"\r
-\r
-// End of Intra_8x8\r
diff --git a/i965_drv_video/shaders/h264/mc/Intra_PCM.asm b/i965_drv_video/shaders/h264/mc/Intra_PCM.asm
deleted file mode 100644 (file)
index 6bc81af..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*\r
- * Decode Intra_PCM macroblock\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Intra_PCM.asm\r
-//\r
-// Decoding of I_PCM macroblock\r
-//\r
-//  $Revision: 8 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: Intra_PCM\r
-// ----------------------------------------------------\r
-\r
-.kernel Intra_PCM\r
-INTRA_PCM:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0x03aa55a5:ud\r
-#endif\r
-\r
-#include "SetupForHWMC.asm"\r
-\r
-// Not actually needed here but just want to slow down the Intra-PCM to avoid race condition\r
-//\r
-#ifdef SW_SCOREBOARD\r
-       and (1)   REG_INTRA_PRED_AVAIL_FLAG_WORD<1>:w   REG_INTRA_PRED_AVAIL_FLAG_WORD<0;1,0>:w 0xffe0:w        // Ensure all neighbor avail flags are "0"\r
-    CALL(scoreboard_start_intra,1)\r
-       wait    n0:ud           //      Now wait for scoreboard to response\r
-#endif\r
-\r
-//\r
-//  Decoding Y blocks\r
-//\r
-//     In I_PCM mode, the samples are already arranged in raster scan order within the macroblock.\r
-//     We just need to save them to picture buffers\r
-//\r
-    #include "save_I_PCM.asm"              // Save to destination picture buffers\r
-\r
-#ifdef SW_SCOREBOARD    \r
-    #include "scoreboard_update.asm"\r
-#endif\r
-\r
-// Terminate the thread\r
-//\r
-    #include "EndIntraThread.asm"\r
-\r
-// End of Intra_PCM\r
diff --git a/i965_drv_video/shaders/h264/mc/Intra_funcLib.asm b/i965_drv_video/shaders/h264/mc/Intra_funcLib.asm
deleted file mode 100644 (file)
index 9644f7f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*\r
- * Library of common modules shared among different intra prediction kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: Intra_funcLib.asm\r
-//\r
-// Library of common modules shared among different intra prediction kernels\r
-//\r
-//  Note: Any sub-modules, if they are #included in more than one kernel,\r
-//       should be moved to this module.\r
-//\r
-#if defined(INTRA_16X16)\r
-#undef INTRA_16X16\r
-    #include "load_Intra_Ref_Y.asm"            // Load intra Y reference data\r
-    #include "Decode_Chroma_Intra.asm" // Decode chroma blocks\r
-    #include "save_16x16_Y.asm"                        // Save to destination Y frame surface\r
-#elif defined(INTRA_8X8)\r
-#undef INTRA_8X8\r
-    #include "load_Intra_Ref_Y.asm"            // Load intra Y reference data\r
-    #include "Decode_Chroma_Intra.asm" // Decode chroma blocks\r
-    #include "intra_Pred_8x8_Y.asm"            // Intra predict Intra_4x4 blocks\r
-    #include "save_8x8_Y.asm"                  // Save to destination Y frame surface\r
-#elif defined(INTRA_4X4)\r
-#undef INTRA_4X4\r
-    #include "load_Intra_Ref_Y.asm"            // Load intra Y reference data\r
-    #include "Decode_Chroma_Intra.asm" // Decode chroma blocks\r
-    #include "intra_Pred_4x4_Y_4.asm"  // Intra predict Intra_4x4 blocks\r
-    #include "save_4x4_Y.asm"                  // Save to destination Y frame surface\r
-#else                                                          // For all merged kernels\r
-#endif\r
-\r
-#ifdef SW_SCOREBOARD    \r
-    #include "scoreboard_start_intra.asm"      // scorboard intra start function       \r
-    #include "scoreboard_start_inter.asm"      // scorboard inter start function       \r
-#endif // SW_SCOREBOARD\r
-\r
-// End of Intra_funcLib\r
diff --git a/i965_drv_video/shaders/h264/mc/Makefile.am b/i965_drv_video/shaders/h264/mc/Makefile.am
deleted file mode 100644 (file)
index a4ab3c0..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-
-INTEL_G4I = 
-
-INTEL_G4A = null.g4a
-
-INTEL_G4B = null.g4b
-
-INTEL_G4B_GEN5 = null.g4b.gen5
-
-INTEL_MC_G4B_GEN5 = avc_mc.g4b.gen5
-INTEL_MC_EXPORT_GEN5 = export.inc.gen5
-
-INTEL_MC_ASM = \
-       add_Error_16x16_Y.asm   \
-       add_Error_UV.asm        \
-       AllAVC.asm      \
-       AllAVCField.asm \
-       AllAVCFrame.asm \
-       AllAVCMBAFF.asm \
-       AllIntra.asm    \
-       AVCMCInter.asm  \
-       BSDReset.asm    \
-       chromaMVAdjust.asm      \
-       DCResetDummy.asm        \
-       Decode_Chroma_Intra.asm \
-       EndIntraThread.asm      \
-       initialize_MBPara.asm   \
-       interpolate_C_2x2.asm   \
-       interpolate_C_4x4.asm   \
-       interpolate_Y_4x4.asm   \
-       interpolate_Y_8x8.asm   \
-       Intra_16x16.asm \
-       Intra_4x4.asm   \
-       Intra_8x8.asm   \
-       Intra_funcLib.asm       \
-       Intra_PCM.asm   \
-       intra_pred_16x16_Y.asm  \
-       intra_Pred_4x4_Y_4.asm  \
-       intra_Pred_8x8_Y.asm    \
-       intra_Pred_Chroma.asm   \
-       load_Intra_Ref_UV.asm   \
-       load_Intra_Ref_Y.asm    \
-       loadRef_C_10x5.asm      \
-       loadRef_C_6x3.asm       \
-       loadRef_Y_16x13.asm     \
-       loadRef_Y_16x9.asm      \
-       recon_C_4x4.asm \
-       recon_Y_8x8.asm \
-       roundShift_C_4x4.asm    \
-       save_16x16_Y.asm        \
-       save_4x4_Y.asm  \
-       save_8x8_UV.asm \
-       save_8x8_Y.asm  \
-       save_I_PCM.asm  \
-       scoreboard.asm  \
-       scoreboard_MBAFF.asm    \
-       scoreboard_restore_AS.asm       \
-       scoreboard_save_AS.asm  \
-       scoreboard_sip.asm      \
-       scoreboard_start_inter.asm      \
-       scoreboard_start_intra.asm      \
-       scoreboard_update.asm   \
-       SetHWScoreboard.asm     \
-       SetHWScoreboard_MBAFF.asm       \
-       set_SB_offset.asm       \
-       SetupForHWMC.asm        \
-       weightedPred.asm        \
-       writeRecon_C_8x4.asm    \
-       writeRecon_Y_16x8.asm   \
-       writeRecon_YC.asm
-
-INTEL_ILDB_ASM = \
-       ../ildb/AVC_ILDB_Child_Field_UV.asm     \
-       ../ildb/AVC_ILDB_Child_Field_Y.asm      \
-       ../ildb/AVC_ILDB_Child_Mbaff_UV.asm     \
-       ../ildb/AVC_ILDB_Child_Mbaff_Y.asm      \
-       ../ildb/AVC_ILDB_Child_UV.asm   \
-       ../ildb/AVC_ILDB_Child_Y.asm    \
-       ../ildb/AVC_ILDB_Chroma_Core.asm        \
-       ../ildb/AVC_ILDB_Chroma_Core_Mbaff.asm  \
-       ../ildb/AVC_ILDB_CloseGateway.asm       \
-       ../ildb/AVC_ILDB_Dep_Check.asm  \
-       ../ildb/AVC_ILDB_Filter_Mbaff_UV_h.asm  \
-       ../ildb/AVC_ILDB_Filter_Mbaff_UV_v.asm  \
-       ../ildb/AVC_ILDB_Filter_Mbaff_Y_h.asm   \
-       ../ildb/AVC_ILDB_Filter_Mbaff_Y_v.asm   \
-       ../ildb/AVC_ILDB_Filter_UV_h.asm        \
-       ../ildb/AVC_ILDB_Filter_UV_v.asm        \
-       ../ildb/AVC_ILDB_Filter_Y_h.asm \
-       ../ildb/AVC_ILDB_Filter_Y_v.asm \
-       ../ildb/AVC_ILDB_ForwardMsg.asm \
-       ../ildb/AVC_ILDB_Luma_Core.asm  \
-       ../ildb/AVC_ILDB_Luma_Core_Mbaff.asm    \
-       ../ildb/AVC_ILDB_LumaThrdLimit.asm      \
-       ../ildb/AVC_ILDB_OpenGateway.asm        \
-       ../ildb/AVC_ILDB_Root_Field_UV.asm      \
-       ../ildb/AVC_ILDB_Root_Field_Y.asm       \
-       ../ildb/AVC_ILDB_Root_Mbaff_UV.asm      \
-       ../ildb/AVC_ILDB_Root_Mbaff_Y.asm       \
-       ../ildb/AVC_ILDB_Root_UV.asm    \
-       ../ildb/AVC_ILDB_Root_Y.asm     \
-       ../ildb/AVC_ILDB_Spawn.asm      \
-       ../ildb/AVC_ILDB_SpawnChild.asm \
-       ../ildb/AVC_ILDB_SpawnChromaRoot.asm    \
-       ../ildb/load_Cur_UV_8x8T.asm    \
-       ../ildb/load_Cur_UV_8x8T_Mbaff.asm      \
-       ../ildb/load_Cur_UV_Right_Most_2x8.asm  \
-       ../ildb/load_Cur_Y_16x16T.asm   \
-       ../ildb/load_Cur_Y_16x16T_Mbaff.asm     \
-       ../ildb/load_Cur_Y_Right_Most_4x16.asm  \
-       ../ildb/Load_ILDB_Cntrl_Data_16DW.asm   \
-       ../ildb/Load_ILDB_Cntrl_Data_22DW.asm   \
-       ../ildb/Load_ILDB_Cntrl_Data_64DW.asm   \
-       ../ildb/Load_ILDB_Cntrl_Data.asm        \
-       ../ildb/load_Left_UV_2x8T.asm   \
-       ../ildb/load_Left_UV_2x8T_Mbaff.asm     \
-       ../ildb/load_Left_Y_4x16T.asm   \
-       ../ildb/load_Left_Y_4x16T_Mbaff.asm     \
-       ../ildb/loadNV12_16x16T.asm     \
-       ../ildb/loadNV12_16x4.asm       \
-       ../ildb/load_Top_UV_8x2.asm     \
-       ../ildb/load_Top_UV_8x2_Mbaff.asm       \
-       ../ildb/load_Top_Y_16x4.asm     \
-       ../ildb/load_Top_Y_16x4_Mbaff.asm       \
-       ../ildb/save_Cur_UV_8x8.asm     \
-       ../ildb/save_Cur_UV_8x8_Mbaff.asm       \
-       ../ildb/save_Cur_Y_16x16.asm    \
-       ../ildb/save_Cur_Y_16x16_Mbaff.asm      \
-       ../ildb/save_Left_UV_8x2T.asm   \
-       ../ildb/save_Left_UV_8x2T_Mbaff.asm     \
-       ../ildb/save_Left_Y_16x4T.asm   \
-       ../ildb/save_Left_Y_16x4T_Mbaff.asm     \
-       ../ildb/saveNV12_16x16.asm      \
-       ../ildb/saveNV12_16x4.asm       \
-       ../ildb/saveNV12_16x4T.asm      \
-       ../ildb/save_Top_UV_8x2.asm     \
-       ../ildb/save_Top_UV_8x2_Mbaff.asm       \
-       ../ildb/save_Top_Y_16x4.asm     \
-       ../ildb/save_Top_Y_16x4_Mbaff.asm       \
-       ../ildb/SetupVPKernel.asm       \
-       ../ildb/Transpose_Cur_UV_2x8.asm        \
-       ../ildb/Transpose_Cur_UV_8x8.asm        \
-       ../ildb/Transpose_Cur_UV_Right_Most_2x8.asm     \
-       ../ildb/Transpose_Cur_Y_16x16.asm       \
-       ../ildb/Transpose_Cur_Y_4x16.asm        \
-       ../ildb/Transpose_Cur_Y_Right_Most_4x16.asm     \
-       ../ildb/Transpose_Left_UV_2x8.asm       \
-       ../ildb/Transpose_Left_Y_4x16.asm       \
-       ../ildb/TransposeNV12_16x16.asm \
-       ../ildb/TransposeNV12_4x16.asm  \
-       ../ildb/writeURB.asm    \
-       ../ildb/writeURB_UV_Child.asm   \
-       ../ildb/writeURB_Y_Child.asm
-
-EXTRA_DIST = $(INTEL_G4I)      \
-            $(INTEL_G4A)       \
-            $(INTEL_G4B)       \
-            $(INTEL_G4B_GEN5)
-
-if HAVE_GEN4ASM
-
-SUFFIXES = .g4a .g4b
-.g4a.g4b:
-       m4 $*.g4a > $*.g4m && intel-gen4asm -o $@ $*.g4m && intel-gen4asm -g 5 -o $@.gen5 $*.g4m && rm $*.g4m
-
-$(INTEL_MC_G4B_GEN5): $(INTEL_MC_ASM) $(INTEL_ILDB_ASM)
-       @cpp -D DEV_ILK -I ../ildb/ AllAVC.asm > a.asm; \
-       ../../gpp.py a.asm avc_mc.asm; \
-       intel-gen4asm -l list -a -e _export.inc -o $@ -g 5 avc_mc.asm; \
-       cpp -D DEV_ILK -I ../ildb/ AllAVC.asm > a.asm; \
-       ../../gpp.py a.asm avc_mc.asm; \
-       intel-gen4asm -l list -a -e _export.inc -o $@ -g 5 avc_mc.asm; \
-       cat _export.inc | sed "s/_IP/_IP_GEN5/g" > $(INTEL_MC_EXPORT_GEN5); \
-       rm a.asm avc_mc.asm _export.inc
-
-$(INTEL_G4B): $(INTEL_G4I)
-
-BUILT_SOURCES= $(INTEL_G4B) $(INTEL_MC_G4B) $(INTEL_MC_G4B_GEN5)
-
-clean-local:
-       -rm -f $(INTEL_G4B)
-       -rm -f $(INTEL_G4B_GEN5)
-       -rm -f $(INTEL_MC_G4B_GEN5) $(INTEL_MC_EXPORT_GEN5)
-endif    
diff --git a/i965_drv_video/shaders/h264/mc/Scoreboard_header.inc b/i965_drv_video/shaders/h264/mc/Scoreboard_header.inc
deleted file mode 100644 (file)
index 5e87275..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*\r
- * Common header file for both scoreboard and scoreboard_MBAFF kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SCOREBOARD_HEADER__)    // Make sure this file is only included once\r
-#define __SCOREBOARD_HEADER__\r
-\r
-// Module name: scoreboard_header.inc\r
-//\r
-// Common header file for both scoreboard and scoreboard_MBAFF kernels\r
-//\r
-\r
-#define ONE_MB_WA                                              // Enable WA for 1-MB wide pictures. To disable WA, simply comment out this line.\r
-\r
-#define        INLINE_REG_OFF  1\r
-#define INLINE_REG             r1\r
-#define INLINE_REG1            r2\r
-\r
-#define DONEFLAG       0x40            // Bit mask of "completed" thread flag\r
-\r
-// GRF r1 map\r
-//\r
-#define WIDTHINMB_1    INLINE_REG.0            // :uw type. Picture width in MB - 1\r
-#define HEIGHTINMB_1   INLINE_REG.1    // :uw type. Picture height in MB - 1\r
-#define TotalMB                INLINE_REG.2            // :uw type. Total number of macroblocks\r
-#define WFLen_B                INLINE_REG.3            // :uw type. Bottom MB Wavefront length (Reserved for MBAFF scoreboard)\r
-#define WFLen          INLINE_REG.4            // :uw type. Wavefront length (used as loop counter)\r
-#define WFLenY         INLINE_REG.5            // :uw type. Wavefront length (vertical component)\r
-#define StartX         INLINE_REG.6            // :uw type. Start X of current wavefront\r
-#define StartY         INLINE_REG.7            // :uw type. Start Y of current wavefront\r
-#define StartXD                INLINE_REG.3            // :ud type. Start (X,Y) of current wavefront\r
-#define        CASE00PTR       INLINE_REG.4            // :ud type. Pointer to "inter start" handler\r
-#define WFLen_Save     INLINE_REG.10           // :uw type. Saved Wavefront length (Reserved for MBAFF scoreboard)\r
-#define        CASE10PTR       INLINE_REG.6            // :ud type. Pointer to "intra start" handler\r
-#define        CASE11PTR       INLINE_REG.7            // :ud type. Pointer to "inter complete" handler\r
-\r
-// GRF r2 map\r
-//\r
-.declare    WFStart    Base=GRF(2) ElementSize=2 SrcRegion=REGION(4,1) Type=w  // Start MB of recent 4 wavefronts, actually use 5 WORDs\r
-.declare    WFStart_T  Base=GRF(2) ElementSize=2 SrcRegion=REGION(4,1) Type=w          // Start MB of recent 4 wavefronts\r
-.declare    WFStart_B  Base=GRF(2).4 ElementSize=2 SrcRegion=REGION(4,1) Type=w        // Start MB of recent 4 wavefronts\r
-\r
-#define NewWFOffsetD   INLINE_REG1.5   // :d type. Offsets used for new wavefront = 0x01ffff00 (0, -1, -1, 1)\r
-#define NewWFOffset    INLINE_REG1.20          // :b type. Offsets used for new wavefront = 0x01ffff00 (0, -1, -1, 1)\r
-\r
-#define AVAILFLAGD     INLINE_REG1.6           // :ud type. Neighbor available flags = 0x08020401 (in ACBD order)\r
-#define AVAILFLAG      INLINE_REG1.24          // :ub type. Neighbor available flags as above\r
-#define AVAILFLAG1D    INLINE_REG1.7           // :ud type. Top-half neighbor available flags = 0x80402010 (in A_Bxxx order)\r
-\r
-.declare    MBINDEX    Base=GRF(3) ElementSize=2 SrcRegion=REGION(16,1) Type=w // MB order # of current MB group (Cur, ACBD and AC_B_D_)\r
-#define AR_SAVE                r3.8    // :uw type. Saved Address Register information\r
-\r
-#define        CMDPTR          a0.0    // :uw type. DWORD Pointer to the scoreboard\r
-#define DEPPTR         a0.0    // :uw type. Pointer to the dependency scoreboard - Current MB\r
-#define DEPPTRL                a0.1    // :uw type. Pointer to the dependency scoreboard - Left MB\r
-#define DEPPTRTR       a0.2    // :uw type. Pointer to the dependency scoreboard - Top right MB\r
-#define DEPPTRT                a0.3    // :uw type. Pointer to the dependency scoreboard - Top MB\r
-#define DEPPTRTL    a0.4    // :uw type. Pointer to the dependency scoreboard - Top left MB\r
-#define DEPPTRLB       a0.5    // :uw type. Pointer to the dependency scoreboard - Left bottom-half MB\r
-\r
-#define        PMSGSEL         a0.7    // :uw type. Pointer to current message in message handling table\r
-\r
-#define        CMD_SB_REG_OFF          4\r
-.declare    CMD_SB             Base=GRF(4) ElementSize=4 SrcRegion=REGION(8,1) Type=ud // Command scoreboard (64 GRF)\r
-\r
-#ifdef AS_ENABLED\r
-//     Definitions for Advanced Scheduler support\r
-#define AS_INT         BIT23   // "Preemption Exception Status" bit in cr0.1:ud control register\r
-#define AS_INT_EN      BIT10   // "Preemption Exception Enable" bit in cr0.1:ud control register\r
-#define TH_INT         BIT2    // "Thread Interrupted" bit in message descriptor\r
-#define TH_RES         BIT0    // "Thread Restart Enable" bit in R0 header r0.2\r
-\r
-#define AS_SAVE                34              // Surface state for saving scoreboard contents\r
-                                                       // Ensure not to conflict with existing binding table entries\r
-#endif // End AS_ENABLED\r
-\r
-// End of scoreboard_header\r
-\r
-#endif // !defined(__SCOREBOARD_HEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/SetHWScoreboard.asm b/i965_drv_video/shaders/h264/mc/SetHWScoreboard.asm
deleted file mode 100644 (file)
index c2da855..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*\r
- * Set dependency control HW scoreboard kernel\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: SetHWScoreboard.asm\r
-//\r
-// Set dependency control HW scoreboard kernel\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: SetHWScoreboard\r
-// ----------------------------------------------------\r
-\r
-.kernel SetHWScoreboard\r
-\r
-SETHWSCOREBOARD:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0xf0aa55a5:ud\r
-#endif\r
-\r
-#include "header.inc"\r
-#include "SetHWScoreboard_header.inc"\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-\r
-//     Separate the TotalMB so TotalMB will be multiple of 8\r
-//     and RemainderMB will hold the TotalMB%8\r
-//\r
-       and.z.f0.1 (1)  RemainderMB<1>:uw       TotalMB<0;1,0>:uw       0x0007:uw       // number of %8 commands\r
-       and.z.f0.0 (1)  TotalMB<1>:uw           TotalMB<0;1,0>:uw       0xfff8:uw       // Number of 8-command blocks\r
-\r
-       mov (1) MB_SHIFT_MASK_W<1>:uw           0x100*16+12:w                                   // Set up shift values (12, 16)\r
-\r
-//     Initialize common DAP read header\r
-//\r
-       mov (8) MRF_READ_HEADER_SRC<1>:ud       r0.0<8;8,1>:ud\r
-       shl (1) MRF_READ_HEADER_SRC.2<1>:ud     StartingMB<0;1,0>:uw    6:uw    // Byte-aligned offset being read\r
-\r
-//     Initialize Inter DAP write header\r
-       mov (8) MRF_INTER_WRITE_HEADER<1>:ud    r0.0<8;8,1>:ud\r
-\r
-       (f0.0) jmpi (1) SetHWScoreboard_Remainder                                                       // Jump if TotalMB < 8\r
-\r
-//------------------------------------------------------------------------\r
-//     Command buffer parsing loop\r
-//     Each loop will handle 8 commands\r
-//------------------------------------------------------------------------\r
-//\r
-SetHWScoreboard_Loop:\r
-//     Load block 0 (Commands 0/1)\r
-       mov (8) MRF_READ_HEADER0.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       send (16)       CMD_BUFFER_W(0)<1>      MRF_READ_HEADER0        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 1  (Commands 2/3)\r
-       mov (8) MRF_READ_HEADER1.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER1.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(4)<1>      MRF_READ_HEADER1        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 2  (Commands 4/5)\r
-       mov (8) MRF_READ_HEADER2.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER2.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(8)<1>      MRF_READ_HEADER2        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 3  (Commands 6/7)\r
-       mov (8) MRF_READ_HEADER3.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER3.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(12)<1>     MRF_READ_HEADER3        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Start parsing commands\r
-    $for(0; <16; 2) {\r
-       and.nz.f0.1 (8) NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_INTRA_MB:ud          // Is it an "Intra" MB?\r
-       or (1)  CMD_BUFFER_D(%1,2)<1>   CMD_BUFFER_D(%1,2)<0;1,0>       BIT21:ud        // Set "Use Scoreboard" for every MB\r
-       shl     (2)     CMD_BUFFER_W(%1,2)<1>   CMD_BUFFER_W(%1,14)<0;1,0>      MB_SHIFT_MASK_B<2;2,1>:b        // Set HW SB masks\r
-       mov (2) CMD_BUFFER_B(%1,4)<2>   CMD_BUFFER_B(%1,20)<2;2,1>                              // Set scoreboard (X,Y) for intra MB\r
-       (-f0.1) mov (2) CMD_BUFFER_W(%1,2)<1>   CMD_BUFFER_B(%1,20)<2;2,1>              // Set scoreboard (X,Y) for inter MB\r
-       (f0.1) jmpi (1) Parse_8_Loop_%1\r
-\r
-//     Inter Macroblock\r
-//     Output MEDIA_OBJECT command in raster scan order\r
-       mul (16) acc0<1>:uw     CMD_BUFFER_B(%1,21)<0;1,0>      PicWidthMB<0;1,0>:uw    // MB offset = Y*W\r
-       add (16) acc0<1>:uw     acc0<8;8,1>:uw  CMD_BUFFER_B(%1,20)<0;1,0>                      // MB offset = Y*W+X\r
-       shl (1) MRF_INTER_WRITE_HEADER.2<1>:ud  acc0.2<0;1,0>:uw        6:uw            // Byte-aligned MB offset\r
-       mov (16)        MRF_INTER_WRITE_DATA0<1>:ud     CMD_BUFFER_D(%1)<8;8,1> {Compr} // Copy entire command to inter buffer\r
-       mov     (16)    CMD_BUFFER_D(%1)<1>             0:ud    {Compr}                                         // Clear original command\r
-       send (16)       NULLREGW        MRF_INTER_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-\r
-Parse_8_Loop_%1:\r
-       }\r
-\r
-       add.z.f0.0 (1)  TotalMB<1>:w    TotalMB<0;1,0>:w        -8:w                            // Update remaining number of 8-command blocks\r
-\r
-//     Output modified intra commands\r
-//     Write block 0\r
-       mov (8) MRF_INTRA_WRITE_HEADER.0<1>:ud  MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-    $for(0; <4; 2) {\r
-       mov (16)        MRF_CMD_BUF_D(%1)<1>    CMD_BUFFER_D(%1)<8;8,1> {Compr}\r
-       }\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 1\r
-       mov (8) m1.0<1>:ud      MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     m1.2<1>:ud      MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       mov (16)        m2<1>:ud        CMD_BUFFER_D(4)<8;8,1>  {Compr}\r
-       mov (16)        m4<1>:ud        CMD_BUFFER_D(6)<8;8,1>  {Compr}\r
-       send (16)       NULLREGW        m1      null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 2\r
-       add     (1)     MRF_INTRA_WRITE_HEADER.2<1>:ud  MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-    $for(0; <4; 2) {\r
-       mov (16)        MRF_CMD_BUF_D(%1)<1>    CMD_BUFFER_D(%1+8)<8;8,1>       {Compr}\r
-       }\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 3\r
-       add     (1)     m1.2<1>:ud      MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       mov (16)        m2<1>:ud        CMD_BUFFER_D(12)<8;8,1> {Compr}\r
-       mov (16)        m4<1>:ud        CMD_BUFFER_D(14)<8;8,1> {Compr}\r
-       send (16)       NULLREGW        m1      null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Update message header for next DAP read\r
-       add (1) MRF_READ_HEADER_SRC.2<1>:ud     MRF_READ_HEADER_SRC.2<0;1,0>:ud 512:ud  // Point to next block of 8-commands\r
-\r
-       cmp.z.f0.1 (1)  NULLREG RemainderMB<0;1,0>:w    0:uw    // Check if remainder MB = 0\r
-       (-f0.0) jmpi (1)        SetHWScoreboard_Loop                    // Continue if more command blocks remain\r
-\r
-SetHWScoreboard_Remainder:\r
-//     f0.1 should have been set to indicate if RemainderMB = 0\r
-//\r
-       (f0.1) jmpi (1) SetHWScoreboard_Done                            // Stop if all commands have been updated\r
-\r
-//     Blindly load next 8 commands anyway\r
-//\r
-//     Load block 0 (Commands 0/1)\r
-       mov (8) MRF_READ_HEADER0.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       send (16)       CMD_BUFFER_W(0)<1>      MRF_READ_HEADER0        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 1  (Commands 2/3)\r
-       mov (8) MRF_READ_HEADER1.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER1.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(4)<1>      MRF_READ_HEADER1        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 2  (Commands 4/5)\r
-       mov (8) MRF_READ_HEADER2.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER2.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(8)<1>      MRF_READ_HEADER2        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 3  (Commands 6/7)\r
-       mov (8) MRF_READ_HEADER3.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER3.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(12)<1>     MRF_READ_HEADER3        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Initialize necessary pointers\r
-       mov (1) a0.1<1>:ud      ((CMD_BUFFER_REG_OFF+1)*0x10000+CMD_BUFFER_REG_OFF)*32  // a0.2:w points to command buffer (first half)\r
-                                                                                                                                                       // a0.3:w points to command buffer (second half)\r
-//     Initialize Inter DAP write header\r
-       mov (8) MRF_INTER_WRITE_HEADER<1>:ud    r0.0<8;8,1>:ud\r
-\r
-SetHWScoreboard_Remainder_Loop:\r
-       and.nz.f0.1 (8) NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_INTRA_MB:ud          // Is it an "Intra" MB?\r
-       add.z.f0.0 (1)  RemainderMB<1>:w        RemainderMB<0;1,0>:w    -1:w    // Decrement MB #\r
-       or (1)  r[a0.2,2*4]<1>:ud       r[a0.2,2*4]<0;1,0>:ud   BIT21:ud                // Set "Use Scoreboard" for every MB\r
-       shl     (2)     r[a0.2,2*2]<1>:uw       r[a0.2,14*2]<0;1,0>:uw  MB_SHIFT_MASK_B<2;2,1>:b        // Set HW SB masks\r
-       mov (2) r[a0.2,4*1]<2>:ub       r[a0.2,5*4]<2;2,1>:ub                                   // Set scoreboard (X,Y) for intra MB\r
-\r
-       (-f0.1) mov (2) r[a0.2,4*1]<1>:uw       r[a0.2,5*4]<2;2,1>:ub                   // Set scoreboard (X,Y) for inter MB\r
-       (f0.1) jmpi (1) Output_Remainder_Intra\r
-\r
-//     Inter Macroblock\r
-//     Output MEDIA_OBJECT command in raster scan order\r
-       mul (16) acc0<1>:uw     r[a0.2,21]<0;1,0>:ub    PicWidthMB<0;1,0>:uw    // MB offset = Y*W\r
-       add (16) acc0<1>:uw     acc0<8;8,1>:uw  r[a0.2,20]<0;1,0>:ub                    // MB offset = Y*W+X\r
-       shl (1) MRF_INTER_WRITE_HEADER.2<1>:ud  acc0.2<0;1,0>:uw        6:uw    // Byte-aligned MB offset\r
-       mov (16)        MRF_INTER_WRITE_DATA0<1>:ud     r[a0.2]<8;8,1>:ud       {Compr} // Copy entire command to inter buffer\r
-       mov     (16)    r[a0.2]<1>:ud           0:ud    {Compr}                                         // Clear original command\r
-       send (16)       NULLREGW        MRF_INTER_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-\r
-Output_Remainder_Intra:\r
-//     Intra MB command always output\r
-       mov (8) MRF_INTRA_WRITE_HEADER.0<1>:ud  MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       mov (16)        MRF_CMD_BUF_D(0)<1>             r[a0.2]<8;8,1>:ud       {Compr}         // Copy entire command to intra buffer\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-\r
-       add     (1)     MRF_READ_HEADER_SRC.2<1>:ud             MRF_READ_HEADER_SRC.2<0;1,0>:ud         64:ud   // Point to next command\r
-       add (1) a0.1<1>:ud      a0.1<0;1,0>:ud  0x00400040:ud                                   // Update pointers\r
-       (-f0.0) jmpi (1)        SetHWScoreboard_Remainder_Loop\r
-\r
-// All MBs have been decoded. Terminate the thread now\r
-//\r
-SetHWScoreboard_Done:\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
-\r
-// End of SetHWScoreboard\r
diff --git a/i965_drv_video/shaders/h264/mc/SetHWScoreboard_MBAFF.asm b/i965_drv_video/shaders/h264/mc/SetHWScoreboard_MBAFF.asm
deleted file mode 100644 (file)
index c5cfeb3..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/*\r
- * Set dependency control HW scoreboard kernel for MBAFF picture\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: SetHWScoreboard_MBAFF.asm\r
-//\r
-// Set dependency control HW scoreboard kernel for MBAFF picture\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: SetHWScoreboard_MBAFF\r
-// ----------------------------------------------------\r
-\r
-.kernel SetHWScoreboard_MBAFF\r
-\r
-SETHWSCOREBOARD_MBAFF:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0xf1aa55a5:ud\r
-#endif\r
-\r
-#include "header.inc"\r
-#include "SetHWScoreboard_header.inc"\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-\r
-//     Separate the TotalMB so TotalMB will be multiple of 8\r
-//     and RemainderMB will hold the TotalMB%8\r
-//\r
-       and.z.f0.1 (1)  RemainderMB<1>:uw       TotalMB<0;1,0>:uw       0x0007:uw       // number of %8 commands\r
-       and.z.f0.0 (1)  TotalMB<1>:uw           TotalMB<0;1,0>:uw       0xfff8:uw       // Number of 8-command blocks\r
-\r
-//     Initialize common DAP read header\r
-//\r
-       mov (8) MRF_READ_HEADER_SRC<1>:ud       r0.0<8;8,1>:ud\r
-       shl (1) MRF_READ_HEADER_SRC.2<1>:ud     StartingMB<0;1,0>:uw    6:uw    // Byte-aligned offset being read\r
-\r
-//     Initialize Inter DAP write header\r
-       mov (8) MRF_INTER_WRITE_HEADER<1>:ud    r0.0<8;8,1>:ud\r
-\r
-       (f0.0) jmpi (1) SetHWScoreboard_MBAFF_Remainder                                         // Jump if TatalMB < 8\r
-\r
-//------------------------------------------------------------------------\r
-//     Command buffer parsing loop\r
-//     Each loop will handle 8 commands\r
-//------------------------------------------------------------------------\r
-//\r
-SetHWScoreboard_MBAFF_Loop:\r
-//     Load block 0 (Commands 0/1)\r
-       mov (8) MRF_READ_HEADER0.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       send (16)       CMD_BUFFER_W(0)<1>      MRF_READ_HEADER0        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 1  (Commands 2/3)\r
-       mov (8) MRF_READ_HEADER1.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER1.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(4)<1>      MRF_READ_HEADER1        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 2  (Commands 4/5)\r
-       mov (8) MRF_READ_HEADER2.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER2.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(8)<1>      MRF_READ_HEADER2        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 3  (Commands 6/7)\r
-       mov (8) MRF_READ_HEADER3.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER3.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(12)<1>     MRF_READ_HEADER3        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Start parsing commands\r
-    $for(0; <16; 2) {\r
-//     Adjust MB Y origin for field MBs\r
-//\r
-       mov (2) TEMP_FD_X_W<1>:uw       CMD_BUFFER_B(%1,20)<2;2,1>                                      // Initialize temp (X,Y) location\r
-       and.nz.f0.1 (8) NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_BOT_FD:ud            // Is it a "Bottom Field MB"?\r
-       and.nz.f0.0 (8) NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_FIELD_MB:ud          // Is it a "Field MB"?\r
-       mul (8) acc0<1>:w       CMD_BUFFER_B(%1,21)<0;1,0>      2:w\r
-       (-f0.1) mov (1) TEMP_FD_Y_W<1>:w        acc0<0;1,0>:w\r
-       (f0.1) add (1)  TEMP_FD_Y_W<1>:w        acc0<0;1,0>:w   1:w\r
-       (-f0.0) mov (1) TEMP_FD_Y_W<1>:w        CMD_BUFFER_B(%1,21)<0;1,0>                      // Discard field MB Y origin handling\r
-\r
-       and.nz.f0.0 (8) NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_INTRA_MB:ud          // Is it an "Intra" MB?\r
-       and.nz.f0.1     (8)     NULLREG TEMP_FD_Y_W<0;1,0>:uw   BIT0                                    // Is it "Bottom MB"?\r
-       or (1)  CMD_BUFFER_D(%1,2)<1>   CMD_BUFFER_D(%1,2)<0;1,0>       BIT21           // Set "Use Scoreboard"\r
-       mov (2) CMD_BUFFER_W(%1,2)<1>   TEMP_FD_X_W<2;2,1>:uw                                   // Set scoreboard (X,Y) for inter MB\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_INTRA_%1                                                                   // Jump if intra MB.\r
-\r
-//     Inter Macroblock\r
-//     Output MEDIA_OBJECT command in raster scan order\r
-       mul (16) acc0<1>:uw     TEMP_FD_Y_W<0;1,0>:uw   PicWidthMB<0;1,0>:uw            // MB offset = Y*W\r
-       add (16) acc0<1>:uw     acc0<8;8,1>:uw                  TEMP_FD_X_W<0;1,0>:uw           // MB offset = Y*W+X\r
-       shl (1) MRF_INTER_WRITE_HEADER.2<1>:ud  acc0.2<0;1,0>:uw        6:uw            // Byte-aligned MB offset\r
-       mov (16)        MRF_INTER_WRITE_DATA0<1>:ud     CMD_BUFFER_D(%1)<8;8,1> {Compr} // Copy entire command to inter buffer\r
-       mov     (16)    CMD_BUFFER_D(%1)<1>             0:ud    {Compr}                                         // Clear original command\r
-       send (16)       NULLREGW        MRF_INTER_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-       jmpi (1)        NEXT_MB_MBAFF_%1                        // Done for inter MB. Move to next MB.\r
-\r
-SET_SB_MBAFF_INTRA_%1:\r
-//     Intra MB\r
-//\r
-       and.nz.f0.0 (8) NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_FIELD_MB:ud          // Is it an "Field" MB?\r
-       (f0.1) sel (2)  MB_MASK_D<1>:ud         BOT_FD_MASK1_D<2;2,1>:ud        TOP_FD_MASK1_D<2;2,1>:ud        // Assume field MB\r
-       mov (1) TEMP_INTRA_FLAG_W<1>:uw         CMD_BUFFER_W(%1,14)<0;1,0>                      // Don't want to alter original in-line data\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_%1                                 // Jump if it's really field MB\r
-\r
-//     Frame MB\r
-//\r
-//     Derive E'\r
-       and.nz.f0.0     (8)     NULLREG CMD_BUFFER_W(%1,14)<0;1,0>      E_FLAG          // Is "E" = 1\r
-       (f0.1) sel (2)  MB_MASK_D<1>:ud         BOT_FM_MASK1_D<2;2,1>:ud        TOP_FM_MASK1_D<2;2,1>:ud\r
-       and.z.f0.1 (8)  NULLREG CMD_BUFFER_W(%1,14)<0;1,0>      A_FLAG          // "A" = 0?\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_%1                         // If "E" flag = 1, skip the rest of derivation\r
-       (f0.1) and.nz.f0.1 (8)  NULLREG CMD_BUFFER_D(%1,4)<0;1,0>       IS_INTRA8X8\r
-       (f0.1) and.nz.f0.1 (8)  NULLREG CMD_BUFFER_W(%1,14)<0;1,0>      F_FLAG\r
-       (f0.1) or (1)   TEMP_INTRA_FLAG_W<1>:uw CMD_BUFFER_W(%1,14)<0;1,0>      E_FLAG\r
-\r
-SET_SB_MBAFF_%1:\r
-       and.nz.f0.1     (16)    NULLREGW        TEMP_INTRA_FLAG_W<0;1,0>:uw     MB_MASK_B<0;8,1>:ub\r
-       shl     (1)     CMD_BUFFER_W(%1,2)<1>   f0.1<0;1,0>:uw  12:w            // Masks 0-3\r
-       and (1) CMD_BUFFER_W(%1,3)<1>   f0.1<0;1,0>:uw  0xf000:uw       // Masks 4-7\r
-\r
-       mov (2) CMD_BUFFER_B(%1,4)<2>   TEMP_FD_X_B<4;2,2>:ub           // Set scoreboard (X,Y) for intra MB\r
-\r
-NEXT_MB_MBAFF_%1:\r
-       }\r
-\r
-       add.z.f0.0 (1)  TotalMB<1>:w    TotalMB<0;1,0>:w        -8:w                            // Update remaining number of 8-command blocks\r
-\r
-//     Output modified intra commands\r
-//     Write block 0\r
-       mov (8) MRF_INTRA_WRITE_HEADER.0<1>:ud  MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-    $for(0; <4; 2) {\r
-       mov (16)        MRF_CMD_BUF_D(%1)<1>    CMD_BUFFER_D(%1)<8;8,1> {Compr}\r
-       }\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 1\r
-       mov (8) m1.0<1>:ud      MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     m1.2<1>:ud      MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       mov (16)        m2<1>:ud        CMD_BUFFER_D(4)<8;8,1>  {Compr}\r
-       mov (16)        m4<1>:ud        CMD_BUFFER_D(6)<8;8,1>  {Compr}\r
-       send (16)       NULLREGW        m1      null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 2\r
-       add     (1)     MRF_INTRA_WRITE_HEADER.2<1>:ud  MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-    $for(0; <4; 2) {\r
-       mov (16)        MRF_CMD_BUF_D(%1)<1>    CMD_BUFFER_D(%1+8)<8;8,1>       {Compr}\r
-       }\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Write block 3\r
-       add     (1)     m1.2<1>:ud      MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       mov (16)        m2<1>:ud        CMD_BUFFER_D(12)<8;8,1> {Compr}\r
-       mov (16)        m4<1>:ud        CMD_BUFFER_D(14)<8;8,1> {Compr}\r
-       send (16)       NULLREGW        m1      null:uw DAPWRITE        MSG_LEN(4)+OWBWMSGDSC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Update message header for next DAP read\r
-       add (1) MRF_READ_HEADER_SRC.2<1>:ud     MRF_READ_HEADER_SRC.2<0;1,0>:ud 512:ud  // Point to next block of 8-commands\r
-\r
-       cmp.z.f0.1 (1)  NULLREG RemainderMB<0;1,0>:w    0:uw            // Check if remaining MB = 0\r
-       (-f0.0) jmpi (1)        SetHWScoreboard_MBAFF_Loop                      // Continue if more command blocks remain\r
-\r
-SetHWScoreboard_MBAFF_Remainder:\r
-//     f0.1 should have been set to indicate if RemainderMB = 0\r
-//\r
-       (f0.1) jmpi (1) SetHWScoreboard_MBAFF_Done                              // Stop if all commands have been updated\r
-\r
-//     Blindly load next 8 commands anyway\r
-//\r
-//     Load block 0 (Commands 0/1)\r
-       mov (8) MRF_READ_HEADER0.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       send (16)       CMD_BUFFER_W(0)<1>      MRF_READ_HEADER0        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 1  (Commands 2/3)\r
-       mov (8) MRF_READ_HEADER1.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER1.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         128:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(4)<1>      MRF_READ_HEADER1        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 2  (Commands 4/5)\r
-       mov (8) MRF_READ_HEADER2.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER2.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         256:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(8)<1>      MRF_READ_HEADER2        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Load block 3  (Commands 6/7)\r
-       mov (8) MRF_READ_HEADER3.0<1>:ud        MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       add     (1)     MRF_READ_HEADER3.2<1>:ud        MRF_READ_HEADER_SRC.2<0;1,0>:ud         384:ud          // Point to next 2-command block\r
-       send (16)       CMD_BUFFER_W(12)<1>     MRF_READ_HEADER3        null:uw DAPREAD RESP_LEN(4)+OWBRMSGDSC_SC+OWORD_8+BI_CMD_BUFFER\r
-\r
-//     Initialize necessary pointers\r
-       mov (1) a0.1<1>:ud      ((CMD_BUFFER_REG_OFF+1)*0x10000+CMD_BUFFER_REG_OFF)*32  // a0.2:w points to command buffer (first half)\r
-                                                                                                                                                       // a0.3:w points to command buffer (second half)\r
-//     Initialize Inter DAP write header\r
-       mov (8) MRF_INTER_WRITE_HEADER<1>:ud    r0.0<8;8,1>:ud\r
-\r
-SetHWScoreboard_MBAFF_Remainder_Loop:\r
-//     Adjust MB Y origin for field MBs\r
-//\r
-       mov (2) TEMP_FD_X_W<1>:uw       r[a0.2,5*4]<2;2,1>:ub                                   // Initialize temp (X,Y) location\r
-       and.nz.f0.1 (8) NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_BOT_FD:ud            // Is it a "Bottom Field MB"?\r
-       and.nz.f0.0 (8) NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_FIELD_MB:ud          // Is it a "Field MB"?\r
-       mul (8) acc0<1>:w       r[a0.2,21]<0;1,0>:ub    2:w\r
-       (-f0.1) mov (1) TEMP_FD_Y_W<1>:w        acc0<0;1,0>:w\r
-       (f0.1) add (1)  TEMP_FD_Y_W<1>:w        acc0<0;1,0>:w   1:w\r
-       (-f0.0) mov (1) TEMP_FD_Y_W<1>:w        r[a0.2,5*4+1]<0;1,0>:ub                 // Discard field MB Y origin handling\r
-\r
-       and.nz.f0.0 (8) NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_INTRA_MB:ud          // Is it an "Intra" MB?\r
-       add.z.f0.1 (1)  RemainderMB<1>:w        RemainderMB<0;1,0>:w    -1:w    // Decrement MB #\r
-       or (1)  r[a0.2,2*4]<1>:ud       r[a0.2,2*4]<0;1,0>:ud   BIT21:ud                // Set "Use Scoreboard"\r
-       mov (2) r[a0.2,2*2]<1>:uw       TEMP_FD_X_W<2;2,1>:uw                                   // Set scoreboard (X,Y) for inter MB\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_REM_INTRA                                                          // Jump if intra MB.\r
-\r
-//     Inter Macroblock\r
-//     Output MEDIA_OBJECT command in raster scan order\r
-       mul (16) acc0<1>:uw     TEMP_FD_Y_W<0;1,0>:uw   PicWidthMB<0;1,0>:uw    // MB offset = Y*W\r
-       add (16) acc0<1>:uw     acc0<8;8,1>:uw                  TEMP_FD_X_W<0;1,0>:uw   // MB offset = Y*W+X\r
-       shl (1) MRF_INTER_WRITE_HEADER.2<1>:ud  acc0.2<0;1,0>:uw        6:uw    // Byte-aligned MB offset\r
-       mov (16)        MRF_INTER_WRITE_DATA0<1>:ud     r[a0.2]<8;8,1>:ud {Compr}       // Copy entire command to inter buffer\r
-       mov     (16)    r[a0.2]<1>:ud           0:ud    {Compr}                                                 // Clear original command\r
-       send (16)       NULLREGW        MRF_INTER_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-       jmpi (1)        Output_MBAFF_Remainder_Intra                                                    // Done for inter MB. Move to dump intra MB.\r
-\r
-SET_SB_MBAFF_REM_INTRA:\r
-//     Intra MB\r
-//\r
-       and.nz.f0.1     (8)     NULLREG TEMP_FD_Y_W<0;1,0>:uw   BIT0:ud                 // Is it "Bottom MB"?\r
-       and.nz.f0.0 (8) NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_FIELD_MB:ud  // Is it "Field MB"?\r
-       mov (1) TEMP_INTRA_FLAG_W<1>:uw r[a0.2,14*2]<0;1,0>:uw                  // Don't want to alter original in-line data\r
-       (f0.1) sel (2)  MB_MASK_D<1>:ud         BOT_FD_MASK1_D<2;2,1>:ud        TOP_FD_MASK1_D<2;2,1>:ud        // Assume field MB\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_REM                                        // Jump if it's really field MB\r
-\r
-//     Frame MB\r
-//\r
-//     Derive E'\r
-       and.nz.f0.0     (8)     NULLREG r[a0.2,14*2]<0;1,0>:uw  E_FLAG          // Is "E" = 1\r
-       (f0.1) sel (2)  MB_MASK_D<1>:ud         BOT_FM_MASK1_D<2;2,1>:ud        TOP_FM_MASK1_D<2;2,1>:ud\r
-       and.z.f0.1 (8)  NULLREG r[a0.2,14*2]<0;1,0>:uw  A_FLAG          // "A" = 0?\r
-       (f0.0) jmpi (1) SET_SB_MBAFF_REM                                // If "E" flag = 1, skip the rest of derivation\r
-       (f0.1) and.nz.f0.1 (8)  NULLREG r[a0.2,4*4]<0;1,0>:ud   IS_INTRA8X8\r
-       (f0.1) and.nz.f0.1 (8)  NULLREG r[a0.2,14*2]<0;1,0>:uw  F_FLAG\r
-       (f0.1) or (1)   TEMP_INTRA_FLAG_W<1>:uw r[a0.2,14*2]<0;1,0>:uw  E_FLAG\r
-\r
-SET_SB_MBAFF_REM:\r
-       and.nz.f0.0     (16)    NULLREGW        TEMP_INTRA_FLAG_W<0;1,0>:uw     MB_MASK_B<0;8,1>:ub\r
-       add.z.f0.1 (1)  RemainderMB<1>:w        RemainderMB<0;1,0>:w    0:w             // Check remaining MB #\r
-       shl     (1)     r[a0.2,2*2]<1>:uw       f0.0<0;1,0>:uw  12:w            // Masks 0-3\r
-       and (1) r[a0.2,3*2]<1>:uw       f0.0<0;1,0>:uw  0xf000:uw       // Masks 4-7\r
-\r
-       mov (2) r[a0.2,4*1]<2>:ub       TEMP_FD_X_B<4;2,2>:ub           // Set scoreboard (X,Y) for intra MB\r
-\r
-Output_MBAFF_Remainder_Intra:\r
-//     Intra MB command always output\r
-       mov (8) MRF_INTRA_WRITE_HEADER.0<1>:ud  MRF_READ_HEADER_SRC.0<8;8,1>:ud\r
-       mov (16)        MRF_CMD_BUF_D(0)<1>             r[a0.2]<8;8,1>:ud       {Compr}         // Copy entire command to intra buffer\r
-       send (16)       NULLREGW        MRF_INTRA_WRITE_HEADER  null:uw DAPWRITE        MSG_LEN(2)+OWBWMSGDSC+OWORD_4+BI_CMD_BUFFER\r
-\r
-       add     (1)     MRF_READ_HEADER_SRC.2<1>:ud             MRF_READ_HEADER_SRC.2<0;1,0>:ud         64:ud   // Point to next command\r
-       add (1) a0.1<1>:ud      a0.1<0;1,0>:ud  0x00400040:ud                                   // Update pointers\r
-       (-f0.1) jmpi (1)        SetHWScoreboard_MBAFF_Remainder_Loop\r
-\r
-// All MBs have been decoded. Terminate the thread now\r
-//\r
-SetHWScoreboard_MBAFF_Done:\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
-\r
-// End of SetHWScoreboard_MBAFF\r
diff --git a/i965_drv_video/shaders/h264/mc/SetHWScoreboard_header.inc b/i965_drv_video/shaders/h264/mc/SetHWScoreboard_header.inc
deleted file mode 100644 (file)
index 1df91f9..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*\r
- * Common header file for both SetHWScoreboard and SetHWScoreboard_MBAFF kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SETHWSCOREBOARD_HEADER__)       // Make sure this file is only included once\r
-#define __SETHWSCOREBOARD_HEADER__\r
-\r
-// Module name: SetHWScoreboard_header.inc\r
-//\r
-// Common header file for both SetHWScoreboard and SetHWScoreboard_MBAFF kernels\r
-//\r
-\r
-#define BI_CMD_BUF                     0       // Binding table index for command buffer\r
-\r
-// GRF r1 map\r
-//\r
-// For use by setting HW scoreboard kernel for MBAFF picture\r
-//\r
-// CURBE data\r
-#define        TOP_FM_MASK1_D  r1.0            // Bit mask for first half of top frame MB SB mask\r
-#define        TOP_FM_MASK1_B  r1.0            // Bit mask for first half of top frame MB SB mask\r
-#define        TOP_FM_MASK2_D  r1.1            // Bit mask for second half of top frame MB SB mask\r
-#define        TOP_FM_MASK2_B  r1.4            // Bit mask for second half of top frame MB SB mask\r
-#define        BOT_FM_MASK1_D  r1.2            // Bit mask for first half of bottom frame MB SB mask\r
-#define        BOT_FM_MASK1_B  r1.8            // Bit mask for first half of bottom frame MB SB mask\r
-#define        BOT_FM_MASK2_D  r1.3            // Bit mask for second half of bottom frame MB SB mask\r
-#define        BOT_FM_MASK2_B  r1.12           // Bit mask for second half of bottom frame MB SB mask\r
-#define        TOP_FD_MASK1_D  r1.4            // Bit mask for first half of top field MB SB mask\r
-#define        TOP_FD_MASK1_B  r1.16           // Bit mask for first half of top field MB SB mask\r
-#define        TOP_FD_MASK2_D  r1.5            // Bit mask for second half of top field MB SB mask\r
-#define        TOP_FD_MASK2_B  r1.20           // Bit mask for second half of top field MB SB mask\r
-#define        BOT_FD_MASK1_D  r1.6            // Bit mask for first half of bottom field MB SB mask\r
-#define        BOT_FD_MASK1_B  r1.24           // Bit mask for first half of bottom field MB SB mask\r
-#define        BOT_FD_MASK2_D  r1.7            // Bit mask for second half of bottom field MB SB mask\r
-#define        BOT_FD_MASK2_B  r1.28           // Bit mask for second half of bottom field MB SB mask\r
-\r
-// For use by setting HW scoreboard kernel for non-MBAFF picture\r
-#define        MB_SHIFT_MASK_W         r1.0    // :w type. Shift values for two parts of the MB SB mask\r
-#define        MB_SHIFT_MASK_B         r1.0    // :b type. Shift values for two parts of the MB SB mask\r
-\r
-// GRF r2 map\r
-//\r
-// In-line data\r
-//\r
-#define        INLINE_REG_OFFSET       1\r
-#define INLINE_REG                     r2\r
-\r
-#define StartingMB     INLINE_REG.0    // :uw type. Starting MB number\r
-#define TotalMB                INLINE_REG.1    // :uw type. Total number of MB to be processed\r
-#define PicWidthMB     INLINE_REG.2    // :uw type. Picture width in MB\r
-\r
-// GRF r3 map\r
-//\r
-// Temporary variables\r
-//\r
-#define RemainderMB    r3.0                    // :uw type. Remainder of MB (<16) to be processed\r
-\r
-#define        TEMP_FD_X_W     r3.2                    // :w type. Temporary variable for field MB X origin in MBAFF picture\r
-#define        TEMP_FD_X_B     r3.4                    // :b type. Temporary variable for field MB X origin in MBAFF picture\r
-#define        TEMP_FD_Y_W     r3.3                    // :w type. Temporary variable for field MB Y origin in MBAFF picture\r
-#define        TEMP_FD_Y_B     r3.6                    // :b type. Temporary variable for field MB Y origin in MBAFF picture\r
-\r
-#define        TEMP_INTRA_FLAG_W       r3.4    // :uw type. Temporary intra available flag\r
-\r
-#define MB_MASK_D      r3.4                    // :ud type. Bit masks for MBAFF MB\r
-#define MB_MASK_B      r3.16                   // :ub type. Bit masks for MBAFF MB\r
-\r
-#define        MRF_READ_HEADER_SRC     r63\r
-\r
-// MEDIA_OBJECT_EX Command map\r
-//\r
-// In DW1 of each MEDIA_OBJECT_EX command (VFE DWORD)\r
-#define        CUR_X   0       // Byte 0\r
-#define        CUR_Y   0       // Byte 2\r
-\r
-// In DW2 of each MEDIA_OBJECT_EX command\r
-#define        USE_SCOREBOARD  BIT21\r
-\r
-// In DW4 of each MEDIA_OBJECT_EX command\r
-#define        F_FLAG          BIT4\r
-#define        IS_INTRA_MB     BIT13\r
-#define IS_FIELD_MB    BIT14\r
-#define IS_INTRA8X8    BIT15\r
-#define IS_BOT_FD      BIT24\r
-\r
-// In DW7 of each MEDIA_OBJECT_EX command\r
-#define        A_FLAG          BIT0\r
-#define        B_FLAG          BIT1\r
-#define        C_FLAG          BIT2\r
-#define        D_FLAG          BIT3\r
-#define        E_FLAG          BIT4\r
-\r
-#define        CMD_BUFFER_REG_OFF              4\r
-.declare    CMD_BUFFER_D               Base=GRF(4) ElementSize=4 SrcRegion=REGION(8,1) Type=ud         // Command buffer (32 GRF)\r
-.declare    CMD_BUFFER_W               Base=GRF(4) ElementSize=2 SrcRegion=REGION(16,1) Type=uw        // Command buffer (32 GRF)\r
-.declare    CMD_BUFFER_B               Base=GRF(4) ElementSize=1 SrcRegion=REGION(16,1) Type=ub        // Command buffer (32 GRF)\r
-\r
-#define        MRF_READ_HEADER         m1\r
-#define        MRF_READ_HEADER0        m1\r
-#define        MRF_READ_HEADER1        m2\r
-#define        MRF_READ_HEADER2        m3\r
-#define        MRF_READ_HEADER3        m4\r
-\r
-#define        MRF_INTER_WRITE_HEADER  m5\r
-#define        MRF_INTER_WRITE_DATA0   m6\r
-#define        MRF_INTER_WRITE_DATA1   m7\r
-\r
-#define        MRF_WRITE_HEADER                m11\r
-#define        MRF_INTRA_WRITE_HEADER  m11\r
-\r
-#define MRF_CMD_BUF_REG_OFF            12\r
-.declare       MRF_CMD_BUF_D           Base=m12 ElementSize=4 SrcRegion=REGION(8,1) Type=ud            // Command buffer stored in MRF\r
-.declare       MRF_CMD_BUF_W           Base=m12 ElementSize=2 SrcRegion=REGION(16,1) Type=uw           // Command buffer stored in MRF\r
-.declare       MRF_CMD_BUF_B           Base=m12 ElementSize=1 SrcRegion=REGION(16,1) Type=ub           // Command buffer stored in MRF\r
-\r
-#define        BI_CMD_BUFFER   0\r
-\r
-#define OWBRMSGDSC_SC   0x02088000     // OWORD Block Read Message Descriptor, reading from sampler cache = A.\r
-#define OWBWMSGDSC              0x02080000     // OWORD Block Write Message Descriptor\r
-\r
-#define OWORD_1        0x000\r
-#define OWORD_2        0x200\r
-#define OWORD_4        0x300\r
-#define OWORD_8        0x400\r
-\r
-// End of SETHWSCOREBOARD_HEADER\r
-\r
-#endif // !defined(__SETHWSCOREBOARD_HEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/SetupForHWMC.asm b/i965_drv_video/shaders/h264/mc/SetupForHWMC.asm
deleted file mode 100644 (file)
index b6dc595..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*\r
- * Initial setup for running HWMC kernels in HWMC-Only decoding mode\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: SetupForHWMC.asm\r
-//\r
-// Initial setup for running HWMC kernels in HWMC-Only decoding mode\r
-//\r
-#include "header.inc"\r
-#include "intra_Header.inc"\r
-\r
-#if !defined(__SETUPFORHWMC__) // Make sure the following are only included once\r
-#define __SETUPFORHWMC__\r
-\r
-.reg_count_total    64\r
-.reg_count_payload  2\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-#endif // !defined(__SETUPFORHWMC__)\r
-\r
-    mov (8)    MSGSRC<1>:ud    r0.0<8;8,1>:ud                  // Initialize message header payload with R0\r
-       shl (2) I_ORIX<1>:uw    ORIX<2;2,1>:ub  4:w             // Convert MB origin to pixel unit\r
-\r
-// End of SetupForHWMC\r
diff --git a/i965_drv_video/shaders/h264/mc/add_Error_16x16_Y.asm b/i965_drv_video/shaders/h264/mc/add_Error_16x16_Y.asm
deleted file mode 100644 (file)
index df01b99..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*\r
- * Add macroblock correction Y data blocks to predicted picture\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-        \r
-// Module name: add_Error_16x16_Y.asm\r
-//\r
-// Add macroblock correction Y data blocks to predicted picture\r
-//\r
-\r
-//  Every line of predicted Y data is added to Y error data if CBP bit is set\r
-\r
-    mov (1) PERROR_UD<1>:ud    0x10001*ERRBUF*GRFWIB+0x00100000:ud     // Pointers to first and second row of error block\r
-\r
-    and.z.f0.1 (1)     NULLREG    REG_CBPCY    CBP_Y_MASK\r
-    (f0.1) jmpi (1) End_add_Error_16x16_Y      // Skip all blocks\r
-\r
-//  Block Y0\r
-//\r
-    $for(0,0; <8; 2,1) {\r
-       add.sat (16)    DEC_Y(%1)<2>    r[PERROR,%2*GRFWIB]REGION(8,1):w        PRED_Y(%1)REGION(8,2) {Compr}\r
-    }\r
-\r
-//  Block Y1\r
-//\r
-    $for(0,0; <8; 2,1) {\r
-       add.sat (16)    DEC_Y(%1,16)<2>         r[PERROR,%2*GRFWIB+0x80]REGION(8,1):w   PRED_Y(%1,16)REGION(8,2) {Compr}\r
-    }\r
-\r
-//  Block Y2\r
-//\r
-    $for(8,0; <16; 2,1) {\r
-       add.sat (16)    DEC_Y(%1)<2>    r[PERROR,%2*GRFWIB+0x100]REGION(8,1):w  PRED_Y(%1)REGION(8,2) {Compr}\r
-    }\r
-\r
-//  Block Y3\r
-//\r
-    $for(8,0; <16; 2,1) {\r
-       add.sat (16)    DEC_Y(%1,16)<2>         r[PERROR,%2*GRFWIB+0x180]REGION(8,1):w  PRED_Y(%1,16)REGION(8,2) {Compr}\r
-    }\r
-\r
-End_add_Error_16x16_Y:\r
-    add (1) PERROR_UD<1>:ud    PERROR_UD:ud    0x01800180:ud   // Pointers to Y3 error block\r
-\r
-//  End of add_Error_16x16_Y\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/add_Error_UV.asm b/i965_drv_video/shaders/h264/mc/add_Error_UV.asm
deleted file mode 100644 (file)
index e2c0dea..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*\r
- * Add macroblock correction UV data blocks to predicted picture        \r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-\r
-#if !defined(__ADD_ERROR_UV__)         // Make sure this is only included once\r
-#define __ADD_ERROR_UV__\r
-\r
-// Module name: add_Error_UV.asm\r
-//\r
-// Add macroblock correction UV data blocks to predicted picture\r
-\r
-// PERROR points to error block Y3 after decoding Y component\r
-\r
-//     Update address register used in instruction compression\r
-//\r
-\r
-//  U component\r
-//\r
-    add (1) PERROR1<1>:w       PERROR:w        0x00010:w       // Pointers to next error row\r
-    $for(0,0; <8; 2,1) {\r
-       add.sat (16)    DEC_UV(%1)<4>   r[PERROR,%2*GRFWIB+0x80]REGION(8,1):w   PRED_UV(%1)REGION(8,4) {Compr}\r
-    }\r
-\r
-//  V component\r
-//\r
-    $for(0,0; <8; 2,1) {\r
-       add.sat (16)    DEC_UV(%1,2)<4> r[PERROR,%2*GRFWIB+0x100]REGION(8,1):w  PRED_UV(%1,2)REGION(8,4) {Compr}\r
-    }\r
-\r
-//  End of add_Error_UV\r
-\r
-#endif // !defined(__ADD_ERROR_UV__)\r
diff --git a/i965_drv_video/shaders/h264/mc/avc_mc.g4b b/i965_drv_video/shaders/h264/mc/avc_mc.g4b
deleted file mode 100644 (file)
index cdee6ac..0000000
+++ /dev/null
@@ -1,5251 +0,0 @@
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x00000005, 0x220e3e2c, 0x00000070, 0x000f000f },
-   { 0x00000001, 0x26a00221, 0x00009c38, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x00a02001, 0x24000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25c00229, 0x00b10624, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x06440640 },
-   { 0x00a02001, 0x24000229, 0x00009003, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x0000900b, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00009013, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x0000901b, 0x00000000 },
-   { 0x00a02001, 0x25000229, 0x00009023, 0x00000000 },
-   { 0x00a02001, 0x25400229, 0x0000902b, 0x00000000 },
-   { 0x00a02001, 0x25800229, 0x00009033, 0x00000000 },
-   { 0x00a02001, 0x25c00229, 0x0000903b, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x02600005, 0x20000c20, 0x0000006c, 0x00000002 },
-   { 0x00600005, 0x24000c20, 0x0000006c, 0x00000011 },
-   { 0x01600007, 0x20000c00, 0x028d0400, 0x00000011 },
-   { 0x00780001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x66430231, 0x028d0624, 0x00000000 },
-   { 0x00780001, 0x66630231, 0x028d062c, 0x00000000 },
-   { 0x00780001, 0x26240231, 0x00cf0643, 0x00000000 },
-   { 0x00780001, 0x262c0231, 0x00cf0663, 0x00000000 },
-   { 0x00800040, 0x25e04629, 0x00cf0643, 0x00b10624 },
-   { 0x00600040, 0x25e02529, 0x008d05e0, 0x008d05f0 },
-   { 0x00400040, 0x25e02529, 0x006905e0, 0x006905e8 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00a02040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00a02040, 0x24003d8c, 0x00b10400, 0x00100010 },
-   { 0x00a02008, 0x24003d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24403d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24803d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24c03d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25003d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25403d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25803d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25c03d89, 0x00b10400, 0x00050005 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00600041, 0x26806e2d, 0x008d062c, 0x89abcdef },
-   { 0x00600041, 0x26906e2d, 0x008d0623, 0xfedcba98 },
-   { 0x00600041, 0x26a06e2d, 0x00cf0663, 0x89abcdef },
-   { 0x00600041, 0x26b06e2d, 0x00cf0643, 0x0fedcba9 },
-   { 0x00000041, 0x26be3e2d, 0x00000623, 0xfff8fff8 },
-   { 0x00802040, 0x268035ad, 0x008d4680, 0x008d0690 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0688 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0684 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0682 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00200020 },
-   { 0x00200048, 0x24003dac, 0x00a00680, 0x00050005 },
-   { 0x00200008, 0x26e03d8d, 0x00450400, 0x00060006 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x00000633, 0x00100010 },
-   { 0x00800048, 0x26c03e2d, 0x0000067f, 0x00100010 },
-   { 0x00800048, 0x272055ad, 0x000006e0, 0x00b10040 },
-   { 0x00600041, 0x268055ad, 0x000006e2, 0x00ae0040 },
-   { 0x00600041, 0x26a055ad, 0x000006e2, 0x00ae0041 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00680 },
-   { 0x80a02008, 0x44003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00682 },
-   { 0x80a02008, 0x44403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00684 },
-   { 0x80a02008, 0x44803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00686 },
-   { 0x80a02008, 0x44c03d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00688 },
-   { 0x80a02008, 0x45003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068a },
-   { 0x80a02008, 0x45403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068c },
-   { 0x80a02008, 0x45803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068e },
-   { 0x80a02008, 0x45c03d91, 0x00b10400, 0x00050005 },
-   { 0x00000001, 0x22040060, 0x00000000, 0x00900080 },
-   { 0x01000005, 0x20000c20, 0x02000068, 0x00003c00 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000020 },
-   { 0x80802040, 0x440045b1, 0x008d8800, 0x00ae0400 },
-   { 0x80802040, 0x444045b1, 0x008d8820, 0x00ae0440 },
-   { 0x80802040, 0x448045b1, 0x008d8840, 0x00ae0480 },
-   { 0x80802040, 0x44c045b1, 0x008d8860, 0x00ae04c0 },
-   { 0x80802040, 0x441045b1, 0x008d8880, 0x00ae0410 },
-   { 0x80802040, 0x445045b1, 0x008d88a0, 0x00ae0450 },
-   { 0x80802040, 0x449045b1, 0x008d88c0, 0x00ae0490 },
-   { 0x80802040, 0x44d045b1, 0x008d88e0, 0x00ae04d0 },
-   { 0x80802040, 0x450045b1, 0x008d8900, 0x00ae0500 },
-   { 0x80802040, 0x454045b1, 0x008d8920, 0x00ae0540 },
-   { 0x80802040, 0x458045b1, 0x008d8940, 0x00ae0580 },
-   { 0x80802040, 0x45c045b1, 0x008d8960, 0x00ae05c0 },
-   { 0x80802040, 0x451045b1, 0x008d8980, 0x00ae0510 },
-   { 0x80802040, 0x455045b1, 0x008d89a0, 0x00ae0550 },
-   { 0x80802040, 0x459045b1, 0x008d89c0, 0x00ae0590 },
-   { 0x80802040, 0x45d045b1, 0x008d89e0, 0x00ae05d0 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x01800180 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e2 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00200440, 0x27c055a5, 0x004507fa, 0x0045002a },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x0000001b },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x02186000 },
-   { 0x01600031, 0x26200021, 0x408d07c0, 0x00000200 },
-   { 0x00000440, 0x27c43ca5, 0x000007c4, 0x00010001 },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x000f0003 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00100000 },
-   { 0x02600031, 0x26400021, 0x408d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000008, 0x27fc3dad, 0x000007fc, 0x00010001 },
-   { 0x00200440, 0x27c055a5, 0x004507fa, 0x0045002a },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x00000013 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0xefffc001 },
-   { 0x01600031, 0x26200021, 0x408d07c0, 0x00000200 },
-   { 0x00000440, 0x27c43ca5, 0x000007c4, 0x00010001 },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x00070003 },
-   { 0x05600031, 0x26400021, 0x408d07c0, 0x00000200 },
-   { 0x00000008, 0x220e3e2c, 0x0000006c, 0x00060006 },
-   { 0x00000001, 0x26a002a5, 0x00009c3c, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x02600005, 0x20000c20, 0x0000006c, 0x00000002 },
-   { 0x00780001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000001 },
-   { 0x00560001, 0x46420129, 0x02690624, 0x00000000 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000010 },
-   { 0x00560001, 0x46520129, 0x0269062c, 0x00000000 },
-   { 0x00780001, 0x26240129, 0x00ae0642, 0x00000000 },
-   { 0x00800040, 0x24004629, 0x00b10624, 0x00650642 },
-   { 0x00600040, 0x24002529, 0x00650400, 0x00650404 },
-   { 0x00600040, 0x25202529, 0x00050400, 0x00050404 },
-   { 0x00600040, 0x25702529, 0x00050408, 0x0005040c },
-   { 0x00560001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x00460001, 0x26240129, 0x028a0652, 0x00000000 },
-   { 0x00560001, 0x46520129, 0x02690624, 0x00000000 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000001 },
-   { 0x00560001, 0x46420169, 0x02000000, 0x80808080 },
-   { 0x00460001, 0x46420129, 0x0069062c, 0x00000000 },
-   { 0x00560001, 0x262c0129, 0x008a0642, 0x00000000 },
-   { 0x00600040, 0x24004629, 0x008d0624, 0x00650652 },
-   { 0x00600040, 0x24104629, 0x00650642, 0x008d062c },
-   { 0x00600040, 0x24002529, 0x00650400, 0x00650404 },
-   { 0x00600040, 0x25302529, 0x00050408, 0x0005040c },
-   { 0x00600040, 0x25602529, 0x00050400, 0x00050404 },
-   { 0x00a02040, 0x24003d2c, 0x00b10520, 0x00040004 },
-   { 0x00a02008, 0x24003d89, 0x00b10400, 0x00030003 },
-   { 0x00a02008, 0x24403d89, 0x00b10400, 0x00030003 },
-   { 0x00a02040, 0x24003d2c, 0x00b10560, 0x00040004 },
-   { 0x00a02008, 0x24803d89, 0x00b10400, 0x00030003 },
-   { 0x00a02008, 0x24c03d89, 0x00b10400, 0x00030003 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x06440640 },
-   { 0x00a02001, 0x24000229, 0x00059002, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x0005900a, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00059012, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x0005901a, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000003c },
-   { 0x00a02001, 0x24000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x00b10624, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x00600041, 0x26806e2d, 0x008d062c, 0x44332211 },
-   { 0x00600041, 0x26906e2d, 0x008d0622, 0xffeeddcc },
-   { 0x00600041, 0x26a06e2d, 0x00650652, 0x44332211 },
-   { 0x00600041, 0x26b06e2d, 0x00650642, 0x00ffeedd },
-   { 0x00200041, 0x26bc3e2d, 0x00450622, 0xfffcfffc },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0690 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0688 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0684 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00200020 },
-   { 0x00400048, 0x24003dac, 0x00a50680, 0x00220022 },
-   { 0x00400008, 0x26e03d8d, 0x00690400, 0x00060006 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x00050632, 0x00100010 },
-   { 0x00800048, 0x26c03e2d, 0x0005065e, 0x00100010 },
-   { 0x00800048, 0x272055ad, 0x000506e0, 0x00240044 },
-   { 0x00600041, 0x268055ad, 0x000506e4, 0x00440044 },
-   { 0x00600041, 0x26a055ad, 0x000506e4, 0x00440045 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050680 },
-   { 0x80a02008, 0x44003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050684 },
-   { 0x80a02008, 0x44403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050688 },
-   { 0x80a02008, 0x44803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x0005068c },
-   { 0x80a02008, 0x44c03d91, 0x00b10400, 0x00050005 },
-   { 0x00000040, 0x22063d8c, 0x00000204, 0x00100010 },
-   { 0x80802040, 0x640045b1, 0x008d8880, 0x00cf0400 },
-   { 0x80802040, 0x644045b1, 0x008d88a0, 0x00cf0440 },
-   { 0x80802040, 0x648045b1, 0x008d88c0, 0x00cf0480 },
-   { 0x80802040, 0x64c045b1, 0x008d88e0, 0x00cf04c0 },
-   { 0x80802040, 0x640245b1, 0x008d8900, 0x00cf0402 },
-   { 0x80802040, 0x644245b1, 0x008d8920, 0x00cf0442 },
-   { 0x80802040, 0x648245b1, 0x008d8940, 0x00cf0482 },
-   { 0x80802040, 0x64c245b1, 0x008d8960, 0x00cf04c2 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x0007000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x08004000 },
-   { 0x00800001, 0x20400232, 0x00d20400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20420, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20440, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d20460, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d20480, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d204a0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d204c0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d204e0, 0x00000000 },
-   { 0x01600031, 0x27a00021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x04400400 },
-   { 0x00a02001, 0x20400232, 0x00d29000, 0x00000000 },
-   { 0x00a02001, 0x20500232, 0x00d29020, 0x00000000 },
-   { 0x00a02001, 0x20800232, 0x00d29080, 0x00000000 },
-   { 0x00a02001, 0x20900232, 0x00d290a0, 0x00000000 },
-   { 0x00a02001, 0x20c00232, 0x00d29100, 0x00000000 },
-   { 0x00a02001, 0x20d00232, 0x00d29120, 0x00000000 },
-   { 0x00a02001, 0x21000232, 0x00d29180, 0x00000000 },
-   { 0x00a02001, 0x21100232, 0x00d291a0, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff04 },
-   { 0x00000001, 0x220401ec, 0x00000000, 0x00800080 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x04100400 },
-   { 0x00200008, 0x27006e2d, 0x0000006c, 0x00000040 },
-   { 0x00400001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x272001a9, 0x00b10620, 0x00000000 },
-   { 0x02600005, 0x20001c20, 0x0000006c, 0x00000008 },
-   { 0x00110001, 0x27230231, 0x00000624, 0x00000000 },
-   { 0x00600001, 0x27420231, 0x00cf0643, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x00000643, 0x00000000 },
-   { 0x00240001, 0x27400231, 0x00000623, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000002 },
-   { 0x00010001, 0x27400231, 0x02000624, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000001 },
-   { 0x00110001, 0x27420231, 0x02000623, 0x00000000 },
-   { 0x00000005, 0x26803e2d, 0x00000070, 0x000f000f },
-   { 0x00000001, 0x270801ad, 0x00000700, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000084 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x02600005, 0x20001c20, 0x0200006c, 0x00000004 },
-   { 0x00680001, 0x272c0231, 0x028d0634, 0x00000000 },
-   { 0x00780001, 0x272c0231, 0x02000633, 0x00000000 },
-   { 0x00400001, 0x27420231, 0x00a0040e, 0x00000000 },
-   { 0x00400001, 0x27460231, 0x00a0044e, 0x00000000 },
-   { 0x00200001, 0x27400231, 0x0000062b, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000002 },
-   { 0x00010001, 0x27400231, 0x0200062c, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x0200040e, 0x00000000 },
-   { 0x00000008, 0x26803e2d, 0x00000070, 0x00040004 },
-   { 0x00200040, 0x22083d8c, 0x00450208, 0x00800080 },
-   { 0x00000006, 0x27083dad, 0x00000700, 0x00010001 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00a02001, 0xb3800231, 0x00d20400, 0x00000000 },
-   { 0x00a02001, 0xb3a00231, 0x00d20480, 0x00000000 },
-   { 0x00a02001, 0xb3c00231, 0x00d20440, 0x00000000 },
-   { 0x00a02001, 0xb3e00231, 0x00d204c0, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x00000060, 0x00000002 },
-   { 0x01000005, 0x20001c20, 0x0200006c, 0x00000001 },
-   { 0x01010005, 0x20001c20, 0x00000060, 0x00004000 },
-   { 0x02010005, 0x20001c20, 0x02000060, 0x00000010 },
-   { 0x00030001, 0x27230231, 0x0000065f, 0x00000000 },
-   { 0x00030220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02600005, 0x20001c20, 0x0000006c, 0x00000001 },
-   { 0x00460001, 0x27200231, 0x0069065c, 0x00000000 },
-   { 0x00110001, 0x27230231, 0x00000458, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x008d0458, 0x00000000 },
-   { 0x00600001, 0x272c0231, 0x008d0478, 0x00000000 },
-   { 0x00600001, 0x27420231, 0x00cf0663, 0x00000000 },
-   { 0x00000001, 0x27400231, 0x00000458, 0x00000000 },
-   { 0x00010001, 0x27410231, 0x0000065f, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x00000663, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000010 },
-   { 0x00110001, 0x27420231, 0x0200065f, 0x00000000 },
-   { 0x00000005, 0x26803e2d, 0x00000071, 0x000f000f },
-   { 0x00000006, 0x27083dad, 0x00000702, 0x00020002 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00400001, 0x27200231, 0x0069045c, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x008d0478, 0x00000000 },
-   { 0x00800001, 0x272c0231, 0x0000047f, 0x00000000 },
-   { 0x00400001, 0x27420231, 0x00a0048e, 0x00000000 },
-   { 0x00400001, 0x27460231, 0x00a004ce, 0x00000000 },
-   { 0x00000001, 0x27400231, 0x00000478, 0x00000000 },
-   { 0x00000001, 0x27410231, 0x0000045f, 0x00000000 },
-   { 0x00000008, 0x26803e2d, 0x00000071, 0x00040004 },
-   { 0x00200040, 0x22083d8c, 0x00450208, 0x00800080 },
-   { 0x00000006, 0x27083dad, 0x00000700, 0x00030003 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00a02001, 0xb3800231, 0x00d20480, 0x00000000 },
-   { 0x00a02001, 0xb3a00231, 0x00d20500, 0x00000000 },
-   { 0x00a02001, 0xb3c00231, 0x00d204c0, 0x00000000 },
-   { 0x00a02001, 0xb3e00231, 0x00d20540, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000100 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffe74 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000001, 0x27340231, 0x00000733, 0x00000000 },
-   { 0x00600001, 0x274a0231, 0x00000749, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b10723, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00010001 },
-   { 0x00800008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x00b10740, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10742, 0x00010001 },
-   { 0x00800008, 0x26a03d8d, 0x008d0400, 0x00020002 },
-   { 0x00800001, 0x27240231, 0x00d206c0, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00ae06a2, 0x00000000 },
-   { 0x00000001, 0x27230231, 0x000006a0, 0x00000000 },
-   { 0x00000005, 0x220e3dac, 0x00000680, 0x000f000f },
-   { 0x00000001, 0x26a00221, 0x00009c2c, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x80800040, 0xd00045b1, 0x00b18800, 0x000d0724 },
-   { 0x80800040, 0xd02045b1, 0x00b18820, 0x000d0724 },
-   { 0x80800040, 0xd04045b1, 0x00b18840, 0x000d0724 },
-   { 0x80800040, 0xd06045b1, 0x00b18860, 0x000d0724 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x80800040, 0xd00045b1, 0x00b18800, 0x002c0740 },
-   { 0x80800040, 0xd02045b1, 0x00b18820, 0x002c0742 },
-   { 0x80800040, 0xd04045b1, 0x00b18840, 0x002c0744 },
-   { 0x80800040, 0xd06045b1, 0x00b18860, 0x002c0746 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x02802005, 0x20003da0, 0x00000708, 0x00020002 },
-   { 0x02600005, 0x20003da0, 0x02000708, 0x00010001 },
-   { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
-   { 0x00780001, 0x27240231, 0x008d0740, 0x00000000 },
-   { 0x00600040, 0x25e04629, 0x008d0724, 0x008d0740 },
-   { 0x00400040, 0x25e02529, 0x006905e0, 0x006905e8 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00800040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00800040, 0x24003d8c, 0x008d0400, 0x00080008 },
-   { 0x00800008, 0x26803d8d, 0x008d0400, 0x00040004 },
-   { 0x80800040, 0xd00035b1, 0x00b18800, 0x00b10680 },
-   { 0x80800040, 0xd02035b1, 0x00b18820, 0x00b10680 },
-   { 0x80800040, 0xd04035b1, 0x00b18840, 0x00b10680 },
-   { 0x80800040, 0xd06035b1, 0x00b18860, 0x00b10680 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27340231, 0x008d0733, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x26803d8d, 0x00b10400, 0x00020002 },
-   { 0x80800040, 0xd00035b1, 0x00b18800, 0x002d0680 },
-   { 0x80800040, 0xd02035b1, 0x00b18820, 0x002d0684 },
-   { 0x80800040, 0xd04035b1, 0x00b18840, 0x002d0688 },
-   { 0x80800040, 0xd06035b1, 0x00b18860, 0x002d068c },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00cf06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a0, 0x00010001 },
-   { 0x00800008, 0x26a03d8d, 0x00b10400, 0x00020002 },
-   { 0x00200040, 0x220c3eac, 0x00450056, 0x06a006a0 },
-   { 0x80800040, 0xd06035b1, 0x01ed9800, 0x00b18860 },
-   { 0x80800040, 0xd04035b1, 0x01ed9804, 0x00b18840 },
-   { 0x80800040, 0xd02035b1, 0x01ed9808, 0x00b18820 },
-   { 0x80800040, 0xd00035b1, 0x01ed980c, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00cf06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b106a8, 0x00b106a9 },
-   { 0x00800040, 0x24003e2c, 0x00b106a3, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00010001 },
-   { 0x00800008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0x26a00231, 0x00ae06c0, 0x00000000 },
-   { 0x00600001, 0x46a60231, 0x00ae06cc, 0x00000000 },
-   { 0x00600001, 0x46a70231, 0x00ae05c0, 0x00000000 },
-   { 0x00200040, 0x220c3eac, 0x00450036, 0x06a006a0 },
-   { 0x80800040, 0xd0603631, 0x01ee9800, 0x00b18860 },
-   { 0x80800040, 0xd0403631, 0x01ee9802, 0x00b18840 },
-   { 0x80800040, 0xd0203631, 0x01ee9804, 0x00b18820 },
-   { 0x80800040, 0xd0003631, 0x01ee9806, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00ab06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a0, 0x00010001 },
-   { 0x00800008, 0x25c03d89, 0x008d0400, 0x00020002 },
-   { 0x00800042, 0x26a0462d, 0x00b106a0, 0x00b106a1 },
-   { 0x00600001, 0x46a10231, 0x00ae05c0, 0x00000000 },
-   { 0x00600001, 0x26b00231, 0x00ae05d0, 0x00000000 },
-   { 0x00200040, 0x220c3eac, 0x00450056, 0x06a006a0 },
-   { 0x80800040, 0xd0603631, 0x01ed9800, 0x00b18860 },
-   { 0x80800040, 0xd0403631, 0x01ed9804, 0x00b18840 },
-   { 0x80800040, 0xd0203631, 0x01ed9808, 0x00b18820 },
-   { 0x80800040, 0xd0003631, 0x01ed980c, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b10724, 0x00b10725 },
-   { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
-   { 0x80800040, 0xd0003531, 0x00ad05c0, 0x00b18800 },
-   { 0x80800040, 0xd0203531, 0x00ad05c2, 0x00b18820 },
-   { 0x80800040, 0xd0403531, 0x00ad05c4, 0x00b18840 },
-   { 0x80800040, 0xd0603531, 0x00ad05c6, 0x00b18860 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27480231, 0x00000747, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b10740, 0x00b10741 },
-   { 0x00800040, 0x24003e2c, 0x00b10742, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10740, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
-   { 0x00800001, 0x45c10231, 0x00d205e0, 0x00000000 },
-   { 0x80800040, 0xd0003631, 0x004d05c0, 0x00b18800 },
-   { 0x80800040, 0xd0203631, 0x004d05c4, 0x00b18820 },
-   { 0x80800040, 0xd0403631, 0x004d05c8, 0x00b18840 },
-   { 0x80800040, 0xd0603631, 0x004d05cc, 0x00b18860 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00800001, 0x20400232, 0x00cd0400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00cd0408, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00cd0410, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00cd0418, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00cd0440, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00cd0448, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00cd0450, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00cd0458, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00cd0480, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00cd0488, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00cd0490, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00cd0498, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00cd04c0, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00cd04c8, 0x00000000 },
-   { 0x00800001, 0x21200232, 0x00cd04d0, 0x00000000 },
-   { 0x00800001, 0x21300232, 0x00cd04d8, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffd34 },
-   { 0x00000001, 0x220401ec, 0x00000000, 0x00800080 },
-   { 0x00000001, 0x220601ec, 0x00000000, 0x04000400 },
-   { 0x00200008, 0x27006e2d, 0x0000006c, 0x00000040 },
-   { 0x02600005, 0x20003e20, 0x0000006c, 0x00040004 },
-   { 0x00780001, 0x26340231, 0x00000633, 0x00000000 },
-   { 0x00800001, 0x27200231, 0x00b10620, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00cf0643, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240070, 0x00004040 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000700, 0x00010001 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c26, 0x00000000 },
-   { 0x00400001, 0x27440231, 0x00808c66, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240072, 0x00004040 },
-   { 0x00000040, 0x22063d8c, 0x00000206, 0x00800080 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000702, 0x00020002 },
-   { 0x00800001, 0xaf800231, 0x00d28f80, 0x00000000 },
-   { 0x00800001, 0xaf900231, 0x00d28fa0, 0x00000000 },
-   { 0x00800001, 0xafc00231, 0x00d28fc0, 0x00000000 },
-   { 0x00800001, 0xafd00231, 0x00d28fe0, 0x00000000 },
-   { 0x00800001, 0xafa00231, 0x00d28c00, 0x00000000 },
-   { 0x00800001, 0xafb00231, 0x00d28c20, 0x00000000 },
-   { 0x00800001, 0xafe00231, 0x00d28c40, 0x00000000 },
-   { 0x00800001, 0xaff00231, 0x00d28c60, 0x00000000 },
-   { 0x00400001, 0x27200231, 0x0069065c, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x00a98fcc, 0x00000000 },
-   { 0x00600001, 0x272c0231, 0x00a98fec, 0x00000000 },
-   { 0x00600001, 0x27340231, 0x00008fff, 0x00000000 },
-   { 0x00800001, 0x2620012d, 0x00b10720, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00cf0663, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240074, 0x00004040 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000700, 0x00010001 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x00600001, 0x27300231, 0x008d0638, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c26, 0x00000000 },
-   { 0x00400001, 0x27440231, 0x00808c66, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240076, 0x00004040 },
-   { 0x00000040, 0x22063d8c, 0x00000206, 0x00800080 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800001, 0xaf800231, 0x00d28f80, 0x00000000 },
-   { 0x00800001, 0xaf900231, 0x00d28fa0, 0x00000000 },
-   { 0x00800001, 0xafc00231, 0x00d28fc0, 0x00000000 },
-   { 0x00800001, 0xafd00231, 0x00d28fe0, 0x00000000 },
-   { 0x00800001, 0xafa00231, 0x00d28c00, 0x00000000 },
-   { 0x00800001, 0xafb00231, 0x00d28c20, 0x00000000 },
-   { 0x00800001, 0xafe00231, 0x00d28c40, 0x00000000 },
-   { 0x00800001, 0xaff00231, 0x00d28c60, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e0 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffcce },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00600001, 0x27800231, 0x008d0740, 0x00000000 },
-   { 0x00400005, 0x22083dac, 0x00690680, 0x000f000f },
-   { 0x00400040, 0x26a04625, 0x01e09020, 0x00690058 },
-   { 0x00000001, 0x26d001ad, 0x00000700, 0x00000000 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x80600040, 0xcc0035b1, 0x00898800, 0x008d0760 },
-   { 0x80600040, 0xcc1035b1, 0x00898820, 0x008d0770 },
-   { 0x00800001, 0x27200231, 0x008d0724, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c06, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00010001 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a4 },
-   { 0x80600040, 0xcc2035b1, 0x00898808, 0x008d0760 },
-   { 0x80600040, 0xcc3035b1, 0x00898828, 0x008d0770 },
-   { 0x00000001, 0x27230231, 0x00000783, 0x00000000 },
-   { 0x00400001, 0x27240231, 0x008a8c18, 0x00000000 },
-   { 0x00400001, 0x27280231, 0x008a8c38, 0x00000000 },
-   { 0x00400001, 0x272c0231, 0x00008c3e, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00690784, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00020002 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a8 },
-   { 0x80600040, 0xcc4035b1, 0x00898840, 0x008d0760 },
-   { 0x80600040, 0xcc5035b1, 0x00898860, 0x008d0770 },
-   { 0x00800001, 0x27200231, 0x008d0724, 0x00000000 },
-   { 0x00600001, 0x27280231, 0x00000727, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c46, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00030003 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006ac },
-   { 0x80600040, 0xcc6035b1, 0x00898848, 0x008d0760 },
-   { 0x80600040, 0xcc7035b1, 0x00898868, 0x008d0770 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00800001, 0x2760022d, 0x00090724, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00800001, 0x2760022d, 0x00280740, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x02802005, 0x20003da0, 0x000006d0, 0x00020002 },
-   { 0x02802005, 0x20003da0, 0x020006d0, 0x00010001 },
-   { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
-   { 0x00780001, 0x27240231, 0x008d0740, 0x00000000 },
-   { 0x00400040, 0x25e04629, 0x00690724, 0x00690740 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00800040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00800040, 0x24003d8c, 0x008d0400, 0x00040004 },
-   { 0x00800008, 0x27603d8d, 0x008d0400, 0x00030003 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600001, 0x26c00231, 0x008d0724, 0x00000000 },
-   { 0x00400001, 0x26c80231, 0x0069072b, 0x00000000 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d06c0, 0x00010001 },
-   { 0x00800008, 0x27603d2d, 0x002905e0, 0x00020002 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x26c03e2d, 0x008d06c0, 0x00010001 },
-   { 0x00400040, 0x22083eac, 0x00690054, 0x06c006c0 },
-   { 0x00800008, 0x27603dad, 0x01e99000, 0x00020002 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600042, 0x25c04629, 0x008d06c4, 0x008d06c5 },
-   { 0x00600040, 0x24003e2c, 0x008d06c3, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00010001 },
-   { 0x00600008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00400001, 0x46c401ad, 0x006906c4, 0x00000000 },
-   { 0x00400001, 0x46c6012d, 0x006905c0, 0x00000000 },
-   { 0x00400040, 0x22083eac, 0x00690054, 0x06c006c0 },
-   { 0x00800001, 0x276001ad, 0x01ea9000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600042, 0x25c04629, 0x008d06c0, 0x008d06c1 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x26e03e2d, 0x008d06c0, 0x00010001 },
-   { 0x00400008, 0x46c23dad, 0x006906e0, 0x00020002 },
-   { 0x00200008, 0x26d03dad, 0x004506e8, 0x00020002 },
-   { 0x00400001, 0x46c0012d, 0x006905c0, 0x00000000 },
-   { 0x00400009, 0x22083eac, 0x00690054, 0x00010001 },
-   { 0x00400040, 0x22083d8c, 0x00690208, 0x06c006c0 },
-   { 0x00800001, 0x276001ad, 0x01e99000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600042, 0x45c04629, 0x008d0724, 0x008d0725 },
-   { 0x00600040, 0x24003e2c, 0x008d0726, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d0725, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d0724, 0x00010001 },
-   { 0x00600008, 0x45c23d29, 0x008d05e0, 0x00020002 },
-   { 0x00800001, 0x2760012d, 0x002a05c0, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600001, 0x27440231, 0x00000743, 0x00000000 },
-   { 0x00600042, 0x45c04629, 0x008d0740, 0x008d0741 },
-   { 0x00600040, 0x24003e2c, 0x008d0742, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d0741, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d0740, 0x00010001 },
-   { 0x00600008, 0x45c23d29, 0x008d05e0, 0x00020002 },
-   { 0x00800001, 0x2760012d, 0x004905c0, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00800001, 0x20400232, 0x00a90400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00a90404, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00a90408, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00a9040c, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00a90440, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00a90444, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00a90448, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00a9044c, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00a90480, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00a90484, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00a90488, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00a9048c, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00a904c0, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00a904c4, 0x00000000 },
-   { 0x00800001, 0x21200232, 0x00a904c8, 0x00000000 },
-   { 0x00800001, 0x21300232, 0x00a904cc, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200809, 0x27c03e21, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a000 },
-   { 0x00a02401, 0x20400232, 0x00b10080, 0x00000000 },
-   { 0x00a02801, 0x20500232, 0x00b10090, 0x00000000 },
-   { 0x00a02401, 0x20800232, 0x00b100c0, 0x00000000 },
-   { 0x00a02801, 0x20900232, 0x00b100d0, 0x00000000 },
-   { 0x00a02401, 0x20c00232, 0x00b10100, 0x00000000 },
-   { 0x00a02801, 0x20d00232, 0x00b10110, 0x00000000 },
-   { 0x00a02401, 0x21000232, 0x00b10140, 0x00000000 },
-   { 0x00a02801, 0x21100232, 0x00b10150, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000401, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x0000080c, 0x20243c22, 0x000007c4, 0x00010001 },
-   { 0x00000040, 0x22001c00, 0x00000200, 0xf8000001 },
-   { 0x00800001, 0x40400232, 0x00b10180, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00b101c0, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00b10190, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00b101d0, 0x00000000 },
-   { 0x00800001, 0x40800232, 0x00b101a0, 0x00000000 },
-   { 0x00800001, 0x40810232, 0x00b101e0, 0x00000000 },
-   { 0x00800001, 0x40a00232, 0x00b101b0, 0x00000000 },
-   { 0x00800001, 0x40a10232, 0x00b101f0, 0x00000000 },
-   { 0x01600031, 0x27a00001, 0x508d0000, 0x00000200 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000002fe },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x20780d21, 0x0000045a, 0x0208a002 },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001be },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000126 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee6 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffcf8 },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc36 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21401c21, 0x508d0040, 0x1218a000 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21601c21, 0x508d0040, 0x0a18a001 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x00000005, 0x203e2e29, 0x00000063, 0x00010001 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000316 },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x00010005, 0x245c3e2d, 0x02008800, 0x00800080 },
-   { 0x00110005, 0x245c3e2d, 0x02008804, 0x00800080 },
-   { 0x00000009, 0x245c3dad, 0x0000045c, 0x00010001 },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x240035ac, 0x0000003e, 0x0000045c },
-   { 0x01000010, 0x20003d8c, 0x00210400, 0x00010001 },
-   { 0x01000010, 0x20003d8c, 0x02210400, 0x01000100 },
-   { 0x00000001, 0x203c01ed, 0x00000000, 0x00000000 },
-   { 0x00010001, 0x203c01ed, 0x00000000, 0x00020002 },
-   { 0x00010001, 0x203c01ed, 0x02000000, 0xfffefffe },
-   { 0x00000040, 0x20780d21, 0x0000045a, 0x0208e602 },
-   { 0x00000040, 0x20782421, 0x00000078, 0x0000045c },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001c0 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000128 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee4 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffce0 },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc1e },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a600 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21400021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x0a18a601 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21600021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x02000005, 0x20002e28, 0x00000061, 0x00400040 },
-   { 0x00010005, 0x203e2e29, 0x00000063, 0x00010001 },
-   { 0x00110001, 0x203e0169, 0x00000000, 0x00030003 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000031a },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x00010005, 0x245c3e2d, 0x02008800, 0x00800080 },
-   { 0x00110005, 0x245c3e2d, 0x02008804, 0x00800080 },
-   { 0x00000009, 0x245c3dad, 0x0000045c, 0x00010001 },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x240035ac, 0x0000003e, 0x0000045c },
-   { 0x01000010, 0x20003d8c, 0x00210400, 0x00010001 },
-   { 0x01000010, 0x20003d8c, 0x02210400, 0x01000100 },
-   { 0x00000001, 0x203c01ed, 0x00000000, 0x00000000 },
-   { 0x00010001, 0x203c01ed, 0x00000000, 0x00020002 },
-   { 0x00010001, 0x203c01ed, 0x02000000, 0xfffefffe },
-   { 0x02000005, 0x20002e28, 0x00000061, 0x00400040 },
-   { 0x00010040, 0x244c0d21, 0x0000045a, 0x0208e602 },
-   { 0x00110040, 0x20780d21, 0x0000045a, 0x0208a002 },
-   { 0x00010040, 0x20782421, 0x0000044c, 0x0000045c },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001c0 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000128 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee4 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffcdc },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc1a },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a000 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21400021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x0a18a001 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21600021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x01000005, 0x20602d29, 0x02000042, 0x00070007 },
-   { 0x01000005, 0x20422d29, 0x00000042, 0xfff8fff8 },
-   { 0x00000001, 0x202001e9, 0x00000000, 0x100c100c },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00000009, 0x27e82d21, 0x00000040, 0x00060006 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000100 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x02600005, 0x20000c20, 0x02000090, 0x00002000 },
-   { 0x00000006, 0x20880c21, 0x00000088, 0x00200000 },
-   { 0x00200009, 0x20845529, 0x0000009c, 0x00450020 },
-   { 0x00200001, 0x40840231, 0x00450094, 0x00000000 },
-   { 0x00310001, 0x20840229, 0x02450094, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000095, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000094 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x20800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x020000d0, 0x00002000 },
-   { 0x00000006, 0x20c80c21, 0x000000c8, 0x00200000 },
-   { 0x00200009, 0x20c45529, 0x000000dc, 0x00450020 },
-   { 0x00200001, 0x40c40231, 0x004500d4, 0x00000000 },
-   { 0x00310001, 0x20c40229, 0x024500d4, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x000000d5, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x000000d4 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000110, 0x00002000 },
-   { 0x00000006, 0x21080c21, 0x00000108, 0x00200000 },
-   { 0x00200009, 0x21045529, 0x0000011c, 0x00450020 },
-   { 0x00200001, 0x41040231, 0x00450114, 0x00000000 },
-   { 0x00310001, 0x21040229, 0x02450114, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000115, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000114 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000150, 0x00002000 },
-   { 0x00000006, 0x21480c21, 0x00000148, 0x00200000 },
-   { 0x00200009, 0x21445529, 0x0000015c, 0x00450020 },
-   { 0x00200001, 0x41440231, 0x00450154, 0x00000000 },
-   { 0x00310001, 0x21440229, 0x02450154, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000155, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000154 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000190, 0x00002000 },
-   { 0x00000006, 0x21880c21, 0x00000188, 0x00200000 },
-   { 0x00200009, 0x21845529, 0x0000019c, 0x00450020 },
-   { 0x00200001, 0x41840231, 0x00450194, 0x00000000 },
-   { 0x00310001, 0x21840229, 0x02450194, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000195, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000194 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x020001d0, 0x00002000 },
-   { 0x00000006, 0x21c80c21, 0x000001c8, 0x00200000 },
-   { 0x00200009, 0x21c45529, 0x000001dc, 0x00450020 },
-   { 0x00200001, 0x41c40231, 0x004501d4, 0x00000000 },
-   { 0x00310001, 0x21c40229, 0x024501d4, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x000001d5, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x000001d4 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d01c0, 0x00000000 },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000210, 0x00002000 },
-   { 0x00000006, 0x22080c21, 0x00000208, 0x00200000 },
-   { 0x00200009, 0x22045529, 0x0000021c, 0x00450020 },
-   { 0x00200001, 0x42040231, 0x00450214, 0x00000000 },
-   { 0x00310001, 0x22040229, 0x02450214, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000215, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000214 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000250, 0x00002000 },
-   { 0x00000006, 0x22480c21, 0x00000248, 0x00200000 },
-   { 0x00200009, 0x22445529, 0x0000025c, 0x00450020 },
-   { 0x00200001, 0x42440231, 0x00450254, 0x00000000 },
-   { 0x00310001, 0x22440229, 0x02450254, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000255, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000254 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0240, 0x00000000 },
-   { 0x00802001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x01000040, 0x20423dad, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d00c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000080 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0140, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x21680c22, 0x000007e8, 0x00000100 },
-   { 0x00802001, 0x21800022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d01c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000180 },
-   { 0x00802001, 0x20400022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0240, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000200 },
-   { 0x01000010, 0x20002da0, 0x02000060, 0x00000000 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffff00 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000040 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00000001, 0x220400e0, 0x00000000, 0x00a00080 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02008810, 0x00002000 },
-   { 0x01000040, 0x20603dad, 0x00000060, 0xffffffff },
-   { 0x00000006, 0xa8080c21, 0x00008808, 0x00200000 },
-   { 0x00200009, 0xa8045529, 0x0000881c, 0x00450020 },
-   { 0x00200001, 0xc8040231, 0x00458814, 0x00000000 },
-   { 0x00310001, 0xa8040229, 0x02458814, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00008815, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00008814 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d8800, 0x00000000 },
-   { 0x00802001, 0xa8000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d8800, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000040 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00400040 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffda },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x01000005, 0x20602d29, 0x02000042, 0x00070007 },
-   { 0x01000005, 0x20422d29, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00000009, 0x27e82d21, 0x00000040, 0x00060006 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000260 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00200001, 0x20640229, 0x00450094, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000090, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000095, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000095, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x20881c21, 0x00000088, 0x00200000 },
-   { 0x00200001, 0x20840129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x20800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000009c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000009c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200009c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000090, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200009c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200009c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x20843d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x20862d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x40840231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x004500d4, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x020000d0, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x000000d5, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x000000d5, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x20c81c21, 0x000000c8, 0x00200000 },
-   { 0x00200001, 0x20c40129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x000000dc, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x000000dc, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x020000dc, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x020000d0, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x020000dc, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x020000dc, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x20c43d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x20c62d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x40c40231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450114, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000110, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000115, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000115, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21081c21, 0x00000108, 0x00200000 },
-   { 0x00200001, 0x21040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000011c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000011c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200011c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000110, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200011c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200011c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21043d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21062d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41040231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450154, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000150, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000155, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000155, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21481c21, 0x00000148, 0x00200000 },
-   { 0x00200001, 0x21440129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000015c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000015c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200015c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000150, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200015c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200015c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21443d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21462d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41440231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450194, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000190, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000195, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000195, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21881c21, 0x00000188, 0x00200000 },
-   { 0x00200001, 0x21840129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000019c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000019c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200019c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000190, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200019c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200019c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21843d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21862d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41840231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x004501d4, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x020001d0, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x000001d5, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x000001d5, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21c81c21, 0x000001c8, 0x00200000 },
-   { 0x00200001, 0x21c40129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d01c0, 0x00000000 },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x000001dc, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x000001dc, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x020001dc, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x020001d0, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x020001dc, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x020001dc, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21c43d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21c62d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41c40231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450214, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000210, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000215, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000215, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x22081c21, 0x00000208, 0x00200000 },
-   { 0x00200001, 0x22040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000021c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000021c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200021c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000210, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200021c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200021c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x22043d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x22062d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x42040231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450254, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000250, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000255, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000255, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x22481c21, 0x00000248, 0x00200000 },
-   { 0x00200001, 0x22440129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0240, 0x00000000 },
-   { 0x00802001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000025c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000025c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200025c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000250, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200025c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200025c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x22443d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x22462d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x42440231, 0x00660064, 0x00000000 },
-   { 0x01000040, 0x20423dad, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d00c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000080 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0140, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x21680c22, 0x000007e8, 0x00000100 },
-   { 0x00802001, 0x21800022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d01c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000180 },
-   { 0x00802001, 0x20400022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0240, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000200 },
-   { 0x01000010, 0x20002da0, 0x02000060, 0x00000000 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffda0 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000006e },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00000001, 0x220400e0, 0x00000000, 0x00a00080 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00458814, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02008810, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00008815, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00008815, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00002000 },
-   { 0x01000040, 0x20603dad, 0x02000060, 0xffffffff },
-   { 0x00000006, 0xa8080c21, 0x00008808, 0x00200000 },
-   { 0x00200001, 0xa8040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d8800, 0x00000000 },
-   { 0x00802001, 0xa8000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x02600005, 0x20000d20, 0x02000066, 0x00000001 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00004000 },
-   { 0x00000001, 0x20680129, 0x0000881c, 0x00000000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000881c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200881c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02008810, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200881c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200881c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x00000068, 0x000d0070 },
-   { 0x01000040, 0x20603dad, 0x02000060, 0x00000000 },
-   { 0x00000009, 0xa8043d09, 0x00000600, 0x000c000c },
-   { 0x00000005, 0xa8062d09, 0x00000600, 0xf000f000 },
-   { 0x00200001, 0xc8040231, 0x00660064, 0x00000000 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d8800, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000040 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00400040 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xffffffac },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x20263d29, 0x00000036, 0x00040004 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000178 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000176 },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0288a001 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x03600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00000008, 0x25e83e2d, 0x00009080, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459080, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699060, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000134 },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000110 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000102 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06082003 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000008, 0x25e83e2d, 0x00009082, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459082, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699070, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000096 },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x12082003 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00802001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0618a003 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c01, 0x27e401a1, 0x000005c2, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x02600031, 0x23401c25, 0x408d07e0, 0x02286003 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00800040, 0x2400462d, 0x00b19c00, 0x00b1d830 },
-   { 0x00800040, 0x2340462d, 0x00b19820, 0x00b1d830 },
-   { 0x00800040, 0x2360462d, 0x00b19c10, 0x00b1dc00 },
-   { 0x05810010, 0x200035ac, 0x008d2400, 0x000005d0 },
-   { 0x05810010, 0x200035ac, 0x008d2340, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2360, 0x000005d2 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x000000ca },
-   { 0x00800040, 0x2440462d, 0x00b19810, 0x00b1d830 },
-   { 0x00800040, 0x2460462d, 0x00b19c20, 0x00b1dc00 },
-   { 0x00800201, 0x24a00129, 0x00b19820, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000066 },
-   { 0x05800010, 0x200035ac, 0x028d2400, 0x000005e8 },
-   { 0x00800040, 0x2520462d, 0x00b19830, 0x00b19820 },
-   { 0x00800040, 0x2540462d, 0x00b19c00, 0x00b19c10 },
-   { 0x00000201, 0x26000108, 0x00000602, 0x00000000 },
-   { 0x05810010, 0x200035ac, 0x028d2440, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2460, 0x000005d2 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x0000001e },
-   { 0x00800040, 0x2560462d, 0x00b19810, 0x00b19800 },
-   { 0x00800040, 0x238045ad, 0x008d0520, 0x00b19c00 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19810 },
-   { 0x00800048, 0x24003dac, 0x008d0560, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x00b19c10, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xb8100231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x00b19820, 0x008d0520 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800040, 0x2580462d, 0x00b19c20, 0x00b19c30 },
-   { 0x00800040, 0x238045ad, 0x008d0540, 0x008d04b0 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19c20 },
-   { 0x00800048, 0x24003dac, 0x008d0580, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xbc200231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x008d0540 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001005c },
-   { 0x00800201, 0x23e0022d, 0x002805d4, 0x00000000 },
-   { 0x00800201, 0x23c0022d, 0x002805d4, 0x00000000 },
-   { 0x05800010, 0x200035ac, 0x008d2440, 0x000005d2 },
-   { 0x05800010, 0x200035ac, 0x028d2460, 0x000005d2 },
-   { 0x00800040, 0x24003e2c, 0x00b19820, 0x00040004 },
-   { 0x00800048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b1dc10 },
-   { 0x00800008, 0x23403d8d, 0x00b10400, 0x00030003 },
-   { 0x00810040, 0x23e03dad, 0x008d03e0, 0x00010001 },
-   { 0x00200201, 0x25ec018d, 0x00450600, 0x00000000 },
-   { 0x00810040, 0x23e03dad, 0x028d03e0, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05800010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00800042, 0x24c0462d, 0x00b19830, 0x00b19c00 },
-   { 0x00810001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00810001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x00200201, 0x260001ac, 0x004505ec, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19830, 0x008d0340 },
-   { 0x80800040, 0x43403631, 0x00b19c00, 0x008d4340 },
-   { 0x00800001, 0xb8300231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00800040, 0x2400362c, 0x00b19810, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19820, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0360, 0x008d03c0 },
-   { 0x05800010, 0x200035ac, 0x028d0360, 0x008d43c0 },
-   { 0x00810001, 0x236001ad, 0x008d03c0, 0x00000000 },
-   { 0x00810001, 0x236001ad, 0x028d43c0, 0x00000000 },
-   { 0x00000201, 0x260201ac, 0x000005ee, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19820, 0x008d0360 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00800040, 0x2400362c, 0x00b19c20, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19c10, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0360, 0x008d03c0 },
-   { 0x05800010, 0x200035ac, 0x028d0360, 0x008d43c0 },
-   { 0x00810001, 0x236001ad, 0x008d03c0, 0x00000000 },
-   { 0x00810001, 0x236001ad, 0x028d43c0, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19c10, 0x008d0360 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x01400140 },
-   { 0x00000048, 0x20263dad, 0x00000036, 0x00040004 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000126 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000124 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0248a002 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x02600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c0, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a0, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000fc },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590c8, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b0, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000ee },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d8 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b4, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000ca },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x04082004 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c2, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00810081 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590ca, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000078 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000054 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0a082004 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0418a004 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00600401, 0x2340012d, 0x008500cc, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x0085010c, 0x00000000 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x02600031, 0x23401c25, 0x408d07e0, 0x02186004 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00600040, 0x2400462d, 0x00ae9c00, 0x00aed810 },
-   { 0x00600040, 0x2340462d, 0x00ae9800, 0x00aed810 },
-   { 0x00600040, 0x2360462d, 0x00ae9c10, 0x00aedc00 },
-   { 0x05810010, 0x200035ac, 0x008d2400, 0x000005d0 },
-   { 0x05810010, 0x200035ac, 0x008d2340, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2360, 0x000005d2 },
-   { 0x00618022, 0x34001c00, 0x00001400, 0x00000038 },
-   { 0x00618022, 0x34001c00, 0x02001400, 0x00000016 },
-   { 0x00600040, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9810 },
-   { 0x80600008, 0x43403d91, 0x008d0400, 0x00020002 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9c00 },
-   { 0x80600008, 0x43603d91, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0xd8100231, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0360, 0x00000000 },
-   { 0x00608024, 0x34001c00, 0x00001400, 0x00010020 },
-   { 0x00600201, 0x2400022c, 0x002405d4, 0x00000000 },
-   { 0x00600040, 0x23e03d8d, 0x008d0400, 0x00010001 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00040004 },
-   { 0x00600048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00aedc10 },
-   { 0x00600008, 0x23403d8d, 0x008d0400, 0x00030003 },
-   { 0x03600010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05600010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00610001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00610001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x80600040, 0x43603631, 0x00ae9810, 0x008d0340 },
-   { 0x80600040, 0x43403631, 0x00ae9c00, 0x008d4340 },
-   { 0x00600001, 0xd8100231, 0x00ae0360, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x20263d29, 0x00000036, 0x00040004 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x0000018c },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000018a },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0288e701 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0288e601 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x03600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00000008, 0x25e83e2d, 0x00009080, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459080, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699060, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb8c },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb76 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb68 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb5a },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x06082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x06082603 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000008, 0x25e83e2d, 0x00009082, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459082, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699070, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffaea },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffad4 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffac6 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffab8 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x12082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x12082603 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00802001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0618a703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0618a603 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c01, 0x27e401a1, 0x000005c2, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x00010008 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x01400140 },
-   { 0x00000048, 0x20263dad, 0x00000036, 0x00040004 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x0000013a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000138 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0248e702 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0248e602 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x02600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c0, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a0, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffc0c },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590c8, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b0, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbfe },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbe8 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b4, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbda },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x04082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x04082604 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c2, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb92 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00810081 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590ca, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb84 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb6e },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb60 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0a082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0a082604 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0418a704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0418a604 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00600401, 0x2340012d, 0x008500cc, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x0085010c, 0x00000000 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x00010008 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00010001 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00010001 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00400441, 0x45c03dad, 0x00000034, 0x00100010 },
-   { 0x00400841, 0x45c23dad, 0x00000036, 0x00200020 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x25e42c21, 0x000005e4, 0x00800080 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00000005, 0x202a3dad, 0x0000002a, 0xfffdfffd },
-   { 0x02000005, 0x20002d2c, 0x0200002a, 0x00020002 },
-   { 0x00000001, 0x27e80021, 0x000005e4, 0x00000000 },
-   { 0x00010040, 0x27e83c21, 0x020007e8, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000005, 0x25ec2e29, 0x00009002, 0x000a000a },
-   { 0x00000005, 0x25ea2e29, 0x00009002, 0x00060006 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000252 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000250 },
-   { 0x01000010, 0x20003d2c, 0x000005ec, 0x00080008 },
-   { 0x00000005, 0x25e03d8d, 0x00000600, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a5, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0288a001 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0288e701 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0288e601 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x00800401, 0x20400231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x20500231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x20600231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x20700231, 0x00cf0343, 0x00000000 },
-   { 0x01600010, 0x20003d2c, 0x000005ea, 0x00040004 },
-   { 0x01600010, 0x20003d2c, 0x020005ea, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009080, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009081, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289060, 0x00000000 },
-   { 0x00610401, 0x41c00229, 0x00009080, 0x00000000 },
-   { 0x00610801, 0x41c20229, 0x00009090, 0x00000000 },
-   { 0x00610401, 0x41e00229, 0x00009081, 0x00000000 },
-   { 0x00610801, 0x41e20229, 0x00009091, 0x00000000 },
-   { 0x00610401, 0x42000229, 0x00249060, 0x00000000 },
-   { 0x00610801, 0x42020229, 0x00249098, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00610401, 0x21c00229, 0x02009080, 0x00000000 },
-   { 0x00610801, 0x21d00229, 0x02009090, 0x00000000 },
-   { 0x00610401, 0x21e00229, 0x02009081, 0x00000000 },
-   { 0x00610801, 0x21f00229, 0x02009091, 0x00000000 },
-   { 0x00610401, 0x22000229, 0x02249060, 0x00000000 },
-   { 0x00610801, 0x22100229, 0x02249098, 0x00000000 },
-   { 0x00800008, 0x25a03d29, 0x008d01c0, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200001, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x000001b4 },
-   { 0x00800008, 0x25a03e29, 0x00009084, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009084, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009085, 0x00000000 },
-   { 0x00000001, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000001, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000019c },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000018e },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000001, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000180 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06082003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x06082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x06082603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x01000005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000440, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00200000 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00010001 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20400021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000001, 0x260201ac, 0x000005e0, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009082, 0x00020002 },
-   { 0x00200001, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00009082, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009083, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289070, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000050 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000a },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05400540 },
-   { 0x00800001, 0x25000129, 0x00ad0040, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad0080, 0x00000000 },
-   { 0x00800001, 0x25400129, 0x00ad00c0, 0x00000000 },
-   { 0x00800001, 0x25600129, 0x00ad0100, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000c2 },
-   { 0x00600001, 0x20600129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20800129, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x20a00129, 0x008d0530, 0x00000000 },
-   { 0x00600001, 0x20c00129, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x20e00129, 0x008d0550, 0x00000000 },
-   { 0x00600001, 0x21000129, 0x008d0560, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009092, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05400540 },
-   { 0x00800001, 0x25000129, 0x00ad0050, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad0090, 0x00000000 },
-   { 0x00800001, 0x25400129, 0x00ad00d0, 0x00000000 },
-   { 0x00800001, 0x25600129, 0x00ad0110, 0x00000000 },
-   { 0x00200001, 0x25d80129, 0x0045905c, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00009092, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009093, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028909c, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000009a },
-   { 0x00600001, 0x20700129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20900129, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x20b00129, 0x008d0530, 0x00000000 },
-   { 0x00600001, 0x20d00129, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x20f00129, 0x008d0550, 0x00000000 },
-   { 0x00600001, 0x21100129, 0x008d0560, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009084, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009084, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009085, 0x00000000 },
-   { 0x00000001, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000001, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000068 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000001, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005a },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x12082003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x12082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x12082603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01800005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00812001, 0x20400022, 0x028d0040, 0x00000000 },
-   { 0x00912001, 0x20400022, 0x028d0080, 0x00000000 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0618a003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00010001 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0618a703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0618a603 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x0000002a, 0x00020002 },
-   { 0x00000006, 0x202a3dad, 0x0000002a, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffd94 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00800040, 0x2400462d, 0x00b19c00, 0x00b1d830 },
-   { 0x00800040, 0x2340462d, 0x00b19820, 0x00b1d830 },
-   { 0x00800040, 0x2360462d, 0x00b19c10, 0x00b1dc00 },
-   { 0x05810010, 0x200025ac, 0x008d2400, 0x008d01c0 },
-   { 0x05810010, 0x200025ac, 0x008d2340, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2360, 0x008d01e0 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x000000c8 },
-   { 0x00800040, 0x2440462d, 0x00b19810, 0x00b1d830 },
-   { 0x00800040, 0x2460462d, 0x00b19c20, 0x00b1dc00 },
-   { 0x00800201, 0x24a00129, 0x00b19820, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000066 },
-   { 0x05800010, 0x200025ac, 0x028d2400, 0x008d05a0 },
-   { 0x00800040, 0x2520462d, 0x00b19830, 0x00b19820 },
-   { 0x00800040, 0x2540462d, 0x00b19c00, 0x00b19c10 },
-   { 0x00000201, 0x26000108, 0x00000602, 0x00000000 },
-   { 0x05810010, 0x200025ac, 0x028d2440, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2460, 0x008d01e0 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x0000001e },
-   { 0x00800040, 0x2560462d, 0x00b19810, 0x00b19800 },
-   { 0x00800040, 0x238045ad, 0x008d0520, 0x00b19c00 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19810 },
-   { 0x00800048, 0x24003dac, 0x008d0560, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x00b19c10, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xb8100231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x00b19820, 0x008d0520 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800040, 0x2580462d, 0x00b19c20, 0x00b19c30 },
-   { 0x00800040, 0x238045ad, 0x008d0540, 0x008d04b0 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19c20 },
-   { 0x00800048, 0x24003dac, 0x008d0580, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xbc200231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x008d0540 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001005a },
-   { 0x00800001, 0x23e0012d, 0x008d0200, 0x00000000 },
-   { 0x05800010, 0x200025ac, 0x008d2440, 0x008d01e0 },
-   { 0x05800010, 0x200025ac, 0x028d2460, 0x008d01e0 },
-   { 0x00800040, 0x24003e2c, 0x00b19820, 0x00040004 },
-   { 0x00800048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b1dc10 },
-   { 0x00800008, 0x23403d8d, 0x00b10400, 0x00030003 },
-   { 0x00810040, 0x23e03dad, 0x008d03e0, 0x00010001 },
-   { 0x00200201, 0x25ec018d, 0x00450600, 0x00000000 },
-   { 0x00810040, 0x23e03dad, 0x028d03e0, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05800010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00800042, 0x24c0462d, 0x00b19830, 0x00b19c00 },
-   { 0x00810001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00810001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x00200201, 0x260001ac, 0x004505ec, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19830, 0x008d0340 },
-   { 0x80800040, 0x43403631, 0x00b19c00, 0x008d4340 },
-   { 0x00800001, 0xb8300231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00800040, 0x2400362c, 0x00b19810, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19820, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200025ac, 0x008d0360, 0x008d0200 },
-   { 0x05800010, 0x200025ac, 0x028d0360, 0x008d4200 },
-   { 0x00810001, 0x2360012d, 0x008d0200, 0x00000000 },
-   { 0x00810001, 0x2360012d, 0x028d4200, 0x00000000 },
-   { 0x00000201, 0x260201ac, 0x000005ee, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19820, 0x008d0360 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00800040, 0x2400362c, 0x00b19c20, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19c10, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200025ac, 0x008d0360, 0x008d0200 },
-   { 0x05800010, 0x200025ac, 0x028d0360, 0x008d4200 },
-   { 0x00810001, 0x2360012d, 0x008d0200, 0x00000000 },
-   { 0x00810001, 0x2360012d, 0x028d4200, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19c10, 0x008d0360 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00010001 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00400441, 0x45c03dad, 0x00000034, 0x00100010 },
-   { 0x00400841, 0x45c23dad, 0x00000036, 0x00200020 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x25e42c21, 0x000005e4, 0x00800080 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00000005, 0x202a3dad, 0x0000002a, 0xfffdfffd },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x02000005, 0x20002d2c, 0x0200002a, 0x00020002 },
-   { 0x00000001, 0x27e80021, 0x000005e4, 0x00000000 },
-   { 0x00010040, 0x27e83c21, 0x020007e8, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000005, 0x25ec2e29, 0x00009002, 0x000a000a },
-   { 0x00000005, 0x25ea2e29, 0x00009002, 0x00060006 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000252 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000250 },
-   { 0x01000010, 0x20003d2c, 0x000005ec, 0x00080008 },
-   { 0x00000005, 0x25e03d8d, 0x00000600, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0248a002 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0248e702 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0248e602 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x00800001, 0x204001a9, 0x002e0340, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x01000010, 0x20003d2c, 0x020005ea, 0x00040004 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000010, 0x20003d2c, 0x000005ea, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000012 },
-   { 0x02600005, 0x20003dac, 0x00650340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02650360, 0x00010001 },
-   { 0x00400401, 0x41c00229, 0x000090c0, 0x00000000 },
-   { 0x00400801, 0x41c20229, 0x000090e0, 0x00000000 },
-   { 0x00400401, 0x41e00229, 0x000090c1, 0x00000000 },
-   { 0x00400801, 0x41e20229, 0x000090e1, 0x00000000 },
-   { 0x00400401, 0x42000229, 0x006990a0, 0x00000000 },
-   { 0x00400801, 0x42020229, 0x006990e8, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00400401, 0x21c00229, 0x000090c0, 0x00000000 },
-   { 0x00400801, 0x21c80229, 0x000090e0, 0x00000000 },
-   { 0x00400401, 0x21e00229, 0x000090c1, 0x00000000 },
-   { 0x00400801, 0x21e80229, 0x000090e1, 0x00000000 },
-   { 0x00400401, 0x22000229, 0x006990a0, 0x00000000 },
-   { 0x00400801, 0x22080229, 0x006990e8, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00600001, 0x21c00229, 0x000090c0, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c1, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a0, 0x00000000 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000001c8 },
-   { 0x01400010, 0x20003d2c, 0x000005ea, 0x00040004 },
-   { 0x01400010, 0x20003d2c, 0x020005ea, 0x00020002 },
-   { 0x00600001, 0x21c00229, 0x000090c8, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c9, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b0, 0x00000000 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00410401, 0x41c00229, 0x000090c8, 0x00000000 },
-   { 0x00410801, 0x41c20229, 0x000090f0, 0x00000000 },
-   { 0x00410401, 0x41e00229, 0x000090c9, 0x00000000 },
-   { 0x00410801, 0x41e20229, 0x000090f1, 0x00000000 },
-   { 0x00410401, 0x42000229, 0x006990b0, 0x00000000 },
-   { 0x00410801, 0x42020229, 0x006990f8, 0x00000000 },
-   { 0x00410401, 0x21c00229, 0x020090c8, 0x00000000 },
-   { 0x00410801, 0x21c80229, 0x020090f0, 0x00000000 },
-   { 0x00410401, 0x21e00229, 0x020090c9, 0x00000000 },
-   { 0x00410801, 0x21e80229, 0x020090f1, 0x00000000 },
-   { 0x00410401, 0x22000229, 0x026990b0, 0x00000000 },
-   { 0x00410801, 0x22080229, 0x026990f8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000019c },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00600001, 0x21c00229, 0x000090c4, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c5, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000184 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090cc, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cd, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b4, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000174 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x04082004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x04082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x04082604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da5, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x01000005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000440, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00100000 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00020002 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x20400021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000001, 0x260201ac, 0x000005e0, 0x00000000 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000026 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00600001, 0x21c00229, 0x000090c2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000f0 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00600001, 0x21c00229, 0x000090ca, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cb, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e0 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05200520 },
-   { 0x00800001, 0x25000129, 0x00ad0040, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad00c0, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090c2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000c6 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05010501 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05210521 },
-   { 0x00600001, 0x21c00229, 0x000090ca, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cb, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000b6 },
-   { 0x00800008, 0x2340352d, 0x0000905c, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x0000905e, 0x008d0220 },
-   { 0x00600001, 0x20600129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20c00129, 0x008d0520, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05200520 },
-   { 0x00800001, 0x25000129, 0x00ad0050, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad00d0, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090e2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090e3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490ec, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000096 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05010501 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05210521 },
-   { 0x00600001, 0x21c00229, 0x000090f2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090f3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490fc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00600001, 0x20700129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20d00129, 0x008d0520, 0x00000000 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00600001, 0x21c00229, 0x000090c4, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c5, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00600001, 0x21c00229, 0x000090cc, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cd, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000005a },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0a082004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0a082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0a082604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01600005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00610001, 0x20400022, 0x028d0040, 0x00000000 },
-   { 0x00710001, 0x20400022, 0x028d0060, 0x00000000 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0418a004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00020002 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0418a704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0418a604 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x0000002a, 0x00020002 },
-   { 0x00000006, 0x202a3dad, 0x0000002a, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffd94 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00600040, 0x2400462d, 0x00ae9c00, 0x00aed810 },
-   { 0x00600040, 0x2340462d, 0x00ae9800, 0x00aed810 },
-   { 0x00600040, 0x2360462d, 0x00ae9c10, 0x00aedc00 },
-   { 0x05810010, 0x200025ac, 0x008d2400, 0x008d01c0 },
-   { 0x05810010, 0x200025ac, 0x008d2340, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2360, 0x008d01e0 },
-   { 0x00618022, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00618022, 0x34001c00, 0x02001400, 0x00000016 },
-   { 0x00600040, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9810 },
-   { 0x80600008, 0x43403d91, 0x008d0400, 0x00020002 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9c00 },
-   { 0x80600008, 0x43603d91, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0xd8100231, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0360, 0x00000000 },
-   { 0x00608024, 0x34001c00, 0x00001400, 0x0001001e },
-   { 0x00600040, 0x23e03d2d, 0x008d0200, 0x00010001 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00040004 },
-   { 0x00600048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00aedc10 },
-   { 0x00600008, 0x23403d8d, 0x008d0400, 0x00030003 },
-   { 0x03600010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05600010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00610001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00610001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x80600040, 0x43603631, 0x00ae9810, 0x008d0340 },
-   { 0x80600040, 0x43403631, 0x00ae9c00, 0x008d4340 },
-   { 0x00600001, 0xd8100231, 0x00ae0360, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5 b/i965_drv_video/shaders/h264/mc/avc_mc.g4b.gen5
deleted file mode 100644 (file)
index cdee6ac..0000000
+++ /dev/null
@@ -1,5251 +0,0 @@
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x00000005, 0x220e3e2c, 0x00000070, 0x000f000f },
-   { 0x00000001, 0x26a00221, 0x00009c38, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x00a02001, 0x24000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x25c00229, 0x00b10624, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x06440640 },
-   { 0x00a02001, 0x24000229, 0x00009003, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x0000900b, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00009013, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x0000901b, 0x00000000 },
-   { 0x00a02001, 0x25000229, 0x00009023, 0x00000000 },
-   { 0x00a02001, 0x25400229, 0x0000902b, 0x00000000 },
-   { 0x00a02001, 0x25800229, 0x00009033, 0x00000000 },
-   { 0x00a02001, 0x25c00229, 0x0000903b, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x02600005, 0x20000c20, 0x0000006c, 0x00000002 },
-   { 0x00600005, 0x24000c20, 0x0000006c, 0x00000011 },
-   { 0x01600007, 0x20000c00, 0x028d0400, 0x00000011 },
-   { 0x00780001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x66430231, 0x028d0624, 0x00000000 },
-   { 0x00780001, 0x66630231, 0x028d062c, 0x00000000 },
-   { 0x00780001, 0x26240231, 0x00cf0643, 0x00000000 },
-   { 0x00780001, 0x262c0231, 0x00cf0663, 0x00000000 },
-   { 0x00800040, 0x25e04629, 0x00cf0643, 0x00b10624 },
-   { 0x00600040, 0x25e02529, 0x008d05e0, 0x008d05f0 },
-   { 0x00400040, 0x25e02529, 0x006905e0, 0x006905e8 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00a02040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00a02040, 0x24003d8c, 0x00b10400, 0x00100010 },
-   { 0x00a02008, 0x24003d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24403d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24803d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x24c03d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25003d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25403d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25803d89, 0x00b10400, 0x00050005 },
-   { 0x00a02008, 0x25c03d89, 0x00b10400, 0x00050005 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00600041, 0x26806e2d, 0x008d062c, 0x89abcdef },
-   { 0x00600041, 0x26906e2d, 0x008d0623, 0xfedcba98 },
-   { 0x00600041, 0x26a06e2d, 0x00cf0663, 0x89abcdef },
-   { 0x00600041, 0x26b06e2d, 0x00cf0643, 0x0fedcba9 },
-   { 0x00000041, 0x26be3e2d, 0x00000623, 0xfff8fff8 },
-   { 0x00802040, 0x268035ad, 0x008d4680, 0x008d0690 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0688 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0684 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0682 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00200020 },
-   { 0x00200048, 0x24003dac, 0x00a00680, 0x00050005 },
-   { 0x00200008, 0x26e03d8d, 0x00450400, 0x00060006 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x00000633, 0x00100010 },
-   { 0x00800048, 0x26c03e2d, 0x0000067f, 0x00100010 },
-   { 0x00800048, 0x272055ad, 0x000006e0, 0x00b10040 },
-   { 0x00600041, 0x268055ad, 0x000006e2, 0x00ae0040 },
-   { 0x00600041, 0x26a055ad, 0x000006e2, 0x00ae0041 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00680 },
-   { 0x80a02008, 0x44003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00682 },
-   { 0x80a02008, 0x44403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00684 },
-   { 0x80a02008, 0x44803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00686 },
-   { 0x80a02008, 0x44c03d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b00688 },
-   { 0x80a02008, 0x45003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068a },
-   { 0x80a02008, 0x45403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068c },
-   { 0x80a02008, 0x45803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00b0068e },
-   { 0x80a02008, 0x45c03d91, 0x00b10400, 0x00050005 },
-   { 0x00000001, 0x22040060, 0x00000000, 0x00900080 },
-   { 0x01000005, 0x20000c20, 0x02000068, 0x00003c00 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000020 },
-   { 0x80802040, 0x440045b1, 0x008d8800, 0x00ae0400 },
-   { 0x80802040, 0x444045b1, 0x008d8820, 0x00ae0440 },
-   { 0x80802040, 0x448045b1, 0x008d8840, 0x00ae0480 },
-   { 0x80802040, 0x44c045b1, 0x008d8860, 0x00ae04c0 },
-   { 0x80802040, 0x441045b1, 0x008d8880, 0x00ae0410 },
-   { 0x80802040, 0x445045b1, 0x008d88a0, 0x00ae0450 },
-   { 0x80802040, 0x449045b1, 0x008d88c0, 0x00ae0490 },
-   { 0x80802040, 0x44d045b1, 0x008d88e0, 0x00ae04d0 },
-   { 0x80802040, 0x450045b1, 0x008d8900, 0x00ae0500 },
-   { 0x80802040, 0x454045b1, 0x008d8920, 0x00ae0540 },
-   { 0x80802040, 0x458045b1, 0x008d8940, 0x00ae0580 },
-   { 0x80802040, 0x45c045b1, 0x008d8960, 0x00ae05c0 },
-   { 0x80802040, 0x451045b1, 0x008d8980, 0x00ae0510 },
-   { 0x80802040, 0x455045b1, 0x008d89a0, 0x00ae0550 },
-   { 0x80802040, 0x459045b1, 0x008d89c0, 0x00ae0590 },
-   { 0x80802040, 0x45d045b1, 0x008d89e0, 0x00ae05d0 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x01800180 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e2 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00200440, 0x27c055a5, 0x004507fa, 0x0045002a },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x0000001b },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x02186000 },
-   { 0x01600031, 0x26200021, 0x408d07c0, 0x00000200 },
-   { 0x00000440, 0x27c43ca5, 0x000007c4, 0x00010001 },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x000f0003 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00100000 },
-   { 0x02600031, 0x26400021, 0x408d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000008, 0x27fc3dad, 0x000007fc, 0x00010001 },
-   { 0x00200440, 0x27c055a5, 0x004507fa, 0x0045002a },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x00000013 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0xefffc001 },
-   { 0x01600031, 0x26200021, 0x408d07c0, 0x00000200 },
-   { 0x00000440, 0x27c43ca5, 0x000007c4, 0x00010001 },
-   { 0x00000801, 0x27c80061, 0x00000000, 0x00070003 },
-   { 0x05600031, 0x26400021, 0x408d07c0, 0x00000200 },
-   { 0x00000008, 0x220e3e2c, 0x0000006c, 0x00060006 },
-   { 0x00000001, 0x26a002a5, 0x00009c3c, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x02600005, 0x20000c20, 0x0000006c, 0x00000002 },
-   { 0x00780001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000001 },
-   { 0x00560001, 0x46420129, 0x02690624, 0x00000000 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000010 },
-   { 0x00560001, 0x46520129, 0x0269062c, 0x00000000 },
-   { 0x00780001, 0x26240129, 0x00ae0642, 0x00000000 },
-   { 0x00800040, 0x24004629, 0x00b10624, 0x00650642 },
-   { 0x00600040, 0x24002529, 0x00650400, 0x00650404 },
-   { 0x00600040, 0x25202529, 0x00050400, 0x00050404 },
-   { 0x00600040, 0x25702529, 0x00050408, 0x0005040c },
-   { 0x00560001, 0x26240169, 0x00000000, 0x80808080 },
-   { 0x00460001, 0x26240129, 0x028a0652, 0x00000000 },
-   { 0x00560001, 0x46520129, 0x02690624, 0x00000000 },
-   { 0x02400005, 0x20000c20, 0x0200006c, 0x00000001 },
-   { 0x00560001, 0x46420169, 0x02000000, 0x80808080 },
-   { 0x00460001, 0x46420129, 0x0069062c, 0x00000000 },
-   { 0x00560001, 0x262c0129, 0x008a0642, 0x00000000 },
-   { 0x00600040, 0x24004629, 0x008d0624, 0x00650652 },
-   { 0x00600040, 0x24104629, 0x00650642, 0x008d062c },
-   { 0x00600040, 0x24002529, 0x00650400, 0x00650404 },
-   { 0x00600040, 0x25302529, 0x00050408, 0x0005040c },
-   { 0x00600040, 0x25602529, 0x00050400, 0x00050404 },
-   { 0x00a02040, 0x24003d2c, 0x00b10520, 0x00040004 },
-   { 0x00a02008, 0x24003d89, 0x00b10400, 0x00030003 },
-   { 0x00a02008, 0x24403d89, 0x00b10400, 0x00030003 },
-   { 0x00a02040, 0x24003d2c, 0x00b10560, 0x00040004 },
-   { 0x00a02008, 0x24803d89, 0x00b10400, 0x00030003 },
-   { 0x00a02008, 0x24c03d89, 0x00b10400, 0x00030003 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x06440640 },
-   { 0x00a02001, 0x24000229, 0x00059002, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x0005900a, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00059012, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x0005901a, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000003c },
-   { 0x00a02001, 0x24000229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24400229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24800229, 0x00b10624, 0x00000000 },
-   { 0x00a02001, 0x24c00229, 0x00b10624, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x00600041, 0x26806e2d, 0x008d062c, 0x44332211 },
-   { 0x00600041, 0x26906e2d, 0x008d0622, 0xffeeddcc },
-   { 0x00600041, 0x26a06e2d, 0x00650652, 0x44332211 },
-   { 0x00600041, 0x26b06e2d, 0x00650642, 0x00ffeedd },
-   { 0x00200041, 0x26bc3e2d, 0x00450622, 0xfffcfffc },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0690 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0688 },
-   { 0x00802040, 0x268035ad, 0x008d0680, 0x008d0684 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00200020 },
-   { 0x00400048, 0x24003dac, 0x00a50680, 0x00220022 },
-   { 0x00400008, 0x26e03d8d, 0x00690400, 0x00060006 },
-   { 0x00800001, 0x240001ec, 0x00000000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x00050632, 0x00100010 },
-   { 0x00800048, 0x26c03e2d, 0x0005065e, 0x00100010 },
-   { 0x00800048, 0x272055ad, 0x000506e0, 0x00240044 },
-   { 0x00600041, 0x268055ad, 0x000506e4, 0x00440044 },
-   { 0x00600041, 0x26a055ad, 0x000506e4, 0x00440045 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050680 },
-   { 0x80a02008, 0x44003d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050684 },
-   { 0x80a02008, 0x44403d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x00050688 },
-   { 0x80a02008, 0x44803d91, 0x00b10400, 0x00050005 },
-   { 0x00a02040, 0x240035ac, 0x00b10720, 0x0005068c },
-   { 0x80a02008, 0x44c03d91, 0x00b10400, 0x00050005 },
-   { 0x00000040, 0x22063d8c, 0x00000204, 0x00100010 },
-   { 0x80802040, 0x640045b1, 0x008d8880, 0x00cf0400 },
-   { 0x80802040, 0x644045b1, 0x008d88a0, 0x00cf0440 },
-   { 0x80802040, 0x648045b1, 0x008d88c0, 0x00cf0480 },
-   { 0x80802040, 0x64c045b1, 0x008d88e0, 0x00cf04c0 },
-   { 0x80802040, 0x640245b1, 0x008d8900, 0x00cf0402 },
-   { 0x80802040, 0x644245b1, 0x008d8920, 0x00cf0442 },
-   { 0x80802040, 0x648245b1, 0x008d8940, 0x00cf0482 },
-   { 0x80802040, 0x64c245b1, 0x008d8960, 0x00cf04c2 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x0007000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x08004000 },
-   { 0x00800001, 0x20400232, 0x00d20400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20420, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20440, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d20460, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d20480, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d204a0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d204c0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d204e0, 0x00000000 },
-   { 0x01600031, 0x27a00021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x04400400 },
-   { 0x00a02001, 0x20400232, 0x00d29000, 0x00000000 },
-   { 0x00a02001, 0x20500232, 0x00d29020, 0x00000000 },
-   { 0x00a02001, 0x20800232, 0x00d29080, 0x00000000 },
-   { 0x00a02001, 0x20900232, 0x00d290a0, 0x00000000 },
-   { 0x00a02001, 0x20c00232, 0x00d29100, 0x00000000 },
-   { 0x00a02001, 0x20d00232, 0x00d29120, 0x00000000 },
-   { 0x00a02001, 0x21000232, 0x00d29180, 0x00000000 },
-   { 0x00a02001, 0x21100232, 0x00d291a0, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff04 },
-   { 0x00000001, 0x220401ec, 0x00000000, 0x00800080 },
-   { 0x00000001, 0x22080060, 0x00000000, 0x04100400 },
-   { 0x00200008, 0x27006e2d, 0x0000006c, 0x00000040 },
-   { 0x00400001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x272001a9, 0x00b10620, 0x00000000 },
-   { 0x02600005, 0x20001c20, 0x0000006c, 0x00000008 },
-   { 0x00110001, 0x27230231, 0x00000624, 0x00000000 },
-   { 0x00600001, 0x27420231, 0x00cf0643, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x00000643, 0x00000000 },
-   { 0x00240001, 0x27400231, 0x00000623, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000002 },
-   { 0x00010001, 0x27400231, 0x02000624, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000001 },
-   { 0x00110001, 0x27420231, 0x02000623, 0x00000000 },
-   { 0x00000005, 0x26803e2d, 0x00000070, 0x000f000f },
-   { 0x00000001, 0x270801ad, 0x00000700, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000084 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x02600005, 0x20001c20, 0x0200006c, 0x00000004 },
-   { 0x00680001, 0x272c0231, 0x028d0634, 0x00000000 },
-   { 0x00780001, 0x272c0231, 0x02000633, 0x00000000 },
-   { 0x00400001, 0x27420231, 0x00a0040e, 0x00000000 },
-   { 0x00400001, 0x27460231, 0x00a0044e, 0x00000000 },
-   { 0x00200001, 0x27400231, 0x0000062b, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000002 },
-   { 0x00010001, 0x27400231, 0x0200062c, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x0200040e, 0x00000000 },
-   { 0x00000008, 0x26803e2d, 0x00000070, 0x00040004 },
-   { 0x00200040, 0x22083d8c, 0x00450208, 0x00800080 },
-   { 0x00000006, 0x27083dad, 0x00000700, 0x00010001 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00a02001, 0xb3800231, 0x00d20400, 0x00000000 },
-   { 0x00a02001, 0xb3a00231, 0x00d20480, 0x00000000 },
-   { 0x00a02001, 0xb3c00231, 0x00d20440, 0x00000000 },
-   { 0x00a02001, 0xb3e00231, 0x00d204c0, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x00000060, 0x00000002 },
-   { 0x01000005, 0x20001c20, 0x0200006c, 0x00000001 },
-   { 0x01010005, 0x20001c20, 0x00000060, 0x00004000 },
-   { 0x02010005, 0x20001c20, 0x02000060, 0x00000010 },
-   { 0x00030001, 0x27230231, 0x0000065f, 0x00000000 },
-   { 0x00030220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02600005, 0x20001c20, 0x0000006c, 0x00000001 },
-   { 0x00460001, 0x27200231, 0x0069065c, 0x00000000 },
-   { 0x00110001, 0x27230231, 0x00000458, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x008d0458, 0x00000000 },
-   { 0x00600001, 0x272c0231, 0x008d0478, 0x00000000 },
-   { 0x00600001, 0x27420231, 0x00cf0663, 0x00000000 },
-   { 0x00000001, 0x27400231, 0x00000458, 0x00000000 },
-   { 0x00010001, 0x27410231, 0x0000065f, 0x00000000 },
-   { 0x00110001, 0x27410231, 0x00000663, 0x00000000 },
-   { 0x02000005, 0x20001c20, 0x0200006c, 0x00000010 },
-   { 0x00110001, 0x27420231, 0x0200065f, 0x00000000 },
-   { 0x00000005, 0x26803e2d, 0x00000071, 0x000f000f },
-   { 0x00000006, 0x27083dad, 0x00000702, 0x00020002 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00400001, 0x27200231, 0x0069045c, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x008d0478, 0x00000000 },
-   { 0x00800001, 0x272c0231, 0x0000047f, 0x00000000 },
-   { 0x00400001, 0x27420231, 0x00a0048e, 0x00000000 },
-   { 0x00400001, 0x27460231, 0x00a004ce, 0x00000000 },
-   { 0x00000001, 0x27400231, 0x00000478, 0x00000000 },
-   { 0x00000001, 0x27410231, 0x0000045f, 0x00000000 },
-   { 0x00000008, 0x26803e2d, 0x00000071, 0x00040004 },
-   { 0x00200040, 0x22083d8c, 0x00450208, 0x00800080 },
-   { 0x00000006, 0x27083dad, 0x00000700, 0x00030003 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00a02001, 0xb3800231, 0x00d20480, 0x00000000 },
-   { 0x00a02001, 0xb3a00231, 0x00d20500, 0x00000000 },
-   { 0x00a02001, 0xb3c00231, 0x00d204c0, 0x00000000 },
-   { 0x00a02001, 0xb3e00231, 0x00d20540, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000100 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffe74 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000001, 0x27340231, 0x00000733, 0x00000000 },
-   { 0x00600001, 0x274a0231, 0x00000749, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b10723, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00010001 },
-   { 0x00800008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x00b10740, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10742, 0x00010001 },
-   { 0x00800008, 0x26a03d8d, 0x008d0400, 0x00020002 },
-   { 0x00800001, 0x27240231, 0x00d206c0, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00ae06a2, 0x00000000 },
-   { 0x00000001, 0x27230231, 0x000006a0, 0x00000000 },
-   { 0x00000005, 0x220e3dac, 0x00000680, 0x000f000f },
-   { 0x00000001, 0x26a00221, 0x00009c2c, 0x00000000 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x80800040, 0xd00045b1, 0x00b18800, 0x000d0724 },
-   { 0x80800040, 0xd02045b1, 0x00b18820, 0x000d0724 },
-   { 0x80800040, 0xd04045b1, 0x00b18840, 0x000d0724 },
-   { 0x80800040, 0xd06045b1, 0x00b18860, 0x000d0724 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x80800040, 0xd00045b1, 0x00b18800, 0x002c0740 },
-   { 0x80800040, 0xd02045b1, 0x00b18820, 0x002c0742 },
-   { 0x80800040, 0xd04045b1, 0x00b18840, 0x002c0744 },
-   { 0x80800040, 0xd06045b1, 0x00b18860, 0x002c0746 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x02802005, 0x20003da0, 0x00000708, 0x00020002 },
-   { 0x02600005, 0x20003da0, 0x02000708, 0x00010001 },
-   { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
-   { 0x00780001, 0x27240231, 0x008d0740, 0x00000000 },
-   { 0x00600040, 0x25e04629, 0x008d0724, 0x008d0740 },
-   { 0x00400040, 0x25e02529, 0x006905e0, 0x006905e8 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00800040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00800040, 0x24003d8c, 0x008d0400, 0x00080008 },
-   { 0x00800008, 0x26803d8d, 0x008d0400, 0x00040004 },
-   { 0x80800040, 0xd00035b1, 0x00b18800, 0x00b10680 },
-   { 0x80800040, 0xd02035b1, 0x00b18820, 0x00b10680 },
-   { 0x80800040, 0xd04035b1, 0x00b18840, 0x00b10680 },
-   { 0x80800040, 0xd06035b1, 0x00b18860, 0x00b10680 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27340231, 0x008d0733, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x26803d8d, 0x00b10400, 0x00020002 },
-   { 0x80800040, 0xd00035b1, 0x00b18800, 0x002d0680 },
-   { 0x80800040, 0xd02035b1, 0x00b18820, 0x002d0684 },
-   { 0x80800040, 0xd04035b1, 0x00b18840, 0x002d0688 },
-   { 0x80800040, 0xd06035b1, 0x00b18860, 0x002d068c },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00cf06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a0, 0x00010001 },
-   { 0x00800008, 0x26a03d8d, 0x00b10400, 0x00020002 },
-   { 0x00200040, 0x220c3eac, 0x00450056, 0x06a006a0 },
-   { 0x80800040, 0xd06035b1, 0x01ed9800, 0x00b18860 },
-   { 0x80800040, 0xd04035b1, 0x01ed9804, 0x00b18840 },
-   { 0x80800040, 0xd02035b1, 0x01ed9808, 0x00b18820 },
-   { 0x80800040, 0xd00035b1, 0x01ed980c, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00cf06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b106a8, 0x00b106a9 },
-   { 0x00800040, 0x24003e2c, 0x00b106a3, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00010001 },
-   { 0x00800008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0x26a00231, 0x00ae06c0, 0x00000000 },
-   { 0x00600001, 0x46a60231, 0x00ae06cc, 0x00000000 },
-   { 0x00600001, 0x46a70231, 0x00ae05c0, 0x00000000 },
-   { 0x00200040, 0x220c3eac, 0x00450036, 0x06a006a0 },
-   { 0x80800040, 0xd0603631, 0x01ee9800, 0x00b18860 },
-   { 0x80800040, 0xd0403631, 0x01ee9802, 0x00b18840 },
-   { 0x80800040, 0xd0203631, 0x01ee9804, 0x00b18820 },
-   { 0x80800040, 0xd0003631, 0x01ee9806, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00400009, 0x26c05421, 0x00000744, 0x00690050 },
-   { 0x00400009, 0x26d05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26a00231, 0x00ab06c3, 0x00000000 },
-   { 0x00800001, 0x26a80231, 0x00b10723, 0x00000000 },
-   { 0x00800040, 0x24003e2c, 0x00b106a2, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a1, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b106a0, 0x00010001 },
-   { 0x00800008, 0x25c03d89, 0x008d0400, 0x00020002 },
-   { 0x00800042, 0x26a0462d, 0x00b106a0, 0x00b106a1 },
-   { 0x00600001, 0x46a10231, 0x00ae05c0, 0x00000000 },
-   { 0x00600001, 0x26b00231, 0x00ae05d0, 0x00000000 },
-   { 0x00200040, 0x220c3eac, 0x00450056, 0x06a006a0 },
-   { 0x80800040, 0xd0603631, 0x01ed9800, 0x00b18860 },
-   { 0x80800040, 0xd0403631, 0x01ed9804, 0x00b18840 },
-   { 0x80800040, 0xd0203631, 0x01ed9808, 0x00b18820 },
-   { 0x80800040, 0xd0003631, 0x01ed980c, 0x00b18800 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b10724, 0x00b10725 },
-   { 0x00800040, 0x24003e2c, 0x00b10726, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10725, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10724, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
-   { 0x80800040, 0xd0003531, 0x00ad05c0, 0x00b18800 },
-   { 0x80800040, 0xd0203531, 0x00ad05c2, 0x00b18820 },
-   { 0x80800040, 0xd0403531, 0x00ad05c4, 0x00b18840 },
-   { 0x80800040, 0xd0603531, 0x00ad05c6, 0x00b18860 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27480231, 0x00000747, 0x00000000 },
-   { 0x00800042, 0x25c04629, 0x00b10740, 0x00b10741 },
-   { 0x00800040, 0x24003e2c, 0x00b10742, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10741, 0x00020002 },
-   { 0x00800048, 0x24003e2c, 0x00b10740, 0x00010001 },
-   { 0x00800008, 0x25e03d89, 0x002d0400, 0x00020002 },
-   { 0x00800001, 0x45c10231, 0x00d205e0, 0x00000000 },
-   { 0x80800040, 0xd0003631, 0x004d05c0, 0x00b18800 },
-   { 0x80800040, 0xd0203631, 0x004d05c4, 0x00b18820 },
-   { 0x80800040, 0xd0403631, 0x004d05c8, 0x00b18840 },
-   { 0x80800040, 0xd0603631, 0x004d05cc, 0x00b18860 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00800001, 0x20400232, 0x00cd0400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00cd0408, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00cd0410, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00cd0418, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00cd0440, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00cd0448, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00cd0450, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00cd0458, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00cd0480, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00cd0488, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00cd0490, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00cd0498, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00cd04c0, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00cd04c8, 0x00000000 },
-   { 0x00800001, 0x21200232, 0x00cd04d0, 0x00000000 },
-   { 0x00800001, 0x21300232, 0x00cd04d8, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffd34 },
-   { 0x00000001, 0x220401ec, 0x00000000, 0x00800080 },
-   { 0x00000001, 0x220601ec, 0x00000000, 0x04000400 },
-   { 0x00200008, 0x27006e2d, 0x0000006c, 0x00000040 },
-   { 0x02600005, 0x20003e20, 0x0000006c, 0x00040004 },
-   { 0x00780001, 0x26340231, 0x00000633, 0x00000000 },
-   { 0x00800001, 0x27200231, 0x00b10620, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00cf0643, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240070, 0x00004040 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000700, 0x00010001 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c26, 0x00000000 },
-   { 0x00400001, 0x27440231, 0x00808c66, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240072, 0x00004040 },
-   { 0x00000040, 0x22063d8c, 0x00000206, 0x00800080 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000702, 0x00020002 },
-   { 0x00800001, 0xaf800231, 0x00d28f80, 0x00000000 },
-   { 0x00800001, 0xaf900231, 0x00d28fa0, 0x00000000 },
-   { 0x00800001, 0xafc00231, 0x00d28fc0, 0x00000000 },
-   { 0x00800001, 0xafd00231, 0x00d28fe0, 0x00000000 },
-   { 0x00800001, 0xafa00231, 0x00d28c00, 0x00000000 },
-   { 0x00800001, 0xafb00231, 0x00d28c20, 0x00000000 },
-   { 0x00800001, 0xafe00231, 0x00d28c40, 0x00000000 },
-   { 0x00800001, 0xaff00231, 0x00d28c60, 0x00000000 },
-   { 0x00400001, 0x27200231, 0x0069065c, 0x00000000 },
-   { 0x00600001, 0x27240231, 0x00a98fcc, 0x00000000 },
-   { 0x00600001, 0x272c0231, 0x00a98fec, 0x00000000 },
-   { 0x00600001, 0x27340231, 0x00008fff, 0x00000000 },
-   { 0x00800001, 0x2620012d, 0x00b10720, 0x00000000 },
-   { 0x00600001, 0x27400231, 0x00cf0663, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240074, 0x00004040 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x00000040, 0x22043d8c, 0x00000204, 0x00800080 },
-   { 0x00000006, 0x27003dad, 0x00000700, 0x00010001 },
-   { 0x00800001, 0x27200231, 0x00b10628, 0x00000000 },
-   { 0x00600001, 0x27300231, 0x008d0638, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c26, 0x00000000 },
-   { 0x00400001, 0x27440231, 0x00808c66, 0x00000000 },
-   { 0x00400008, 0x26806e2d, 0x00240076, 0x00004040 },
-   { 0x00000040, 0x22063d8c, 0x00000206, 0x00800080 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800001, 0xaf800231, 0x00d28f80, 0x00000000 },
-   { 0x00800001, 0xaf900231, 0x00d28fa0, 0x00000000 },
-   { 0x00800001, 0xafc00231, 0x00d28fc0, 0x00000000 },
-   { 0x00800001, 0xafd00231, 0x00d28fe0, 0x00000000 },
-   { 0x00800001, 0xafa00231, 0x00d28c00, 0x00000000 },
-   { 0x00800001, 0xafb00231, 0x00d28c20, 0x00000000 },
-   { 0x00800001, 0xafe00231, 0x00d28c40, 0x00000000 },
-   { 0x00800001, 0xaff00231, 0x00d28c60, 0x00000000 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e0 },
-   { 0x00000040, 0x27e01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffcce },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00600001, 0x27800231, 0x008d0740, 0x00000000 },
-   { 0x00400005, 0x22083dac, 0x00690680, 0x000f000f },
-   { 0x00400040, 0x26a04625, 0x01e09020, 0x00690058 },
-   { 0x00000001, 0x26d001ad, 0x00000700, 0x00000000 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a0 },
-   { 0x80600040, 0xcc0035b1, 0x00898800, 0x008d0760 },
-   { 0x80600040, 0xcc1035b1, 0x00898820, 0x008d0770 },
-   { 0x00800001, 0x27200231, 0x008d0724, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c06, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00010001 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a4 },
-   { 0x80600040, 0xcc2035b1, 0x00898808, 0x008d0760 },
-   { 0x80600040, 0xcc3035b1, 0x00898828, 0x008d0770 },
-   { 0x00000001, 0x27230231, 0x00000783, 0x00000000 },
-   { 0x00400001, 0x27240231, 0x008a8c18, 0x00000000 },
-   { 0x00400001, 0x27280231, 0x008a8c38, 0x00000000 },
-   { 0x00400001, 0x272c0231, 0x00008c3e, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00690784, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00020002 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006a8 },
-   { 0x80600040, 0xcc4035b1, 0x00898840, 0x008d0760 },
-   { 0x80600040, 0xcc5035b1, 0x00898860, 0x008d0770 },
-   { 0x00800001, 0x27200231, 0x008d0724, 0x00000000 },
-   { 0x00600001, 0x27280231, 0x00000727, 0x00000000 },
-   { 0x00400001, 0x27400231, 0x00808c46, 0x00000000 },
-   { 0x00000006, 0x26d03dad, 0x00000700, 0x00030003 },
-   { 0x00000040, 0x27e41c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x000006ac },
-   { 0x80600040, 0xcc6035b1, 0x00898848, 0x008d0760 },
-   { 0x80600040, 0xcc7035b1, 0x00898868, 0x008d0770 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00800001, 0x2760022d, 0x00090724, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00800001, 0x2760022d, 0x00280740, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x02802005, 0x20003da0, 0x000006d0, 0x00020002 },
-   { 0x02802005, 0x20003da0, 0x020006d0, 0x00010001 },
-   { 0x009a0001, 0x27200169, 0x00000000, 0x80808080 },
-   { 0x00780001, 0x27400231, 0x028d0724, 0x00000000 },
-   { 0x00780001, 0x27240231, 0x008d0740, 0x00000000 },
-   { 0x00400040, 0x25e04629, 0x00690724, 0x00690740 },
-   { 0x00200040, 0x25e02529, 0x004505e0, 0x004505e4 },
-   { 0x00800040, 0x2400252c, 0x000005e0, 0x000005e2 },
-   { 0x00800040, 0x24003d8c, 0x008d0400, 0x00040004 },
-   { 0x00800008, 0x27603d8d, 0x008d0400, 0x00030003 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600001, 0x26c00231, 0x008d0724, 0x00000000 },
-   { 0x00400001, 0x26c80231, 0x0069072b, 0x00000000 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d06c0, 0x00010001 },
-   { 0x00800008, 0x27603d2d, 0x002905e0, 0x00020002 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x26c03e2d, 0x008d06c0, 0x00010001 },
-   { 0x00400040, 0x22083eac, 0x00690054, 0x06c006c0 },
-   { 0x00800008, 0x27603dad, 0x01e99000, 0x00020002 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600042, 0x25c04629, 0x008d06c4, 0x008d06c5 },
-   { 0x00600040, 0x24003e2c, 0x008d06c3, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00010001 },
-   { 0x00600008, 0x26c03d8d, 0x008d0400, 0x00020002 },
-   { 0x00400001, 0x46c401ad, 0x006906c4, 0x00000000 },
-   { 0x00400001, 0x46c6012d, 0x006905c0, 0x00000000 },
-   { 0x00400040, 0x22083eac, 0x00690054, 0x06c006c0 },
-   { 0x00800001, 0x276001ad, 0x01ea9000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00400009, 0x26e05421, 0x00000740, 0x00690050 },
-   { 0x00600001, 0x26c40231, 0x008d0723, 0x00000000 },
-   { 0x00400001, 0x26c00231, 0x00ab06e3, 0x00000000 },
-   { 0x00600042, 0x25c04629, 0x008d06c0, 0x008d06c1 },
-   { 0x00600040, 0x24003e2c, 0x008d06c2, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d06c1, 0x00020002 },
-   { 0x00600048, 0x26e03e2d, 0x008d06c0, 0x00010001 },
-   { 0x00400008, 0x46c23dad, 0x006906e0, 0x00020002 },
-   { 0x00200008, 0x26d03dad, 0x004506e8, 0x00020002 },
-   { 0x00400001, 0x46c0012d, 0x006905c0, 0x00000000 },
-   { 0x00400009, 0x22083eac, 0x00690054, 0x00010001 },
-   { 0x00400040, 0x22083d8c, 0x00690208, 0x06c006c0 },
-   { 0x00800001, 0x276001ad, 0x01e99000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600042, 0x45c04629, 0x008d0724, 0x008d0725 },
-   { 0x00600040, 0x24003e2c, 0x008d0726, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d0725, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d0724, 0x00010001 },
-   { 0x00600008, 0x45c23d29, 0x008d05e0, 0x00020002 },
-   { 0x00800001, 0x2760012d, 0x002a05c0, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00600001, 0x27440231, 0x00000743, 0x00000000 },
-   { 0x00600042, 0x45c04629, 0x008d0740, 0x008d0741 },
-   { 0x00600040, 0x24003e2c, 0x008d0742, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x008d0741, 0x00020002 },
-   { 0x00600048, 0x25e03e29, 0x008d0740, 0x00010001 },
-   { 0x00600008, 0x45c23d29, 0x008d05e0, 0x00020002 },
-   { 0x00800001, 0x2760012d, 0x004905c0, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007e4, 0x00000000 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200801, 0x27c001a1, 0x004507fa, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x0ff04000 },
-   { 0x00800001, 0x20400232, 0x00a90400, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00a90404, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00a90408, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00a9040c, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00a90440, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00a90444, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00a90448, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00a9044c, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00a90480, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00a90484, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00a90488, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00a9048c, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00a904c0, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00a904c4, 0x00000000 },
-   { 0x00800001, 0x21200232, 0x00a904c8, 0x00000000 },
-   { 0x00800001, 0x21300232, 0x00a904cc, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000001, 0x34000020, 0x000007e0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0000, 0x00000000 },
-   { 0x00200009, 0x27fa3e29, 0x00450064, 0x00040004 },
-   { 0x00000401, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00200809, 0x27c03e21, 0x00450064, 0x00040004 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a000 },
-   { 0x00a02401, 0x20400232, 0x00b10080, 0x00000000 },
-   { 0x00a02801, 0x20500232, 0x00b10090, 0x00000000 },
-   { 0x00a02401, 0x20800232, 0x00b100c0, 0x00000000 },
-   { 0x00a02801, 0x20900232, 0x00b100d0, 0x00000000 },
-   { 0x00a02401, 0x20c00232, 0x00b10100, 0x00000000 },
-   { 0x00a02801, 0x20d00232, 0x00b10110, 0x00000000 },
-   { 0x00a02401, 0x21000232, 0x00b10140, 0x00000000 },
-   { 0x00a02801, 0x21100232, 0x00b10150, 0x00000000 },
-   { 0x01600031, 0x27800021, 0x508d07c0, 0x00000200 },
-   { 0x00000401, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x0000080c, 0x20243c22, 0x000007c4, 0x00010001 },
-   { 0x00000040, 0x22001c00, 0x00000200, 0xf8000001 },
-   { 0x00800001, 0x40400232, 0x00b10180, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00b101c0, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00b10190, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00b101d0, 0x00000000 },
-   { 0x00800001, 0x40800232, 0x00b101a0, 0x00000000 },
-   { 0x00800001, 0x40810232, 0x00b101e0, 0x00000000 },
-   { 0x00800001, 0x40a00232, 0x00b101b0, 0x00000000 },
-   { 0x00800001, 0x40a10232, 0x00b101f0, 0x00000000 },
-   { 0x01600031, 0x27a00001, 0x508d0000, 0x00000200 },
-   { 0x00000001, 0x27800021, 0x00000780, 0x00000000 },
-   { 0x00000001, 0x27a00021, 0x000007a0, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000002fe },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x20780d21, 0x0000045a, 0x0208a002 },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001be },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000126 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee6 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffcf8 },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc36 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21401c21, 0x508d0040, 0x1218a000 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21601c21, 0x508d0040, 0x0a18a001 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x00000005, 0x203e2e29, 0x00000063, 0x00010001 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000316 },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x00010005, 0x245c3e2d, 0x02008800, 0x00800080 },
-   { 0x00110005, 0x245c3e2d, 0x02008804, 0x00800080 },
-   { 0x00000009, 0x245c3dad, 0x0000045c, 0x00010001 },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x240035ac, 0x0000003e, 0x0000045c },
-   { 0x01000010, 0x20003d8c, 0x00210400, 0x00010001 },
-   { 0x01000010, 0x20003d8c, 0x02210400, 0x01000100 },
-   { 0x00000001, 0x203c01ed, 0x00000000, 0x00000000 },
-   { 0x00010001, 0x203c01ed, 0x00000000, 0x00020002 },
-   { 0x00010001, 0x203c01ed, 0x02000000, 0xfffefffe },
-   { 0x00000040, 0x20780d21, 0x0000045a, 0x0208e602 },
-   { 0x00000040, 0x20782421, 0x00000078, 0x0000045c },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001c0 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000128 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee4 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffce0 },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc1e },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a600 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21400021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x0a18a601 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21600021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0000, 0x00000000 },
-   { 0x00000005, 0x20203e2d, 0x00000061, 0x001f001f },
-   { 0x00200009, 0x20643e2d, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00000000 },
-   { 0x01000010, 0x20003dac, 0x00000020, 0x00160016 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x01200010, 0x20003e2c, 0x0200006c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000024 },
-   { 0x00800009, 0x25403dad, 0x00050064, 0x00020002 },
-   { 0x00000001, 0x203a01ed, 0x00000000, 0x00180018 },
-   { 0x00200040, 0x45483dad, 0x00660548, 0x00100010 },
-   { 0x00200040, 0x45523dad, 0x00660552, 0x00100010 },
-   { 0x00400040, 0x25583dad, 0x00690558, 0x00100010 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0x00200020 },
-   { 0x00800040, 0x20a035ad, 0x00b100a0, 0x00b10540 },
-   { 0x00600040, 0x45423dad, 0x00ae0542, 0x00200020 },
-   { 0x00800040, 0x20e035ad, 0x00b100e0, 0x00b10540 },
-   { 0x00600040, 0x45403dad, 0x00ae0540, 0xffe0ffe0 },
-   { 0x00800040, 0x20c035ad, 0x00b100c0, 0x00b10540 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x06600010, 0x20003dac, 0x02000020, 0x00030003 },
-   { 0x00000001, 0x206c0171, 0x00000000, 0x00000000 },
-   { 0x00610001, 0x208000a5, 0x02050080, 0x00000000 },
-   { 0x00610001, 0x212000a5, 0x02090100, 0x00000000 },
-   { 0x00410001, 0x211000a5, 0x02690100, 0x00000000 },
-   { 0x00200009, 0x25403dad, 0x00450064, 0x00020002 },
-   { 0x00800040, 0x208035ad, 0x00b10080, 0x00050540 },
-   { 0x00200040, 0x40883dad, 0x00660088, 0x00200020 },
-   { 0x00200040, 0x40923dad, 0x00660092, 0x00200020 },
-   { 0x00400040, 0x20983dad, 0x00690098, 0x00200020 },
-   { 0x00200401, 0x22080060, 0x00000000, 0x03400140 },
-   { 0x00000c01, 0x220c0060, 0x00000000, 0x04400080 },
-   { 0x00000801, 0x22040060, 0x00000000, 0x01000070 },
-   { 0x02000005, 0x20002e28, 0x00000061, 0x00400040 },
-   { 0x00010005, 0x203e2e29, 0x00000063, 0x00010001 },
-   { 0x00110001, 0x203e0169, 0x00000000, 0x00030003 },
-   { 0x00000001, 0x20200169, 0x00000000, 0x00000000 },
-   { 0x0000000c, 0x2458262d, 0x0000006d, 0x00000020 },
-   { 0x00000001, 0x210e0169, 0x00000000, 0x00010001 },
-   { 0x00000005, 0x24583dad, 0x00000458, 0x00030003 },
-   { 0x01000010, 0x200035ac, 0x0000010e, 0x00000458 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000031a },
-   { 0x01000010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00010401, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00010805, 0x245a3e2d, 0x02008800, 0x007f007f },
-   { 0x00110401, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00110805, 0x245a3e2d, 0x02008804, 0x007f007f },
-   { 0x00010005, 0x245c3e2d, 0x02008800, 0x00800080 },
-   { 0x00110005, 0x245c3e2d, 0x02008804, 0x00800080 },
-   { 0x00000009, 0x245c3dad, 0x0000045c, 0x00010001 },
-   { 0x0000000c, 0x211e362d, 0x0000006c, 0x00000020 },
-   { 0x00000040, 0x240035ac, 0x0000003e, 0x0000045c },
-   { 0x01000010, 0x20003d8c, 0x00210400, 0x00010001 },
-   { 0x01000010, 0x20003d8c, 0x02210400, 0x01000100 },
-   { 0x00000001, 0x203c01ed, 0x00000000, 0x00000000 },
-   { 0x00010001, 0x203c01ed, 0x00000000, 0x00020002 },
-   { 0x00010001, 0x203c01ed, 0x02000000, 0xfffefffe },
-   { 0x02000005, 0x20002e28, 0x00000061, 0x00400040 },
-   { 0x00010040, 0x244c0d21, 0x0000045a, 0x0208e602 },
-   { 0x00110040, 0x20780d21, 0x0000045a, 0x0208a002 },
-   { 0x00010040, 0x20782421, 0x0000044c, 0x0000045c },
-   { 0x02000005, 0x20003dac, 0x0200011e, 0x00030003 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000001c0 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00700000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c000c },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x0007000c },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00400000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00110040, 0x20441da5, 0x02000442, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x000c0007 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00070007 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x01600006, 0x20003dac, 0x0000044a, 0x00000000 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00010040, 0x22000c20, 0x00000078, 0x00200010 },
-   { 0x00110040, 0x22000c20, 0x00000078, 0x00300010 },
-   { 0x00010001, 0x20480061, 0x00000000, 0x00030009 },
-   { 0x00110001, 0x20480061, 0x00000000, 0x00040009 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x00009800, 0x00030003 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00600001, 0x26220231, 0x008d05c0, 0x00000000 },
-   { 0x00600401, 0x26120231, 0x008d05b8, 0x00000000 },
-   { 0x00600801, 0x26020231, 0x008d05b0, 0x00000000 },
-   { 0x00600401, 0x25f20231, 0x008d05a8, 0x00000000 },
-   { 0x00600801, 0x25e20231, 0x008d05a0, 0x00000000 },
-   { 0x00600401, 0x25d20231, 0x008d0598, 0x00000000 },
-   { 0x00600801, 0x25c20231, 0x008d0590, 0x00000000 },
-   { 0x00600401, 0x25b20231, 0x008d0588, 0x00000000 },
-   { 0x00600801, 0x25a20231, 0x008d0580, 0x00000000 },
-   { 0x00600401, 0x25920231, 0x008d0578, 0x00000000 },
-   { 0x00600801, 0x25820231, 0x008d0570, 0x00000000 },
-   { 0x00600001, 0x25720231, 0x008d0568, 0x00000000 },
-   { 0x00600001, 0x25620231, 0x008d0560, 0x00000000 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00810001, 0xbc000229, 0x02ad8000, 0x00000000 },
-   { 0x00810001, 0xbc200229, 0x02ad8020, 0x00000000 },
-   { 0x00810001, 0xbc400229, 0x02ad8040, 0x00000000 },
-   { 0x00810001, 0xbc600229, 0x02ad8060, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000012a },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000066 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000064 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04a00480 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00a02040, 0x2400462c, 0x00ad8000, 0x00ad8005 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8001, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8002, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8003, 0x00140014 },
-   { 0x00a02048, 0xb8003e2d, 0x00ad8004, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8040, 0x00ad8045 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8041, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8042, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8043, 0x00140014 },
-   { 0x00a02048, 0xb8403e2d, 0x00ad8044, 0xfffbfffb },
-   { 0x00a02040, 0x2400462c, 0x00ad8080, 0x00ad8085 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8081, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8082, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8083, 0x00140014 },
-   { 0x00a02048, 0xb8803e2d, 0x00ad8084, 0xfffbfffb },
-   { 0x00600040, 0x2400462c, 0x008d80c0, 0x008d80c5 },
-   { 0x00600048, 0x24003e2c, 0x008d80c1, 0xfffbfffb },
-   { 0x00600048, 0x24003e2c, 0x008d80c2, 0x00140014 },
-   { 0x00600048, 0x24003e2c, 0x008d80c3, 0x00140014 },
-   { 0x00600048, 0xb8c03e2d, 0x008d80c4, 0xfffbfffb },
-   { 0x00000401, 0x22000060, 0x00000000, 0x04a00480 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04a00490 },
-   { 0x00010802, 0x220c2d28, 0x00000454, 0x04800480 },
-   { 0x00a02040, 0x24003dac, 0x00b18000, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8800, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8820, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18020, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8820, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8840, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18040, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x000a000a },
-   { 0x00a02040, 0x24003dac, 0x00b18040, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x01ed8840, 0xfffbfffb },
-   { 0x00800048, 0x24203dac, 0x01ed8860, 0xfffbfffb },
-   { 0x00a02048, 0x24003dac, 0x00b18060, 0x00140014 },
-   { 0x00800048, 0x24003dac, 0x01ed8860, 0x00140014 },
-   { 0x00800048, 0x24203dac, 0x01ed8880, 0x00140014 },
-   { 0x00a02048, 0x24003dac, 0x00b18080, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed8880, 0x00010001 },
-   { 0x00800048, 0x24203dac, 0x01ed88a0, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x000a000a },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x000000b4 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000004c },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000004a },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010002, 0x220c2d28, 0x02000454, 0x04800480 },
-   { 0x00800040, 0x24003e2c, 0x01ed8000, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8001, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8021, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8002, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8022, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8003, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8023, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8004, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8024, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8005, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8025, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00800040, 0x24003e2c, 0x01ed8040, 0x00100010 },
-   { 0x00800040, 0x24203e2c, 0x01ed8060, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8041, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8061, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8042, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8062, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8043, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8063, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8044, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8064, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8045, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8065, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000042 },
-   { 0x00200401, 0x22000128, 0x0066044c, 0x00000000 },
-   { 0x00200c01, 0x22040128, 0x0045044e, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x03400010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220c0168, 0x02000000, 0x04800480 },
-   { 0x00a02040, 0x24003e2c, 0x00ad83e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8be0, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8800, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8800, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8820, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0x00010001 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8203d91, 0x00b10420, 0x00050005 },
-   { 0x00a02040, 0x24003e2c, 0x00ad8020, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01ed8820, 0xfffbfffb },
-   { 0x00800048, 0x24203e2c, 0x01ed8840, 0xfffbfffb },
-   { 0x00a02048, 0x24003e2c, 0x00ad8040, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01ed8840, 0x00140014 },
-   { 0x00800048, 0x24203e2c, 0x01ed8860, 0x00140014 },
-   { 0x00a02048, 0x24003e2c, 0x00ad8060, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01ed8860, 0x00010001 },
-   { 0x00800048, 0x24203e2c, 0x01ed8880, 0x00010001 },
-   { 0x8080000c, 0xd8403d91, 0x00b10400, 0x00050005 },
-   { 0x8080100c, 0xd8603d91, 0x00b10420, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000001c },
-   { 0x00200401, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00000801, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x01200010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01200010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00210040, 0x22002d08, 0x00450200, 0x00010001 },
-   { 0x00210040, 0x22002d08, 0x02450200, 0x00100010 },
-   { 0x00800001, 0xb8000229, 0x01ed8000, 0x00000000 },
-   { 0x00800001, 0xb8200229, 0x01ed8020, 0x00000000 },
-   { 0x00800001, 0xb8400229, 0x01ed8040, 0x00000000 },
-   { 0x00800001, 0xb8600229, 0x01ed8060, 0x00000000 },
-   { 0x80800042, 0xd8004631, 0x00d29800, 0x00d20480 },
-   { 0x80800042, 0xd8204631, 0x00d29820, 0x00d204a0 },
-   { 0x80800042, 0xd8404631, 0x00d29840, 0x00d204c0 },
-   { 0x80800042, 0xd8604631, 0x00d29860, 0x00d204e0 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000c01, 0x220201e8, 0x00000000, 0x07100710 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00200040, 0x244c3d09, 0x00450200, 0x00100010 },
-   { 0x00800041, 0x24002628, 0x00ad8000, 0x00000540 },
-   { 0x00800041, 0x24202628, 0x00ad8020, 0x00000540 },
-   { 0x00800048, 0x24002628, 0x00ad8002, 0x00000542 },
-   { 0x00800048, 0x24202628, 0x00ad8022, 0x00000542 },
-   { 0x00200001, 0x22000128, 0x0045044c, 0x00000000 },
-   { 0x00800048, 0x24002628, 0x01ed8000, 0x00000544 },
-   { 0x00800048, 0x24202628, 0x01ed8020, 0x00000544 },
-   { 0x00800048, 0xbc002629, 0x01ed8002, 0x00000546 },
-   { 0x00801048, 0xbc202629, 0x01ed8022, 0x00000546 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000128 },
-   { 0x00000001, 0x20220169, 0x00000000, 0x00040004 },
-   { 0x00200005, 0x24443dad, 0x00459800, 0x00030003 },
-   { 0x0020000c, 0x24403dad, 0x00459800, 0x00020002 },
-   { 0x01600006, 0x20003dac, 0x02000446, 0x00000000 },
-   { 0x00010040, 0x22000c20, 0x02000078, 0x00200000 },
-   { 0x00110040, 0x22000c20, 0x02000078, 0x00500000 },
-   { 0x00310040, 0x20401da5, 0x02450440, 0xfffffffe },
-   { 0x00110001, 0x20480061, 0x02000000, 0x00080008 },
-   { 0x00010040, 0x20401da5, 0x02000440, 0xfffffffe },
-   { 0x00010001, 0x204401a5, 0x02000442, 0x00000000 },
-   { 0x00010001, 0x20480061, 0x02000000, 0x00030008 },
-   { 0x01600031, 0x25600021, 0x408d0040, 0x00000200 },
-   { 0x00000040, 0xb80235ad, 0x00009802, 0x0000003c },
-   { 0x00000040, 0x22000c20, 0x00000078, 0x00100010 },
-   { 0x0020040c, 0x24403dad, 0x00459800, 0x00030003 },
-   { 0x00200805, 0x24483dad, 0x00459800, 0x00070007 },
-   { 0x00200001, 0x204001a5, 0x00450440, 0x00000000 },
-   { 0x00000009, 0x20403ca5, 0x00000040, 0x00010001 },
-   { 0x00000001, 0x20480061, 0x00000000, 0x00020005 },
-   { 0x02600031, 0x27000021, 0x408d0040, 0x00000200 },
-   { 0x00110001, 0x220001ec, 0x02000000, 0x05820582 },
-   { 0x00010001, 0x220001ec, 0x02000000, 0x05620562 },
-   { 0x00000001, 0x220e0128, 0x00000454, 0x00000000 },
-   { 0x01800006, 0x200035ac, 0x02000446, 0x00000444 },
-   { 0x00410001, 0xbc000229, 0x02698000, 0x00000000 },
-   { 0x00410001, 0xbc100229, 0x02698010, 0x00000000 },
-   { 0x00410001, 0xbc200229, 0x02698020, 0x00000000 },
-   { 0x00410001, 0xbc300229, 0x02698030, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x000000be },
-   { 0x00600001, 0x2024018d, 0x008d0200, 0x00000000 },
-   { 0x01000041, 0x245e35ad, 0x00000446, 0x00000444 },
-   { 0x02000005, 0x20003db0, 0x0200045e, 0x00010001 },
-   { 0x00000040, 0x22022d08, 0x00000200, 0x00100010 },
-   { 0x00200040, 0x22042d08, 0x00450200, 0x00200020 },
-   { 0x00400001, 0x244c0109, 0x00690200, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000042 },
-   { 0x00000040, 0x22003d08, 0x00000200, 0xffdeffde },
-   { 0x00000440, 0x22023d08, 0x00000202, 0xffeeffee },
-   { 0x00000801, 0x220c0060, 0x00000000, 0x04d004c0 },
-   { 0x01000010, 0x20003db0, 0x0000045e, 0x00040004 },
-   { 0x00802040, 0x2400462c, 0x00a98000, 0x00a98005 },
-   { 0x00802048, 0x24003e2c, 0x00a98001, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98002, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98003, 0x00140014 },
-   { 0x00802048, 0xb8003e2d, 0x00a98004, 0xfffbfffb },
-   { 0x00802040, 0x2400462c, 0x00a98040, 0x00a98045 },
-   { 0x00802048, 0x24003e2c, 0x00a98041, 0xfffbfffb },
-   { 0x00802048, 0x24003e2c, 0x00a98042, 0x00140014 },
-   { 0x00802048, 0x24003e2c, 0x00a98043, 0x00140014 },
-   { 0x00802048, 0xb8203e2d, 0x00a98044, 0xfffbfffb },
-   { 0x00400040, 0x2400462c, 0x00698080, 0x00698085 },
-   { 0x00400048, 0x24003e2c, 0x00698081, 0xfffbfffb },
-   { 0x00400048, 0x24003e2c, 0x00698082, 0x00140014 },
-   { 0x00400048, 0x24003e2c, 0x00698083, 0x00140014 },
-   { 0x00400048, 0xb8403e2d, 0x00698084, 0xfffbfffb },
-   { 0x00000401, 0x220c0060, 0x00000000, 0x04e004d0 },
-   { 0x00000c01, 0x22000060, 0x00000000, 0x04d004c8 },
-   { 0x00000c01, 0x22040060, 0x00000000, 0x04e004d8 },
-   { 0x00000801, 0x22080060, 0x00000000, 0x04f004e8 },
-   { 0x00800040, 0x24003dac, 0x00b104c0, 0x02000200 },
-   { 0x00800048, 0x24003dac, 0x00b104e0, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01ed9800, 0x00140014 },
-   { 0x00010001, 0x220c0168, 0x00000000, 0x05400540 },
-   { 0x00110001, 0x220c0168, 0x00000000, 0x04c004c0 },
-   { 0x00800048, 0x24003dac, 0x01e98000, 0xfffbfffb },
-   { 0x00800048, 0x24003dac, 0x01e98020, 0x00010001 },
-   { 0x00800048, 0x24003dac, 0x01e98800, 0x00140014 },
-   { 0x8080000c, 0xd8003d91, 0x00b10400, 0x000a000a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000060 },
-   { 0x01000010, 0x20003db0, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000022 },
-   { 0x00400040, 0x22003d28, 0x0069044c, 0xfffefffe },
-   { 0x03400010, 0x20003dac, 0x00000446, 0x00020002 },
-   { 0x01000010, 0x20003db0, 0x02000444, 0x00020002 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00100010 },
-   { 0x01000010, 0x20003dac, 0x00000446, 0x00000000 },
-   { 0x00010001, 0x220e0168, 0x02000000, 0x05400540 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x00800040, 0x24003e2c, 0x01e98000, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98001, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98002, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98003, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98004, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e98005, 0x00010001 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x01000010, 0x20003db0, 0x00000446, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x03600010, 0x20003dac, 0x02000444, 0x00020002 },
-   { 0x00400401, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x00400840, 0x22083d2c, 0x0069044c, 0x00100010 },
-   { 0x00610040, 0x22002d08, 0x02690200, 0x00010001 },
-   { 0x01000010, 0x20003dac, 0x00000444, 0x00000000 },
-   { 0x01000010, 0x20003db0, 0x02000446, 0x00020002 },
-   { 0x00800040, 0x24003e2c, 0x01e983e0, 0x00100010 },
-   { 0x00800048, 0x24003e2c, 0x01e98000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e98020, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e993e0, 0xfffbfffb },
-   { 0x00800048, 0x24003e2c, 0x01e99000, 0x00140014 },
-   { 0x00800048, 0x24003e2c, 0x01e99020, 0x00010001 },
-   { 0x00000001, 0x220e0168, 0x00000000, 0x05400540 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00110001, 0x220e0168, 0x02000000, 0x04c004c0 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00050005 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x00400001, 0x22000128, 0x0069044c, 0x00000000 },
-   { 0x01400010, 0x20003dac, 0x00000444, 0x00030003 },
-   { 0x01400010, 0x20003dac, 0x02000446, 0x00030003 },
-   { 0x00410040, 0x22002d08, 0x00690200, 0x00010001 },
-   { 0x00410040, 0x22002d08, 0x02690200, 0x00100010 },
-   { 0x00800001, 0x25400229, 0x01e98000, 0x00000000 },
-   { 0x80800042, 0x45404631, 0x00d20540, 0x00d204c0 },
-   { 0x00000001, 0x220c0128, 0x00000454, 0x00000000 },
-   { 0x00400001, 0xd8000231, 0x008a0540, 0x00000000 },
-   { 0x00400001, 0xd8100231, 0x008a0548, 0x00000000 },
-   { 0x00400001, 0xd8200231, 0x008a0550, 0x00000000 },
-   { 0x00400001, 0xd8300231, 0x008a0558, 0x00000000 },
-   { 0x00600001, 0x220001ac, 0x008d0024, 0x00000000 },
-   { 0x00200040, 0x244c3dad, 0x00450448, 0xfff8fff8 },
-   { 0x00000401, 0x220001ec, 0x00000000, 0x07000700 },
-   { 0x00000801, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00000441, 0x254635ad, 0x00000448, 0x0000044a },
-   { 0x00000c41, 0x254025ad, 0x0000444c, 0x0000444e },
-   { 0x00000c41, 0x254225ad, 0x00000448, 0x0000444e },
-   { 0x00000841, 0x254435ad, 0x0000444c, 0x0000044a },
-   { 0x00600041, 0x24002628, 0x00898000, 0x00000540 },
-   { 0x00600048, 0x24002628, 0x00898002, 0x00000542 },
-   { 0x00600048, 0x24002628, 0x00898008, 0x00000544 },
-   { 0x00600048, 0x2540262d, 0x0089800a, 0x00000546 },
-   { 0x00400401, 0xbc0001a9, 0x00690540, 0x00000000 },
-   { 0x00400801, 0xbc1001a9, 0x00690548, 0x00000000 },
-   { 0x01000010, 0x20003d2c, 0x00000022, 0x00030003 },
-   { 0x01000040, 0x20223d29, 0x02000022, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00080008 },
-   { 0x00110040, 0x24540c21, 0x00000454, 0x00080008 },
-   { 0x00010040, 0x24540c21, 0x00000454, 0x00180038 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffee4 },
-   { 0x01800010, 0x20003dac, 0x0200010e, 0x00010001 },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0xffe0ffe0 },
-   { 0x00010001, 0x24540061, 0x02000000, 0x06c00640 },
-   { 0x00110001, 0x24540061, 0x02000000, 0x04800780 },
-   { 0x00000001, 0x220e0128, 0x00000456, 0x00000000 },
-   { 0x00800040, 0x24003dac, 0x00b19c00, 0x00200020 },
-   { 0x00800040, 0x24203dac, 0x00b19c20, 0x00200020 },
-   { 0x8080000c, 0xdc003d91, 0x00b10400, 0x00060006 },
-   { 0x8080000c, 0xdc203d91, 0x00b10420, 0x00060006 },
-   { 0x02000040, 0x210e3d29, 0x0200010e, 0xffffffff },
-   { 0x00000040, 0x220c3d8c, 0x0000020c, 0x00040004 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffcdc },
-   { 0x01000005, 0x25643e2d, 0x00000060, 0x00c000c0 },
-   { 0x01000010, 0x20003dac, 0x02000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00a02001, 0x46400231, 0x00d20780, 0x00000000 },
-   { 0x00a02001, 0x46800231, 0x00d207c0, 0x00000000 },
-   { 0x00a02001, 0x46c00231, 0x00d20480, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000007e },
-   { 0x80a02042, 0x46404631, 0x00d20640, 0x00d20780 },
-   { 0x80a02042, 0x46804631, 0x00d20680, 0x00d207c0 },
-   { 0x80a02042, 0x46c04631, 0x00d206c0, 0x00d20480 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000010, 0x20003dac, 0x02000564, 0x00800080 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x0000000e },
-   { 0x01000010, 0x20003dac, 0x00000458, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffe4 },
-   { 0x00200401, 0x256801ed, 0x00000000, 0x00200020 },
-   { 0x00200801, 0x256c01ed, 0x00000000, 0x00060006 },
-   { 0x00400001, 0x258001ed, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x45a001ad, 0x00058c00, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x02600005, 0x20006e28, 0x02008c0c, 0x88848421 },
-   { 0x0220000c, 0x25663dad, 0x00000458, 0x00010001 },
-   { 0x0000000c, 0x25643dad, 0x00000564, 0x00060006 },
-   { 0x00310001, 0x25c401ad, 0x00000458, 0x00000000 },
-   { 0x00210001, 0x25c00061, 0x00000000, 0x00010001 },
-   { 0x00310040, 0x25c03dad, 0x004545c4, 0x00010001 },
-   { 0x00610001, 0x25a00061, 0x02000000, 0x00000080 },
-   { 0x00710001, 0x45a002ad, 0x02ae8c00, 0x00000000 },
-   { 0x00710001, 0x45a202ad, 0x02ae8c01, 0x00000000 },
-   { 0x00800041, 0x25a035ad, 0x00b105a0, 0x000905c0 },
-   { 0x01200010, 0x20003e2c, 0x0245006e, 0x00000000 },
-   { 0x00310009, 0x244c45ad, 0x02000564, 0x0045006e },
-   { 0x00210001, 0x244c01ed, 0x02000000, 0x00000000 },
-   { 0x0031000c, 0x244c3dad, 0x0245044c, 0x00010001 },
-   { 0x00200009, 0x256835ad, 0x0045044c, 0x00000566 },
-   { 0x00210040, 0x256835ad, 0x02450568, 0x00000566 },
-   { 0x00200040, 0x256c362d, 0x0045006e, 0x00000566 },
-   { 0x00400040, 0x240035ac, 0x00ab05a2, 0x00ab05a6 },
-   { 0x00400040, 0x2400358c, 0x00690400, 0x00000566 },
-   { 0x0040000c, 0x2580358d, 0x00690400, 0x00000566 },
-   { 0x00800041, 0x2400362c, 0x00d20640, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d20660, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d20780, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207a0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x464035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x466035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d20680, 0x000005a0 },
-   { 0x00800041, 0x2420362c, 0x00d206a0, 0x000005a0 },
-   { 0x00800048, 0x2400362c, 0x00d207c0, 0x000005a4 },
-   { 0x00800048, 0x2420362c, 0x00d207e0, 0x000005a4 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00000568 },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x00000568 },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056c },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056c },
-   { 0x80800040, 0x468035b1, 0x00b104c0, 0x00000580 },
-   { 0x80800040, 0x46a035b1, 0x00b104e0, 0x00000580 },
-   { 0x00800041, 0x2400362c, 0x00d206c0, 0x000705a8 },
-   { 0x00800041, 0x2420362c, 0x00d206e0, 0x000705a8 },
-   { 0x00800048, 0x2400362c, 0x00d20480, 0x000705ac },
-   { 0x00800048, 0x2420362c, 0x00d204a0, 0x000705ac },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x0000056a },
-   { 0x00800040, 0x2420358c, 0x00b10420, 0x0000056a },
-   { 0x0080000c, 0x24c0358d, 0x00b10400, 0x0000056e },
-   { 0x0080000c, 0x24e0358d, 0x00b10420, 0x0000056e },
-   { 0x80800040, 0x46c035b1, 0x00b104c0, 0x00050582 },
-   { 0x80800040, 0x46e035b1, 0x00b104e0, 0x00050582 },
-   { 0x01800005, 0x20003d2c, 0x02000020, 0x00020002 },
-   { 0x80800040, 0xd00045b1, 0x00b19000, 0x00d20640 },
-   { 0x80800040, 0xd02045b1, 0x00b19020, 0x00d20660 },
-   { 0x80800040, 0xd04045b1, 0x00b19040, 0x00d20680 },
-   { 0x80800040, 0xd06045b1, 0x00b19060, 0x00d206a0 },
-   { 0x00000040, 0x22083d8c, 0x00000208, 0x00800080 },
-   { 0x80400040, 0xd40045b1, 0x00699400, 0x00ab06c0 },
-   { 0x80400040, 0xd48045b1, 0x00699480, 0x00ab06c2 },
-   { 0x80400040, 0xd42045b1, 0x00699420, 0x00ab06e0 },
-   { 0x80400040, 0xd4a045b1, 0x006994a0, 0x00ab06e2 },
-   { 0x80400040, 0xd41045b1, 0x00699410, 0x00ab06d0 },
-   { 0x80400040, 0xd49045b1, 0x00699490, 0x00ab06d2 },
-   { 0x80400040, 0xd43045b1, 0x00699430, 0x00ab06f0 },
-   { 0x80400040, 0xd4b045b1, 0x006994b0, 0x00ab06f2 },
-   { 0x00000040, 0x220a3d8c, 0x0000020a, 0x00080008 },
-   { 0x00110040, 0x220a3d8c, 0x0200020a, 0x00300030 },
-   { 0x01000010, 0x20003d2c, 0x02000020, 0x00060006 },
-   { 0x00000040, 0x20203d29, 0x00000020, 0x00020002 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00100001 },
-   { 0x00000040, 0x220c358c, 0x0000020c, 0x0000003a },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xfffffc1a },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x220201ec, 0x00000000, 0x01c001c0 },
-   { 0x00800401, 0x20400236, 0x01ee8000, 0x00000000 },
-   { 0x00800801, 0x20500236, 0x01ee8010, 0x00000000 },
-   { 0x00800401, 0x20600236, 0x01ee8020, 0x00000000 },
-   { 0x00800801, 0x20700236, 0x01ee8030, 0x00000000 },
-   { 0x00800401, 0x20800236, 0x01ee8040, 0x00000000 },
-   { 0x00800801, 0x20900236, 0x01ee8050, 0x00000000 },
-   { 0x00800401, 0x20a00236, 0x01ee8060, 0x00000000 },
-   { 0x00800801, 0x20b00236, 0x01ee8070, 0x00000000 },
-   { 0x00800401, 0x20c00236, 0x01ee8100, 0x00000000 },
-   { 0x00800801, 0x20d00236, 0x01ee8110, 0x00000000 },
-   { 0x00800401, 0x20e00236, 0x01ee8120, 0x00000000 },
-   { 0x00800801, 0x20f00236, 0x01ee8130, 0x00000000 },
-   { 0x00800401, 0x21000236, 0x01ee8140, 0x00000000 },
-   { 0x00800801, 0x21100236, 0x01ee8150, 0x00000000 },
-   { 0x00800401, 0x21200236, 0x01ee8160, 0x00000000 },
-   { 0x00800801, 0x21300236, 0x01ee8170, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x1218a000 },
-   { 0x00200401, 0x204001a5, 0x00450064, 0x00000000 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x000f000f },
-   { 0x01600031, 0x21400021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x220001ec, 0x00000000, 0x03400340 },
-   { 0x00800401, 0x41600236, 0x00d28000, 0x00000000 },
-   { 0x00800801, 0x41610236, 0x00d28080, 0x00000000 },
-   { 0x00800401, 0x41800236, 0x00d28020, 0x00000000 },
-   { 0x00800801, 0x41810236, 0x00d280a0, 0x00000000 },
-   { 0x00800401, 0x41a00236, 0x00d28040, 0x00000000 },
-   { 0x00800801, 0x41a10236, 0x00d280c0, 0x00000000 },
-   { 0x00800401, 0x41c00236, 0x00d28060, 0x00000000 },
-   { 0x00800801, 0x41c10236, 0x00d280e0, 0x00000000 },
-   { 0x00000040, 0x22000d20, 0x00000062, 0x0a18a001 },
-   { 0x0000040c, 0x20443ca5, 0x00000044, 0x00010001 },
-   { 0x00000801, 0x20480061, 0x00000000, 0x0007000f },
-   { 0x0a600031, 0x21600021, 0x508d0040, 0x00000200 },
-   { 0x00000001, 0x21400021, 0x00000140, 0x00000000 },
-   { 0x00000001, 0x21600021, 0x00000160, 0x00000000 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x01000005, 0x20602d29, 0x02000042, 0x00070007 },
-   { 0x01000005, 0x20422d29, 0x00000042, 0xfff8fff8 },
-   { 0x00000001, 0x202001e9, 0x00000000, 0x100c100c },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00000009, 0x27e82d21, 0x00000040, 0x00060006 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000100 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x02600005, 0x20000c20, 0x02000090, 0x00002000 },
-   { 0x00000006, 0x20880c21, 0x00000088, 0x00200000 },
-   { 0x00200009, 0x20845529, 0x0000009c, 0x00450020 },
-   { 0x00200001, 0x40840231, 0x00450094, 0x00000000 },
-   { 0x00310001, 0x20840229, 0x02450094, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000095, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000094 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x20800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x020000d0, 0x00002000 },
-   { 0x00000006, 0x20c80c21, 0x000000c8, 0x00200000 },
-   { 0x00200009, 0x20c45529, 0x000000dc, 0x00450020 },
-   { 0x00200001, 0x40c40231, 0x004500d4, 0x00000000 },
-   { 0x00310001, 0x20c40229, 0x024500d4, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x000000d5, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x000000d4 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000110, 0x00002000 },
-   { 0x00000006, 0x21080c21, 0x00000108, 0x00200000 },
-   { 0x00200009, 0x21045529, 0x0000011c, 0x00450020 },
-   { 0x00200001, 0x41040231, 0x00450114, 0x00000000 },
-   { 0x00310001, 0x21040229, 0x02450114, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000115, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000114 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000150, 0x00002000 },
-   { 0x00000006, 0x21480c21, 0x00000148, 0x00200000 },
-   { 0x00200009, 0x21445529, 0x0000015c, 0x00450020 },
-   { 0x00200001, 0x41440231, 0x00450154, 0x00000000 },
-   { 0x00310001, 0x21440229, 0x02450154, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000155, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000154 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000190, 0x00002000 },
-   { 0x00000006, 0x21880c21, 0x00000188, 0x00200000 },
-   { 0x00200009, 0x21845529, 0x0000019c, 0x00450020 },
-   { 0x00200001, 0x41840231, 0x00450194, 0x00000000 },
-   { 0x00310001, 0x21840229, 0x02450194, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000195, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000194 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x020001d0, 0x00002000 },
-   { 0x00000006, 0x21c80c21, 0x000001c8, 0x00200000 },
-   { 0x00200009, 0x21c45529, 0x000001dc, 0x00450020 },
-   { 0x00200001, 0x41c40231, 0x004501d4, 0x00000000 },
-   { 0x00310001, 0x21c40229, 0x024501d4, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x000001d5, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x000001d4 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d01c0, 0x00000000 },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000210, 0x00002000 },
-   { 0x00000006, 0x22080c21, 0x00000208, 0x00200000 },
-   { 0x00200009, 0x22045529, 0x0000021c, 0x00450020 },
-   { 0x00200001, 0x42040231, 0x00450214, 0x00000000 },
-   { 0x00310001, 0x22040229, 0x02450214, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000215, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000214 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x02600005, 0x20000c20, 0x02000250, 0x00002000 },
-   { 0x00000006, 0x22480c21, 0x00000248, 0x00200000 },
-   { 0x00200009, 0x22445529, 0x0000025c, 0x00450020 },
-   { 0x00200001, 0x42440231, 0x00450254, 0x00000000 },
-   { 0x00310001, 0x22440229, 0x02450254, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00000255, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00000254 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0240, 0x00000000 },
-   { 0x00802001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x01000040, 0x20423dad, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d00c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000080 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0140, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x21680c22, 0x000007e8, 0x00000100 },
-   { 0x00802001, 0x21800022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d01c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000180 },
-   { 0x00802001, 0x20400022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0240, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000200 },
-   { 0x01000010, 0x20002da0, 0x02000060, 0x00000000 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffff00 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000040 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00000001, 0x220400e0, 0x00000000, 0x00a00080 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02008810, 0x00002000 },
-   { 0x01000040, 0x20603dad, 0x00000060, 0xffffffff },
-   { 0x00000006, 0xa8080c21, 0x00008808, 0x00200000 },
-   { 0x00200009, 0xa8045529, 0x0000881c, 0x00450020 },
-   { 0x00200001, 0xc8040231, 0x00458814, 0x00000000 },
-   { 0x00310001, 0xa8040229, 0x02458814, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000c },
-   { 0x00800041, 0x24002628, 0x00008815, 0x00000044 },
-   { 0x00800040, 0x24004508, 0x008d0400, 0x00008814 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d8800, 0x00000000 },
-   { 0x00802001, 0xa8000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d8800, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000040 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00400040 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xffffffda },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x01000005, 0x20602d29, 0x02000042, 0x00070007 },
-   { 0x01000005, 0x20422d29, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00000009, 0x27e82d21, 0x00000040, 0x00060006 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000260 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00200001, 0x20640229, 0x00450094, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000090, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000095, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000095, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x20881c21, 0x00000088, 0x00200000 },
-   { 0x00200001, 0x20840129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x20800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000090, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000009c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000009c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200009c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000090, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200009c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200009c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x20843d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x20862d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x40840231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x004500d4, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x020000d0, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x000000d5, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x000000d5, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x20c81c21, 0x000000c8, 0x00200000 },
-   { 0x00200001, 0x20c40129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x000000d0, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x000000dc, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x000000dc, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x020000dc, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x020000d0, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x020000dc, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x020000dc, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x20c43d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x20c62d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x40c40231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450114, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000110, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000115, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000115, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21081c21, 0x00000108, 0x00200000 },
-   { 0x00200001, 0x21040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000110, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000011c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000011c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200011c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000110, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200011c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200011c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21043d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21062d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41040231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450154, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000150, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000155, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000155, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21481c21, 0x00000148, 0x00200000 },
-   { 0x00200001, 0x21440129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000150, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000015c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000015c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200015c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000150, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200015c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200015c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21443d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21462d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41440231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450194, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000190, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000195, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000195, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21881c21, 0x00000188, 0x00200000 },
-   { 0x00200001, 0x21840129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000190, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000019c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000019c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200019c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000190, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200019c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200019c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21843d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21862d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41840231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x004501d4, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x020001d0, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x000001d5, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x000001d5, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x21c81c21, 0x000001c8, 0x00200000 },
-   { 0x00200001, 0x21c40129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d01c0, 0x00000000 },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x000001d0, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x000001dc, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x000001dc, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x020001dc, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x020001d0, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x020001dc, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x020001dc, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x21c43d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x21c62d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x41c40231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450214, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000210, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000215, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000215, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x22081c21, 0x00000208, 0x00200000 },
-   { 0x00200001, 0x22040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000210, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000021c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000021c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200021c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000210, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200021c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200021c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x22043d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x22062d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x42040231, 0x00660064, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00450254, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02000250, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00000255, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00000255, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00002000 },
-   { 0x02600005, 0x20001d20, 0x02000066, 0x00000001 },
-   { 0x00000006, 0x22481c21, 0x00000248, 0x00200000 },
-   { 0x00200001, 0x22440129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d0240, 0x00000000 },
-   { 0x00802001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x02600005, 0x20000c20, 0x00000250, 0x00004000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00000001, 0x20680129, 0x0000025c, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000025c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200025c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02000250, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200025c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200025c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x02000068, 0x000d0070 },
-   { 0x00000009, 0x22443d09, 0x00000602, 0x000c000c },
-   { 0x00000005, 0x22462d09, 0x00000602, 0xf000f000 },
-   { 0x00200001, 0x42440231, 0x00660064, 0x00000000 },
-   { 0x01000040, 0x20423dad, 0x00000042, 0xfff8fff8 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d0080, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d00c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000080 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0140, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x21680c22, 0x000007e8, 0x00000100 },
-   { 0x00802001, 0x21800022, 0x008d0180, 0x00000000 },
-   { 0x00802001, 0x21c00022, 0x008d01c0, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x20280c22, 0x000007e8, 0x00000180 },
-   { 0x00802001, 0x20400022, 0x008d0200, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0240, 0x00000000 },
-   { 0x01800031, 0x20001d0c, 0x508d0000, 0x0a080400 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000200 },
-   { 0x01000010, 0x20002da0, 0x02000060, 0x00000000 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffda0 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000006e },
-   { 0x00600001, 0x20200022, 0x008d07e0, 0x00000000 },
-   { 0x01800031, 0x20801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20400022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20480c22, 0x000007e8, 0x00000080 },
-   { 0x02800031, 0x21001d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20600022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20680c22, 0x000007e8, 0x00000100 },
-   { 0x03800031, 0x21801d09, 0x408d0000, 0x02488400 },
-   { 0x00600001, 0x20800022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20880c22, 0x000007e8, 0x00000180 },
-   { 0x04800031, 0x22001d09, 0x408d0000, 0x02488400 },
-   { 0x00000001, 0x220400e0, 0x00000000, 0x00a00080 },
-   { 0x00600001, 0x20a00022, 0x008d0000, 0x00000000 },
-   { 0x00200001, 0x20640229, 0x00458814, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x02008810, 0x01000000 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00004000 },
-   { 0x00600041, 0x24003e2c, 0x00008815, 0x00020002 },
-   { 0x00110001, 0x2066018d, 0x02000400, 0x00000000 },
-   { 0x00010040, 0x20663d8d, 0x02000400, 0x00010001 },
-   { 0x00110001, 0x2066022d, 0x00008815, 0x00000000 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00002000 },
-   { 0x01000040, 0x20603dad, 0x02000060, 0xffffffff },
-   { 0x00000006, 0xa8080c21, 0x00008808, 0x00200000 },
-   { 0x00200001, 0xa8040129, 0x00450064, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00800041, 0x24002528, 0x00000066, 0x00000044 },
-   { 0x00800040, 0x24002508, 0x008d0400, 0x00000064 },
-   { 0x00000009, 0x20a82d02, 0x00000404, 0x00060006 },
-   { 0x00802001, 0x20c00022, 0x008d8800, 0x00000000 },
-   { 0x00802001, 0xa8000061, 0x00000000, 0x00000000 },
-   { 0x05800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x02600005, 0x20000d20, 0x02000066, 0x00000001 },
-   { 0x02600005, 0x20000c20, 0x00008810, 0x00004000 },
-   { 0x00000001, 0x20680129, 0x0000881c, 0x00000000 },
-   { 0x00210002, 0x20700421, 0x02450038, 0x00450030 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x02600005, 0x20001d20, 0x0000881c, 0x00000010 },
-   { 0x00210002, 0x20700421, 0x02450028, 0x00450020 },
-   { 0x01600005, 0x20001d20, 0x0200881c, 0x00000001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x02610005, 0x20001c20, 0x02008810, 0x00008000 },
-   { 0x02610005, 0x20001d20, 0x0200881c, 0x00000010 },
-   { 0x00010006, 0x20681d29, 0x0200881c, 0x00000010 },
-   { 0x02800005, 0x2000452c, 0x00000068, 0x000d0070 },
-   { 0x01000040, 0x20603dad, 0x02000060, 0x00000000 },
-   { 0x00000009, 0xa8043d09, 0x00000600, 0x000c000c },
-   { 0x00000005, 0xa8062d09, 0x00000600, 0xf000f000 },
-   { 0x00200001, 0xc8040231, 0x00660064, 0x00000000 },
-   { 0x00600001, 0x21600022, 0x008d07e0, 0x00000000 },
-   { 0x00802001, 0x21800022, 0x008d8800, 0x00000000 },
-   { 0x0b800031, 0x20001d0c, 0x508d0000, 0x06080300 },
-   { 0x00000040, 0x27e80c21, 0x000007e8, 0x00000040 },
-   { 0x00000040, 0x22040c00, 0x00000204, 0x00400040 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0xffffffac },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x01600031, 0x20001c20, 0x708d0000, 0x82000010 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x20263d29, 0x00000036, 0x00040004 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000178 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000176 },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0288a001 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x03600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00000008, 0x25e83e2d, 0x00009080, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459080, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699060, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000134 },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000110 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000102 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06082003 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000008, 0x25e83e2d, 0x00009082, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459082, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699070, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000096 },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x12082003 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00802001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0618a003 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c01, 0x27e401a1, 0x000005c2, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x02600031, 0x23401c25, 0x408d07e0, 0x02286003 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00800040, 0x2400462d, 0x00b19c00, 0x00b1d830 },
-   { 0x00800040, 0x2340462d, 0x00b19820, 0x00b1d830 },
-   { 0x00800040, 0x2360462d, 0x00b19c10, 0x00b1dc00 },
-   { 0x05810010, 0x200035ac, 0x008d2400, 0x000005d0 },
-   { 0x05810010, 0x200035ac, 0x008d2340, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2360, 0x000005d2 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x000000ca },
-   { 0x00800040, 0x2440462d, 0x00b19810, 0x00b1d830 },
-   { 0x00800040, 0x2460462d, 0x00b19c20, 0x00b1dc00 },
-   { 0x00800201, 0x24a00129, 0x00b19820, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000066 },
-   { 0x05800010, 0x200035ac, 0x028d2400, 0x000005e8 },
-   { 0x00800040, 0x2520462d, 0x00b19830, 0x00b19820 },
-   { 0x00800040, 0x2540462d, 0x00b19c00, 0x00b19c10 },
-   { 0x00000201, 0x26000108, 0x00000602, 0x00000000 },
-   { 0x05810010, 0x200035ac, 0x028d2440, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2460, 0x000005d2 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x0000001e },
-   { 0x00800040, 0x2560462d, 0x00b19810, 0x00b19800 },
-   { 0x00800040, 0x238045ad, 0x008d0520, 0x00b19c00 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19810 },
-   { 0x00800048, 0x24003dac, 0x008d0560, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x00b19c10, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xb8100231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x00b19820, 0x008d0520 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800040, 0x2580462d, 0x00b19c20, 0x00b19c30 },
-   { 0x00800040, 0x238045ad, 0x008d0540, 0x008d04b0 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19c20 },
-   { 0x00800048, 0x24003dac, 0x008d0580, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xbc200231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x008d0540 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001005c },
-   { 0x00800201, 0x23e0022d, 0x002805d4, 0x00000000 },
-   { 0x00800201, 0x23c0022d, 0x002805d4, 0x00000000 },
-   { 0x05800010, 0x200035ac, 0x008d2440, 0x000005d2 },
-   { 0x05800010, 0x200035ac, 0x028d2460, 0x000005d2 },
-   { 0x00800040, 0x24003e2c, 0x00b19820, 0x00040004 },
-   { 0x00800048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b1dc10 },
-   { 0x00800008, 0x23403d8d, 0x00b10400, 0x00030003 },
-   { 0x00810040, 0x23e03dad, 0x008d03e0, 0x00010001 },
-   { 0x00200201, 0x25ec018d, 0x00450600, 0x00000000 },
-   { 0x00810040, 0x23e03dad, 0x028d03e0, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05800010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00800042, 0x24c0462d, 0x00b19830, 0x00b19c00 },
-   { 0x00810001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00810001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x00200201, 0x260001ac, 0x004505ec, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19830, 0x008d0340 },
-   { 0x80800040, 0x43403631, 0x00b19c00, 0x008d4340 },
-   { 0x00800001, 0xb8300231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00800040, 0x2400362c, 0x00b19810, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19820, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0360, 0x008d03c0 },
-   { 0x05800010, 0x200035ac, 0x028d0360, 0x008d43c0 },
-   { 0x00810001, 0x236001ad, 0x008d03c0, 0x00000000 },
-   { 0x00810001, 0x236001ad, 0x028d43c0, 0x00000000 },
-   { 0x00000201, 0x260201ac, 0x000005ee, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19820, 0x008d0360 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00800040, 0x2400362c, 0x00b19c20, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19c10, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0360, 0x008d03c0 },
-   { 0x05800010, 0x200035ac, 0x028d0360, 0x008d43c0 },
-   { 0x00810001, 0x236001ad, 0x008d03c0, 0x00000000 },
-   { 0x00810001, 0x236001ad, 0x028d43c0, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19c10, 0x008d0360 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x01400140 },
-   { 0x00000048, 0x20263dad, 0x00000036, 0x00040004 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000126 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000124 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0248a002 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x02600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c0, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a0, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000fc },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590c8, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b0, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000ee },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d8 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b4, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000ca },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x04082004 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c2, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00810081 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590ca, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000078 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000054 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0a082004 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0418a004 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00600401, 0x2340012d, 0x008500cc, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x0085010c, 0x00000000 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x02600031, 0x23401c25, 0x408d07e0, 0x02186004 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00600040, 0x2400462d, 0x00ae9c00, 0x00aed810 },
-   { 0x00600040, 0x2340462d, 0x00ae9800, 0x00aed810 },
-   { 0x00600040, 0x2360462d, 0x00ae9c10, 0x00aedc00 },
-   { 0x05810010, 0x200035ac, 0x008d2400, 0x000005d0 },
-   { 0x05810010, 0x200035ac, 0x008d2340, 0x000005d2 },
-   { 0x05810010, 0x200035ac, 0x008d2360, 0x000005d2 },
-   { 0x00618022, 0x34001c00, 0x00001400, 0x00000038 },
-   { 0x00618022, 0x34001c00, 0x02001400, 0x00000016 },
-   { 0x00600040, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9810 },
-   { 0x80600008, 0x43403d91, 0x008d0400, 0x00020002 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9c00 },
-   { 0x80600008, 0x43603d91, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0xd8100231, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0360, 0x00000000 },
-   { 0x00608024, 0x34001c00, 0x00001400, 0x00010020 },
-   { 0x00600201, 0x2400022c, 0x002405d4, 0x00000000 },
-   { 0x00600040, 0x23e03d8d, 0x008d0400, 0x00010001 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00040004 },
-   { 0x00600048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00aedc10 },
-   { 0x00600008, 0x23403d8d, 0x008d0400, 0x00030003 },
-   { 0x03600010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05600010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00610001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00610001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x80600040, 0x43603631, 0x00ae9810, 0x008d0340 },
-   { 0x80600040, 0x43403631, 0x00ae9c00, 0x008d4340 },
-   { 0x00600001, 0xd8100231, 0x00ae0360, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x20263d29, 0x00000036, 0x00040004 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x0000018c },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000018a },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0288e701 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0288e601 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x03600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00000008, 0x25e83e2d, 0x00009080, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459080, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699060, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb8c },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb76 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb68 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffb5a },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x06082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x06082603 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000008, 0x25e83e2d, 0x00009082, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x00459082, 0x00000000 },
-   { 0x00200c01, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699070, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffaea },
-   { 0x00000008, 0x25e83e2d, 0x00009084, 0x00020002 },
-   { 0x00200401, 0x25d0022d, 0x00459084, 0x00000000 },
-   { 0x00000801, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x25e83dad, 0x000005e8, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000401, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffad4 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000401, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x00699078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffac6 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000401, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x0069907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0xfffffab8 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x12082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x12082603 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00802001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0618a703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0618a603 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00800401, 0x23400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c01, 0x27e401a1, 0x000005c2, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x00010008 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00cf0343, 0x00000000 },
-   { 0x00802001, 0x202000a2, 0x008d0380, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x06080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00030003 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00600009, 0x25c03dad, 0x00050034, 0x00040004 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x27e82c21, 0x000005e4, 0x00400040 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x01400140 },
-   { 0x00000048, 0x20263dad, 0x00000036, 0x00040004 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x0000013a },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000138 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0248e702 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0248e602 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x02600031, 0x20800021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c0, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a0, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffc0c },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590c8, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b0, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbfe },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbe8 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b4, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbda },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x04082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x04082604 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00800080 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200401, 0x25d0022d, 0x004590c2, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb92 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00810081 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00200401, 0x25d0022d, 0x004590ca, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb84 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00200401, 0x25d0022d, 0x004590c4, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb6e },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200401, 0x25d0022d, 0x004590cc, 0x00000000 },
-   { 0x00400801, 0x25d40231, 0x006990bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffb60 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0a082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0a082604 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20400022, 0x008d0080, 0x00000000 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0418a704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0418a604 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x00600401, 0x2340012d, 0x008500cc, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x0085010c, 0x00000000 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000440, 0x27e03da1, 0x000005c0, 0x000c000c },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x00010008 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x236001ad, 0x002e0340, 0x00000000 },
-   { 0x00600001, 0x202000a2, 0x008d0360, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x00000026, 0x00010001 },
-   { 0x00800031, 0x20001d28, 0x608d07e0, 0x04080020 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00010001 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00010001 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x01400140 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00200020 },
-   { 0x00000001, 0x203801e2, 0x00000000, 0x00010001 },
-   { 0x00800001, 0x204001ae, 0x00b10020, 0x00000000 },
-   { 0x00000008, 0x27e03d29, 0x000002a0, 0x00010001 },
-   { 0x00800031, 0x20000128, 0x608d07e0, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x22a00169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00020002 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc6 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffca },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00000041, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff4 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffff6 },
-   { 0x05000010, 0x200035ac, 0x00000240, 0x00000026 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffffc },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00400441, 0x45c03dad, 0x00000034, 0x00100010 },
-   { 0x00400841, 0x45c23dad, 0x00000036, 0x00200020 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x25e42c21, 0x000005e4, 0x00800080 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00000005, 0x202a3dad, 0x0000002a, 0xfffdfffd },
-   { 0x02000005, 0x20002d2c, 0x0200002a, 0x00020002 },
-   { 0x00000001, 0x27e80021, 0x000005e4, 0x00000000 },
-   { 0x00010040, 0x27e83c21, 0x020007e8, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000005, 0x25ec2e29, 0x00009002, 0x000a000a },
-   { 0x00000005, 0x25ea2e29, 0x00009002, 0x00060006 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000252 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000250 },
-   { 0x01000010, 0x20003d2c, 0x000005ec, 0x00080008 },
-   { 0x00000005, 0x25e03d8d, 0x00000600, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a5, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0288a001 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0288e701 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0288e601 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x00800401, 0x20400231, 0x00cf0340, 0x00000000 },
-   { 0x00800801, 0x20500231, 0x00cf0341, 0x00000000 },
-   { 0x00800401, 0x20600231, 0x00cf0342, 0x00000000 },
-   { 0x00800801, 0x20700231, 0x00cf0343, 0x00000000 },
-   { 0x01600010, 0x20003d2c, 0x000005ea, 0x00040004 },
-   { 0x01600010, 0x20003d2c, 0x020005ea, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009080, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009081, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289060, 0x00000000 },
-   { 0x00610401, 0x41c00229, 0x00009080, 0x00000000 },
-   { 0x00610801, 0x41c20229, 0x00009090, 0x00000000 },
-   { 0x00610401, 0x41e00229, 0x00009081, 0x00000000 },
-   { 0x00610801, 0x41e20229, 0x00009091, 0x00000000 },
-   { 0x00610401, 0x42000229, 0x00249060, 0x00000000 },
-   { 0x00610801, 0x42020229, 0x00249098, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x00610401, 0x21c00229, 0x02009080, 0x00000000 },
-   { 0x00610801, 0x21d00229, 0x02009090, 0x00000000 },
-   { 0x00610401, 0x21e00229, 0x02009081, 0x00000000 },
-   { 0x00610801, 0x21f00229, 0x02009091, 0x00000000 },
-   { 0x00610401, 0x22000229, 0x02249060, 0x00000000 },
-   { 0x00610801, 0x22100229, 0x02249098, 0x00000000 },
-   { 0x00800008, 0x25a03d29, 0x008d01c0, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200001, 0x25d80129, 0x00459050, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x000001b4 },
-   { 0x00800008, 0x25a03e29, 0x00009084, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009084, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009085, 0x00000000 },
-   { 0x00000001, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000001, 0x25d80129, 0x00009040, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289064, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000019c },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x25d80129, 0x00009042, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289068, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000018e },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000001, 0x25d80129, 0x00009044, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028906c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000180 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c4, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f0003 },
-   { 0x00800401, 0x23400231, 0x00a90040, 0x00000000 },
-   { 0x00800801, 0x23500231, 0x00a90044, 0x00000000 },
-   { 0x00800401, 0x23600231, 0x00a90048, 0x00000000 },
-   { 0x00800801, 0x23700231, 0x00a9004c, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x002b0340, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x002b0350, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x002b0360, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x002b0370, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06082003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x06082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x06082603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02286003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x01000005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000440, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00200000 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00010001 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02286703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02286603 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20400021, 0x408d07e0, 0x00000200 },
-   { 0x00800401, 0x23800231, 0x00a900c0, 0x00000000 },
-   { 0x00800801, 0x23900231, 0x00a90100, 0x00000000 },
-   { 0x00800401, 0x23a00231, 0x00a90140, 0x00000000 },
-   { 0x00800801, 0x23b00231, 0x00a90180, 0x00000000 },
-   { 0x00800401, 0x23c00231, 0x00a900c4, 0x00000000 },
-   { 0x00800801, 0x23d00231, 0x00a90104, 0x00000000 },
-   { 0x00800401, 0x23e00231, 0x00a90144, 0x00000000 },
-   { 0x00800801, 0x23f00231, 0x00a90184, 0x00000000 },
-   { 0x00800401, 0x24000231, 0x00a900c8, 0x00000000 },
-   { 0x00800801, 0x24100231, 0x00a90108, 0x00000000 },
-   { 0x00800401, 0x24200231, 0x00a90148, 0x00000000 },
-   { 0x00800801, 0x24300231, 0x00a90188, 0x00000000 },
-   { 0x00800401, 0x24400231, 0x00a900cc, 0x00000000 },
-   { 0x00800801, 0x24500231, 0x00a9010c, 0x00000000 },
-   { 0x00800401, 0x24600231, 0x00a9014c, 0x00000000 },
-   { 0x00800801, 0x24700231, 0x00a9018c, 0x00000000 },
-   { 0x00800401, 0x20c00231, 0x00cf0380, 0x00000000 },
-   { 0x00800801, 0x20d00231, 0x00cf0381, 0x00000000 },
-   { 0x00800401, 0x20e00231, 0x00cf0382, 0x00000000 },
-   { 0x00800801, 0x20f00231, 0x00cf0383, 0x00000000 },
-   { 0x00800401, 0x21000231, 0x00cf03c0, 0x00000000 },
-   { 0x00800801, 0x21100231, 0x00cf03c1, 0x00000000 },
-   { 0x00800401, 0x21200231, 0x00cf03c2, 0x00000000 },
-   { 0x00800801, 0x21300231, 0x00cf03c3, 0x00000000 },
-   { 0x00800401, 0x21400231, 0x00cf0400, 0x00000000 },
-   { 0x00800801, 0x21500231, 0x00cf0401, 0x00000000 },
-   { 0x00800401, 0x21600231, 0x00cf0402, 0x00000000 },
-   { 0x00800801, 0x21700231, 0x00cf0403, 0x00000000 },
-   { 0x00800401, 0x21800231, 0x00cf0440, 0x00000000 },
-   { 0x00800801, 0x21900231, 0x00cf0441, 0x00000000 },
-   { 0x00800401, 0x21a00231, 0x00cf0442, 0x00000000 },
-   { 0x00800801, 0x21b00231, 0x00cf0443, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000001, 0x260201ac, 0x000005e0, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009082, 0x00020002 },
-   { 0x00200001, 0x25d80129, 0x00459054, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00009082, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009083, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289070, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000050 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x0000000a },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000044 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05400540 },
-   { 0x00800001, 0x25000129, 0x00ad0040, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad0080, 0x00000000 },
-   { 0x00800001, 0x25400129, 0x00ad00c0, 0x00000000 },
-   { 0x00800001, 0x25600129, 0x00ad0100, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000c2 },
-   { 0x00600001, 0x20600129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20800129, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x20a00129, 0x008d0530, 0x00000000 },
-   { 0x00600001, 0x20c00129, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x20e00129, 0x008d0550, 0x00000000 },
-   { 0x00600001, 0x21000129, 0x008d0560, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009092, 0x00020002 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05400540 },
-   { 0x00800001, 0x25000129, 0x00ad0050, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad0090, 0x00000000 },
-   { 0x00800001, 0x25400129, 0x00ad00d0, 0x00000000 },
-   { 0x00800001, 0x25600129, 0x00ad0110, 0x00000000 },
-   { 0x00200001, 0x25d80129, 0x0045905c, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00009092, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009093, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028909c, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000009a },
-   { 0x00600001, 0x20700129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20900129, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x20b00129, 0x008d0530, 0x00000000 },
-   { 0x00600001, 0x20d00129, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x20f00129, 0x008d0550, 0x00000000 },
-   { 0x00600001, 0x21100129, 0x008d0560, 0x00000000 },
-   { 0x00800008, 0x25a03e29, 0x00009084, 0x00020002 },
-   { 0x00800001, 0x21c00229, 0x00009084, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00009085, 0x00000000 },
-   { 0x00000001, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00800040, 0x25a03d29, 0x00b105a0, 0x00020002 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00c000c0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00000001, 0x25d80129, 0x00009046, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289074, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000076 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00100010 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01000100 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x25d80129, 0x00009048, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00289078, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000068 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00200020 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x01400140 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01800180 },
-   { 0x00000001, 0x25d80129, 0x0000904a, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x0028907c, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x0000005a },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c0, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00802001, 0x20c00022, 0x008d0140, 0x00000000 },
-   { 0x00802001, 0x21000022, 0x008d0180, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x12082003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x12082703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x12082603 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01800005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x00200401, 0x27e001a1, 0x004505c8, 0x00000000 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00812001, 0x20400022, 0x028d0040, 0x00000000 },
-   { 0x00912001, 0x20400022, 0x028d0080, 0x00000000 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0618a003 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00100010 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00010001 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0618a703 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0618a603 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffcfffc },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x0000002a, 0x00020002 },
-   { 0x00000006, 0x202a3dad, 0x0000002a, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffd94 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00800040, 0x2400462d, 0x00b19c00, 0x00b1d830 },
-   { 0x00800040, 0x2340462d, 0x00b19820, 0x00b1d830 },
-   { 0x00800040, 0x2360462d, 0x00b19c10, 0x00b1dc00 },
-   { 0x05810010, 0x200025ac, 0x008d2400, 0x008d01c0 },
-   { 0x05810010, 0x200025ac, 0x008d2340, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2360, 0x008d01e0 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x000000c8 },
-   { 0x00800040, 0x2440462d, 0x00b19810, 0x00b1d830 },
-   { 0x00800040, 0x2460462d, 0x00b19c20, 0x00b1dc00 },
-   { 0x00800201, 0x24a00129, 0x00b19820, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000066 },
-   { 0x05800010, 0x200025ac, 0x028d2400, 0x008d05a0 },
-   { 0x00800040, 0x2520462d, 0x00b19830, 0x00b19820 },
-   { 0x00800040, 0x2540462d, 0x00b19c00, 0x00b19c10 },
-   { 0x00000201, 0x26000108, 0x00000602, 0x00000000 },
-   { 0x05810010, 0x200025ac, 0x028d2440, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2460, 0x008d01e0 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x0000001e },
-   { 0x00800040, 0x2560462d, 0x00b19810, 0x00b19800 },
-   { 0x00800040, 0x238045ad, 0x008d0520, 0x00b19c00 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19810 },
-   { 0x00800048, 0x24003dac, 0x008d0560, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x00b19c10, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xb8100231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x00b19820, 0x008d0520 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xb8300231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00800040, 0x2580462d, 0x00b19c20, 0x00b19c30 },
-   { 0x00800040, 0x238045ad, 0x008d0540, 0x008d04b0 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00040004 },
-   { 0x00800040, 0x23a0458d, 0x00b10400, 0x00b19c20 },
-   { 0x00800048, 0x24003dac, 0x008d0580, 0x00020002 },
-   { 0x80800008, 0x43c03d91, 0x00b10400, 0x00030003 },
-   { 0x00800040, 0x24003dac, 0x00b103a0, 0xfffefffe },
-   { 0x80800008, 0x43603d91, 0x00b10400, 0x00020002 },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x00b10380 },
-   { 0x00800040, 0x2400358c, 0x00b10400, 0x00b103a0 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00030003 },
-   { 0x00800001, 0xbc200231, 0x00ae03c0, 0x00000000 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001000e },
-   { 0x00800040, 0x2400362c, 0x008d04a0, 0x008d0540 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b19c10 },
-   { 0x00800040, 0x24003d8c, 0x00b10400, 0x00020002 },
-   { 0x80800008, 0x43403d91, 0x00b10400, 0x00020002 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00808024, 0x34001c00, 0x00001400, 0x0001005a },
-   { 0x00800001, 0x23e0012d, 0x008d0200, 0x00000000 },
-   { 0x05800010, 0x200025ac, 0x008d2440, 0x008d01e0 },
-   { 0x05800010, 0x200025ac, 0x028d2460, 0x008d01e0 },
-   { 0x00800040, 0x24003e2c, 0x00b19820, 0x00040004 },
-   { 0x00800048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00800040, 0x2400458c, 0x00b10400, 0x00b1dc10 },
-   { 0x00800008, 0x23403d8d, 0x00b10400, 0x00030003 },
-   { 0x00810040, 0x23e03dad, 0x008d03e0, 0x00010001 },
-   { 0x00200201, 0x25ec018d, 0x00450600, 0x00000000 },
-   { 0x00810040, 0x23e03dad, 0x028d03e0, 0x00010001 },
-   { 0x03800010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05800010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00800042, 0x24c0462d, 0x00b19830, 0x00b19c00 },
-   { 0x00810001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00810001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x00200201, 0x260001ac, 0x004505ec, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19830, 0x008d0340 },
-   { 0x80800040, 0x43403631, 0x00b19c00, 0x008d4340 },
-   { 0x00800001, 0xb8300231, 0x00ae0360, 0x00000000 },
-   { 0x00800001, 0xbc000231, 0x00ae0340, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00800040, 0x2400362c, 0x00b19810, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19820, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200025ac, 0x008d0360, 0x008d0200 },
-   { 0x05800010, 0x200025ac, 0x028d0360, 0x008d4200 },
-   { 0x00810001, 0x2360012d, 0x008d0200, 0x00000000 },
-   { 0x00810001, 0x2360012d, 0x028d4200, 0x00000000 },
-   { 0x00000201, 0x260201ac, 0x000005ee, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19820, 0x008d0360 },
-   { 0x00800001, 0xb8200231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00818022, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00800040, 0x2400362c, 0x00b19c20, 0x008d04c0 },
-   { 0x00800048, 0x24003e2c, 0x00b19c10, 0xfffefffe },
-   { 0x00800008, 0x23603d8d, 0x00b10400, 0x00010001 },
-   { 0x03800010, 0x200025ac, 0x008d0360, 0x008d0200 },
-   { 0x05800010, 0x200025ac, 0x028d0360, 0x008d4200 },
-   { 0x00810001, 0x2360012d, 0x008d0200, 0x00000000 },
-   { 0x00810001, 0x2360012d, 0x028d4200, 0x00000000 },
-   { 0x80800040, 0x43603631, 0x00b19c10, 0x008d0360 },
-   { 0x00800001, 0xbc100231, 0x00ae0360, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00a02001, 0x20400169, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x206601ed, 0x00000000, 0x00010001 },
-   { 0x00000009, 0x20663dad, 0x00000066, 0x000a000a },
-   { 0x00000001, 0x206801ed, 0x00000000, 0x01400140 },
-   { 0x00000001, 0x22600169, 0x00000000, 0x00030003 },
-   { 0x00000008, 0x22403dad, 0x00000026, 0x00010001 },
-   { 0x00000041, 0x224235ad, 0x00000020, 0x00000022 },
-   { 0x00600001, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x203c0022, 0x00000018, 0x00000000 },
-   { 0x00000001, 0x203f01f2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c00e2, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x202c010a, 0x00000e00, 0x00000000 },
-   { 0x00600001, 0x20400021, 0x008d0020, 0x00000000 },
-   { 0x00400001, 0x205401ed, 0x00000000, 0x00000000 },
-   { 0x00200040, 0x20583dad, 0x00450020, 0xffffffff },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06080000 },
-   { 0x00600001, 0x26000021, 0x008d0000, 0x00000000 },
-   { 0x00000001, 0x26140061, 0x00000000, 0x00c00400 },
-   { 0x00000001, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x07600031, 0x26201c21, 0x308d0600, 0x02000000 },
-   { 0x00200401, 0x208000e5, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x208800e5, 0x00000000, 0xffffffc4 },
-   { 0x00000801, 0x208c00e5, 0x00000000, 0xffffffc8 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d07e0, 0x00000000 },
-   { 0x00000040, 0x20283c22, 0x00000008, 0x00100010 },
-   { 0x00000001, 0x206001ed, 0x00000000, 0x00020002 },
-   { 0x00000001, 0x206201ad, 0x0000005a, 0x00000000 },
-   { 0x00000001, 0x20a001ed, 0x00000000, 0x00000000 },
-   { 0x00200001, 0x228001ed, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x20c00061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21000061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21400061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21800061, 0x00000000, 0x00ff00ff },
-   { 0x00802001, 0x21c00061, 0x00000000, 0x00ff00ff },
-   { 0x00000041, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x05000010, 0x200035ac, 0x02000280, 0x00000240 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000004 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x01000010, 0x20002d28, 0x000090c2, 0x00000000 },
-   { 0x03000010, 0x200035ac, 0x02000054, 0x00000058 },
-   { 0x00800001, 0x240001ac, 0x00000068, 0x00000000 },
-   { 0x00000048, 0x22a03dad, 0x00000056, 0x00040004 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffff2 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00200001, 0xb0c00229, 0x00450054, 0x00000000 },
-   { 0x00200040, 0x22803dad, 0x00450280, 0x00010001 },
-   { 0x00000001, 0x20300022, 0x00000010, 0x00000000 },
-   { 0x00000001, 0x20380122, 0x00000260, 0x00000000 },
-   { 0x00800001, 0x204001ae, 0x00b10040, 0x00000000 },
-   { 0x00000008, 0x20003d2a, 0x000002a0, 0x00010001 },
-   { 0x00000040, 0x22602d29, 0x00000260, 0x00020002 },
-   { 0x00800031, 0x20000008, 0x608d0000, 0x00000200 },
-   { 0x00000006, 0x203025a2, 0x00000066, 0x000002a0 },
-   { 0x01600031, 0x20001c00, 0x708d0000, 0x02000001 },
-   { 0x04200010, 0x200035ac, 0x00450054, 0x00450060 },
-   { 0x00010040, 0x20a03dad, 0x02000056, 0x00010001 },
-   { 0x05200010, 0x200035ac, 0x02450280, 0x00450240 },
-   { 0x00000001, 0x240001ec, 0x00000000, 0x00040004 },
-   { 0x00000048, 0x22083dac, 0x00000056, 0x00040004 },
-   { 0x00200040, 0x205455ad, 0x00450054, 0x00450034 },
-   { 0x02000010, 0x20003d8c, 0x00000600, 0x00010001 },
-   { 0x00000041, 0x220e3d8c, 0x00000602, 0x00040004 },
-   { 0x00010041, 0x22083dac, 0x000000a0, 0x00040004 },
-   { 0x00010401, 0x205601ad, 0x000000a0, 0x00000000 },
-   { 0x00010840, 0x20543d2d, 0x000090c0, 0x00010001 },
-   { 0x00000220, 0x34001400, 0x00001400, 0x00009c80 },
-   { 0x01000010, 0x20003dac, 0x02000280, 0x00000000 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000014 },
-   { 0x00000030, 0x32000084, 0x00001200, 0x00000000 },
-   { 0x00000040, 0x22803dad, 0x00000280, 0xffffffff },
-   { 0x00600401, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000c01, 0x26140061, 0x00000000, 0x01800000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000801, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00000040, 0x2078252d, 0x00000026, 0x00004280 },
-   { 0x00400001, 0x26000231, 0x00000078, 0x00000000 },
-   { 0x00600031, 0x26201c21, 0x308d0600, 0x02000002 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffffe8 },
-   { 0x07600031, 0x20001c20, 0x30000000, 0x02000001 },
-   { 0x01600031, 0x20001c24, 0x708d0000, 0x82000012 },
-   { 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0000, 0x00000000 },
-   { 0x00400441, 0x45c03dad, 0x00000034, 0x00100010 },
-   { 0x00400841, 0x45c23dad, 0x00000036, 0x00200020 },
-   { 0x00200001, 0x260001ec, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x25e20129, 0x00000036, 0x00000000 },
-   { 0x00000041, 0x25e435a1, 0x00000020, 0x00000036 },
-   { 0x00000040, 0x25e43421, 0x000005e4, 0x00000034 },
-   { 0x00000041, 0x25e42c21, 0x000005e4, 0x00800080 },
-   { 0x00000040, 0x25c43dad, 0x000005c4, 0xfffcfffc },
-   { 0x00000040, 0x25ca3dad, 0x000005ca, 0xfffcfffc },
-   { 0x00000005, 0x202a3dad, 0x0000002a, 0xfffdfffd },
-   { 0x00800001, 0x2220022d, 0x000d002c, 0x00000000 },
-   { 0x00600040, 0x22303dad, 0x008d0230, 0x00080008 },
-   { 0x02000005, 0x20002d2c, 0x0200002a, 0x00020002 },
-   { 0x00000001, 0x27e80021, 0x000005e4, 0x00000000 },
-   { 0x00010040, 0x27e83c21, 0x020007e8, 0x00400040 },
-   { 0x01600031, 0x22401c21, 0x408d07e0, 0x02885800 },
-   { 0x00000001, 0x220801ec, 0x00000000, 0x02400240 },
-   { 0x01800005, 0x20002d28, 0x02b19040, 0xffffffff },
-   { 0x02000005, 0x20003e2c, 0x00009030, 0x00010001 },
-   { 0x00000005, 0x25ec2e29, 0x00009002, 0x000a000a },
-   { 0x00000005, 0x25ea2e29, 0x00009002, 0x00060006 },
-   { 0x000b0220, 0x34001c00, 0x02001400, 0x00000252 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000250 },
-   { 0x01000010, 0x20003d2c, 0x000005ec, 0x00080008 },
-   { 0x00000005, 0x25e03d8d, 0x00000600, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0248a002 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0248e702 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0248e602 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x20c00021, 0x408d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x23400025, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x00800001, 0x204001a9, 0x002e0340, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00400040 },
-   { 0x01000010, 0x20003d2c, 0x020005ea, 0x00040004 },
-   { 0x00800008, 0x2340352d, 0x00009050, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009052, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000010, 0x20003d2c, 0x000005ea, 0x00020002 },
-   { 0x00110220, 0x34001c00, 0x02001400, 0x00000012 },
-   { 0x02600005, 0x20003dac, 0x00650340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02650360, 0x00010001 },
-   { 0x00400401, 0x41c00229, 0x000090c0, 0x00000000 },
-   { 0x00400801, 0x41c20229, 0x000090e0, 0x00000000 },
-   { 0x00400401, 0x41e00229, 0x000090c1, 0x00000000 },
-   { 0x00400801, 0x41e20229, 0x000090e1, 0x00000000 },
-   { 0x00400401, 0x42000229, 0x006990a0, 0x00000000 },
-   { 0x00400801, 0x42020229, 0x006990e8, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000001e },
-   { 0x00110220, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00400401, 0x21c00229, 0x000090c0, 0x00000000 },
-   { 0x00400801, 0x21c80229, 0x000090e0, 0x00000000 },
-   { 0x00400401, 0x21e00229, 0x000090c1, 0x00000000 },
-   { 0x00400801, 0x21e80229, 0x000090e1, 0x00000000 },
-   { 0x00400401, 0x22000229, 0x006990a0, 0x00000000 },
-   { 0x00400801, 0x22080229, 0x006990e8, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00600001, 0x21c00229, 0x000090c0, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c1, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a0, 0x00000000 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000001c8 },
-   { 0x01400010, 0x20003d2c, 0x000005ea, 0x00040004 },
-   { 0x01400010, 0x20003d2c, 0x020005ea, 0x00020002 },
-   { 0x00600001, 0x21c00229, 0x000090c8, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c9, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b0, 0x00000000 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00410401, 0x41c00229, 0x000090c8, 0x00000000 },
-   { 0x00410801, 0x41c20229, 0x000090f0, 0x00000000 },
-   { 0x00410401, 0x41e00229, 0x000090c9, 0x00000000 },
-   { 0x00410801, 0x41e20229, 0x000090f1, 0x00000000 },
-   { 0x00410401, 0x42000229, 0x006990b0, 0x00000000 },
-   { 0x00410801, 0x42020229, 0x006990f8, 0x00000000 },
-   { 0x00410401, 0x21c00229, 0x020090c8, 0x00000000 },
-   { 0x00410801, 0x21c80229, 0x020090f0, 0x00000000 },
-   { 0x00410401, 0x21e00229, 0x020090c9, 0x00000000 },
-   { 0x00410801, 0x21e80229, 0x020090f1, 0x00000000 },
-   { 0x00410401, 0x22000229, 0x026990b0, 0x00000000 },
-   { 0x00410801, 0x22080229, 0x026990f8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000019c },
-   { 0x00800008, 0x2340352d, 0x00009042, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00600001, 0x21c00229, 0x000090c4, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c5, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a4, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000184 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090cc, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cd, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b4, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000174 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c4, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c6, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x00070003 },
-   { 0x00600401, 0x2340012d, 0x00890040, 0x00000000 },
-   { 0x00600801, 0x2350012d, 0x00890048, 0x00000000 },
-   { 0x00600001, 0x204001aa, 0x00270340, 0x00000000 },
-   { 0x00600001, 0x205001aa, 0x00270350, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x04082004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x04082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x04082604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da5, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x02186004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x01000005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000006 },
-   { 0x00000440, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0003000f },
-   { 0x00000040, 0x22000c00, 0x00000200, 0x00100000 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00020002 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x02186704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x02186604 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x02600031, 0x20400021, 0x408d07e0, 0x00000200 },
-   { 0x00800001, 0x2380012d, 0x008900c0, 0x00000000 },
-   { 0x00800001, 0x23a0012d, 0x00890100, 0x00000000 },
-   { 0x00800001, 0x23c0012d, 0x008900c8, 0x00000000 },
-   { 0x00800001, 0x23e0012d, 0x00890108, 0x00000000 },
-   { 0x00600401, 0x20c001a9, 0x00ab0380, 0x00000000 },
-   { 0x00600801, 0x20d001a9, 0x00ab0382, 0x00000000 },
-   { 0x00600401, 0x20e001a9, 0x00ab0384, 0x00000000 },
-   { 0x00600801, 0x20f001a9, 0x00ab0386, 0x00000000 },
-   { 0x00600401, 0x210001a9, 0x00ab03c0, 0x00000000 },
-   { 0x00600801, 0x211001a9, 0x00ab03c2, 0x00000000 },
-   { 0x00600401, 0x212001a9, 0x00ab03c4, 0x00000000 },
-   { 0x00600801, 0x213001a9, 0x00ab03c6, 0x00000000 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00800080 },
-   { 0x00000001, 0x260201ac, 0x000005e0, 0x00000000 },
-   { 0x00800008, 0x2340352d, 0x00009054, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x00009056, 0x008d0220 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0x00000026 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00400040 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c000c0 },
-   { 0x00600001, 0x21c00229, 0x000090c2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000f0 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00410041 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x00c100c1 },
-   { 0x00600001, 0x21c00229, 0x000090ca, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cb, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000e0 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05200520 },
-   { 0x00800001, 0x25000129, 0x00ad0040, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad00c0, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090c2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490a8, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000c6 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05010501 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05210521 },
-   { 0x00600001, 0x21c00229, 0x000090ca, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cb, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490b8, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x000000b6 },
-   { 0x00800008, 0x2340352d, 0x0000905c, 0x008d0220 },
-   { 0x00800008, 0x2360352d, 0x0000905e, 0x008d0220 },
-   { 0x00600001, 0x20600129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20c00129, 0x008d0520, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x02600005, 0x20003dac, 0x02ae0360, 0x00010001 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05000500 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05200520 },
-   { 0x00800001, 0x25000129, 0x00ad0050, 0x00000000 },
-   { 0x00800001, 0x25200129, 0x00ad00d0, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x000090e2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090e3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490ec, 0x00000000 },
-   { 0x00200001, 0x25d80109, 0x00450600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000096 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x05010501 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x05210521 },
-   { 0x00600001, 0x21c00229, 0x000090f2, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090f3, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490fc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00600001, 0x20700129, 0x008d0510, 0x00000000 },
-   { 0x00600001, 0x20d00129, 0x008d0520, 0x00000000 },
-   { 0x00800008, 0x2340352d, 0x00009048, 0x008d0220 },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e000e0 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01000100 },
-   { 0x00600001, 0x21c00229, 0x000090c4, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090c5, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490ac, 0x00000000 },
-   { 0x02600005, 0x20003dac, 0x00ae0340, 0x00010001 },
-   { 0x00000001, 0x260201e8, 0x00000000, 0x00000000 },
-   { 0x00000401, 0x25da01e9, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x25d80109, 0x00000600, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x00000401, 0x220c01ec, 0x00000000, 0x00e100e1 },
-   { 0x00000801, 0x220e01ec, 0x00000000, 0x01010101 },
-   { 0x00600001, 0x21c00229, 0x000090cc, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x000090cd, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x002490bc, 0x00000000 },
-   { 0x00200001, 0x26000128, 0x004505d8, 0x00000000 },
-   { 0x00000040, 0x27c01c01, 0x00001400, 0x00000020 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x0000005a },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c0, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005c2, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20400022, 0x008d00c0, 0x00000000 },
-   { 0x00802001, 0x20800022, 0x008d0100, 0x00000000 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0a082004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000a },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0a082704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0a082604 },
-   { 0x0000000c, 0x27e43ca5, 0x000007e4, 0x00010001 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x20000020, 0x508d07e0, 0x00000200 },
-   { 0x01600005, 0x20003dac, 0x020005e0, 0x00010001 },
-   { 0x01000005, 0x20003e2c, 0x00009002, 0x00020002 },
-   { 0x00000401, 0x27e001a1, 0x000005c8, 0x00000000 },
-   { 0x00000c0c, 0x27e43da1, 0x000005ca, 0x00010001 },
-   { 0x00000801, 0x27e80061, 0x00000000, 0x0001000f },
-   { 0x00610001, 0x20400022, 0x028d0040, 0x00000000 },
-   { 0x00710001, 0x20400022, 0x028d0060, 0x00000000 },
-   { 0x02000005, 0x20003dac, 0x0200002a, 0x00020002 },
-   { 0x00018022, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0418a004 },
-   { 0x00010040, 0x27e43ca5, 0x020007e4, 0x00080008 },
-   { 0x00008024, 0x34001c00, 0x00001400, 0x0001000c },
-   { 0x0000000c, 0x27e43da5, 0x000005c2, 0x00020002 },
-   { 0x00010001, 0x22000060, 0x02000000, 0x0418a704 },
-   { 0x00110001, 0x22000060, 0x02000000, 0x0418a604 },
-   { 0x00000040, 0x27e43ca5, 0x000007e4, 0xfffefffe },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x01600031, 0x26400021, 0x508d07e0, 0x00000200 },
-   { 0x01000005, 0x20003dac, 0x0000002a, 0x00020002 },
-   { 0x00000006, 0x202a3dad, 0x0000002a, 0x00020002 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0xfffffd94 },
-   { 0x00600001, 0x26400021, 0x008d0640, 0x00000000 },
-   { 0x00600001, 0x260001e1, 0x00000000, 0x00000000 },
-   { 0x00000009, 0x26143da1, 0x000005e2, 0x00120012 },
-   { 0x00000440, 0x26141c21, 0x00000614, 0x00020000 },
-   { 0x00000c01, 0x26120129, 0x0000000c, 0x00000000 },
-   { 0x00000c01, 0x26100169, 0x00000000, 0x12121212 },
-   { 0x00400801, 0x26000171, 0x00000000, 0xffffffff },
-   { 0x00600031, 0x20001c20, 0x308d0600, 0x82008002 },
-   { 0x00600040, 0x2400462d, 0x00ae9c00, 0x00aed810 },
-   { 0x00600040, 0x2340462d, 0x00ae9800, 0x00aed810 },
-   { 0x00600040, 0x2360462d, 0x00ae9c10, 0x00aedc00 },
-   { 0x05810010, 0x200025ac, 0x008d2400, 0x008d01c0 },
-   { 0x05810010, 0x200025ac, 0x008d2340, 0x008d01e0 },
-   { 0x05810010, 0x200025ac, 0x008d2360, 0x008d01e0 },
-   { 0x00618022, 0x34001c00, 0x00001400, 0x00000036 },
-   { 0x00618022, 0x34001c00, 0x02001400, 0x00000016 },
-   { 0x00600040, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9810 },
-   { 0x80600008, 0x43403d91, 0x008d0400, 0x00020002 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00020002 },
-   { 0x00600048, 0x24003e2c, 0x00ae9c10, 0x00020002 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00ae9c00 },
-   { 0x80600008, 0x43603d91, 0x008d0400, 0x00020002 },
-   { 0x00600001, 0xd8100231, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0360, 0x00000000 },
-   { 0x00608024, 0x34001c00, 0x00001400, 0x0001001e },
-   { 0x00600040, 0x23e03d2d, 0x008d0200, 0x00010001 },
-   { 0x00600040, 0x24003e2c, 0x00ae9800, 0x00040004 },
-   { 0x00600048, 0x24003dac, 0x008d0400, 0x00040004 },
-   { 0x00600040, 0x2400458c, 0x008d0400, 0x00aedc10 },
-   { 0x00600008, 0x23403d8d, 0x008d0400, 0x00030003 },
-   { 0x03600010, 0x200035ac, 0x008d0340, 0x008d03e0 },
-   { 0x05600010, 0x200035ac, 0x028d0340, 0x008d43e0 },
-   { 0x00610001, 0x234001ad, 0x008d03e0, 0x00000000 },
-   { 0x00610001, 0x234001ad, 0x028d43e0, 0x00000000 },
-   { 0x80600040, 0x43603631, 0x00ae9810, 0x008d0340 },
-   { 0x80600040, 0x43403631, 0x00ae9c00, 0x008d4340 },
-   { 0x00600001, 0xd8100231, 0x00ae0360, 0x00000000 },
-   { 0x00600001, 0xdc000231, 0x00ae0340, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00008025, 0x20000000, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x000007c0, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/h264/mc/chromaMVAdjust.asm b/i965_drv_video/shaders/h264/mc/chromaMVAdjust.asm
deleted file mode 100644 (file)
index 063f554..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*\r
- * Adjust chrom MV\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: ChromaMVAdjust.asm\r
-//\r
-//\r
-\r
-\r
-//#if !defined(__ChromaMVAdjust__)             // Make sure this is only included once\r
-//#define __ChromaMVAdjust__\r
-\r
-\r
-       // Chroma MV adjustment\r
-       add (1)         acc0:w                          gPARITY:w                                               gREFPARITY:w\r
-       cmp.e.f0.0 (1) null:w                   acc0:w                                                  0x1:w\r
-       cmp.e.f0.1 (1) null:w                   acc0:w                                                  0x100:w\r
-       mov (1)         gCHRMVADJ:w                     0:w\r
-       (f0.0) mov (1)  gCHRMVADJ:w             2:w     \r
-       (f0.1) mov (1)  gCHRMVADJ:w             -2:w\r
-        \r
-//#endif       // !defined(__ChromaMVAdjust__)\r
diff --git a/i965_drv_video/shaders/h264/mc/export.inc b/i965_drv_video/shaders/h264/mc/export.inc
deleted file mode 100644 (file)
index 5b81219..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-#define INTRA_16x16_IP 0
-#define INTRA_16x16_VERTICAL_IP 14
-#define INTRA_16x16_HORIZONTAL_IP 32
-#define INTRA_16x16_DC_IP 52
-#define INTRA_16x16_PLANE_IP 98
-#define End_intra_Pred_16x16_Y_IP 166
-#define End_add_Error_16x16_Y_IP 204
-#define load_Intra_Ref_Y_IP 220
-#define decode_Chroma_Intra_IP 238
-#define INTRA_CHROMA_DC_IP 260
-#define INTRA_CHROMA_HORIZONTAL_IP 320
-#define INTRA_CHROMA_VERTICAL_IP 332
-#define INTRA_Chroma_PLANE_IP 342
-#define End_of_intra_Pred_Chroma_IP 392
-#define save_16x16_Y_IP 436
-#define INTRA_8x8_IP 464
-#define INTRA_8x8_BLK2_IP 568
-#define intra_Pred_8x8_Y_IP 640
-#define INTRA_8X8_VERTICAL_IP 672
-#define INTRA_8X8_HORIZONTAL_IP 682
-#define INTRA_8X8_DC_IP 692
-#define INTRA_8X8_DIAG_DOWN_LEFT_IP 724
-#define INTRA_8X8_DIAG_DOWN_RIGHT_IP 744
-#define INTRA_8X8_VERT_RIGHT_IP 772
-#define INTRA_8X8_HOR_DOWN_IP 808
-#define INTRA_8X8_VERT_LEFT_IP 842
-#define INTRA_8X8_HOR_UP_IP 862
-#define save_8x8_Y_IP 886
-#define INTRA_4x4_IP 928
-#define intra_Pred_4x4_Y_4_IP 1062
-#define ADD_ERROR_SB0_IP 1074
-#define ADD_ERROR_SB1_IP 1088
-#define ADD_ERROR_SB2_IP 1108
-#define ADD_ERROR_SB3_IP 1124
-#define intra_Pred_4x4_Y_IP 1130
-#define INTRA_4X4_VERTICAL_IP 1130
-#define INTRA_4X4_HORIZONTAL_IP 1134
-#define INTRA_4X4_DC_IP 1138
-#define INTRA_4X4_DIAG_DOWN_LEFT_IP 1160
-#define INTRA_4X4_DIAG_DOWN_RIGHT_IP 1174
-#define INTRA_4X4_VERT_RIGHT_IP 1192
-#define INTRA_4X4_HOR_DOWN_IP 1218
-#define INTRA_4X4_VERT_LEFT_IP 1246
-#define INTRA_4X4_HOR_UP_IP 1260
-#define save_4x4_Y_IP 1276
-#define INTRA_PCM_IP 1320
-#define FRAME_MB_IP 1384
-#define INIT_MBPARA_FRM_IP 1390
-#define NOT_8x8_MODE_FRM_IP 1426
-#define CONVERT_MVS_FRM_IP 1436
-#define INIT_ADDRESS_REGS_FRM_IP 1446
-#define LOOP_SUBMB_FRM_IP 1454
-#define LOOP_DIR_FRM_IP 1460
-#define LOADREF_MVXZERO_FRM_IP 1510
-#define EXIT_LOADREF_Y_16x13_FRM_IP 1524
-#define Interpolate_Y_8x8_Func_FRM_IP 1544
-#define Interpolate_Y_8x8_Func2_FRM_IP 1574
-#define Interpolate_Y_H_8x8_FRM_IP 1708
-#define Interpolate_Y_V_8x8_FRM_IP 1790
-#define VFILTER_8x8_FRM_IP 1812
-#define Interpolate_Y_I_8x8_FRM_IP 1860
-#define Average_8x8_FRM_IP 1880
-#define Return_Interpolate_Y_8x8_FRM_IP 1888
-#define Exit_Interpolate_Y_8x8_FRM_IP 1890
-#define Interpolate_C_4x4_Func_FRM_IP 1890
-#define PROCESS4x4_FRM_IP 1928
-#define LOOP_SUBMBPT_FRM_IP 1930
-#define Interpolate_Y_H_4x4_FRM_IP 2066
-#define Interpolate_Y_V_4x4_FRM_IP 2108
-#define VFILTER_4x4_FRM_IP 2142
-#define Interpolate_Y_I_4x4_FRM_IP 2148
-#define Average_4x4_FRM_IP 2160
-#define Return_Interpolate_Y_4x4_FRM_IP 2162
-#define Exit_Interpolate_Y_4x4_FRM_IP 2174
-#define ROUND_SHIFT_C_FRM_IP 2222
-#define LOOP_DIR_CONTINUE_FRM_IP 2230
-#define Weighted_Prediction_FRM_IP 2236
-#define DefaultWeightedPred_UniPred_FRM_IP 2244
-#define DefaultWeightedPred_BiPred_FRM_IP 2256
-#define WeightedPred_FRM_IP 2264
-#define WeightedPred_Explicit_FRM_IP 2282
-#define WeightedPred_LOOP_FRM_IP 2322
-#define Return_WeightedPred_FRM_IP 2382
-#define EXIT_LOOP_FRM_IP 2424
-#define FIELD_MB_IP 2496
-#define INIT_MBPARA_FLD_IP 2502
-#define NOT_8x8_MODE_FLD_IP 2538
-#define CONVERT_MVS_FLD_IP 2548
-#define INIT_ADDRESS_REGS_FLD_IP 2558
-#define LOOP_SUBMB_FLD_IP 2568
-#define LOOP_DIR_FLD_IP 2574
-#define LOADREF_MVXZERO_FLD_IP 2644
-#define EXIT_LOADREF_Y_16x13_FLD_IP 2658
-#define Interpolate_Y_8x8_Func_FLD_IP 2680
-#define Interpolate_Y_8x8_Func2_FLD_IP 2710
-#define Interpolate_Y_H_8x8_FLD_IP 2844
-#define Interpolate_Y_V_8x8_FLD_IP 2926
-#define VFILTER_8x8_FLD_IP 2948
-#define Interpolate_Y_I_8x8_FLD_IP 2996
-#define Average_8x8_FLD_IP 3016
-#define Return_Interpolate_Y_8x8_FLD_IP 3024
-#define Exit_Interpolate_Y_8x8_FLD_IP 3026
-#define Interpolate_C_4x4_Func_FLD_IP 3026
-#define PROCESS4x4_FLD_IP 3064
-#define LOOP_SUBMBPT_FLD_IP 3066
-#define Interpolate_Y_H_4x4_FLD_IP 3204
-#define Interpolate_Y_V_4x4_FLD_IP 3246
-#define VFILTER_4x4_FLD_IP 3280
-#define Interpolate_Y_I_4x4_FLD_IP 3286
-#define Average_4x4_FLD_IP 3298
-#define Return_Interpolate_Y_4x4_FLD_IP 3300
-#define Exit_Interpolate_Y_4x4_FLD_IP 3312
-#define ROUND_SHIFT_C_FLD_IP 3360
-#define LOOP_DIR_CONTINUE_FLD_IP 3368
-#define Weighted_Prediction_FLD_IP 3374
-#define DefaultWeightedPred_UniPred_FLD_IP 3382
-#define DefaultWeightedPred_BiPred_FLD_IP 3394
-#define WeightedPred_FLD_IP 3402
-#define WeightedPred_Explicit_FLD_IP 3420
-#define WeightedPred_LOOP_FLD_IP 3460
-#define Return_WeightedPred_FLD_IP 3520
-#define EXIT_LOOP_FLD_IP 3562
-#define MBAFF_MB_IP 3640
-#define INIT_MBPARA_MBF_IP 3646
-#define NOT_8x8_MODE_MBF_IP 3682
-#define CONVERT_MVS_MBF_IP 3692
-#define INIT_ADDRESS_REGS_MBF_IP 3702
-#define LOOP_SUBMB_MBF_IP 3716
-#define LOOP_DIR_MBF_IP 3722
-#define LOADREF_MVXZERO_MBF_IP 3796
-#define EXIT_LOADREF_Y_16x13_MBF_IP 3810
-#define Interpolate_Y_8x8_Func_MBF_IP 3832
-#define Interpolate_Y_8x8_Func2_MBF_IP 3862
-#define Interpolate_Y_H_8x8_MBF_IP 3996
-#define Interpolate_Y_V_8x8_MBF_IP 4078
-#define VFILTER_8x8_MBF_IP 4100
-#define Interpolate_Y_I_8x8_MBF_IP 4148
-#define Average_8x8_MBF_IP 4168
-#define Return_Interpolate_Y_8x8_MBF_IP 4176
-#define Exit_Interpolate_Y_8x8_MBF_IP 4178
-#define Interpolate_C_4x4_Func_MBF_IP 4178
-#define PROCESS4x4_MBF_IP 4216
-#define LOOP_SUBMBPT_MBF_IP 4218
-#define Interpolate_Y_H_4x4_MBF_IP 4356
-#define Interpolate_Y_V_4x4_MBF_IP 4398
-#define VFILTER_4x4_MBF_IP 4432
-#define Interpolate_Y_I_4x4_MBF_IP 4438
-#define Average_4x4_MBF_IP 4450
-#define Return_Interpolate_Y_4x4_MBF_IP 4452
-#define Exit_Interpolate_Y_4x4_MBF_IP 4464
-#define ROUND_SHIFT_C_MBF_IP 4512
-#define LOOP_DIR_CONTINUE_MBF_IP 4520
-#define Weighted_Prediction_MBF_IP 4526
-#define DefaultWeightedPred_UniPred_MBF_IP 4534
-#define DefaultWeightedPred_BiPred_MBF_IP 4546
-#define WeightedPred_MBF_IP 4554
-#define WeightedPred_Explicit_MBF_IP 4572
-#define WeightedPred_LOOP_MBF_IP 4612
-#define Return_WeightedPred_MBF_IP 4672
-#define EXIT_LOOP_MBF_IP 4714
-#define SETHWSCOREBOARD_IP 4792
-#define SetHWScoreboard_Loop_IP 4806
-#define Parse_8_Loop_0_IP 4852
-#define Parse_8_Loop_2_IP 4876
-#define Parse_8_Loop_4_IP 4900
-#define Parse_8_Loop_6_IP 4924
-#define Parse_8_Loop_8_IP 4948
-#define Parse_8_Loop_10_IP 4972
-#define Parse_8_Loop_12_IP 4996
-#define Parse_8_Loop_14_IP 5020
-#define SetHWScoreboard_Remainder_IP 5062
-#define SetHWScoreboard_Remainder_Loop_IP 5090
-#define Output_Remainder_Intra_IP 5116
-#define SetHWScoreboard_Done_IP 5128
-#define SETHWSCOREBOARD_MBAFF_IP 5136
-#define SetHWScoreboard_MBAFF_Loop_IP 5148
-#define SET_SB_MBAFF_INTRA_0_IP 5208
-#define SET_SB_MBAFF_0_IP 5230
-#define NEXT_MB_MBAFF_0_IP 5238
-#define SET_SB_MBAFF_INTRA_2_IP 5276
-#define SET_SB_MBAFF_2_IP 5298
-#define NEXT_MB_MBAFF_2_IP 5306
-#define SET_SB_MBAFF_INTRA_4_IP 5344
-#define SET_SB_MBAFF_4_IP 5366
-#define NEXT_MB_MBAFF_4_IP 5374
-#define SET_SB_MBAFF_INTRA_6_IP 5412
-#define SET_SB_MBAFF_6_IP 5434
-#define NEXT_MB_MBAFF_6_IP 5442
-#define SET_SB_MBAFF_INTRA_8_IP 5480
-#define SET_SB_MBAFF_8_IP 5502
-#define NEXT_MB_MBAFF_8_IP 5510
-#define SET_SB_MBAFF_INTRA_10_IP 5548
-#define SET_SB_MBAFF_10_IP 5570
-#define NEXT_MB_MBAFF_10_IP 5578
-#define SET_SB_MBAFF_INTRA_12_IP 5616
-#define SET_SB_MBAFF_12_IP 5638
-#define NEXT_MB_MBAFF_12_IP 5646
-#define SET_SB_MBAFF_INTRA_14_IP 5684
-#define SET_SB_MBAFF_14_IP 5706
-#define NEXT_MB_MBAFF_14_IP 5714
-#define SetHWScoreboard_MBAFF_Remainder_IP 5756
-#define SetHWScoreboard_MBAFF_Remainder_Loop_IP 5784
-#define SET_SB_MBAFF_REM_INTRA_IP 5822
-#define SET_SB_MBAFF_REM_IP 5846
-#define Output_MBAFF_Remainder_Intra_IP 5856
-#define SetHWScoreboard_MBAFF_Done_IP 5868
-#define BSDRESET_IP 5870
-#define DCRESETDUMMY_IP 5872
-#define AVC_ILDB_ROOT_Y_ILDB_FRAME_IP 5880
-#define SLEEP_ENTRY_Y_ILDB_FRAME_IP 5976
-#define POST_SLEEP_Y_ILDB_FRAME_IP 5980
-#define NEXT_MB_Y_ILDB_FRAME_IP 6010
-#define ALL_SPAWNED_Y_ILDB_FRAME_IP 6034
-#define ALL_DONE_Y_ILDB_FRAME_IP 6044
-#define WAIT_FOR_UV_ILDB_FRAME_IP 6044
-#define AVC_ILDB_CHILD_Y_ILDB_FRAME_IP 6056
-#define WRITE_URB_Y_ILDB_FRAME_IP 6436
-#define POST_ILDB_Y_ILDB_FRAME_IP 6444
-#define READ_FOR_URB_Y_ILDB_FRAME_IP 6458
-#define FILTER_Y_IP 6494
-#define Y_ELSE3_IP 6560
-#define Y_ENDIF3_IP 6574
-#define Y_ELSE4_IP 6604
-#define Y_ENDIF4_IP 6618
-#define Y_ELSE2_IP 6618
-#define Y_ENDIF6_IP 6684
-#define Y_ENDIF7_IP 6706
-#define Y_ENDIF2_IP 6710
-#define Y_ENDIF1_IP 6710
-#define AVC_ILDB_ROOT_UV_ILDB_FRAME_IP 6720
-#define SLEEP_ENTRY_UV_ILDB_FRAME_IP 6798
-#define POST_SLEEP_UV_ILDB_FRAME_IP 6802
-#define NEXT_MB_UV_ILDB_FRAME_IP 6834
-#define ALL_SPAWNED_UV_ILDB_FRAME_IP 6858
-#define ALL_DONE_UV_ILDB_FRAME_IP 6882
-#define AVC_ILDB_CHILD_UV_ILDB_FRAME_IP 6888
-#define BYPASS_EXT_LEFT_EDGE_UV_ILDB_FRAME_IP 7008
-#define BYPASS_EXT_TOP_EDGE_UV_ILDB_FRAME_IP 7126
-#define WRITE_URB_UV_ILDB_FRAME_IP 7194
-#define POST_ILDB_UV_ILDB_FRAME_IP 7202
-#define READ_FOR_URB_UV_ILDB_FRAME_IP 7216
-#define FILTER_UV_IP 7246
-#define UV_ELSE2_IP 7282
-#define UV_ENDIF2_IP 7314
-#define UV_ENDIF1_IP 7314
-#define AVC_ILDB_ROOT_Y_ILDB_FIELD_IP 7320
-#define SLEEP_ENTRY_Y_ILDB_FIELD_IP 7416
-#define POST_SLEEP_Y_ILDB_FIELD_IP 7420
-#define NEXT_MB_Y_ILDB_FIELD_IP 7450
-#define ALL_SPAWNED_Y_ILDB_FIELD_IP 7474
-#define ALL_DONE_Y_ILDB_FIELD_IP 7484
-#define WAIT_FOR_UV_ILDB_FIELD_IP 7484
-#define AVC_ILDB_CHILD_Y_ILDB_FIELD_IP 7496
-#define WRITE_URB_Y_ILDB_FIELD_IP 7896
-#define POST_ILDB_Y_ILDB_FIELD_IP 7904
-#define READ_FOR_URB_Y_ILDB_FIELD_IP 7918
-#define ELSE_Y_4x16T_ILDB_FIELD_IP 7934
-#define ENDIF_Y_4x16T_ILDB_FIELD_IP 7942
-#define AVC_ILDB_ROOT_UV_ILDB_FIELD_IP 7976
-#define SLEEP_ENTRY_UV_ILDB_FIELD_IP 8054
-#define POST_SLEEP_UV_ILDB_FIELD_IP 8058
-#define NEXT_MB_UV_ILDB_FIELD_IP 8090
-#define ALL_SPAWNED_UV_ILDB_FIELD_IP 8114
-#define ALL_DONE_UV_ILDB_FIELD_IP 8138
-#define AVC_ILDB_CHILD_UV_ILDB_FIELD_IP 8144
-#define BYPASS_EXT_LEFT_EDGE_UV_ILDB_FIELD_IP 8272
-#define BYPASS_EXT_TOP_EDGE_UV_ILDB_FIELD_IP 8394
-#define WRITE_URB_UV_ILDB_FIELD_IP 8470
-#define POST_ILDB_UV_ILDB_FIELD_IP 8478
-#define READ_FOR_URB_UV_ILDB_FIELD_IP 8492
-#define ELSE_Y_2x8T_ILDB_FIELD_IP 8508
-#define ENDIF_Y_2x8T_ILDB_FIELD_IP 8516
-#define AVC_ILDB_ROOT_Y_ILDB_MBAFF_IP 8544
-#define SLEEP_ENTRY_Y_ILDB_MBAFF_IP 8642
-#define POST_SLEEP_Y_ILDB_MBAFF_IP 8646
-#define NEXT_MB_Y_ILDB_MBAFF_IP 8676
-#define ALL_SPAWNED_Y_ILDB_MBAFF_IP 8700
-#define ALL_DONE_Y_ILDB_MBAFF_IP 8710
-#define WAIT_FOR_UV_ILDB_MBAFF_IP 8710
-#define AVC_ILDB_CHILD_Y_ILDB_MBAFF_IP 8720
-#define RE_ENTRY_IP 8742
-#define ELSE_Y_16x16T_ILDB_MBAFF_IP 8782
-#define ENDIF_Y_16x16T_ILDB_MBAFF_IP 8792
-#define ELSE_Y_4x16T_IP 8808
-#define ENDIF_Y_4x16T_IP 8818
-#define BYPASS_V1_Y_IP 8966
-#define BYPASS_V2_Y_IP 8980
-#define BYPASS_V3_Y_IP 8994
-#define ELSE_Y_16x4T_IP 9024
-#define ENDIF_Y_16x4T_IP 9034
-#define NOT_DUAL_FIELD_IP 9060
-#define ELSE_Y_16x4_IP 9060
-#define ENDIF_Y_16x4_IP 9072
-#define DUAL_FIELD_Y_IP 9168
-#define H0_Y_DONE_IP 9236
-#define ELSE_Y_16x16_IP 9310
-#define ENDIF_Y_16x16_IP 9320
-#define ELSE_Y_16x4_SAVE_IP 9342
-#define ENDIF_Y_16x4_SAVE_IP 9354
-#define SKIP_ILDB_IP 9356
-#define POST_ILDB_IP 9364
-#define FILTER_Y_MBAFF_IP 9378
-#define MBAFF_Y_ELSE3_IP 9444
-#define MBAFF_Y_ENDIF3_IP 9458
-#define MBAFF_Y_ELSE4_IP 9488
-#define MBAFF_Y_ENDIF4_IP 9502
-#define MBAFF_Y_ELSE2_IP 9502
-#define MBAFF_Y_ENDIF6_IP 9566
-#define MBAFF_Y_ENDIF7_IP 9588
-#define MBAFF_Y_ENDIF2_IP 9592
-#define MBAFF_Y_ENDIF1_IP 9592
-#define AVC_ILDB_ROOT_UV_ILDB_MBAFF_IP 9600
-#define SLEEP_ENTRY_UV_ILDB_MBAFF_IP 9678
-#define POST_SLEEP_UV_ILDB_MBAFF_IP 9682
-#define NEXT_MB_UV_ILDB_MBAFF_IP 9714
-#define ALL_SPAWNED_UV_ILDB_MBAFF_IP 9738
-#define ALL_DONE_UV_ILDB_MBAFF_IP 9762
-#define AVC_ILDB_CHILD_UV_ILDB_MBAFF_IP 9768
-#define RE_ENTRY_UV_ILDB_MBAFF_IP 9794
-#define ELSE_UV_8X8T_ILDB_MBAFF_IP 9836
-#define ENDIF_UV_8X8T_ILDB_MBAFF_IP 9846
-#define ELSE_Y_2x8T_ILDB_MBAFF_IP 9864
-#define ENDIF_Y_2x8T_ILDB_MBAFF_IP 9874
-#define V0_U_NEXT1_IP 9934
-#define V0_U_NEXT2_IP 9954
-#define V0_U_NEXT3_IP 9964
-#define BYPASS_V0_UV_IP 10018
-#define ELSE_UV_8X2T_IP 10082
-#define ENDIF_UV_8X2T_IP 10092
-#define NOT_DUAL_FIELD_UV_IP 10120
-#define ELSE_UV_8X2_IP 10120
-#define ENDIF_UV_8X2_IP 10132
-#define DUAL_FIELD_UV_IP 10208
-#define H0_UV_DONE_IP 10300
-#define ELSE_UV_8X8_IP 10360
-#define ENDIF_UV_8X8_IP 10370
-#define ELSE_UV_8X2_SAVE_IP 10394
-#define ENDIF_UV_8X2_SAVE_IP 10406
-#define SKIP_ILDB_UV_ILDB_MBAFF_IP 10408
-#define POST_ILDB_UV_ILDB_MBAFF_IP 10416
-#define FILTER_UV_MBAFF_IP 10430
-#define MBAFF_UV_ELSE2_IP 10466
-#define MBAFF_UV_ENDIF2_IP 10496
-#define MBAFF_UV_ENDIF1_IP 10496
-#define AllAVC_END_IP 10500
diff --git a/i965_drv_video/shaders/h264/mc/export.inc.gen5 b/i965_drv_video/shaders/h264/mc/export.inc.gen5
deleted file mode 100644 (file)
index 0179192..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-#define INTRA_16x16_IP_GEN5 0
-#define INTRA_16x16_VERTICAL_IP_GEN5 14
-#define INTRA_16x16_HORIZONTAL_IP_GEN5 32
-#define INTRA_16x16_DC_IP_GEN5 52
-#define INTRA_16x16_PLANE_IP_GEN5 98
-#define End_intra_Pred_16x16_Y_IP_GEN5 166
-#define End_add_Error_16x16_Y_IP_GEN5 204
-#define load_Intra_Ref_Y_IP_GEN5 220
-#define decode_Chroma_Intra_IP_GEN5 238
-#define INTRA_CHROMA_DC_IP_GEN5 260
-#define INTRA_CHROMA_HORIZONTAL_IP_GEN5 320
-#define INTRA_CHROMA_VERTICAL_IP_GEN5 332
-#define INTRA_Chroma_PLANE_IP_GEN5 342
-#define End_of_intra_Pred_Chroma_IP_GEN5 392
-#define save_16x16_Y_IP_GEN5 436
-#define INTRA_8x8_IP_GEN5 464
-#define INTRA_8x8_BLK2_IP_GEN5 568
-#define intra_Pred_8x8_Y_IP_GEN5 640
-#define INTRA_8X8_VERTICAL_IP_GEN5 672
-#define INTRA_8X8_HORIZONTAL_IP_GEN5 682
-#define INTRA_8X8_DC_IP_GEN5 692
-#define INTRA_8X8_DIAG_DOWN_LEFT_IP_GEN5 724
-#define INTRA_8X8_DIAG_DOWN_RIGHT_IP_GEN5 744
-#define INTRA_8X8_VERT_RIGHT_IP_GEN5 772
-#define INTRA_8X8_HOR_DOWN_IP_GEN5 808
-#define INTRA_8X8_VERT_LEFT_IP_GEN5 842
-#define INTRA_8X8_HOR_UP_IP_GEN5 862
-#define save_8x8_Y_IP_GEN5 886
-#define INTRA_4x4_IP_GEN5 928
-#define intra_Pred_4x4_Y_4_IP_GEN5 1062
-#define ADD_ERROR_SB0_IP_GEN5 1074
-#define ADD_ERROR_SB1_IP_GEN5 1088
-#define ADD_ERROR_SB2_IP_GEN5 1108
-#define ADD_ERROR_SB3_IP_GEN5 1124
-#define intra_Pred_4x4_Y_IP_GEN5 1130
-#define INTRA_4X4_VERTICAL_IP_GEN5 1130
-#define INTRA_4X4_HORIZONTAL_IP_GEN5 1134
-#define INTRA_4X4_DC_IP_GEN5 1138
-#define INTRA_4X4_DIAG_DOWN_LEFT_IP_GEN5 1160
-#define INTRA_4X4_DIAG_DOWN_RIGHT_IP_GEN5 1174
-#define INTRA_4X4_VERT_RIGHT_IP_GEN5 1192
-#define INTRA_4X4_HOR_DOWN_IP_GEN5 1218
-#define INTRA_4X4_VERT_LEFT_IP_GEN5 1246
-#define INTRA_4X4_HOR_UP_IP_GEN5 1260
-#define save_4x4_Y_IP_GEN5 1276
-#define INTRA_PCM_IP_GEN5 1320
-#define FRAME_MB_IP_GEN5 1384
-#define INIT_MBPARA_FRM_IP_GEN5 1390
-#define NOT_8x8_MODE_FRM_IP_GEN5 1426
-#define CONVERT_MVS_FRM_IP_GEN5 1436
-#define INIT_ADDRESS_REGS_FRM_IP_GEN5 1446
-#define LOOP_SUBMB_FRM_IP_GEN5 1454
-#define LOOP_DIR_FRM_IP_GEN5 1460
-#define LOADREF_MVXZERO_FRM_IP_GEN5 1510
-#define EXIT_LOADREF_Y_16x13_FRM_IP_GEN5 1524
-#define Interpolate_Y_8x8_Func_FRM_IP_GEN5 1544
-#define Interpolate_Y_8x8_Func2_FRM_IP_GEN5 1574
-#define Interpolate_Y_H_8x8_FRM_IP_GEN5 1708
-#define Interpolate_Y_V_8x8_FRM_IP_GEN5 1790
-#define VFILTER_8x8_FRM_IP_GEN5 1812
-#define Interpolate_Y_I_8x8_FRM_IP_GEN5 1860
-#define Average_8x8_FRM_IP_GEN5 1880
-#define Return_Interpolate_Y_8x8_FRM_IP_GEN5 1888
-#define Exit_Interpolate_Y_8x8_FRM_IP_GEN5 1890
-#define Interpolate_C_4x4_Func_FRM_IP_GEN5 1890
-#define PROCESS4x4_FRM_IP_GEN5 1928
-#define LOOP_SUBMBPT_FRM_IP_GEN5 1930
-#define Interpolate_Y_H_4x4_FRM_IP_GEN5 2066
-#define Interpolate_Y_V_4x4_FRM_IP_GEN5 2108
-#define VFILTER_4x4_FRM_IP_GEN5 2142
-#define Interpolate_Y_I_4x4_FRM_IP_GEN5 2148
-#define Average_4x4_FRM_IP_GEN5 2160
-#define Return_Interpolate_Y_4x4_FRM_IP_GEN5 2162
-#define Exit_Interpolate_Y_4x4_FRM_IP_GEN5 2174
-#define ROUND_SHIFT_C_FRM_IP_GEN5 2222
-#define LOOP_DIR_CONTINUE_FRM_IP_GEN5 2230
-#define Weighted_Prediction_FRM_IP_GEN5 2236
-#define DefaultWeightedPred_UniPred_FRM_IP_GEN5 2244
-#define DefaultWeightedPred_BiPred_FRM_IP_GEN5 2256
-#define WeightedPred_FRM_IP_GEN5 2264
-#define WeightedPred_Explicit_FRM_IP_GEN5 2282
-#define WeightedPred_LOOP_FRM_IP_GEN5 2322
-#define Return_WeightedPred_FRM_IP_GEN5 2382
-#define EXIT_LOOP_FRM_IP_GEN5 2424
-#define FIELD_MB_IP_GEN5 2496
-#define INIT_MBPARA_FLD_IP_GEN5 2502
-#define NOT_8x8_MODE_FLD_IP_GEN5 2538
-#define CONVERT_MVS_FLD_IP_GEN5 2548
-#define INIT_ADDRESS_REGS_FLD_IP_GEN5 2558
-#define LOOP_SUBMB_FLD_IP_GEN5 2568
-#define LOOP_DIR_FLD_IP_GEN5 2574
-#define LOADREF_MVXZERO_FLD_IP_GEN5 2644
-#define EXIT_LOADREF_Y_16x13_FLD_IP_GEN5 2658
-#define Interpolate_Y_8x8_Func_FLD_IP_GEN5 2680
-#define Interpolate_Y_8x8_Func2_FLD_IP_GEN5 2710
-#define Interpolate_Y_H_8x8_FLD_IP_GEN5 2844
-#define Interpolate_Y_V_8x8_FLD_IP_GEN5 2926
-#define VFILTER_8x8_FLD_IP_GEN5 2948
-#define Interpolate_Y_I_8x8_FLD_IP_GEN5 2996
-#define Average_8x8_FLD_IP_GEN5 3016
-#define Return_Interpolate_Y_8x8_FLD_IP_GEN5 3024
-#define Exit_Interpolate_Y_8x8_FLD_IP_GEN5 3026
-#define Interpolate_C_4x4_Func_FLD_IP_GEN5 3026
-#define PROCESS4x4_FLD_IP_GEN5 3064
-#define LOOP_SUBMBPT_FLD_IP_GEN5 3066
-#define Interpolate_Y_H_4x4_FLD_IP_GEN5 3204
-#define Interpolate_Y_V_4x4_FLD_IP_GEN5 3246
-#define VFILTER_4x4_FLD_IP_GEN5 3280
-#define Interpolate_Y_I_4x4_FLD_IP_GEN5 3286
-#define Average_4x4_FLD_IP_GEN5 3298
-#define Return_Interpolate_Y_4x4_FLD_IP_GEN5 3300
-#define Exit_Interpolate_Y_4x4_FLD_IP_GEN5 3312
-#define ROUND_SHIFT_C_FLD_IP_GEN5 3360
-#define LOOP_DIR_CONTINUE_FLD_IP_GEN5 3368
-#define Weighted_Prediction_FLD_IP_GEN5 3374
-#define DefaultWeightedPred_UniPred_FLD_IP_GEN5 3382
-#define DefaultWeightedPred_BiPred_FLD_IP_GEN5 3394
-#define WeightedPred_FLD_IP_GEN5 3402
-#define WeightedPred_Explicit_FLD_IP_GEN5 3420
-#define WeightedPred_LOOP_FLD_IP_GEN5 3460
-#define Return_WeightedPred_FLD_IP_GEN5 3520
-#define EXIT_LOOP_FLD_IP_GEN5 3562
-#define MBAFF_MB_IP_GEN5 3640
-#define INIT_MBPARA_MBF_IP_GEN5 3646
-#define NOT_8x8_MODE_MBF_IP_GEN5 3682
-#define CONVERT_MVS_MBF_IP_GEN5 3692
-#define INIT_ADDRESS_REGS_MBF_IP_GEN5 3702
-#define LOOP_SUBMB_MBF_IP_GEN5 3716
-#define LOOP_DIR_MBF_IP_GEN5 3722
-#define LOADREF_MVXZERO_MBF_IP_GEN5 3796
-#define EXIT_LOADREF_Y_16x13_MBF_IP_GEN5 3810
-#define Interpolate_Y_8x8_Func_MBF_IP_GEN5 3832
-#define Interpolate_Y_8x8_Func2_MBF_IP_GEN5 3862
-#define Interpolate_Y_H_8x8_MBF_IP_GEN5 3996
-#define Interpolate_Y_V_8x8_MBF_IP_GEN5 4078
-#define VFILTER_8x8_MBF_IP_GEN5 4100
-#define Interpolate_Y_I_8x8_MBF_IP_GEN5 4148
-#define Average_8x8_MBF_IP_GEN5 4168
-#define Return_Interpolate_Y_8x8_MBF_IP_GEN5 4176
-#define Exit_Interpolate_Y_8x8_MBF_IP_GEN5 4178
-#define Interpolate_C_4x4_Func_MBF_IP_GEN5 4178
-#define PROCESS4x4_MBF_IP_GEN5 4216
-#define LOOP_SUBMBPT_MBF_IP_GEN5 4218
-#define Interpolate_Y_H_4x4_MBF_IP_GEN5 4356
-#define Interpolate_Y_V_4x4_MBF_IP_GEN5 4398
-#define VFILTER_4x4_MBF_IP_GEN5 4432
-#define Interpolate_Y_I_4x4_MBF_IP_GEN5 4438
-#define Average_4x4_MBF_IP_GEN5 4450
-#define Return_Interpolate_Y_4x4_MBF_IP_GEN5 4452
-#define Exit_Interpolate_Y_4x4_MBF_IP_GEN5 4464
-#define ROUND_SHIFT_C_MBF_IP_GEN5 4512
-#define LOOP_DIR_CONTINUE_MBF_IP_GEN5 4520
-#define Weighted_Prediction_MBF_IP_GEN5 4526
-#define DefaultWeightedPred_UniPred_MBF_IP_GEN5 4534
-#define DefaultWeightedPred_BiPred_MBF_IP_GEN5 4546
-#define WeightedPred_MBF_IP_GEN5 4554
-#define WeightedPred_Explicit_MBF_IP_GEN5 4572
-#define WeightedPred_LOOP_MBF_IP_GEN5 4612
-#define Return_WeightedPred_MBF_IP_GEN5 4672
-#define EXIT_LOOP_MBF_IP_GEN5 4714
-#define SETHWSCOREBOARD_IP_GEN5 4792
-#define SetHWScoreboard_Loop_IP_GEN5 4806
-#define Parse_8_Loop_0_IP_GEN5 4852
-#define Parse_8_Loop_2_IP_GEN5 4876
-#define Parse_8_Loop_4_IP_GEN5 4900
-#define Parse_8_Loop_6_IP_GEN5 4924
-#define Parse_8_Loop_8_IP_GEN5 4948
-#define Parse_8_Loop_10_IP_GEN5 4972
-#define Parse_8_Loop_12_IP_GEN5 4996
-#define Parse_8_Loop_14_IP_GEN5 5020
-#define SetHWScoreboard_Remainder_IP_GEN5 5062
-#define SetHWScoreboard_Remainder_Loop_IP_GEN5 5090
-#define Output_Remainder_Intra_IP_GEN5 5116
-#define SetHWScoreboard_Done_IP_GEN5 5128
-#define SETHWSCOREBOARD_MBAFF_IP_GEN5 5136
-#define SetHWScoreboard_MBAFF_Loop_IP_GEN5 5148
-#define SET_SB_MBAFF_INTRA_0_IP_GEN5 5208
-#define SET_SB_MBAFF_0_IP_GEN5 5230
-#define NEXT_MB_MBAFF_0_IP_GEN5 5238
-#define SET_SB_MBAFF_INTRA_2_IP_GEN5 5276
-#define SET_SB_MBAFF_2_IP_GEN5 5298
-#define NEXT_MB_MBAFF_2_IP_GEN5 5306
-#define SET_SB_MBAFF_INTRA_4_IP_GEN5 5344
-#define SET_SB_MBAFF_4_IP_GEN5 5366
-#define NEXT_MB_MBAFF_4_IP_GEN5 5374
-#define SET_SB_MBAFF_INTRA_6_IP_GEN5 5412
-#define SET_SB_MBAFF_6_IP_GEN5 5434
-#define NEXT_MB_MBAFF_6_IP_GEN5 5442
-#define SET_SB_MBAFF_INTRA_8_IP_GEN5 5480
-#define SET_SB_MBAFF_8_IP_GEN5 5502
-#define NEXT_MB_MBAFF_8_IP_GEN5 5510
-#define SET_SB_MBAFF_INTRA_10_IP_GEN5 5548
-#define SET_SB_MBAFF_10_IP_GEN5 5570
-#define NEXT_MB_MBAFF_10_IP_GEN5 5578
-#define SET_SB_MBAFF_INTRA_12_IP_GEN5 5616
-#define SET_SB_MBAFF_12_IP_GEN5 5638
-#define NEXT_MB_MBAFF_12_IP_GEN5 5646
-#define SET_SB_MBAFF_INTRA_14_IP_GEN5 5684
-#define SET_SB_MBAFF_14_IP_GEN5 5706
-#define NEXT_MB_MBAFF_14_IP_GEN5 5714
-#define SetHWScoreboard_MBAFF_Remainder_IP_GEN5 5756
-#define SetHWScoreboard_MBAFF_Remainder_Loop_IP_GEN5 5784
-#define SET_SB_MBAFF_REM_INTRA_IP_GEN5 5822
-#define SET_SB_MBAFF_REM_IP_GEN5 5846
-#define Output_MBAFF_Remainder_Intra_IP_GEN5 5856
-#define SetHWScoreboard_MBAFF_Done_IP_GEN5 5868
-#define BSDRESET_IP_GEN5 5870
-#define DCRESETDUMMY_IP_GEN5 5872
-#define AVC_ILDB_ROOT_Y_ILDB_FRAME_IP_GEN5 5880
-#define SLEEP_ENTRY_Y_ILDB_FRAME_IP_GEN5 5976
-#define POST_SLEEP_Y_ILDB_FRAME_IP_GEN5 5980
-#define NEXT_MB_Y_ILDB_FRAME_IP_GEN5 6010
-#define ALL_SPAWNED_Y_ILDB_FRAME_IP_GEN5 6034
-#define ALL_DONE_Y_ILDB_FRAME_IP_GEN5 6044
-#define WAIT_FOR_UV_ILDB_FRAME_IP_GEN5 6044
-#define AVC_ILDB_CHILD_Y_ILDB_FRAME_IP_GEN5 6056
-#define WRITE_URB_Y_ILDB_FRAME_IP_GEN5 6436
-#define POST_ILDB_Y_ILDB_FRAME_IP_GEN5 6444
-#define READ_FOR_URB_Y_ILDB_FRAME_IP_GEN5 6458
-#define FILTER_Y_IP_GEN5 6494
-#define Y_ELSE3_IP_GEN5 6560
-#define Y_ENDIF3_IP_GEN5 6574
-#define Y_ELSE4_IP_GEN5 6604
-#define Y_ENDIF4_IP_GEN5 6618
-#define Y_ELSE2_IP_GEN5 6618
-#define Y_ENDIF6_IP_GEN5 6684
-#define Y_ENDIF7_IP_GEN5 6706
-#define Y_ENDIF2_IP_GEN5 6710
-#define Y_ENDIF1_IP_GEN5 6710
-#define AVC_ILDB_ROOT_UV_ILDB_FRAME_IP_GEN5 6720
-#define SLEEP_ENTRY_UV_ILDB_FRAME_IP_GEN5 6798
-#define POST_SLEEP_UV_ILDB_FRAME_IP_GEN5 6802
-#define NEXT_MB_UV_ILDB_FRAME_IP_GEN5 6834
-#define ALL_SPAWNED_UV_ILDB_FRAME_IP_GEN5 6858
-#define ALL_DONE_UV_ILDB_FRAME_IP_GEN5 6882
-#define AVC_ILDB_CHILD_UV_ILDB_FRAME_IP_GEN5 6888
-#define BYPASS_EXT_LEFT_EDGE_UV_ILDB_FRAME_IP_GEN5 7008
-#define BYPASS_EXT_TOP_EDGE_UV_ILDB_FRAME_IP_GEN5 7126
-#define WRITE_URB_UV_ILDB_FRAME_IP_GEN5 7194
-#define POST_ILDB_UV_ILDB_FRAME_IP_GEN5 7202
-#define READ_FOR_URB_UV_ILDB_FRAME_IP_GEN5 7216
-#define FILTER_UV_IP_GEN5 7246
-#define UV_ELSE2_IP_GEN5 7282
-#define UV_ENDIF2_IP_GEN5 7314
-#define UV_ENDIF1_IP_GEN5 7314
-#define AVC_ILDB_ROOT_Y_ILDB_FIELD_IP_GEN5 7320
-#define SLEEP_ENTRY_Y_ILDB_FIELD_IP_GEN5 7416
-#define POST_SLEEP_Y_ILDB_FIELD_IP_GEN5 7420
-#define NEXT_MB_Y_ILDB_FIELD_IP_GEN5 7450
-#define ALL_SPAWNED_Y_ILDB_FIELD_IP_GEN5 7474
-#define ALL_DONE_Y_ILDB_FIELD_IP_GEN5 7484
-#define WAIT_FOR_UV_ILDB_FIELD_IP_GEN5 7484
-#define AVC_ILDB_CHILD_Y_ILDB_FIELD_IP_GEN5 7496
-#define WRITE_URB_Y_ILDB_FIELD_IP_GEN5 7896
-#define POST_ILDB_Y_ILDB_FIELD_IP_GEN5 7904
-#define READ_FOR_URB_Y_ILDB_FIELD_IP_GEN5 7918
-#define ELSE_Y_4x16T_ILDB_FIELD_IP_GEN5 7934
-#define ENDIF_Y_4x16T_ILDB_FIELD_IP_GEN5 7942
-#define AVC_ILDB_ROOT_UV_ILDB_FIELD_IP_GEN5 7976
-#define SLEEP_ENTRY_UV_ILDB_FIELD_IP_GEN5 8054
-#define POST_SLEEP_UV_ILDB_FIELD_IP_GEN5 8058
-#define NEXT_MB_UV_ILDB_FIELD_IP_GEN5 8090
-#define ALL_SPAWNED_UV_ILDB_FIELD_IP_GEN5 8114
-#define ALL_DONE_UV_ILDB_FIELD_IP_GEN5 8138
-#define AVC_ILDB_CHILD_UV_ILDB_FIELD_IP_GEN5 8144
-#define BYPASS_EXT_LEFT_EDGE_UV_ILDB_FIELD_IP_GEN5 8272
-#define BYPASS_EXT_TOP_EDGE_UV_ILDB_FIELD_IP_GEN5 8394
-#define WRITE_URB_UV_ILDB_FIELD_IP_GEN5 8470
-#define POST_ILDB_UV_ILDB_FIELD_IP_GEN5 8478
-#define READ_FOR_URB_UV_ILDB_FIELD_IP_GEN5 8492
-#define ELSE_Y_2x8T_ILDB_FIELD_IP_GEN5 8508
-#define ENDIF_Y_2x8T_ILDB_FIELD_IP_GEN5 8516
-#define AVC_ILDB_ROOT_Y_ILDB_MBAFF_IP_GEN5 8544
-#define SLEEP_ENTRY_Y_ILDB_MBAFF_IP_GEN5 8642
-#define POST_SLEEP_Y_ILDB_MBAFF_IP_GEN5 8646
-#define NEXT_MB_Y_ILDB_MBAFF_IP_GEN5 8676
-#define ALL_SPAWNED_Y_ILDB_MBAFF_IP_GEN5 8700
-#define ALL_DONE_Y_ILDB_MBAFF_IP_GEN5 8710
-#define WAIT_FOR_UV_ILDB_MBAFF_IP_GEN5 8710
-#define AVC_ILDB_CHILD_Y_ILDB_MBAFF_IP_GEN5 8720
-#define RE_ENTRY_IP_GEN5 8742
-#define ELSE_Y_16x16T_ILDB_MBAFF_IP_GEN5 8782
-#define ENDIF_Y_16x16T_ILDB_MBAFF_IP_GEN5 8792
-#define ELSE_Y_4x16T_IP_GEN5 8808
-#define ENDIF_Y_4x16T_IP_GEN5 8818
-#define BYPASS_V1_Y_IP_GEN5 8966
-#define BYPASS_V2_Y_IP_GEN5 8980
-#define BYPASS_V3_Y_IP_GEN5 8994
-#define ELSE_Y_16x4T_IP_GEN5 9024
-#define ENDIF_Y_16x4T_IP_GEN5 9034
-#define NOT_DUAL_FIELD_IP_GEN5 9060
-#define ELSE_Y_16x4_IP_GEN5 9060
-#define ENDIF_Y_16x4_IP_GEN5 9072
-#define DUAL_FIELD_Y_IP_GEN5 9168
-#define H0_Y_DONE_IP_GEN5 9236
-#define ELSE_Y_16x16_IP_GEN5 9310
-#define ENDIF_Y_16x16_IP_GEN5 9320
-#define ELSE_Y_16x4_SAVE_IP_GEN5 9342
-#define ENDIF_Y_16x4_SAVE_IP_GEN5 9354
-#define SKIP_ILDB_IP_GEN5 9356
-#define POST_ILDB_IP_GEN5 9364
-#define FILTER_Y_MBAFF_IP_GEN5 9378
-#define MBAFF_Y_ELSE3_IP_GEN5 9444
-#define MBAFF_Y_ENDIF3_IP_GEN5 9458
-#define MBAFF_Y_ELSE4_IP_GEN5 9488
-#define MBAFF_Y_ENDIF4_IP_GEN5 9502
-#define MBAFF_Y_ELSE2_IP_GEN5 9502
-#define MBAFF_Y_ENDIF6_IP_GEN5 9566
-#define MBAFF_Y_ENDIF7_IP_GEN5 9588
-#define MBAFF_Y_ENDIF2_IP_GEN5 9592
-#define MBAFF_Y_ENDIF1_IP_GEN5 9592
-#define AVC_ILDB_ROOT_UV_ILDB_MBAFF_IP_GEN5 9600
-#define SLEEP_ENTRY_UV_ILDB_MBAFF_IP_GEN5 9678
-#define POST_SLEEP_UV_ILDB_MBAFF_IP_GEN5 9682
-#define NEXT_MB_UV_ILDB_MBAFF_IP_GEN5 9714
-#define ALL_SPAWNED_UV_ILDB_MBAFF_IP_GEN5 9738
-#define ALL_DONE_UV_ILDB_MBAFF_IP_GEN5 9762
-#define AVC_ILDB_CHILD_UV_ILDB_MBAFF_IP_GEN5 9768
-#define RE_ENTRY_UV_ILDB_MBAFF_IP_GEN5 9794
-#define ELSE_UV_8X8T_ILDB_MBAFF_IP_GEN5 9836
-#define ENDIF_UV_8X8T_ILDB_MBAFF_IP_GEN5 9846
-#define ELSE_Y_2x8T_ILDB_MBAFF_IP_GEN5 9864
-#define ENDIF_Y_2x8T_ILDB_MBAFF_IP_GEN5 9874
-#define V0_U_NEXT1_IP_GEN5 9934
-#define V0_U_NEXT2_IP_GEN5 9954
-#define V0_U_NEXT3_IP_GEN5 9964
-#define BYPASS_V0_UV_IP_GEN5 10018
-#define ELSE_UV_8X2T_IP_GEN5 10082
-#define ENDIF_UV_8X2T_IP_GEN5 10092
-#define NOT_DUAL_FIELD_UV_IP_GEN5 10120
-#define ELSE_UV_8X2_IP_GEN5 10120
-#define ENDIF_UV_8X2_IP_GEN5 10132
-#define DUAL_FIELD_UV_IP_GEN5 10208
-#define H0_UV_DONE_IP_GEN5 10300
-#define ELSE_UV_8X8_IP_GEN5 10360
-#define ENDIF_UV_8X8_IP_GEN5 10370
-#define ELSE_UV_8X2_SAVE_IP_GEN5 10394
-#define ENDIF_UV_8X2_SAVE_IP_GEN5 10406
-#define SKIP_ILDB_UV_ILDB_MBAFF_IP_GEN5 10408
-#define POST_ILDB_UV_ILDB_MBAFF_IP_GEN5 10416
-#define FILTER_UV_MBAFF_IP_GEN5 10430
-#define MBAFF_UV_ELSE2_IP_GEN5 10466
-#define MBAFF_UV_ENDIF2_IP_GEN5 10496
-#define MBAFF_UV_ENDIF1_IP_GEN5 10496
-#define AllAVC_END_IP_GEN5 10500
diff --git a/i965_drv_video/shaders/h264/mc/header.inc b/i965_drv_video/shaders/h264/mc/header.inc
deleted file mode 100644 (file)
index 4a0eecf..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-/*\r
- * Common header file for all AVC MC kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__HEADER__)       // Make sure this file is only included once\r
-#define __HEADER__\r
-\r
-// Module name: header.inc\r
-//\r
-// Common header file for all AVC MC kernels\r
-//\r
-\r
-#ifndef        COMBINED_KERNEL\r
-#ifdef DEV_CTG\r
-  #define SW_SCOREBOARD                // SW Scoreboard should be enabled for CTG and earlier\r
-  #undef HW_SCOREBOARD         // HW Scoreboard should be disabled for CTG and earlier\r
-#else\r
-  #define HW_SCOREBOARD                // HW Scoreboard should be enabled for ILK and beyond\r
-  #undef SW_SCOREBOARD         // SW Scoreboard should be disabled for ILK and beyond\r
-#endif // DEV_CTG\r
-#endif // COMBINED_KERNEL\r
-\r
-//#define MONO                         // Build Monochrome kernels\r
-\r
-//  Surface state definition\r
-//\r
-#define        DESTY           0\r
-#define        DESTUV          1\r
-#define        REFYFM0         2\r
-#define        REFYFM1         3\r
-#define        REFYFM2         4\r
-#define        REFYFM3         5\r
-#define        REFYFM4         6\r
-#define        REFYFM5         7\r
-#define        REFYFM6         8\r
-#define        REFYFM7         9\r
-#define        REFYFM8         10\r
-#define        REFYFM9         11\r
-#define        REFYFM10        12\r
-#define        REFYFM11        13\r
-#define        REFYFM12        14\r
-#define        REFYFM13        15\r
-#define        REFYFM14        16\r
-#define        REFYFM15        17\r
-#define        REFUVFM0        18\r
-#define        REFUVFM1        19\r
-#define        REFUVFM2        20\r
-#define        REFUVFM3        21\r
-#define        REFUVFM4        22\r
-#define        REFUVFM5        23\r
-#define        REFUVFM6        24\r
-#define        REFUVFM7        25\r
-#define        REFUVFM8        26\r
-#define        REFUVFM9        27\r
-#define        REFUVFM10       28\r
-#define        REFUVFM11       29\r
-#define        REFUVFM12       30\r
-#define        REFUVFM13       31\r
-#define        REFUVFM14       32\r
-#define        REFUVFM15       33\r
-\r
-.default_execution_size        (16)\r
-.default_register_type :ub\r
-\r
-//  ----------- Common constant definitions ------------\r
-//\r
-//  Bit position constants\r
-//\r
-#define BIT0   0x01\r
-#define BIT1   0x02\r
-#define BIT2   0x04\r
-#define BIT3   0x08\r
-#define BIT4   0x10\r
-#define BIT5   0x20\r
-#define BIT6   0x40\r
-#define BIT7   0x80\r
-#define BIT8   0x0100\r
-#define BIT9   0x0200\r
-#define BIT10  0x0400\r
-#define BIT11  0x0800\r
-#define BIT12  0x1000\r
-#define BIT13  0x2000\r
-#define BIT14  0x4000\r
-#define BIT15  0x8000\r
-#define BIT16  0x00010000\r
-#define BIT17  0x00020000\r
-#define BIT18  0x00040000\r
-#define BIT19  0x00080000\r
-#define BIT20  0x00100000\r
-#define BIT21  0x00200000\r
-#define BIT22  0x00400000\r
-#define BIT23  0x00800000\r
-#define BIT24  0x01000000\r
-#define BIT25  0x02000000\r
-#define BIT26  0x04000000\r
-#define BIT27  0x08000000\r
-#define BIT28  0x10000000\r
-#define BIT29  0x20000000\r
-#define BIT30  0x40000000\r
-#define BIT31  0x80000000\r
-\r
-#define        GRFWIB  32              // GRF register width in byte\r
-#define        GRFWIW  16              // GRF register width in word\r
-#define        GRFWID  8               // GRF register width in dword\r
-\r
-#define INST_SIZE   16         // Instruction size = 128b = 16 Bytes\r
-\r
-#define REGION(Width,HStride) <Width*HStride;Width,HStride>\r
-\r
-#define NULLREG                null<1>:ud\r
-#define NULLREGW       null<1>:w\r
-\r
-#define TOP_FIELD              0\r
-#define BOTTOM_FIELD   1\r
-\r
-//  M2 - M9 for date writing message payload\r
-.declare    MSGPAYLOAD Base=m2 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    MSGPAYLOADB        Base=m2 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    MSGPAYLOADW        Base=m2 ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-.declare    MSGPAYLOADD        Base=m2 ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-\r
-//  ----------- Common Message Descriptor ------------\r
-//\r
-#ifdef DEV_ILK\r
-#define MSG_GW         0x03            // Message Gateway Extended Message Descriptor,\r
-#define DAPREAD                0x04            // Data Port Read Extended Message Descriptor,\r
-#define DAPWRITE       0x05            // Data Port Write Extended Message Descriptor,\r
-#define TS                     0x07            // Thread Spawner Extended Message Descriptor\r
-#define TS_EOT         0x27            // End of Thread Extended Message Descriptor\r
-\r
-#define EOTMSGDSC      0x02000010      // End of Thread Message Descriptor, don't deference URB handle\r
-\r
-// Data Port Message Descriptor\r
-#define DWBRMSGDSC_RC   0x02086000     // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_TF 0x02086600    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_BF 0x02086700    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_SC   0x0208A000     // DWORD Block Read Message Descriptor, reading from sampler cache = A.\r
-#define DWBRMSGDSC_SC_TF 0x0208E600    // DWORD Block Read Message Descriptor, reading top field from field mode sampler cache.\r
-#define DWBRMSGDSC_SC_BF 0x0208E700    // DWORD Block Read Message Descriptor, reading bottom field from field mode sampler cache.\r
-\r
-#define DWBWMSGDSC              0x02082000     // DWORD Block Write Message Descriptor\r
-#define DWBWMSGDSC_WC   0x0218A000     // DWORD Block Write Message Descriptor + write commit\r
-\r
-// Enable Write Commit writeback mesage\r
-#define        ENWRCOM         0x00108000      // Enable "write commit" and set response length = 1\r
-\r
-// Thread Spawner Message Descriptor\r
-#define        TSMSGDSC        0x02000011\r
-\r
-// Message Gateway Message Descriptors\r
-#define OGWMSGDSC      0x02000000      // OpenGateway Message Descriptor\r
-#define CGWMSGDSC      0x02000001      // CloseGateway Message Descriptor\r
-#define FWDMSGDSC      0x02000002      // ForwardMsg Message Descriptor\r
-\r
-#define        NOTIFYMSG       0x00008000      // Send notification with ForwardMsg message\r
-\r
-#define        RESP_LEN(len)   0x100000*len\r
-#define MSG_LEN(len)   0x2000000*len\r
-\r
-#else  // Pre DEV_ILK\r
-\r
-#define MSG_GW\r
-#define DAPREAD\r
-#define DAPWRITE\r
-#define TS\r
-#define TS_EOT\r
-\r
-#define EOTMSGDSC      0x87100010      // End of Thread Message Descriptor, don't deference URB handle\r
-\r
-// Data Port Message Descriptor\r
-#define DWBRMSGDSC_RC   0x04106000     // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_TF 0x04106600    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_RC_BF 0x04106700    // DWORD Block Read Message Descriptor, reading from render cache = 6.\r
-#define DWBRMSGDSC_SC   0x0410A000     // DWORD Block Read Message Descriptor, reading from sampler cache = A.\r
-#define DWBRMSGDSC_SC_TF 0x0410A600    // DWORD Block Read Message Descriptor, reading top field from field mode sampler cache.\r
-#define DWBRMSGDSC_SC_BF 0x0410A700    // DWORD Block Read Message Descriptor, reading bottom field from field mode sampler cache.\r
-\r
-#define DWBWMSGDSC              0x05102000     // DWORD Block Write Message Descriptor\r
-#define DWBWMSGDSC_WC   0x0511A000     // DWORD Block Write Message Descriptor + write commit\r
-\r
-// Enable Write Commit writeback mesage\r
-#define        ENWRCOM         0x00018000      // Enable "write commit" and set response length = 1\r
-\r
-// Thread Spawner Message Descriptor\r
-#define        TSMSGDSC        0x07100011\r
-\r
-// Message Gateway Message Descriptors\r
-#define OGWMSGDSC      0x03100000      // OpenGateway Message Descriptor\r
-#define CGWMSGDSC      0x03100001      // CloseGateway Message Descriptor\r
-#define FWDMSGDSC      0x03100002      // ForwardMsg Message Descriptor\r
-\r
-#define        NOTIFYMSG       0x00008000      // Send notification with ForwardMsg message\r
-#define        ACKREQMSG       0x00014000      // Acknowledgement required so response length should be 1\r
-\r
-#define        RESP_LEN(len)   0x10000*len\r
-#define MSG_LEN(len)   0x100000*len\r
-\r
-#endif // DEV_ILK\r
-\r
-// Enable frame/field selection in message descriptor\r
-#define ENMSGDSCFM     0x400           // Enable MSGDSC to select frame surface\r
-#define ENMSGDSCTF     0x600           // Enable MSGDSC to select top field surface\r
-#define ENMSGDSCBF     0x700           // Enable MSGDSC to select bottom field surface\r
-\r
-//  ----------- Message related register ------------\r
-//\r
-#define MSGHDR         m1              // Message Payload Header\r
-#define MSGHDRY                m1              // Message Payload Header register for Y data\r
-#define MSGHDRY0       m1              // Message Payload Header register for Y data\r
-#define MSGHDRY1       m2              // Message Payload Header register for Y data\r
-#define MSGHDRY2       m3              // Message Payload Header register for Y data\r
-#define MSGHDRY3       m4              // Message Payload Header register for Y data\r
-#define MSGHDRUV       m5              // Message Payload Header register for U/V data\r
-#define MSGSRC         r62             // Message source register, should never be used for other purposes\r
-#define MSGDSC         a0.0:ud // Message Descriptor register (type DWORD)\r
-\r
-#define MH_ORI         MSGSRC.0        // DWORD block R/W message header block offset\r
-#define MH_ORIX                MSGSRC.0        // DWORD block R/W message header X offset\r
-#define MH_ORIY                MSGSRC.1        // DWORD block R/W message header Y offset\r
-#define MH_SIZE                MSGSRC.2        // DWORD block R/W message header block width & height\r
-\r
-// Data necessary for kernel operations\r
-//\r
-//  Address registers used as pointers\r
-//\r
-//  Note: Please keep the register order as is since they are used in compressed instructions\r
-//\r
-#define            PPREDBUF_Y          a0.4    // Pointer to predicted Y picture\r
-#define            PPREDBUF_Y1         a0.5    // Pointer to predicted Y picture for extended instruction\r
-\r
-#define            PPREDBUF_UV         a0.4    // Pointer to predicted U/V picture\r
-#define            PPREDBUF_UV1        a0.5    // Pointer to predicted U/V picture for extended instruction\r
-\r
-#define            PDECBUF             a0.4    // Pointer to decoded picture data\r
-#define            PDECBUF_UD  a0.2    // Pointer to decoded picture data in DWORD unit\r
-\r
-//  ----------- R63 is reserved for global variables ------------\r
-//\r
-//  Note: Don't program it with values other than what are defined here. \r
-\r
-#define G_REG          r63\r
-\r
-#define RETURN_REG     G_REG.0         // Return pointer for all sub-routine calls (type DWORD)\r
-#define RETURN_REG1    G_REG.1         // Return pointer for second-level calls\r
-\r
-#define I_ORIX         G_REG.13        // :uw, H. origin of the macroblock in pixel unit, don't overwrite in-line data\r
-#define I_ORIY         G_REG.14        // :uw, V. origin of the macroblock in pixel unit, don't overwrite in-line data\r
-\r
-//  Macros\r
-//\r
-//  Note: For macros that require multiple line expansion, insert "\n" at the end of each line.\r
-//\r
-#define        GRF(reg)        r##reg\r
-#ifdef DEV_ILK\r
-#define END_THREAD                     send (8) NULLREG MSGHDR r0:ud TS_EOT    EOTMSGDSC\r
-#else\r
-#define END_THREAD                     send (8) NULLREG MSGHDR r0:ud EOTMSGDSC\r
-#endif // DEV_ILK\r
-\r
-#define CALL(subFunc, skipInst)        add (1) RETURN_REG<1>:ud   ip:ud        (1+skipInst)*INST_SIZE \n\\r
-                               jmpi (1) subFunc\r
-\r
-#define CALL_1(subFunc, skipInst)      add (1) RETURN_REG1<1>:ud   ip:ud       (1+skipInst)*INST_SIZE \n\\r
-                               jmpi (1) subFunc\r
-\r
-#define        RETURN          mov (1) ip:ud   RETURN_REG<0;1,0>:ud            // Return to calling module\r
-#define        RETURN_1        mov (1) ip:ud   RETURN_REG1<0;1,0>:ud           // Return to second-level calling module\r
-                                                                                                                               // To support iterative calling\r
-#ifdef SW_SCOREBOARD    \r
-\r
-#ifdef DEV_CTG_A\r
-  #define LEADING_THREAD       1               // For CTG A, no SRT is needed. Only PRT is necessary\r
-#else\r
-  #define LEADING_THREAD       0               // For CTG B0 and beyond, PRT doesn't take into debug count\r
-  #define DOUBLE_SB                                    // Scoreboard size needs to be doubled\r
-#endif\r
-\r
-#ifdef DOUBLE_SB                                       // Scoreboard size needs to be doubled\r
-  #define SB_MASK              0x1ff           // Scoreboard wrap-around mask (for 512 entries)\r
-#else\r
-  #define SB_MASK              0xff            // Scoreboard wrap-around mask (for 256 entries)\r
-#endif // defined(DOUBLE_SB)\r
-\r
-// Scoreboard related definitions\r
-\r
-#define        TEMPX           r50\r
-#define        TEMPY           r51\r
-#define        DELTA           r52\r
-\r
-#define M05_STORE      r0.13           // :uw, reuse r0.6:ud upper-word to store M0.5 header information for scoreboard\r
-\r
-\r
-#endif // SW_SCOREBOARD\r
-\r
-// End of header.inc\r
-\r
-#endif // !defined(__HEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/initialize_MBPara.asm b/i965_drv_video/shaders/h264/mc/initialize_MBPara.asm
deleted file mode 100644 (file)
index bd651cf..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/*\r
- * Initialize parameters\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Initialize_MBPara.asm\r
-//\r
-\r
-\r
-//#if !defined(__INITIALIZE_MBPARA__)          // Make sure this is only included once\r
-//#define __INITIALIZE_MBPARA__\r
-\r
-\r
-// WA for weighted prediction - 2007/09/06             // shlee\r
-//     mov (1)         guwW128(0)<1>                   guwR1(0)<0;1,0>         // Copy the unique number indicating weight/offset=(128,0)\r
-\r
-\r
-\r
-//     MB Type         Category\r
-//     1                       B_L0_16x16\r
-//     2                       B_L1_16x16\r
-//     3                       B_Bi_16x16\r
-//     4                       B_L0_L0_16x8\r
-//     5                       B_L0_L0_8x16\r
-//     6                       B_L1_L1_16x8\r
-//     7                       B_L1_L1_8x16\r
-//     8                       B_L0_L1_16x8\r
-//     9                       B_L0_L1_8x16\r
-//     10                      B_L1_L0_16x8\r
-//     11                      B_L1_L0_8x16\r
-//     12                      B_L0_Bi_16x8\r
-//     13                      B_L0_Bi_8x16\r
-//     14                      B_L1_Bi_16x8\r
-//     15                      B_L1_Bi_8x16\r
-//     16                      B_Bi_L0_16x8\r
-//     17                      B_Bi_L0_8x16\r
-//     18                      B_Bi_L1_16x8\r
-//     19                      B_Bi_L1_8x16\r
-//     20                      B_Bi_Bi_16x8\r
-//     21                      B_Bi_Bi_8x16\r
-//     22                      B_8x8\r
-\r
-       // TODO:\r
-       // Initialize interpolation area to eliminate uninitialized registers making the results of mac instructions XX.\r
-       // This issue was reported by Sharath on 5/25/2006, and why multiplication by zero still yields XX has not been understood yet.\r
-#if 0\r
-       mov (16)        gudINTPY0(0)<1>         0:ud    {Compr}\r
-       mov (16)        gudINTPY0(2)<1>         0:ud    {Compr}\r
-       mov (16)        gudINTPY1(0)<1>         0:ud    {Compr}\r
-       mov (16)        gudINTPY1(2)<1>         0:ud    {Compr}\r
-       mov (16)        gudINTPC0(0)<1>         0:ud    {Compr}\r
-       mov (16)        gudINTPC1(0)<1>         0:ud    {Compr}\r
-#endif\r
-\r
-       mov (1)         gMVSTEP:w                       0:w                                                             // Address increament for MV read\r
-\r
-       cmp.e.f0.0 (1) null:w                   gwMBTYPE<0;1,0>                                 22:w\r
-       (-f0.0)         jmpi                            INTERLABEL(NOT_8x8_MODE)\r
-\r
-       //--- 8x8 mode\r
-               \r
-       // Starting address of error data blocks\r
-       cmp.e.f0.1 (2) null<1>:w                gSUBMB_SHAPE<0;1,0>:ub                  0:w\r
-       (f0.1) jmpi INTERLABEL(CONVERT_MVS)\r
-\r
-       // Note: MVs and Weights/Offsets are already expanded by HW or driver\r
-       \r
-       // MV conversion - Convert each MV to absolute coord. (= MV + MB org. + block offset) \r
-       shl (16)        gwTEMP(0)<1>            gX<0;2,1>:w                                             2:w // Convert MB origin to 1/4-pel unit\r
-       mov (1)         gMVSTEP:w                       24:w                                                    // Address increament for MV read\r
-       add (2)         gwTEMP(0,4)<2>          gwTEMP(0,4)<4;2,2>                              16:w\r
-       add (2)         gwTEMP(0,9)<2>          gwTEMP(0,9)<4;2,2>                              16:w\r
-       add (4)         gwTEMP(0,12)<1>         gwTEMP(0,12)<4;4,1>                             16:w\r
-       \r
-       add (16)        gMV<1>:w                        gMV<16;16,1>:w                                  gwTEMP(0)<16;16,1>\r
-       add (8)         gwTEMP(0)<2>            gwTEMP(0)<16;8,2>                               32:w\r
-       add (16)        gwMV(1,0)<1>            gwMV(1,0)<16;16,1>                              gwTEMP(0)<16;16,1>      \r
-       add (8)         gwTEMP(0,1)<2>          gwTEMP(0,1)<16;8,2>                             32:w\r
-       add (16)        gwMV(3,0)<1>            gwMV(3,0)<16;16,1>                              gwTEMP(0)<16;16,1>      \r
-       add (8)         gwTEMP(0)<2>            gwTEMP(0)<16;8,2>                               -32:w\r
-       add (16)        gwMV(2,0)<1>            gwMV(2,0)<16;16,1>                              gwTEMP(0)<16;16,1>      \r
-\r
-       jmpi INTERLABEL(INIT_ADDRESS_REGS)\r
-\r
-INTERLABEL(NOT_8x8_MODE):\r
-\r
-       //--- !8x8 mode (16x16, 16x8, 8x16)\r
-\r
-       // MVs and Weights/Offsets are expanded\r
-       cmp.le.f0.1 (8) null<1>:w               gwMBTYPE<0;1,0>                                 3:w // Check 16x16\r
-       mov (1)         gSUBMB_SHAPE:ub         0:uw                                                    // subMB shape\r
-       (f0.1) mov (8)  gMV<1>:d                gMV<0;2,1>:d                                    \r
-       (f0.1) mov (8)  gdWGT(1,0)<1>   gWGT<0;4,1>:d                                   \r
-       (f0.1) mov (4)  gdWGT(0,4)<1>   gWGT<4;4,1>:d                                   \r
-       \r
-INTERLABEL(CONVERT_MVS):\r
-       // MV conversion - Convert each MV to absolute coord. (= MV + MB org. + block offset)\r
-       shl (2)         gwTEMP(0)<1>            gX<2;2,1>:w                                             2:w // Convert MB origin to 1/4-pel unit\r
-       add (16)        gMV<1>:w                        gMV<16;16,1>:w                                  gwTEMP(0)<0;2,1>\r
-       add (2)         gwMV(0,4)<2>            gwMV(0,4)<4;2,2>                                32:w    //{NoDDClr}\r
-       add (2)         gwMV(0,9)<2>            gwMV(0,9)<4;2,2>                                32:w    //{NoDDChk,NoDDClr}\r
-       add (4)         gwMV(0,12)<1>           gwMV(0,12)<4;4,1>                               32:w    //{NoDDChk}\r
-               \r
-INTERLABEL(INIT_ADDRESS_REGS):\r
-       // Initialize the address registers\r
-       mov (2)         pERRORYC:ud                     nOFFSET_ERROR:ud                                {NoDDClr} // Address of Y and C error blocks\r
-       mov (1)         pRECON_MV:ud            nOFFSET_RECON_MV:ud                             {NoDDChk,NoDDClr} // Address of recon area and motion vectors\r
-       mov (1)         pWGT_BIDX:ud            nOFFSET_WGT_BIDX:ud                             {NoDDChk} // Address of weights/offsets and binding tbl idx\r
-       \r
-       // Read the parity of the current field (gPARITY - 0:top, 1:bottom, 3:frame)\r
-       // and set message descriptor for frame/field write\r
-#if defined(MBAFF)\r
-       and.nz.f0.0 (1) null:uw                 gFIELDMBFLAG:ub                                 nFIELDMB_MASK:uw\r
-       (f0.0) and (1)  gPARITY:uw              gMBPARITY:ub                                    nMBPARITY_MASK:uw\r
-       (-f0.0) mov (1) gPARITY:uw              3:uw\r
-#elif defined(FIELD)\r
-       and (1)         gPARITY:uw                      gMBPARITY:ub                                    nMBPARITY_MASK:uw\r
-#endif\r
-       \r
-        \r
-//#endif       // !defined(__INITIALIZE_MBPARA__)\r
diff --git a/i965_drv_video/shaders/h264/mc/inter_Header.inc b/i965_drv_video/shaders/h264/mc/inter_Header.inc
deleted file mode 100644 (file)
index bd10c22..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-/*\r
- * Header file for all AVC INTER prediction kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__INTER_HEADER__) // Make sure this file is only included once\r
-#define __INTER_HEADER__\r
-\r
-// Module name: inter_header.inc\r
-//\r
-// Header file for all AVC INTER prediction kernels\r
-//\r
-\r
-#define INTER_KERNEL\r
-\r
-//-------------------------------------------------------------------------------------------\r
-// TODO: The followings will be merged with the above definitions later\r
-//-------------------------------------------------------------------------------------------\r
-\r
-\r
-//------------ Input parameters & bit masks\r
-\r
-// SW WA for weighted prediction - 2007/09/06  \r
-//.declare     guwR1                   Base=r1 ElementSize=2 Type=uw   \r
-//.declare     guwW128                 Base=r63.13 ElementSize=2 Type=uw\r
-\r
-#ifdef DEV_ILK\r
-// #define SW_W_128            // Enable SW WA for special Weight=128 case. Can be commented to disable it\r
-#else  // Pre DEV_ILK\r
-#define SW_W_128               // Enable SW WA for special Weight=128 case.\r
-#endif // DEV_ILK\r
-\r
-#ifdef SW_W_128\r
-.declare       gudW128                 Base=r1.0 ElementSize=4 Type=ud\r
-#else\r
-#endif // SW_W_128\r
-\r
-#define                gORIX                   r3.4                            // :ub, X origin\r
-#define                gORIY                   r3.5                            // :ub, Y origin\r
-\r
-#define                gCBP                    r3.9                            // :ub, CBP (0, 0, Y0, Y1, Y2, Y3, Cb, Cr)\r
-#define                nCBPY_MASK              0x3c\r
-#define                nCBPU_MASK              0x2\r
-#define                nCBPV_MASK              0x1\r
-\r
-#define                gFIELDFLAGS             r3.1                            // :uw - To compute message descriptor for write\r
-\r
-#define                gMBTYPE                 r3.1                            // :ub, MB type\r
-#define                nMBTYPE_MASK    0x1f\r
-#define                gFIELDMBFLAG    r3.1                            // :ub, Field MB flag\r
-#define                nFIELDMB_MASK   0x40\r
-#define                gMBPARITY               r3.3                            // :ub, Bottom field flag\r
-#define                nMBPARITY_MASK  0x01\r
-\r
-#define                gWPREDFLAG              r3.0                            // :ub, Weighted pred flag\r
-#define                nWBIDIR_MASK    0xc0\r
-\r
-#define                gSUBMB_SHAPE    r3.12                           // :ub, Sub-MB shape\r
-#define                gSUBMB_MODE             r3.13                           // :ub, Sub-MB prediction mode\r
-.declare       guwSUBMB_SHAPE_MODE     Base=r3.6 ElementSize=2 Type=uw\r
-\r
-#define                gYWDENOM                r3.14                           // :ub, Luma log2 weight denom\r
-#define                gCWDENOM                r3.15                           // :ub, Chroma log2 weight denom\r
-\r
-#define                gADDR                   r3.24                           // :ub, Register addresses of error data / MV\r
-\r
-.declare       gubBIDX                 Base=r3.16 ElementSize=1 Type=ub\r
-\r
-#define                gWGT                    r8                                      // Weights/offsets\r
-.declare    gdWGT                      Base=r8  ElementSize=4 Type=d\r
-.declare    gwWGT                      Base=r8  ElementSize=2 Type=w\r
-#define                gMV                             r4                                      // MVs\r
-.declare    gwMV                       Base=r4  ElementSize=2 Type=w\r
-.declare    gdMV                       Base=r4  ElementSize=4 Type=d\r
-\r
-.declare       gwERRORY                Base=r10 ElementSize=2 Type=w           // 16 GRFs\r
-.declare       gubERRORY               Base=r10 ElementSize=1 Type=ub\r
-.declare       gwERRORC                Base=r26 ElementSize=2 Type=w           // 8 GRFs\r
-.declare       gubERRORC               Base=r26 ElementSize=2 Type=ub\r
-\r
-//------------ Address registers\r
-#define                pMSGDSC                 a0.0                            // ud: Must be the leading dword of the address register\r
-#define                pREF                    a0.0\r
-\r
-#define                pBIDX                   a0.2                            \r
-#define                pWGT                    a0.3\r
-#define                pERRORYC                a0.2                            // :ud  \r
-#define                pERRORY                 a0.4\r
-#define                pERRORC                 a0.5\r
-#define                pMV                             a0.6    \r
-\r
-#define                pWGT_BIDX               a0.1                            // :ud, WGT & BIDX\r
-#define                pRECON_MV               a0.3                            // :ud, RECON & MV\r
-\r
-#define                pREF0                   a0.0                            // :uw\r
-#define                pREF0D                  a0.0                            // :ud\r
-#define                pREF1                   a0.1\r
-#define                pREF2                   a0.2\r
-#define                pREF2D                  a0.1                            // :ud\r
-#define                pREF3                   a0.3\r
-#define                pREF4                   a0.4\r
-#define                pREF4D                  a0.2                            // :ud\r
-#define                pREF5                   a0.5\r
-#define                pREF6                   a0.6\r
-#define                pREF6D                  a0.3                            // :ud\r
-#define                pREF7                   a0.7\r
-\r
-#define                pRES                    a0.6\r
-#define                pRESD                   a0.3                            // :ud\r
-#define                pRESULT                 a0.7\r
-\r
-#define                p0                              a0.0\r
-#define                p1                              a0.1\r
-\r
-//------------ Constants for static/inline/indirect\r
-#define                nOFFSET_BIDX    112                                     // = 32*3+4*4\r
-\r
-#define                nOFFSET_WGT             256                                     // = 32*8\r
-#define                nOFFSET_WGT_BIDX 0x01000070                     // = (256<<16)+112\r
-#define                nOFFSET_ERROR   0x03400140                      // = (320+128*4)<<16+320=0x03400140\r
-#define                nOFFSET_ERRORY  0x0140\r
-#define                nOFFSET_ERRORC  0x0340\r
-#define                nOFFSET_MV              128                                     // = 32*4\r
-#define                nOFFSET_RECON_MV 0x04400080                     // = (1088<<16)+128             // TODO: OFFSET_RECON is obsolete\r
-\r
-//------------ Constants for kernel internal variables\r
-#define                nOFFSET_INTPY0  0x0640                          // = 32*50\r
-#define                nOFFSET_INTPY1  0x0780                          // = 32*60\r
-#define                nOFFSET_INTPC0  0x06c0                          // = 32*54\r
-#define                nOFFSET_INTPC1  0x0480                          // = 32*36\r
-#define                nOFFSET_INTP0   0x06c00640\r
-#define                nOFFSET_INTP1   0x04800780\r
-\r
-#define                nOFFSET_INTERIM         0x0480                          // = 32*36\r
-#define                nOFFSET_INTERIM2        0x04A00480                      // = ((32*37)<<16)|(32*36)\r
-#define                nOFFSET_INTERIM3        0x04A00480                      // = ((32*36+32)<<16)|(32*36)\r
-#define                nOFFSET_INTERIM4        0x04A00490                      // = ((32*37)<<16)|(32*36+16)\r
-\r
-#define                nOFFSET_INTERIM4x4              0x04C0                  // = 32*38\r
-#define                nOFFSET_INTERIM4x4_4    0x04E004D0              // = ((32*38+32)<<16)|(32*38+16)\r
-#define                nOFFSET_INTERIM4x4_5    0x04D004C0              // = ((32*38+16)<<16)|(32*38)\r
-#define                nOFFSET_INTERIM4x4_6    0x04E004C0              // = ((32*38+32)<<16)|(32*38)\r
-#define                nOFFSET_INTERIM4x4_7    0x04D004C8              // = ((32*38+16)<<16)|(32*38+8)\r
-#define                nOFFSET_INTERIM4x4_8    0x04E004D8              // = ((32*38+32)<<16)|(32*38+24)\r
-#define                nOFFSET_INTERIM4x4_9    0x04F004E8              // = ((32*38+48)<<16)|(32*38+40)\r
-\r
-#define                nOFFSET_RES             0x540                           // = 32*42\r
-#define                nOFFSET_REF             0x560                           // = 32*43\r
-#define                nOFFSET_REFC    0x700                           // = 32*56\r
-\r
-                       // Binding table index\r
-#define                nBDIX_DESTY             0\r
-#define                nBDIX_DESTC             1\r
-#define                nBI_LC_DIFF             0x10                            // Binding table index diff between luma and chroma\r
-\r
-#define                nGRFWIB                 32\r
-#define                nGRFHWIB                16\r
-\r
-//------------ Regions\r
-\r
-.declare    gudREF                     Base=r43 ElementSize=4 SrcRegion=<16;16,1> Type=ud\r
-.declare    gubREF                     Base=r43 ElementSize=1 Type=ub\r
-.declare    gudREFC                    Base=r56 ElementSize=4 SrcRegion=<16;16,1> Type=ud\r
-\r
-// 16x16 handling\r
-.declare    gudREF21x21                Base=r58 ElementSize=4 SrcRegion=<16;16,1> Type=ud\r
-.declare    gudREF18x10                Base=r66 ElementSize=4 SrcRegion=<16;16,1> Type=ud\r
-.declare    gubREF18x10                Base=r66 ElementSize=1 SrcRegion=<16;16,1> Type=ub\r
-\r
-\r
-\r
-.declare    gudREF16x16                Base=r38 ElementSize=4 Type=ud                  // 8 GRFs\r
-.declare    gubREF16x16                Base=r38 ElementSize=1 Type=ub\r
-.declare    gudREFC16x8                Base=r46 ElementSize=4 Type=ud                  // 4 GRFs\r
-.declare    gubREFC16x8                Base=r46 ElementSize=1 Type=ub\r
-\r
-// TODO\r
-.declare    gubAVG                     Base=r56 ElementSize=1 Type=ub\r
-.declare       gubREFY_BWD             Base=r64 ElementSize=1 Type=ub\r
-.declare       gubREFC_BWD             Base=r72 ElementSize=1 Type=ub\r
-\r
-\r
-.declare    guwINTPY0          Base=r50 ElementSize=2 SrcRegion=<16;16,1> Type=uw\r
-.declare       gudINTPY0               Base=r50 ElementSize=4 Type=ud\r
-.declare    gubINTPY0          Base=r50 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-.declare    guwINTPY1          Base=r60 ElementSize=2 SrcRegion=<16;16,1> Type=uw\r
-.declare       gudINTPY1               Base=r60 ElementSize=4 Type=ud\r
-.declare    gubINTPY1          Base=r60 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-.declare    guwYPRED           Base=r50 ElementSize=2 SrcRegion=<8;8,1> Type=uw\r
-.declare    gubYPRED           Base=r50 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-\r
-.declare    guwINTPC0          Base=r54 ElementSize=2 SrcRegion=<16;16,1> Type=uw\r
-.declare    gwINTPC0           Base=r54 ElementSize=2 SrcRegion=<16;16,1> Type=w\r
-.declare       gudINTPC0               Base=r54 ElementSize=4 Type=ud\r
-.declare    gubINTPC0          Base=r54 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-.declare    guwINTPC1          Base=r36 ElementSize=2 SrcRegion=<16;16,1> Type=uw\r
-.declare       gudINTPC1               Base=r36 ElementSize=4 Type=ud\r
-.declare    gubINTPC1          Base=r36 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-.declare    guwCPRED           Base=r54 ElementSize=2 SrcRegion=<16;8,2> Type=uw\r
-.declare    gubCPRED           Base=r54 ElementSize=1 SrcRegion=<32;8,4> Type=ub\r
-\r
-#define                gINTERIM                r36\r
-.declare       gubINTERIM_BUF  Base=r36 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-#define                gINTERIM4x4             r38\r
-.declare       gubINTERIM4x4_BUF Base=r38 ElementSize=1 SrcRegion=<32;16,2> Type=ub\r
-.declare       gwINTERIM4x4_BUF Base=r38 ElementSize=2  Type=w\r
-\r
-.declare       gubINTERIM_BUF2 Base=r42 ElementSize=1 SrcRegion=<8;4,2> Type=ub\r
-.declare       gwINTERIM_BUF2  Base=r42 ElementSize=2 SrcRegion=<16;16,1> Type=w       \r
-.declare       guwINTERIM_BUF2 Base=r42 ElementSize=2 Type=uw  \r
-\r
-.declare       gwINTERIM_BUF3  Base=r38 ElementSize=2 SrcRegion=<16;16,1> Type=w               // 2 GRFs\r
-.declare       gubINTERIM_BUF3 Base=r38 ElementSize=1 Type=ub                                                  \r
-\r
-.declare       gwTEMP                  Base=r42 ElementSize=2 SrcRegion=<16;16,1> Type=w\r
-\r
-//------------ General registers\r
-\r
-#define                gX                              r3.2                            // w\r
-#define                gY                              r3.3                            // w\r
-\r
-#define                gMSGDSC_R               r3.6                            // ud\r
-#define                gMSGDSC_W               r3.7                            // ud\r
-\r
-#ifdef SW_W_128\r
-.declare       gwMBTYPE                Base=r8.6 ElementSize=2 Type=w                  // Shared with gLOOP_SUBMB\r
-\r
-// TODO\r
-#define                gLOOP_SUBMB             r8.6\r
-#define                gLOOP_SUBMBPT   r8.7\r
-#define                gLOOP_DIR               r9.6\r
-#define                gLOOPCNT                r9.7                            // Loop counter for submodules\r
-#else\r
-.declare       gwMBTYPE                Base=r1.0 ElementSize=2 Type=w                  // Shared with gLOOP_SUBMB\r
-\r
-// TODO\r
-#define                gLOOP_SUBMB             r1.0\r
-#define                gLOOP_SUBMBPT   r1.1\r
-#define                gLOOP_DIR               r8.7\r
-#define                gLOOPCNT                r9.7                            // Loop counter for submodules\r
-#endif // SW_W_128\r
-\r
-#define                gW0                             r34.6                           // Temporary WORD \r
-#define                gW1                             r34.7                           // Temporary WORD \r
-#define                gW2                             r34.8                           // Temporary WORD \r
-#define                gW3                             r34.9                           // Temporary WORD \r
-#define                gD0                             r34.3                           // Temporary DWORD\r
-\r
-#define                gW4                             r34.15\r
-\r
-//\r
-\r
-#define                gMVX_INT                r34.0                           // :w\r
-#define                gMVY_INT                r34.1                           // :w\r
-#define                gMVX_FRAC               r34.2                           // :w\r
-#define                gMVY_FRAC               r34.3                           // :w\r
-#define                gMVX_FRACC              r34.4                           // :w\r
-#define                gMVY_FRACC              r34.5                           // :w\r
-\r
-#define                gpINTPY                 r34.10\r
-#define                gpINTPC                 r34.11\r
-#define                gpINTP                  r34.5                           // DW\r
-\r
-#define                gPREDFLAG               r34.12\r
-#define                gBIDX                   r34.13\r
-#define                gREFPARITY              r34.14\r
-#define                gCHRMVADJ               r1.14\r
-#define                gPARITY                 r1.15\r
-#define                gCBP_MASK               r1.1\r
-\r
-#define                gMVSTEP                 r1.13\r
-\r
-#define                gpADDR                  r1.2                            // :uw (8 words)\r
-\r
-#define                gSHAPETEMP              r8.15                           // :uw\r
-\r
-#define                gCOEFA                  r42.0                           \r
-#define                gCOEFB                  r42.1                           \r
-#define                gCOEFC                  r42.2                           \r
-#define                gCOEFD                  r42.3\r
-\r
-// Weighted prediction\r
-#define                gPREDFLAG0              r46.0\r
-#define                gPREDFLAG1              r46.2\r
-\r
-#define                gWEIGHTFLAG             r43.2\r
-#define                gBIPRED                 r43.3\r
-#define                gYADD                   r43.4\r
-#define                gCADD                   r43.5\r
-#define                gYSHIFT                 r43.6\r
-#define                gCSHIFT                 r43.7\r
-\r
-#define                gOFFSET                 r44.0\r
-#define                gUOFFSET                r44.1\r
-#define                gVOFFSET                r44.2\r
-\r
-#define                gWT0                    r45.0\r
-#define                gO0                             r45.1\r
-#define                gWT1                    r45.2\r
-#define                gO1                             r45.3\r
-#define                gUW0                    r45.4\r
-#define                gUO0                    r45.5\r
-#define                gUW1                    r45.6\r
-#define                gUO1                    r45.7   \r
-#define                gVW0                    r45.8   \r
-#define                gVO0                    r45.9   \r
-#define                gVW1                    r45.10  \r
-#define                gVO1                    r45.11\r
-\r
-#define                gWT0_D                  r45.0   \r
-#define                gUW0_D                  r45.2   \r
-\r
-//------------ Message-related Registers & constants\r
-#define                gMSGSRC                 r2                                      // Message Source\r
-\r
-#define                mMSGHDR                 m1              \r
-#define                mMSGHDRY                m1              \r
-#define                mMSGHDRC                m2              \r
-#define                mMSGHDR1                m1              \r
-#define                mMSGHDR2                m2              \r
-#define                mMSGHDR3                m3              \r
-#define                mMSGHDR4                m4              \r
-#define                mMSGHDRYW               m1              \r
-#define                mMSGHDRCW               m10             \r
-\r
-#ifdef DEV_ILK\r
-       // 0000 0100(read)  0001(msg len) xxxx(resp len) 1010 (sampler cache) xxxx (field/frame) xxxx xxxx (bidx)\r
-#define                nDWBRMSGDSC_SC          0x0208A002      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-#define                nDWBRMSGDSC_SC_TF       0x0208E602      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-#define                nDWBRMSGDSC_SC_BF       0x0208E702      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-       // 0000 0101(write) 0001(msg len) xxxx(resp len) 0010 (render cache)  xxxx (field/frame) xxxx xxxx (bidx)                                                                               \r
-#define                nDWBWMSGDSC             0x02082000  // DWORD Block Write Message Descriptor through Data Port, Render Cache\r
-#define                nDWBWMSGDSC_TF  0x02082600  // DWORD Block Write Message Descriptor through Data Port, Render Cache\r
-#define                nDWBWMSGDSC_BF  0x02082700  // DWORD Block Write Message Descriptor through Data Port, Render Cache                                                                             \r
-\r
-#else  // Pre DEV_ILK\r
-       // 0000 0100(read)  0001(msg len) xxxx(resp len) 1010 (sampler cache) xxxx (field/frame) xxxx xxxx (bidx)\r
-#define                nDWBRMSGDSC_SC          0x0410A002      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-#define                nDWBRMSGDSC_SC_TF       0x0410A602      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-#define                nDWBRMSGDSC_SC_BF       0x0410A702      // DWORD Block Read Message Descriptor through Data Port, Sampler Cache\r
-       // 0000 0101(write) 0001(msg len) xxxx(resp len) 0010 (render cache)  xxxx (field/frame) xxxx xxxx (bidx)                                                                               \r
-#define                nDWBWMSGDSC             0x05102000  // DWORD Block Write Message Descriptor through Data Port, Render Cache\r
-#define                nDWBWMSGDSC_TF  0x05102600  // DWORD Block Write Message Descriptor through Data Port, Render Cache\r
-#define                nDWBWMSGDSC_BF  0x05102700  // DWORD Block Write Message Descriptor through Data Port, Render Cache                                                                             \r
-#endif // DEV_ILK\r
-\r
-#define                nDWB_FIELD_MASK 0x0600\r
-                                                                               \r
-// message data payload\r
-.declare    mbMSGPAYLOADY      Base=m2  ElementSize=1 SrcRegion=REGION(16,1) Type=b\r
-.declare    mbMSGPAYLOADC      Base=m11 ElementSize=1 SrcRegion=REGION(16,1) Type=b\r
-\r
-// Destination registers for write commit\r
-#define                gREG_WRITE_COMMIT_Y             r10.0\r
-#define                gREG_WRITE_COMMIT_UV    r11.0\r
-\r
-#define RETURN_REG_INTER       r1.5            // Return pointer for all sub-routine calls (type DWORD)\r
-\r
-#define CALL_INTER(subFunc, skipInst)  add (1) RETURN_REG_INTER<1>:ud   ip:ud  1+skipInst*INST_SIZE \n\\r
-                               jmpi (1) subFunc\r
-#define        RETURN_INTER            mov (1) ip:ud   RETURN_REG_INTER<0;1,0>:ud              // Return to calling module\r
-\r
-\r
-// End of inter_header.inc\r
-\r
-#endif // !defined(__INTER_HEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/interpolate_C_2x2.asm b/i965_drv_video/shaders/h264/mc/interpolate_C_2x2.asm
deleted file mode 100644 (file)
index ffa65cf..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*\r
- * Interpolation kernel for chrominance 2x2 motion compensation\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Kernel name: Interpolate_C_2x2.asm\r
-//\r
-//     Interpolation kernel for chrominance 2x2 motion compensation\r
-//\r
-//  $Revision: 8 $\r
-//  $Date: 10/09/06 4:00p $\r
-//\r
-\r
-\r
-//#if !defined(__Interpolate_C_2x2__)          // Make sure this is only included once\r
-//#define __Interpolate_C_2x2__\r
-\r
-       \r
-       // (8-xFrac) and (8-yFrac)\r
-    add (2)            gW0<1>:w                        gMVX_FRACC<2;2,1>:w                             -0x08:w\r
-    \r
-       // Compute the GRF address of the starting position of the reference area\r
-    mov (1)            pREF0:w                         nOFFSET_REFC:w          {NoDDClr}\r
-       mov (1)         pRESULT:uw                      gpINTPC:uw                      {NoDDChk}\r
-\r
-       // gCOEFA = (8-xFrac)*(8-yFrac)\r
-    // gCOEFB = xFrac*(8-yFrac)  \r
-    // gCOEFC = (8-xFrac)*yFrac\r
-    // gCOEFD = xFrac*yFrac \r
-    mul (1)            gCOEFD:w                gMVX_FRACC:w                                    gMVY_FRACC:w    {NoDDClr}\r
-    mul (1)            gCOEFA:w                        -gW0:w                                                  -gW1:uw         {NoDDClr,NoDDChk}\r
-    mul (1)            gCOEFB:w                        gMVX_FRACC:w                                    -gW1:uw         {NoDDClr,NoDDChk}\r
-    mul (1)            gCOEFC:w                    -gW0:w                                                      gMVY_FRACC:w {NoDDChk}\r
-    \r
-    // (8-xFrac)*(8-yFrac)*A\r
-    // ---------------------\r
-    mul (8)            acc0<1>:uw                      r[pREF0,0]<8;4,1>:ub                    gCOEFA:uw\r
-        \r
-    // xFrac*(8-yFrac)*B\r
-    // -------------------\r
-    mac (8)            acc0<1>:uw                      r[pREF0,2]<8;4,1>:ub                    gCOEFB:uw\r
-          \r
-    // (8-xFrac)*yFrac*C\r
-    // -------------------\r
-    mac (8)            acc0<1>:uw                      r[pREF0,8]<8;4,1>:ub                    gCOEFC:uw\r
-            \r
-    // xFrac*yFrac*D\r
-    // -----------------\r
-    mac (8)            gwINTERIM_BUF2(0)<1>    r[pREF0,10]<8;4,1>:ub           gCOEFD:uw\r
-    mov (4)            r[pRESULT]<1>:uw                gwINTERIM_BUF2(0)<4;4,1>                {NoDDClr}\r
-       mov (4)         r[pRESULT,16]<1>:uw             gwINTERIM_BUF2(0,4)<4;4,1>              {NoDDChk}\r
-    \r
-//#endif       // !defined(__Interpolate_C_2x2__)\r
diff --git a/i965_drv_video/shaders/h264/mc/interpolate_C_4x4.asm b/i965_drv_video/shaders/h264/mc/interpolate_C_4x4.asm
deleted file mode 100644 (file)
index ea23b11..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*\r
- * Interpolation kernel for chrominance 4x4 motion compensation\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Kernel name: Interpolate_C_4x4_Func.asm\r
-//\r
-//     Interpolation kernel for chrominance 4x4 motion compensation\r
-//\r
-//  $Revision: 8 $\r
-//  $Date: 10/09/06 4:00p $\r
-//\r
-\r
-\r
-//#if !defined(__Interpolate_C_4x4_Func__)             // Make sure this is only included once\r
-//#define __Interpolate_C_4x4_Func__\r
-\r
-\r
-INTERLABEL(Interpolate_C_4x4_Func):\r
-\r
-\r
-       // (8-xFrac) and (8-yFrac)\r
-    add (2)            gW0<1>:w                        gMVX_FRACC<2;2,1>:w                             -0x08:w\r
-\r
-       // Compute the GRF address of the starting position of the reference area\r
-    mov (1)            pREF0:w                         nOFFSET_REFC:w          {NoDDClr}\r
-       mov (1)         pREF1:uw                        nOFFSET_REFC+16:w       {NoDDChk,NoDDClr}\r
-       mov (1)         pRESULT:uw                      gpINTPC:uw                      {NoDDChk}\r
-\r
-       // gCOEFA = (8-xFrac)*(8-yFrac)\r
-    // gCOEFB = xFrac*(8-yFrac)  \r
-    // gCOEFC = (8-xFrac)*yFrac\r
-    // gCOEFD = xFrac*yFrac \r
-    mul (1)            gCOEFD:w                gMVX_FRACC:w                                    gMVY_FRACC:w    {NoDDClr}\r
-    mul (1)            gCOEFA:w                        -gW0:w                                                  -gW1:uw         {NoDDClr,NoDDChk}\r
-    mul (1)            gCOEFB:w                        gMVX_FRACC:w                                    -gW1:uw         {NoDDClr,NoDDChk}\r
-    mul (1)            gCOEFC:w                    -gW0:w                                                      gMVY_FRACC:w {NoDDChk}\r
-\r
-       add (2)         gW0<1>:uw                       pREF0<2;2,1>:uw                                 16:w\r
-\r
-    // (8-xFrac)*(8-yFrac)*A\r
-    // ---------------------\r
-    mul (16)   acc0<1>:uw                      r[pREF0,0]<16;8,1>:ub                   gCOEFA:uw\r
-    mul (16)   acc1<1>:uw                      r[pREF0,nGRFWIB]<16;8,1>:ub             gCOEFA:uw\r
-        \r
-    // xFrac*(8-yFrac)*B\r
-    // -------------------\r
-    mac (16)   acc0<1>:uw          r[pREF0,2]<16;8,1>:ub                       gCOEFB:uw\r
-    mac (16)   acc1<1>:uw          r[pREF0,nGRFWIB+2]<16;8,1>:ub       gCOEFB:uw\r
-\r
-    // (8-xFrac)*yFrac*C\r
-    // -------------------\r
-    mov (2)            pREF0<1>:uw                     gW0<2;2,1>:uw\r
-    mac (16)   acc0<1>:uw          r[pREF0,0]<8,1>:ub                          gCOEFC:uw\r
-    mac (16)   acc1<1>:uw          r[pREF0,nGRFWIB]<8,1>:ub            gCOEFC:uw\r
-            \r
-    // xFrac*yFrac*D\r
-    // -----------------\r
-    mac (16)   r[pRESULT]<1>:uw        r[pREF0,2]<8,1>:ub                              gCOEFD:uw\r
-    mac (16)   r[pRESULT,GRFWIB]<1>:uw r[pREF0,nGRFWIB+2]<8,1>:ub gCOEFD:uw {SecHalf}\r
-\r
-   \r
-//#endif       // !defined(__Interpolate_C_4x4_Func__)\r
diff --git a/i965_drv_video/shaders/h264/mc/interpolate_Y_4x4.asm b/i965_drv_video/shaders/h264/mc/interpolate_Y_4x4.asm
deleted file mode 100644 (file)
index dbb5733..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*\r
- * Interpolation kernel for luminance motion compensation\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Interpolate_Y_4x4.asm\r
-//\r
-// Interpolation kernel for luminance motion compensation\r
-//\r
-//  $Revision: 10 $\r
-//  $Date: 10/09/06 4:00p $\r
-//\r
-\r
-\r
-       // Compute the GRF address of the starting position of the reference area\r
-#if 1\r
-    (-f0.1) mov (1)    pREF:w                  nOFFSET_REF+2+nGRFWIB:w\r
-    (f0.1) mov (1)     pREF:w                  nOFFSET_REF+2:w         \r
-       mov (1)         pRESULT:uw                      gpINTPY:uw                                                                                      \r
-#else\r
-    mov (1)            pREF:w                          nOFFSET_REF+2+nGRFWIB:w {NoDDClr}\r
-       mov (1)         pRESULT:uw                      gpINTPY:uw                              {NoDDChk}\r
-#endif\r
-       \r
-       /*\r
-        *                       |               |\r
-        *               - - 0 1 2 3 + - \r
-        *                       4 5 6 7\r
-        *                       8 9 A B\r
-        *                       C D E F\r
-        *               - - + - - - + -\r
-     *                  |               |\r
-        */\r
-       \r
-       // Case 0\r
-       or.z.f0.1 (16) null:w                   gMVY_FRAC<0;1,0>:w                              gMVX_FRAC<0;1,0>:w      \r
-       (f0.1) mov (4)  r[pRESULT]<1>:uw        r[pREF0]<4;4,1>:ub\r
-       (f0.1) mov (4)  r[pRESULT,16]<1>:uw     r[pREF0,16]<4;4,1>:ub\r
-       (f0.1) mov (4)  r[pRESULT,32]<1>:uw r[pREF0,32]<4;4,1>:ub\r
-       (f0.1) mov (4)  r[pRESULT,48]<1>:uw r[pREF0,48]<4;4,1>:ub\r
-       (f0.1) jmpi INTERLABEL(Exit_Interpolate_Y_4x4)\r
-       \r
-       // Store all address registers\r
-       mov (8)         gpADDR<1>:w                     a0<8;8,1>:w\r
-       \r
-       mul.z.f0.0 (1) gW4:w                    gMVY_FRAC:w                                             gMVX_FRAC:w\r
-       and.nz.f0.1 (1) null                    gW4:w                                                   1:w\r
-\r
-       add (1)         pREF1:uw                        pREF0:uw                                                nGRFWIB/2:uw\r
-       add (2)         pREF2<1>:uw                     pREF0<2;2,1>:uw                                 nGRFWIB:uw\r
-       mov (4)         gW0<1>:uw                       pREF0<4;4,1>:uw\r
-\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_H_4x4)\r
-       (f0.1) jmpi INTERLABEL(Interpolate_Y_H_4x4)     \r
-       \r
-       //-----------------------------------------------------------------------\r
-       // CASE: A69BE (H/V interpolation)\r
-       //-----------------------------------------------------------------------\r
-\r
-       // Compute interim horizontal intepolation \r
-       add (1)         pREF0<1>:uw                     pREF0<0;1,0>:uw                                 -34:w \r
-       add (1)         pREF1<1>:uw                     pREF1<0;1,0>:uw                                 -18:w {NoDDClr}\r
-       mov (1)         pRESD:ud                        nOFFSET_INTERIM4x4_5:ud                         {NoDDChk} // Case 69be\r
-       \r
-       // Check whether this position is 'A'\r
-       cmp.e.f0.0 (1) null                             gW4:w                                                   4:w\r
-\r
-    $for(0;<2;1) {\r
-       add (16)        acc0<1>:w                       r[pREF0,nGRFWIB*2*%1]<16;4,1>:ub                        r[pREF0,nGRFWIB*2*%1+5]<16;4,1>:ub              {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*2*%1+1]<16;4,1>:ub                      -5:w    {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*2*%1+2]<16;4,1>:ub                      20:w    {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*2*%1+3]<16;4,1>:ub                      20:w    {Compr}\r
-       mac (16)        r[pRES,nGRFWIB*%1]<1>:w         r[pREF0,nGRFWIB*2*%1+4]<16;4,1>:ub      -5:w    {Compr}\r
-       }\r
-       // last line\r
-       add (4)         acc0<1>:w                       r[pREF0,nGRFWIB*2*2]<4;4,1>:ub                          r[pREF0,nGRFWIB*2*2+5]<4;4,1>:ub\r
-       mac (4)         acc0<1>:w                       r[pREF0,nGRFWIB*2*2+1]<4;4,1>:ub                        -5:w\r
-       mac (4)         acc0<1>:w                       r[pREF0,nGRFWIB*2*2+2]<4;4,1>:ub                        20:w\r
-       mac (4)         acc0<1>:w                       r[pREF0,nGRFWIB*2*2+3]<4;4,1>:ub                        20:w\r
-       mac (4)         r[pRES,nGRFWIB*2]<1>:w          r[pREF0,nGRFWIB*2*2+4]<4;4,1>:ub        -5:w\r
-       \r
-    // Compute interim/output vertical interpolation \r
-       mov (1)         pREF6D:ud                       nOFFSET_INTERIM4x4_4:ud         {NoDDClr}\r
-       mov (1)         pREF0D:ud                       nOFFSET_INTERIM4x4_7:ud         {NoDDChk,NoDDClr}\r
-       mov (1)         pREF2D:ud                       nOFFSET_INTERIM4x4_8:ud         {NoDDChk,NoDDClr}\r
-       mov (1)         pREF4D:ud                       nOFFSET_INTERIM4x4_9:ud         {NoDDChk}\r
-\r
-       add (16)        acc0<1>:w                       gwINTERIM4x4_BUF(0)<16;16,1>            512:w\r
-       mac (16)        acc0<1>:w                       gwINTERIM4x4_BUF(1)<16;16,1>            -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF6,0]<8,1>:w                               20:w\r
-       \r
-       (f0.0) mov (1) pRES:uw                  nOFFSET_RES:uw                                  // Case a\r
-       (-f0.0) mov (1) pRES:uw                 nOFFSET_INTERIM4x4:uw                           // Case 69be\r
-       \r
-       mac (16)        acc0<1>:w                       r[pREF0,0]<4,1>:w                               -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB]<4,1>:w                 1:w\r
-       mac (16)        acc0<1>:w                       r[pREF2,0]<4,1>:w                               20:w    \r
-       asr.sat (16) r[pRES]<2>:ub              acc0<16;16,1>:w                                 10:w  \r
-       \r
-       (f0.0) jmpi INTERLABEL(Return_Interpolate_Y_4x4)\r
-\r
-INTERLABEL(Interpolate_Y_H_4x4):\r
-       \r
-       cmp.e.f0.0 (1) null                             gMVX_FRAC:w                                             0:w\r
-       cmp.e.f0.1 (1) null                             gMVY_FRAC:w                                             2:w\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_V_4x4)\r
-       (f0.1) jmpi INTERLABEL(Interpolate_Y_V_4x4)\r
-\r
-       //-----------------------------------------------------------------------\r
-       // CASE: 123567DEF (H interpolation)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       add (4)         pREF0<1>:uw                     gW0<4;4,1>:uw                                   -2:w            \r
-       cmp.g.f0.0 (4) null:w                   gMVY_FRAC<0;1,0>:w                              2:w\r
-       cmp.e.f0.1 (1) null                             gMVX_FRAC:w                                             2:w\r
-       (f0.0) add (4) pREF0<1>:uw              pREF0<4;4,1>:uw                                 nGRFWIB/2:uw\r
-       \r
-       cmp.e.f0.0 (1) null:w                   gMVY_FRAC<0;1,0>:w                              0:w\r
-\r
-       (f0.1) mov (1) pRESULT:uw               nOFFSET_RES:uw                                  // Case 26E\r
-       (-f0.1) mov (1) pRESULT:uw              nOFFSET_INTERIM4x4:uw                   // Case 1357DF\r
-       \r
-       // Compute interim/output horizontal interpolation\r
-       add (16)        acc0<1>:w                       r[pREF0]<4,1>:ub                                16:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,1]<4,1>:ub                              -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,2]<4,1>:ub                              20:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,3]<4,1>:ub                              20:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,4]<4,1>:ub                              -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,5]<4,1>:ub                              1:w\r
-       asr.sat (16) r[pRESULT]<2>:ub   acc0<16;16,1>:w                                 5:w\r
-       \r
-       (-f0.1) jmpi INTERLABEL(Interpolate_Y_V_4x4)\r
-       (-f0.0) jmpi INTERLABEL(Average_4x4)\r
-       \r
-       jmpi INTERLABEL(Return_Interpolate_Y_4x4)\r
-\r
-INTERLABEL(Interpolate_Y_V_4x4):\r
-\r
-       cmp.e.f0.0 (1) null                             gMVY_FRAC:w                                             0:w\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_I_4x4)\r
-       \r
-       //-----------------------------------------------------------------------\r
-       // CASE: 48C59D7BF (V interpolation)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       cmp.g.f0.1 (8) null:w                   gMVX_FRAC<0;1,0>:w                              2:w\r
-\r
-       mov (4)         pREF0<1>:uw                     gW0<4;4,1>:uw                                                   {NoDDClr}\r
-       add (4)         pREF4<1>:w                      gW0<4;4,1>:uw                                   16:w    {NoDDChk}\r
-       \r
-       (f0.1) add (8) pREF0<1>:uw              pREF0<4;4,1>:uw                                 1:uw\r
-\r
-       cmp.e.f0.0 (1) null:w                   gMVX_FRAC<0;1,0>:w                              0:w\r
-       cmp.e.f0.1 (1) null                             gMVY_FRAC:w                                             2:w\r
-\r
-       // Compute interim/output vertical interpolation\r
-       add (16)        acc0<1>:w                       r[pREF0,-nGRFWIB]<4,1>:ub               16:w\r
-       mac (16)        acc0<1>:w                       r[pREF0]<4,1>:ub                                20:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB]<4,1>:ub                -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF4,-nGRFWIB]<4,1>:ub               -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF4]<4,1>:ub                                20:w    \r
-       mac (16)        acc0<1>:w                       r[pREF4,nGRFWIB]<4,1>:ub                1:w\r
-       \r
-       mov (1)         pRESULT:uw                      nOFFSET_RES:uw\r
-       (-f0.0) jmpi INTERLABEL(VFILTER_4x4)\r
-       (-f0.1) mov (1) pRESULT:uw              nOFFSET_INTERIM4x4:uw\r
\r
- INTERLABEL(VFILTER_4x4):\r
\r
-       asr.sat (16) r[pRESULT]<2>:ub   acc0<16;16,1>:w                                 5:w\r
-       \r
-       (-f0.0) jmpi INTERLABEL(Average_4x4)\r
-       (f0.1) jmpi INTERLABEL(Return_Interpolate_Y_4x4 )\r
-\r
-INTERLABEL(Interpolate_Y_I_4x4):\r
-\r
-       //-----------------------------------------------------------------------\r
-       // CASE: 134C (Integer position)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       mov (4)         pREF0<1>:uw                     gW0<4;4,1>:uw\r
-               \r
-       cmp.e.f0.0 (4) null:w                   gMVX_FRAC<0;1,0>:w                              3:w\r
-       cmp.e.f0.1 (4) null:w                   gMVY_FRAC<0;1,0>:w                              3:w\r
-       (f0.0) add (4) pREF0<1>:uw              pREF0<4;4,1>:uw                                 1:uw \r
-       (f0.1) add (4) pREF0<1>:uw              pREF0<4;4,1>:uw                                 nGRFWIB/2:uw\r
-       \r
-       mov (16)        guwINTERIM_BUF2(0)<1>   r[pREF0]<4,1>:ub\r
-       \r
-INTERLABEL(Average_4x4):\r
-\r
-       //-----------------------------------------------------------------------\r
-       // CASE: 13456789BCDEF (Average)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       // Average two interim results\r
-       avg.sat (16) gubINTERIM_BUF2(0)<2>      gubINTERIM_BUF2(0)<32;16,2>             gINTERIM4x4<32;16,2>:ub\r
-\r
-INTERLABEL(Return_Interpolate_Y_4x4):\r
-       // Move result\r
-       mov (1)         pRES:uw                         gpINTPY:uw\r
-       mov (4)         r[pRES,0]<2>:ub         gubINTERIM_BUF2(0,0)\r
-       mov (4)         r[pRES,16]<2>:ub        gubINTERIM_BUF2(0,8)\r
-       mov (4)         r[pRES,32]<2>:ub        gubINTERIM_BUF2(0,16)\r
-       mov (4)         r[pRES,48]<2>:ub        gubINTERIM_BUF2(0,24)\r
-\r
-       // Restore all address registers\r
-       mov (8)         a0<1>:w                                 gpADDR<8;8,1>:w\r
-       \r
-INTERLABEL(Exit_Interpolate_Y_4x4):\r
-       \r
-        \r
-// end of file\r
diff --git a/i965_drv_video/shaders/h264/mc/interpolate_Y_8x8.asm b/i965_drv_video/shaders/h264/mc/interpolate_Y_8x8.asm
deleted file mode 100644 (file)
index e7e3ff9..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-/*\r
- * Interpolation kernel for luminance motion compensation\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Interpolate_Y_8x8.asm\r
-//\r
-// Interpolation kernel for luminance motion compensation\r
-//\r
-//  $Revision: 13 $\r
-//  $Date: 10/09/06 4:00p $\r
-//\r
-\r
-\r
-//---------------------------------------------------------------\r
-// In: pMV => Source address of MV\r
-// In: gMVX_FRAC<2;2,1>:w => MV fractional components\r
-// In: f0.1 (1) => If 1, vertical MV is integer\r
-// In: gpINTPY:uw => Destination address for interpolated result\r
-// In: Reference area staring from R43\r
-//             If horizontal/vertical MVs are all integer, 8x8 pixels are on R43~R44 (2 GRFs)\r
-//             If only horz MV is integer, 8x13 pixels are on R43~R46 (4 GRFs)\r
-//             If only vert MV is integer, 13x8 pixels are on R43~R46 (4 GRFs)\r
-//             If no MVs are integer, 13x13 pixels are on R43~R49 (7 GRFs)\r
-//---------------------------------------------------------------\r
-\r
-\r
-INTERLABEL(Interpolate_Y_8x8_Func):\r
-\r
-\r
-\r
-       // Check whether MVX is integer MV\r
-       and.z.f0.0 (1) null:w                   r[pMV,0]<0;1,0>:w                               0x3:w\r
-       (-f0.0) jmpi (1) INTERLABEL(Interpolate_Y_8x8_Func2)\r
-               \r
-       // TODO: remove this back-to-back read - huge latency..\r
-       mov (8) gubREF(6,2)<1>  gubREF(3,0)<8;8,1>\r
-    mov (8)    gubREF(5,18)<1> gubREF(2,24)<8;8,1>             {NoDDClr}\r
-       mov (8) gubREF(5,2)<1>  gubREF(2,16)<8;8,1>             {NoDDChk}\r
-       mov (8) gubREF(4,18)<1> gubREF(2,8)<8;8,1>              {NoDDClr}\r
-       mov (8) gubREF(4,2)<1>  gubREF(2,0)<8;8,1>              {NoDDChk}\r
-       mov (8) gubREF(3,18)<1> gubREF(1,24)<8;8,1>             {NoDDClr}\r
-       mov (8) gubREF(3,2)<1>  gubREF(1,16)<8;8,1>             {NoDDChk}\r
-       mov (8) gubREF(2,18)<1> gubREF(1,8)<8;8,1>              {NoDDClr}\r
-       mov (8) gubREF(2,2)<1>  gubREF(1,0)<8;8,1>              {NoDDChk}\r
-       mov (8) gubREF(1,18)<1> gubREF(0,24)<8;8,1>             {NoDDClr}\r
-       mov (8) gubREF(1,2)<1>  gubREF(0,16)<8;8,1>             {NoDDChk}\r
-       mov (8) gubREF(0,18)<1> gubREF(0,8)<8;8,1>      \r
-    mov (8)    gubREF(0,2)<1>  gubREF(0,0)<8;8,1>\r
-\r
-INTERLABEL(Interpolate_Y_8x8_Func2):\r
-\r
-       // Compute the GRF address of the starting position of the reference area\r
-    (-f0.1) mov (1)    pREF:w                  nOFFSET_REF+2+nGRFWIB:w \r
-    (f0.1) mov (1)     pREF:w                  nOFFSET_REF+2:w                 \r
-       mov (1)         pRESULT:uw                      gpINTPY:uw      \r
-       \r
-       /*\r
-        *                       |               |\r
-        *               - - 0 1 2 3 + - \r
-        *                       4 5 6 7\r
-        *                       8 9 A B\r
-        *                       C D E F\r
-        *               - - + - - - + -\r
-     *                  |               |\r
-        */\r
-       \r
-       // Case 0\r
-       or.z.f0.1 (16) null:w                   gMVY_FRAC<0;1,0>:w                              gMVX_FRAC<0;1,0>:w      \r
-       (f0.1) mov (16) r[pRESULT]<1>:uw                                r[pREF]<16;8,1>:ub\r
-       (f0.1) mov (16) r[pRESULT,nGRFWIB]<1>:uw                r[pREF,nGRFWIB]<16;8,1>:ub\r
-       (f0.1) mov (16) r[pRESULT,nGRFWIB*2]<1>:uw              r[pREF,nGRFWIB*2]<16;8,1>:ub\r
-       (f0.1) mov (16) r[pRESULT,nGRFWIB*3]<1>:uw              r[pREF,nGRFWIB*3]<16;8,1>:ub\r
-       (f0.1) jmpi INTERLABEL(Exit_Interpolate_Y_8x8)\r
-       \r
-       // Store all address registers\r
-       mov (8)         gpADDR<1>:w                     a0<8;8,1>:w\r
-       \r
-       mul.z.f0.0 (1) gW4:w                    gMVY_FRAC:w                                             gMVX_FRAC:w\r
-       add (1)         pREF1:uw                        pREF0:uw                                                nGRFWIB/2:uw\r
-       and.nz.f0.1 (1) null                    gW4:w                                                   1:w\r
-       add (2)         pREF2<1>:uw                     pREF0<2;2,1>:uw                                 nGRFWIB:uw\r
-       mov (4)         gW0<1>:uw                       pREF0<4;4,1>:uw\r
-\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_H_8x8)\r
-       (f0.1) jmpi INTERLABEL(Interpolate_Y_H_8x8)\r
-       \r
-       //-----------------------------------------------------------------------\r
-       // CASE: A69BE (H/V interpolation)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       // Compute interim horizontal intepolation of 12 lines (not 9 lines)\r
-//     add (1)         pREF0<1>:ud                     pREF0<0;1,0>:ud                                 0xffeeffde:ud   // (-18<<16)|(-34)\r
-       add (1)         pREF0<1>:uw                     pREF0<0;1,0>:uw                                 -34:w   \r
-       add (1)         pREF1<1>:uw                     pREF1<0;1,0>:uw                                 -18:w {NoDDClr} \r
-       mov (1)         pRESD:ud                        nOFFSET_INTERIM3:ud                                     {NoDDChk}                       \r
-       \r
-       // Check whether this position is 'A'    \r
-       cmp.e.f0.0 (1) null                             gW4:w                                                   4:w\r
-       \r
-       $for(0;<6;2) {\r
-       add (32)        acc0<1>:w                       r[pREF,nGRFWIB*%1]<16;8,1>:ub                   r[pREF0,nGRFWIB*%1+5]<16;8,1>:ub                {Compr}\r
-       mac (32)        acc0<1>:w                       r[pREF,nGRFWIB*%1+1]<16;8,1>:ub                 -5:w    {Compr}\r
-       mac (32)        acc0<1>:w                       r[pREF,nGRFWIB*%1+2]<16;8,1>:ub                 20:w    {Compr}\r
-       mac (32)        acc0<1>:w                       r[pREF,nGRFWIB*%1+3]<16;8,1>:ub                 20:w    {Compr}\r
-       mac (32)        r[pRES,nGRFWIB*%1]<1>:w         r[pREF,nGRFWIB*%1+4]<16;8,1>:ub -5:w    {Compr}\r
-       }\r
-       // last line\r
-       add (8)         acc0<1>:w                       r[pREF,nGRFWIB*6]<8;8,1>:ub                             r[pREF,nGRFWIB*6+5]<8;8,1>:ub\r
-       mac (8)         acc0<1>:w                       r[pREF,nGRFWIB*6+1]<8;8,1>:ub                   -5:w\r
-       mac (8)         acc0<1>:w                       r[pREF,nGRFWIB*6+2]<8;8,1>:ub                   20:w\r
-       mac (8)         acc0<1>:w                       r[pREF,nGRFWIB*6+3]<8;8,1>:ub                   20:w\r
-       mac (8)         r[pRES,nGRFWIB*6]<1>:w          r[pREF,nGRFWIB*6+4]<8;8,1>:ub   -5:w\r
-\r
-    // Compute interim/output vertical interpolation \r
-    mov (1)            pREF0:ud                        nOFFSET_INTERIM2:ud     {NoDDClr}                       // set pREF0 and pREF1 at the same time\r
-       mov (1)         pREF2D:ud                       nOFFSET_INTERIM4:ud     {NoDDChk,NoDDClr}       // set pREF2 and pREF3 at the same time\r
-       (f0.0) sel (1) pRES:uw                  gpINTPY:uw      nOFFSET_INTERIM:uw {NoDDChk} // Case A vs. 69BE\r
-    \r
-       $for(0;<4;2) {\r
-       add (32)        acc0<1>:w                       r[pREF0,nGRFWIB*%1]<16;16,1>:w                          512:w   {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,nGRFWIB*%1]<8,1>:w                                      -5:w\r
-       mac (16)        acc1<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB]<8,1>:w                      -5:w\r
-       mac (32)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+nGRFWIB]<16;16,1>:w          20:w    {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB]<8,1>:w                      20:w    \r
-       mac (16)        acc1<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB+nGRFWIB]<8,1>:w      20:w    \r
-       mac (32)        acc0<1>:w                       r[pREF0,(2+%1)*nGRFWIB]<16;16,1>:w                      -5:w    {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,(2+%1)*nGRFWIB]<8,1>:w                          1:w\r
-       mac (16)        acc1<1>:w                       r[pREF2,(2+%1)*nGRFWIB+nGRFWIB]<8,1>:w          1:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1]<2>:ub                   acc0<16;16,1>:w                         10:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1+nGRFWIB]<2>:ub   acc1<16;16,1>:w                         10:w {SecHalf}\r
-       }\r
-       \r
-       (f0.0) jmpi INTERLABEL(Return_Interpolate_Y_8x8)\r
-       \r
-INTERLABEL(Interpolate_Y_H_8x8):\r
-       \r
-       cmp.e.f0.0 (1) null                             gMVX_FRAC:w                                             0:w\r
-       cmp.e.f0.1 (1) null                             gMVY_FRAC:w                                             2:w\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_V_8x8)\r
-       (f0.1) jmpi INTERLABEL(Interpolate_Y_V_8x8)\r
-       \r
-       //-----------------------------------------------------------------------\r
-       // CASE: 123567DEF (H interpolation)\r
-       //-----------------------------------------------------------------------\r
-\r
-       add (4)         pREF0<1>:uw                     gW0<4;4,1>:uw                                   -2:w            \r
-       cmp.g.f0.0 (4) null:w                   gMVY_FRAC<0;1,0>:w                              2:w\r
-       cmp.e.f0.1 (1) null                             gMVX_FRAC:w                                             2:w\r
-       (f0.0) add (4) pREF0<1>:uw              pREF0<4;4,1>:uw                                 nGRFWIB/2:uw\r
-\r
-       cmp.e.f0.0 (1) null:w                   gMVY_FRAC<0;1,0>:w                              0:w\r
-\r
-       (f0.1) sel (1) pRES:uw                  gpINTPY:uw                                              nOFFSET_INTERIM:uw // Case 26E vs. 1357DF\r
-       \r
-       // Compute interim/output horizontal interpolation\r
-       $for(0;<4;2) {\r
-       add (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1]<8,1>:ub                             16:w\r
-       add (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+nGRFWIB]<8,1>:ub             16:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+1]<8,1>:ub                   -5:w\r
-       mac (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+1+nGRFWIB]<8,1>:ub   -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+2]<8,1>:ub                   20:w\r
-       mac (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+2+nGRFWIB]<8,1>:ub   20:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+3]<8,1>:ub                   20:w\r
-       mac (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+3+nGRFWIB]<8,1>:ub   20:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+4]<8,1>:ub                   -5:w\r
-       mac (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+4+nGRFWIB]<8,1>:ub   -5:w\r
-       mac (16)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+5]<8,1>:ub                   1:w\r
-       mac (16)        acc1<1>:w                       r[pREF0,nGRFWIB*%1+5+nGRFWIB]<8,1>:ub   1:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1]<2>:ub                   acc0<16;16,1>:w         5:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1+nGRFWIB]<2>:ub   acc1<16;16,1>:w         5:w {SecHalf}\r
-    }\r
-    \r
-    (-f0.1) jmpi INTERLABEL(Interpolate_Y_V_8x8)\r
-       (-f0.0) jmpi INTERLABEL(Average_8x8)\r
-       \r
-       jmpi INTERLABEL(Return_Interpolate_Y_8x8)\r
-\r
-INTERLABEL(Interpolate_Y_V_8x8):\r
-\r
-       cmp.e.f0.0 (1) null                             gMVY_FRAC:w                                             0:w\r
-       (f0.0) jmpi INTERLABEL(Interpolate_Y_I_8x8)\r
-       \r
-       //-----------------------------------------------------------------------\r
-       // CASE: 48C59D7BF (V interpolation)\r
-       //-----------------------------------------------------------------------\r
-\r
-       mov (2)         pREF0<1>:uw                     gW0<4;2,2>:uw   {NoDDClr}\r
-       mov (2)         pREF2<1>:uw                     gW1<2;2,1>:uw   {NoDDChk,NoDDClr}\r
-       mov (1)         pRES:uw                         gpINTPY:uw              {NoDDChk}\r
-\r
-       cmp.g.f0.1 (4) null:w                   gMVX_FRAC<0;1,0>:w                              2:w\r
-       cmp.e.f0.0 (1) null:w                   gMVX_FRAC<0;1,0>:w                              0:w\r
-       (f0.1) add (4) pREF0<1>:uw              pREF0<4;4,1>:uw                                 1:uw\r
-\r
-       cmp.e.f0.1 (1) null                             gMVY_FRAC:w                                             2:w\r
-       (-f0.0) jmpi INTERLABEL(VFILTER_8x8)\r
-       (-f0.1) mov (1) pRES:uw         nOFFSET_INTERIM:uw\r
-       \r
-  INTERLABEL(VFILTER_8x8): \r
-\r
-       // Compute interim/output vertical interpolation\r
-       $for(0;<4;2) {\r
-       add (32)        acc0<1>:w                       r[pREF0,nGRFWIB*%1-nGRFWIB]<16;8,1>:ub                  16:w {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,nGRFWIB*%1-nGRFWIB]<8,1>:ub                             -5:w\r
-       mac (16)        acc1<1>:w                       r[pREF2,nGRFWIB*%1]<8,1>:ub                                             -5:w\r
-       mac (32)        acc0<1>:w                       r[pREF0,nGRFWIB*%1]<16;8,1>:ub                                  20:w {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,nGRFWIB*%1]<8,1>:ub                                             20:w    \r
-       mac (16)        acc1<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB]<8,1>:ub                             20:w    \r
-       mac (32)        acc0<1>:w                       r[pREF0,nGRFWIB*%1+nGRFWIB]<16;8,1>:ub                  -5:w {Compr}\r
-       mac (16)        acc0<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB]<8,1>:ub                             1:w\r
-       mac (16)        acc1<1>:w                       r[pREF2,nGRFWIB*%1+nGRFWIB+nGRFWIB]<8,1>:ub             1:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1]<2>:ub                   acc0<16;16,1>:w                                 5:w\r
-       asr.sat (16) r[pRES,nGRFWIB*%1+nGRFWIB]<2>:ub   acc1<16;16,1>:w                                 5:w     {SecHalf}\r
-       }\r
-\r
-       (-f0.0) jmpi INTERLABEL(Average_8x8)\r
-       (f0.1) jmpi INTERLABEL(Return_Interpolate_Y_8x8)\r
-\r
-INTERLABEL(Interpolate_Y_I_8x8):\r
-\r
-       //-----------------------------------------------------------------------\r
-       // CASE: 134C (Integer position)\r
-       //-----------------------------------------------------------------------\r
-       \r
-       mov (2)         pREF0<1>:uw                     gW0<2;2,1>:uw           {NoDDClr}\r
-                       \r
-       mov (1)         pRES:uw                         gpINTPY:uw                      {NoDDChk}\r
-\r
-       cmp.e.f0.0 (2) null:w                   gMVX_FRAC<0;1,0>:w                              3:w\r
-       cmp.e.f0.1 (2) null:w                   gMVY_FRAC<0;1,0>:w                              3:w\r
-       (f0.0) add (2) pREF0<1>:uw              pREF0<2;2,1>:uw                                 1:uw \r
-       (f0.1) add (2) pREF0<1>:uw              pREF0<2;2,1>:uw                                 nGRFWIB/2:uw\r
-       \r
-       mov (16)        r[pRES]<1>:uw                   r[pREF0]<8,1>:ub\r
-       mov (16)        r[pRES,nGRFWIB]<1>:uw   r[pREF0,nGRFWIB]<8,1>:ub\r
-       mov (16)        r[pRES,nGRFWIB*2]<1>:uw r[pREF0,nGRFWIB*2]<8,1>:ub\r
-       mov (16)        r[pRES,nGRFWIB*3]<1>:uw r[pREF0,nGRFWIB*3]<8,1>:ub\r
-       \r
-INTERLABEL(Average_8x8):\r
-\r
-       //-----------------------------------------------------------------------\r
-       // CASE: 13456789BCDEF (Average)\r
-       //-----------------------------------------------------------------------\r
-\r
-       // Average two interim results\r
-       avg.sat (16) r[pRES,0]<2>:ub                    r[pRES,0]<32;16,2>:ub                   gubINTERIM_BUF(0)       \r
-       avg.sat (16) r[pRES,nGRFWIB]<2>:ub              r[pRES,nGRFWIB]<32;16,2>:ub             gubINTERIM_BUF(1)       \r
-       avg.sat (16) r[pRES,nGRFWIB*2]<2>:ub    r[pRES,nGRFWIB*2]<32;16,2>:ub   gubINTERIM_BUF(2)       \r
-       avg.sat (16) r[pRES,nGRFWIB*3]<2>:ub    r[pRES,nGRFWIB*3]<32;16,2>:ub   gubINTERIM_BUF(3)       \r
-\r
-INTERLABEL(Return_Interpolate_Y_8x8):\r
-       // Restore all address registers\r
-       mov (8)         a0<1>:w                                 gpADDR<8;8,1>:w\r
-       \r
-INTERLABEL(Exit_Interpolate_Y_8x8):\r
-               \r
-// end of file\r
diff --git a/i965_drv_video/shaders/h264/mc/intra_Header.inc b/i965_drv_video/shaders/h264/mc/intra_Header.inc
deleted file mode 100644 (file)
index 501c7a8..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/*\r
- * Header file for all AVC intra prediction kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__INTRA_HEADER__) // Make sure this file is only included once\r
-#define __INTRA_HEADER__\r
-\r
-// Module name: intra_header.inc\r
-//\r
-// Header file for all AVC intra prediction kernels\r
-//\r
-//     This header file defines everything that's specific to intra macroblock kernels\r
-\r
-\r
-//  ----------- Various data buffers and pointers ------------\r
-//\r
-//     I_PCM data buffer\r
-//\r
-#define                I_PCM_BUF_Y                     4\r
-#define                I_PCM_BUF_UV            12\r
-\r
-#define                REG_I_PCM_BUF_Y         r4\r
-#define                REG_I_PCM_BUF_UV        r12\r
-\r
-.declare    I_PCM_Y  Base=REG_I_PCM_BUF_Y  ElementSize=1 SrcRegion=REGION(16,1) Type=ub        // 8-bit I_PCM Y data\r
-.declare    I_PCM_UV Base=REG_I_PCM_BUF_UV ElementSize=1 SrcRegion=REGION(16,1) Type=ub        // 8-bit I_PCM U/V data\r
-\r
-//     Intra macroblock error data blocks\r
-//\r
-#define            ERRBUF              4               // Starting GRF index for error data\r
-#define                REG_ERRBUF      r4\r
-.declare    MBBLOCKW Base=REG_ERRBUF ElementSize=2 SrcRegion=REGION(16,1) Type=w       // For 16-bit inter MB\r
-.declare    MBBLOCKD Base=REG_ERRBUF ElementSize=2 SrcRegion=REGION(16,1) Type=uw      // For use in "send" command\r
-\r
-#define            PERROR              a0.2    // Pointer to macroblock error data\r
-#define            PERROR1             a0.3    // Pointer to macroblock error data used by instruction compression\r
-#define            PERROR_UD   a0.1    // Pointer to macroblock error data in DWORD unit\r
-\r
-//     Intra macroblock reference data\r
-//\r
-#define                REG_INTRA_REF_TOP       r49             // Must be an odd numbered GRF register\r
-.declare    INTRA_REF_TOP0             Base=REG_INTRA_REF_TOP   ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    INTRA_REF_TOP              Base=REG_INTRA_REF_TOP.4 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-                                                                               // Actual top row reference data start at offset 4 in BYTE\r
-.declare    INTRA_REF_TOP_W            Base=REG_INTRA_REF_TOP.2 ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-                                                                               // Actual top row reference data start at offset 2 in WORD\r
-.declare    INTRA_REF_TOP_D            Base=REG_INTRA_REF_TOP ElementSize=4 DstRegion=<1> Type=ud      // Only used in "send" instruction\r
-\r
-#define                INTRA_REF_LEFT_ID       50\r
-#define                REG_INTRA_REF_LEFT      r50\r
-.declare    INTRA_REF_LEFT0            Base=REG_INTRA_REF_LEFT ElementSize=1 SrcRegion=REGION(8,4) Type=ub\r
-.declare    INTRA_REF_LEFT             Base=REG_INTRA_REF_LEFT.3 ElementSize=1 SrcRegion=REGION(8,4) Type=ub\r
-                                                                               // Actual left column reference data are located at offset 3 in BYTE\r
-.declare    INTRA_REF_LEFT_UV  Base=REG_INTRA_REF_LEFT.2 ElementSize=1 SrcRegion=REGION(8,4) Type=ub\r
-                                                                               // Actual left column U/V reference data are located at offset 2 in BYTE\r
-.declare    INTRA_REF_LEFT_W   Base=REG_INTRA_REF_LEFT.1 ElementSize=2 SrcRegion=REGION(8,2) Type=uw\r
-                                                                               // Actual left column reference data are located at offset 1 in WORD\r
-.declare    INTRA_REF_LEFT_D   Base=REG_INTRA_REF_LEFT ElementSize=4 DstRegion=<1> Type=ud     // Only used in "send" instruction\r
-\r
-#define                PREF_LEFT               a0.4    // Pointer to left reference data\r
-#define                PREF_LEFT_UD    a0.2    // Pointer in DWORD to left reference data\r
-\r
-#define                INTRA_TEMP_0    52\r
-#define                INTRA_TEMP_1    53\r
-#define                INTRA_TEMP_2    54\r
-#define                INTRA_TEMP_3    55\r
-#define                INTRA_TEMP_4    56\r
-#define                INTRA_TEMP_5    57\r
-#define                INTRA_TEMP_6    58\r
-\r
-#define                REG_INTRA_TEMP_0        r52\r
-#define                REG_INTRA_TEMP_1        r53\r
-#define                REG_INTRA_TEMP_2        r54\r
-#define                REG_INTRA_TEMP_3        r55\r
-#define                REG_INTRA_TEMP_4        r56\r
-#define                REG_INTRA_TEMP_5        r57\r
-#define                REG_INTRA_TEMP_6        r58\r
-#define                REG_INTRA_TEMP_7        r59\r
-#define                REG_INTRA_TEMP_8        r60\r
-\r
-// Destination registers for write commit\r
-#define                REG_WRITE_COMMIT_Y      r60.0\r
-#define                REG_WRITE_COMMIT_UV     r61.0\r
-\r
-//  ----------- Various data buffers and pointers ------------\r
-//  R32 - R47 for predicted picture buffer (for both Y and U/V blocks)\r
-//\r
-#define            PREDBUF             32              // Starting GRF index for predicted buffer\r
-#define                REG_PREDBUF     r32\r
-\r
-.declare    PRED_Y             Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted Y picture\r
-.declare    PRED_YW            Base=REG_PREDBUF ElementSize=2 SrcRegion=REGION(16,1) Type=uw   // Predicted Y picture stored in WORD\r
-.declare    PRED_Y_FM  Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted Y picture frame\r
-.declare    PRED_Y_TF  Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted Y picture Top field\r
-\r
-.declare    PRED_UV            Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted U/V picture\r
-.declare    PRED_UVW   Base=REG_PREDBUF ElementSize=2 SrcRegion=REGION(16,1) Type=uw   // Predicted U/V picture stored in WORD\r
-.declare    PRED_UV_FM Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted U/V picture frame\r
-.declare    PRED_UV_TF Base=REG_PREDBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Predicted U/V picture top field\r
-.declare    PRED_UV_BF Base=REG_PREDBUF.16 ElementSize=1 SrcRegion=REGION(16,1) Type=ub        // Predicted U/V picture bottom field\r
-\r
-//  The same region will also be used as finally decoded Y blocks shared with U/V blocks\r
-//\r
-#define            DECBUF              32\r
-#define                REG_DECBUF      r32\r
-.declare    DEC_Y              Base=REG_DECBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // Decoded Y picture\r
-.declare    DEC_UV             Base=REG_DECBUF ElementSize=1 SrcRegion=REGION(16,1) Type=ub    // Decoded U/V P-/B-picture\r
-.declare    DEC_UD             Base=REG_DECBUF ElementSize=4 SrcRegion=REGION(8,1) Type=ud             // Decoded buffer in UD type\r
-\r
-//     Reference buffer for intra_NxN prediction\r
-//\r
-#define                PRED_MODE       REG_INTRA_TEMP_0\r
-.declare    REF_TOP0   Base=REG_INTRA_TEMP_5   ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    REF_TOP            Base=REG_INTRA_TEMP_5.4 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-                                                                       // Actual top reference data start from offset 3,i.e. p[-1,-1]\r
-.declare    REF_TOP_W  Base=REG_INTRA_TEMP_5 ElementSize=2 SrcRegion=REGION(16,1) Type=uw\r
-.declare    REF_TOP_D  Base=REG_INTRA_TEMP_5 ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-.declare    REF_LEFT   Base=REG_INTRA_TEMP_6 ElementSize=1 SrcRegion=REGION(16,1) Type=ub\r
-.declare    REF_LEFT_D Base=REG_INTRA_TEMP_6 ElementSize=4 SrcRegion=REGION(8,1) Type=ud\r
-\r
-// For intra prediction plane mode\r
-//\r
-.declare    H1 Base=REG_INTRA_TEMP_0 ElementSize=2 SrcRegion=REGION(8,1) Type=w        // Make sure it's an even GRF\r
-.declare    H2 Base=REG_INTRA_TEMP_0.8 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-.declare    V1 Base=REG_INTRA_TEMP_1 ElementSize=2 SrcRegion=REGION(8,1) Type=w        // Make sure it's the following odd GRF\r
-.declare    V2 Base=REG_INTRA_TEMP_1.8 ElementSize=2 SrcRegion=REGION(8,1) Type=w\r
-\r
-.declare       CP      Base=REG_INTRA_TEMP_2 ElementSize=2 SrcRegion=REGION(16,1) Type=w\r
-\r
-#define                PINTRAPRED_Y    a0.7    // Used as luma intra prediction mode pointer\r
-#define                PINTRAPRED_UV   a0.7    // Used as chroma intra prediction mode pointer\r
-#define                PINTRA4X4_Y             a0.4    // Used as luma intra_4x4 prediction mode pointer\r
-\r
-#define                PBWDCOPY_4              a0.4    // a0.4 - a0.7 used in intra_4x4 prediction for moving data backward\r
-#define                PBWDCOPY_8              a0.6    // a0.6 - a0.7 used in intra_8x8 prediction for moving data backward\r
-\r
-// For Intra_4x4 prediction mode\r
-//\r
-.declare    INTRA_4X4_MODE     Base=REG_INTRA_TEMP_1 ElementSize=4 SrcRegion=REGION(1,0) DstRegion=<1> Type=d  // Actually only need 1 DWORD\r
-\r
-//  ----------- Intra CURBE constants ------------\r
-//\r
-#define                REG_CURBE1      r1\r
-#define                REG_CURBE2      r2\r
-#define                INTRA_4X4_OFFSET        1*GRFWIB                // 9 Bytes\r
-#define                INTRA_8X8_OFFSET        1*GRFWIB+12             // 9 Bytes starting sub-register r1.3:ud\r
-#define                INTRA_16X16_OFFSET      1*GRFWIB+24             // 4 Bytes starting sub-register r1.6:ud\r
-#define                INTRA_CHROMA_OFFSET     1*GRFWIB+28             // 4 Bytes starting sub-register r1.7:ud\r
-\r
-#define                TOP_REF_OFFSET          REG_CURBE1.10   // r1.5:w\r
-\r
-//     Constants used in plane intra prediction mode\r
-#define                XY_3    REG_CURBE2.4    // Stored BYTE constants x-3 for x=0...7, i.e. -3,-2,...3,4 for U/V, need duplicate to every other byte\r
-#define                XY_3_1  REG_CURBE2.5    // Stored BYTE constants x-3 for x=0...7, i.e. -3,-2,...3,4 for 2nd instruction in {Comp}\r
-#define                XY_7    REG_CURBE2.0    // Stored BYTE constants x-7 for x=0...15, i.e. -7,-6,...7,8 for Y\r
-#define                XY_7_1  REG_CURBE2.1    // Stored BYTE constants x-7 for x=0...15, i.e. -7,-6,...7,8 for 2nd instruction in {Comp}\r
-\r
-#define                INV_SHIFT       REG_CURBE2.16\r
-\r
-#define                INV_TRANS4      REG_CURBE2.20   // For reverse data transfer for intra_4x4 (0x00020406)\r
-#define                INV_TRANS48     REG_CURBE2.22   // For reverse data transfer for intra_4x4 (0x0002)\r
-#define                INV_TRANS8      REG_CURBE1.22   // For reverse data transfer for intra_8x8 (0x0001)\r
-\r
-#define                INTRA_MODE      REG_CURBE2.24   // Offset to intra_Pred_4x4_Y from each sub-block\r
-\r
-//  ----------- In-line parameters ------------\r
-//\r
-#define REG_INLINE     r3\r
-\r
-#define INLINE_DW0     REG_INLINE.0<0;1,0>:ud\r
-#define INLINE_DW1     REG_INLINE.1<0;1,0>:ud\r
-#define INLINE_DW2     REG_INLINE.2<0;1,0>:ud\r
-#define INLINE_DW3     REG_INLINE.3<0;1,0>:ud\r
-#define INLINE_DW4     REG_INLINE.4<0;1,0>:ud\r
-#define INLINE_DW5     REG_INLINE.5<0;1,0>:ud\r
-#define INLINE_DW6     REG_INLINE.6<0;1,0>:ud\r
-#define INLINE_DW7     REG_INLINE.7<0;1,0>:ud\r
-\r
-//     Intra macroblock in-line data\r
-//\r
-//     In-line DWORD 0\r
-#define REG_MBAFF_FIELD                                REG_INLINE.1    // :uw, can be added directly to lower-word of MSGDSC\r
-#define MBAFF_FIELD                                    BIT26+BIT25             // Bits 26:25 - MBAFF field macroblock flag\r
-                                                                                                       //  00 = Current macroblock is not an MBAFF field macroblock\r
-                                                                                                       //  11 = Current macroblock is an MBAFF field macroblock\r
-\r
-#define REG_FIELD_PARITY                       INLINE_DW0\r
-#define FIELD_PARITY                           BIT24                   // Bit 24 - Macroblock field parity flag\r
-                                                                                                       //  0 = Current field is a top field\r
-                                                                                                       //  1 = Current field is a bottom field\r
-\r
-#define REG_FIELD_MACROBLOCK_FLAG      INLINE_DW0\r
-#define FIELD_MACROBLOCK_FLAG          BIT14                   // Bit 14 - Field macroblock flag\r
-                                                                                                       //  0 = Current macroblock is not a field macroblock\r
-                                                                                                       //  1 = Current macroblock is a field macroblock\r
-#define REG_MACROBLOCK_TYPE                    INLINE_DW0\r
-#define MACROBLOCK_TYPE                                BIT12+BIT11+BIT10+BIT9+BIT8             // Bit 12:8 - Intra macroblock flag\r
-\r
-#define REG_CHROMA_FORMAT_IDC          INLINE_DW0\r
-#define CHROMA_FORMAT_IDC                      BIT3+BIT2               // Bit 3:2 - Chroma format\r
-                                                                                                       // 00 = Luma only (Monochrome)\r
-                                                                                                       // 01 = YUV420\r
-                                                                                                       // 10 = YUV422\r
-                                                                                                       // 11 = YUV444\r
-#define        REG_MBAFF_PIC                           INLINE_DW0\r
-#define MBAFF_PIC                                      BIT1                    // Bit 1 - MBAFF Frame picture\r
-                                                                                                       // 0 = Not an MBAFF frame picture\r
-                                                                                                       // 1 = An MBAFF frame picture\r
-#define REG_INTRA_PRED_8X8_BLK2_AVAIL_FLAG     INLINE_DW0\r
-#define INTRA_PRED_8X8_BLK2_AVAIL_FLAG BIT4            // Bit 4: Pixel available for block 2 in an intra_8x8 MB.\r
-\r
-//     In-line DWORD 1\r
-#define ORIX                   REG_INLINE.4    // :ub, H. origin of the macroblock in macroblock unit\r
-#define ORIY                   REG_INLINE.5    // :ub, V. origin of the macroblock in macroblock unit\r
-\r
-//     In-line DWORD 2\r
-#define        REG_CBPCYB                                      REG_INLINE.9    // :ub, Coded block pattern\r
-#define        REG_CBPCY                                       INLINE_DW2              // Bits 13:8 - Coded block pattern\r
-                                                                                                       // reflect Y0, Y1, Y2, Y3, Cb4, Cr5\r
-                                                                                                       // Bit 13 - Y0\r
-                                                                                                       // Bit 12 - Y1\r
-                                                                                                       // Bit 11 - Y2\r
-                                                                                                       // Bit 10 - Y3\r
-                                                                                                       // Bit 9 - U4\r
-                                                                                                       // Bit 8 - V5\r
-#define CBP_MASK                                       0x3F00:ud               // Bit mask for all CBP bits\r
-#define CBP_Y_MASK                                     0x3C00:ud               // Bit mask for CBP Y bits\r
-#define CBP_UV_MASK                                    0x0300:ud               // Bit mask for CBP U/V bits\r
-\r
-#define CBP_Y0_MASK                                    BIT13:ud                // Bit mask for CBP Y0 bit\r
-#define CBP_Y1_MASK                                    BIT12:ud                // Bit mask for CBP Y1 bit\r
-#define CBP_Y2_MASK                                    BIT11:ud                // Bit mask for CBP Y2 bit\r
-#define CBP_Y3_MASK                                    BIT10:ud                // Bit mask for CBP Y3 bit\r
-#define CBP_U_MASK                                     BIT9:ud                 // Bit mask for CBP U bit\r
-#define CBP_V_MASK                                     BIT8:ud                 // Bit mask for CBP V bit\r
-\r
-//     In-line DWORD 3\r
-#define REG_INTRA_CHROMA_PRED_MODE     REG_INLINE.12   // :ub - Intra chroma prediction mode\r
-#define INTRA_CHROMA_PRED_MODE         BIT7+BIT6               // Bit 7:6 - Intra chroma prediction mode\r
-                                                                                                       // 00 = Intra DC prediction\r
-                                                                                                       // 01 = Intra horizontal prediction\r
-                                                                                                       // 10 = Intra vertical prediction\r
-                                                                                                       // 11 = Intra plane prediction\r
-#define INTRA_CHROMA_PRED_MODE_SHIFT   6                       // Intra chroma prediction mode shift\r
-\r
-#define REG_INTRA_PRED_AVAIL_FLAG      INLINE_DW3\r
-#define INTRA_PRED_AVAIL_FLAG          BIT4+BIT3+BIT2+BIT1+BIT0        // Bits 4:0 - Intra prediction available flag\r
-                                                                                                       // Bit 0: Macroblock A (the left neighbor) entire or top half\r
-                                                                                                       // Bit 1: Macroblock B (the upper neighbor)\r
-                                                                                                       // Bit 2: Macroblock C (the above-right neighbor)\r
-                                                                                                       // Bit 3: Macroblock D (the above-left neighbor)\r
-                                                                                                       // Bit 4: Macroblock A (the left neighbor) bottom half\r
-                                                                                                       // Each bit is defined below\r
-                                                                                                       // 0 = The macroblock is not available for intra prediction\r
-                                                                                                       // 1 = The macroblock is available for intra prediction\r
-#define INTRA_PRED_LEFT_TH_AVAIL_FLAG  BIT0            // Bit 0: Macroblock A (the left neighbor) entire or top half\r
-#define INTRA_PRED_UP_AVAIL_FLAG               BIT1            // Bit 1: Macroblock B (the upper neighbor)\r
-#define INTRA_PRED_UP_RIGHT_AVAIL_FLAG BIT2            // Bit 2: Macroblock C (the above-right neighbor)\r
-#define INTRA_PRED_UP_LEFT_AVAIL_FLAG  BIT3            // Bit 3: Macroblock D (the above-left neighbor)\r
-#define INTRA_PRED_LEFT_BH_AVAIL_FLAG  BIT4            // Bit 4: Macroblock A (the left neighbor) bottom half\r
-//#define INTRA_PRED_8X8_BLK2_AVAIL_FLAG       BIT5            // Bit 5: Pixel available for block 2 in an intra_8x8 MB.\r
-#define REG_INTRA_PRED_AVAIL_FLAG_BYTE REG_INLINE.12   // Byte location of Intra_Pred_Avail_Flag\r
-#define REG_INTRA_PRED_AVAIL_FLAG_WORD REG_INLINE.6    // Word location of Intra_Pred_Avail_Flag\r
-\r
-\r
-.declare    INTRA_PRED_MODE  Base=REG_INLINE.16 ElementSize=1 SrcRegion=REGION(16,1) Type=ub   // Intra prediction mode\r
-\r
-// End of intra_header.inc\r
-\r
-#endif // !defined(__INTRA_HEADER__)\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/intra_Pred_4x4_Y_4.asm b/i965_drv_video/shaders/h264/mc/intra_Pred_4x4_Y_4.asm
deleted file mode 100644 (file)
index 584d012..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-/*\r
- * Intra predict 4 Intra_4x4 luma blocks\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__INTRA_PRED_4X4_Y_4__)           // Make sure this is only included once\r
-#define __INTRA_PRED_4X4_Y_4__\r
-\r
-// Module name: intra_Pred_4x4_Y_4.asm\r
-//\r
-// Intra predict 4 Intra_4x4 luma blocks\r
-//\r
-//--------------------------------------------------------------------------\r
-//  Input data:\r
-//\r
-//  REF_TOP:   Top reference data stored in BYTE with p[-1,-1] at REF_TOP(0,-1)\r
-//  REF_LEFT:  Left reference data stored in BYTE with p[-1,0] at REF_LEFT(0,0)\r
-//     PRED_MODE:      Intra prediction mode stored in 4 words (4 LSB)\r
-//     REG_INTRA_PRED_AVAIL:   Top/Left available flag, (Bit0: Left, Bit1: Top)\r
-//\r
-//--------------------------------------------------------------------------\r
-\r
-#undef INTRA_PRED_AVAIL\r
-#undef INTRA_REF\r
-#undef REF_LEFT_BACK\r
-#undef REF_TMP\r
-#undef REF_TMP1\r
-\r
-#define        INTRA_PRED_AVAIL        REG_INTRA_TEMP_2.8\r
-#define INTRA_REF                      REG_INTRA_TEMP_2\r
-#define        REF_LEFT_BACK           REG_INTRA_TEMP_8\r
-#define        REF_TMP                         REG_INTRA_TEMP_3\r
-#define REF_TMP1                       REG_INTRA_TEMP_4\r
-\r
-intra_Pred_4x4_Y_4:\r
-\r
-       mov     (8)             REF_LEFT_BACK<1>:ub     REF_LEFT(0)REGION(8,1)  // Store left referece data\r
-//     Set up pointers to each intra_4x4 prediction mode\r
-//\r
-       and     (4)             PINTRA4X4_Y<1>:w        PRED_MODE<4;4,1>:w      0x0F:w\r
-       add (4)         INTRA_4X4_MODE(0)       r[PINTRA4X4_Y, INTRA_4X4_OFFSET]<1,0>:ub        INTRA_MODE<4;4,1>:ub\r
-\r
-//     Sub-block 0 *****************\r
-       mov (1)         INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w           // Top/Left neighbor available flags\r
-       CALL_1(INTRA_4X4_MODE(0),1)\r
-\r
-//     Add error data to predicted intra data\r
-ADD_ERROR_SB0:\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK0]<2>:ub r[PERROR,ERRBLK0]<8;4,1>:w              REG_INTRA_4X4_PRED<8;8,1>:w             // Too bad indexed src can't\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK0+16]<2>:ub      r[PERROR,ERRBLK0+32]<8;4,1>:w   REG_INTRA_4X4_PRED.8<8;8,1>:w   // cross 2 GRFs\r
-\r
-//     Sub-block 1 *****************\r
-       mov     (16)    REF_TOP0(0)<1>  REF_TOP0(0,4)REGION(8,1)                // Top reference data\r
-       mov     (4)             REF_LEFT(0)<1>  r[PPREDBUF_Y,PREDSUBBLK0+6]<8;1,0>:ub   // New left referece data from sub-block 0\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w   1:w             // Left neighbor is available\r
-       CALL_1(INTRA_4X4_MODE(0,1),1)\r
-\r
-//     Add error data to predicted intra data\r
-ADD_ERROR_SB1:\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK1]<2>:ub r[PERROR,ERRBLK1]<8;4,1>:w              REG_INTRA_4X4_PRED<8;8,1>:w             // Too bad indexed src can't\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK1+16]<2>:ub      r[PERROR,ERRBLK1+32]<8;4,1>:w   REG_INTRA_4X4_PRED.8<8;8,1>:w   // cross 2 GRFs\r
-\r
-//     Sub-block 2 *****************\r
-       mov     (1)             REF_TOP0(0,3)<1>        REF_LEFT_BACK.3<0;1,0>:ub               // Top-left reference data from stored left referece data\r
-       mov     (4)             REF_TOP0(0,4)<1>        r[PPREDBUF_Y,PREDSUBBLK0+24]REGION(4,2):ub      // Top reference data\r
-       mov     (4)             REF_TOP0(0,8)<1>        r[PPREDBUF_Y,PREDSUBBLK0+24+32]REGION(4,2):ub   // Too bad indexed src can't cross 2 GRFs\r
-       mov     (4)             REF_TOP0(0,12)<1>       r[PPREDBUF_Y,PREDSUBBLK0+30+32]REGION(1,0):ub   // Extended top-right reference data\r
-       mov     (4)             REF_LEFT(0)<1>          REF_LEFT_BACK.4<4;4,1>:ub       // From stored left referece data\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w   2:w             // Top neighbor is available\r
-       CALL_1(INTRA_4X4_MODE(0,2),1)\r
-\r
-//     Add error data to predicted intra data\r
-ADD_ERROR_SB2:\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK2]<2>:ub r[PERROR,ERRBLK2]<8;4,1>:w              REG_INTRA_4X4_PRED<8;8,1>:w             // Too bad indexed src can't\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK2+16]<2>:ub      r[PERROR,ERRBLK2+32]<8;4,1>:w   REG_INTRA_4X4_PRED.8<8;8,1>:w   // cross 2 GRFs\r
-\r
-//     Sub-block 3 *****************\r
-       mov     (16)    REF_TOP0(0)<1>          REF_TOP0(0,4)REGION(8,1)        // Top reference data\r
-       mov     (8)             REF_TOP0(0,8)<1>        REF_TOP0(0,7)<0;1,0>    // Extended top-right reference data\r
-       mov     (4)             REF_LEFT(0)<1>  r[PPREDBUF_Y,PREDSUBBLK2+6]<8;1,0>:ub   // Left referece data from sub-block 0\r
-       or (1)          INTRA_PRED_AVAIL<1>:w   REG_INTRA_PRED_AVAIL<0;1,0>:w   3:w             // Top/Left neighbor are available\r
-       CALL_1(INTRA_4X4_MODE(0,3),1)\r
-\r
-//     Add error data to predicted intra data\r
-ADD_ERROR_SB3:\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK3]<2>:ub r[PERROR,ERRBLK3]<8;4,1>:w              REG_INTRA_4X4_PRED<8;8,1>:w             // Too bad indexed src can't\r
-       add.sat (8)     r[PPREDBUF_Y,PREDSUBBLK3+16]<2>:ub      r[PERROR,ERRBLK3+32]<8;4,1>:w   REG_INTRA_4X4_PRED.8<8;8,1>:w   // cross 2 GRFs\r
-\r
-       RETURN\r
-\r
-//--------------------------------------------------------------------------\r
-//  Actual module that performs Intra_4x4 prediction and construction\r
-//\r
-//  REF_TOP:           Top reference data stored in BYTE with p[-1,-1] at REF_TOP(0,-1)\r
-//  REF_LEFT:          Left reference data stored in BYTE with p[-1,0] at REF_LEFT(0,0)\r
-//     PINTRA4X4_Y:    Intra prediction mode\r
-//     INTRA_PRED_AVAIL:       Top/Left available flag, (Bit0: Left, Bit1: Top)\r
-//\r
-//     Output data:\r
-//\r
-//     REG_INTRA_4X4_PRED: Predicted 4x4 block data stored in 1 GRF register\r
-//--------------------------------------------------------------------------\r
-intra_Pred_4x4_Y:\r
-// Mode 0\r
-INTRA_4X4_VERTICAL:\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w REF_TOP(0)<0;4,1>\r
-       RETURN_1\r
-\r
-// Mode 1\r
-INTRA_4X4_HORIZONTAL:\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w REF_LEFT(0)<1;4,0>\r
-       RETURN_1\r
-\r
-// Mode 2\r
-INTRA_4X4_DC:\r
-// Rearrange reference samples for unified DC prediction code\r
-//\r
-    and.nz.f0.0 (16)   NULLREG         INTRA_PRED_AVAIL<0;1,0>:w       2:w  {Compr}\r
-    and.nz.f0.1 (16)   NULLREG         INTRA_PRED_AVAIL<0;1,0>:w       1:w  {Compr}\r
-       (-f0.0.any16h) mov (16) REF_TOP_W(0)<1> 0x8080:uw                               // Top macroblock not available for intra prediction\r
-       (-f0.1.any8h) mov (8)   REF_LEFT(0)<1>  REF_TOP(0)REGION(8,1)   // Left macroblock not available for intra prediction\r
-       (-f0.0.any8h) mov (8)   REF_TOP(0)<1>   REF_LEFT(0)REGION(8,1)  // Top macroblock not available for intra prediction\r
-// Perform DC prediction\r
-//\r
-       add (4)         PRED_YW(15)<1>  REF_TOP(0)REGION(4,1)   REF_LEFT(0)REGION(4,1)\r
-       add (2)         PRED_YW(15)<1>  PRED_YW(15)REGION(2,1)  PRED_YW(15,2)REGION(2,1)\r
-       add (16)        acc0<1>:w               PRED_YW(15)REGION(1,0)  PRED_YW(15,1)REGION(1,0)\r
-       add     (16)    acc0<1>:w               acc0:w  4:w\r
-       shr (16)        REG_INTRA_4X4_PRED<1>:w acc0:w  3:w\r
-       RETURN_1\r
-\r
-// Mode 3\r
-INTRA_4X4_DIAG_DOWN_LEFT:\r
-       mov     (8)             INTRA_REF<1>:ub REF_TOP(0)REGION(8,1)           // Keep REF_TOP untouched for future use\r
-       mov     (4)             INTRA_REF.8<1>:ub       REF_TOP(0,7)REGION(4,1) // p[8,-1] = p[7,-1]\r
-       add (8)         acc0<1>:w               INTRA_REF.2<8;8,1>      2:w             // p[x+2]+2\r
-       mac (8)         acc0<1>:w               INTRA_REF.1<8;8,1>      2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (8)         PRED_YW(15)<1>  INTRA_REF.0<8;8,1>      1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-\r
-       shr (16)        REG_INTRA_4X4_PRED<1>:w PRED_YW(15)<1;4,1>      2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
-       RETURN_1\r
-\r
-// Mode 4\r
-INTRA_4X4_DIAG_DOWN_RIGHT:\r
-\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b\r
-       mov     (8)             INTRA_REF.4<1>:ub       REF_TOP(0,-1)REGION(8,1)        // INTRA_REF holds all reference data\r
-       mov     (4)             INTRA_REF<1>:ub REF_TMP.3<16;4,4>:ub\r
-\r
-       add (8)         acc0<1>:w               INTRA_REF.2<8;8,1>:ub   2:w             // p[x+2]+2\r
-       mac (8)         acc0<1>:w               INTRA_REF.1<8;8,1>:ub   2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (8)         INTRA_REF<1>:w  INTRA_REF<8;8,1>:ub             1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-\r
-//     Store data in reversed order\r
-       add (4)         PBWDCOPY_4<1>:w INV_TRANS4<4;4,1>:b     INTRA_TEMP_2*GRFWIB:w   // Must match with INTRA_REF\r
-       shr (16)        REG_INTRA_4X4_PRED<1>:w r[PBWDCOPY_4]<4,1>:w    2:w\r
-       RETURN_1\r
-\r
-// Mode 5\r
-INTRA_4X4_VERT_RIGHT:\r
-\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b\r
-       mov     (8)             INTRA_REF.4<1>:ub       REF_TOP(0,-1)REGION(8,1)        // INTRA_REF holds all reference data\r
-       mov     (4)             INTRA_REF<1>:ub REF_TMP.3<16;4,4>:ub\r
-\r
-       // Even rows\r
-       avg (8)         PRED_YW(14)<1>  INTRA_REF.4<8;8,1>      INTRA_REF.5<8;8,1>      // avg(p[x-1],p[x])\r
-       // Odd rows\r
-       add (8)         acc0<1>:w               INTRA_REF.3<8;8,1>:ub           2:w             // p[x]+2\r
-       mac (8)         acc0<1>:w               INTRA_REF.2<8;8,1>:ub           2:w             // 2*p[x-1]+p[x]+2\r
-       mac (8)         acc0<1>:w               INTRA_REF.1<8;8,1>:ub           1:w             // p[x-2]+2*p[x-1]+p[x]+2\r
-       shr (8)         INTRA_REF<1>:w  acc0:w  2:w             // (p[x-2]+2*p[x-1]+p[x]+2)>>2\r
-\r
-       mov     (4)             INTRA_REF.2<2>:w        INTRA_REF.2<4;4,1>:w    // Keep zVR = -2,-3 unchanged\r
-       mov     (4)             INTRA_REF.3<2>:w        PRED_YW(14)REGION(4,1)  // Combining even rows\r
-\r
-       add (4)         PBWDCOPY_4<1>:w INV_TRANS4<4;4,1>:b     INTRA_TEMP_2*GRFWIB:w   // Must match with INTRA_REF\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w r[PBWDCOPY_4]<4,2>:w\r
-       RETURN_1\r
-\r
-// Mode 6\r
-INTRA_4X4_HOR_DOWN:\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b\r
-       mov     (8)             INTRA_REF.4<1>:ub       REF_TOP(0,-1)REGION(8,1)        // INTRA_REF holds all reference data\r
-       mov     (4)             INTRA_REF<1>:ub REF_TMP.3<16;4,4>:ub\r
-\r
-       // Even pixels\r
-       avg (8)         PRED_YW(14)<1>  INTRA_REF<8;8,1>        INTRA_REF.1<8;8,1>      // avg(p[y-1],p[y])\r
-       // Odd pixels\r
-       add (8)         acc0<1>:w               INTRA_REF.2<8;8,1>:ub   2:w             // p[y]+2\r
-       mac (8)         acc0<1>:w               INTRA_REF.1<8;8,1>:ub   2:w             // 2*p[y-1]+p[y]+2\r
-       mac (8)         REF_TMP<1>:w    INTRA_REF.0<8;8,1>:ub   1:w             // p[y-2]+2*p[y-1]+p[y]+2\r
-       shr (4)         INTRA_REF.1<2>:w        REF_TMP<4;4,1>:w        2:w             // (p[y-2]+2*p[y-1]+p[y]+2)>>2\r
-\r
-       shr     (2)             INTRA_REF.8<1>:w        REF_TMP.4<2;2,1>:w      2:w             // Keep zVR = -2,-3 unchanged\r
-       mov     (4)             INTRA_REF.0<2>:w        PRED_YW(14)REGION(4,1)  // Combining even pixels\r
-\r
-       shl (4)         PBWDCOPY_4<1>:w INV_TRANS4<4;4,1>:b     1:w             // Convert to WORD offset\r
-       add (4)         PBWDCOPY_4<1>:w PBWDCOPY_4<4;4,1>:w     INTRA_TEMP_2*GRFWIB:w   // Must match with INTRA_REF\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w r[PBWDCOPY_4]<4,1>:w\r
-       RETURN_1\r
-\r
-// Mode 7\r
-INTRA_4X4_VERT_LEFT:\r
-       // Even rows\r
-       avg (8)         PRED_YW(14)<2>  REF_TOP(0)REGION(8,1)   REF_TOP(0,1)REGION(8,1) // avg(p[x],p[x+1])\r
-       // Odd rows\r
-       add (8)         acc0<1>:w               REF_TOP(0,2)REGION(8,1) 2:w             // p[x+2]+2\r
-       mac (8)         acc0<1>:w               REF_TOP(0,1)REGION(8,1) 2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (8)         PRED_YW(15)<1>  REF_TOP(0)REGION(8,1)           1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-       shr (8)         PRED_YW(14,1)<2>        PRED_YW(15)REGION(8,1)  2:w\r
-\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w PRED_YW(14)<1;4,2>\r
-       RETURN_1\r
-\r
-// Mode 8\r
-INTRA_4X4_HOR_UP:\r
-//     Set extra left reference pixels for unified prediction\r
-       mov     (8)             REF_LEFT(0,4)<1>        REF_LEFT(0,3)REGION(1,0)        // Copy p[-1,3] to p[-1,y],y=4...7\r
-       // Even pixels\r
-       avg (8)         PRED_YW(14)<2>  REF_LEFT(0)REGION(8,1)  REF_LEFT(0,1)REGION(8,1)        // avg(p[y],p[y+1])\r
-       // Odd pixels\r
-       add (8)         acc0<1>:w               REF_LEFT(0,2)REGION(8,1)        2:w             // p[y+2]+2\r
-       mac (8)         acc0<1>:w               REF_LEFT(0,1)REGION(8,1)        2:w             // 2*p[y+1]+p[y+2]+2\r
-       mac (8)         PRED_YW(15)<1>  REF_LEFT(0)REGION(8,1)          1:w             // p[y]+2*p[y+1]+p[y+2]+2\r
-       shr (8)         PRED_YW(14,1)<2>        PRED_YW(15)REGION(8,1)  2:w             // (p[y]+2*p[y+1]+p[y+2]+2)>>2\r
-\r
-       mov (16)        REG_INTRA_4X4_PRED<1>:w PRED_YW(14)<2;4,1>\r
-       RETURN_1\r
-\r
-// End of intra_Pred_4x4_Y_4\r
-\r
-#endif // !defined(__INTRA_PRED_4X4_Y_4__)\r
diff --git a/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm b/i965_drv_video/shaders/h264/mc/intra_Pred_8x8_Y.asm
deleted file mode 100644 (file)
index c4f245e..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*\r
- * Intra predict 8X8 luma block\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__INTRA_PRED_8X8_Y__)             // Make sure this is only included once\r
-#define __INTRA_PRED_8X8_Y__\r
-\r
-// Module name: intra_Pred_8X8_Y.asm\r
-//\r
-// Intra predict 8X8 luma block\r
-//\r
-//--------------------------------------------------------------------------\r
-//  Input data:\r
-//\r
-//  REF_TOP:   Top reference data stored in BYTE with p[-1,-1] at REF_TOP(0,-1), p[-1,-1] and [15,-1] adjusted\r
-//  REF_LEFT:  Left reference data stored in BYTE with p[-1,0] at REF_LEFT(0,2), REF_LEFT(0,1) (p[-1,-1]) adjusted\r
-//     PRED_MODE:      Intra prediction mode stored in 4 LSBs\r
-//     INTRA_PRED_AVAIL:       Top/Left available flag, (Bit0: Left, Bit1: Top)\r
-//\r
-//     Output data:\r
-//\r
-//     REG_INTRA_8X8_PRED: Predicted 8X8 block data\r
-//--------------------------------------------------------------------------\r
-\r
-#define INTRA_REF      REG_INTRA_TEMP_1\r
-#define REF_TMP                REG_INTRA_TEMP_2\r
-\r
-intra_Pred_8x8_Y:\r
-\r
-//     Reference sample filtering\r
-//\r
-       // Set up boundary pixels for unified filtering\r
-       mov (1)         REF_TOP(0,16)<1>        REF_TOP(0,15)REGION(1,0)        // p[16,-1] = p[15,-1]\r
-       mov     (8)             REF_LEFT(0,2+8)<1>      REF_LEFT(0,2+7)REGION(1,0)      // p[-1,8] = p[-1,7]\r
-\r
-       // Top reference sample filtering (!!Consider instruction compression later)\r
-       add (16)        acc0<1>:w       REF_TOP(0,-1)REGION(16,1)       2:w             // p[x-1,-1]+2\r
-       mac (16)        acc0<1>:w       REF_TOP(0)REGION(16,1)          2:w             // p[x-1,-1]+2*p[x,-1]+2\r
-       mac (16)        acc0<1>:w       REF_TOP(0,1)REGION(16,1)        1:w             // p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2\r
-       shr     (16)    REF_TMP<1>:w    acc0:w  2:w             // (p[x-1,-1]+2*p[x,-1]+p[x+1,-1]+2)>>2\r
-\r
-       // Left reference sample filtering\r
-       add (16)        acc0<1>:w       REF_LEFT(0)REGION(16,1)         2:w             // p[-1,y-1]+2\r
-       mac (16)        acc0<1>:w       REF_LEFT(0,1)REGION(16,1)       2:w             // p[-1,y-1]+2*p[-1,y]+2\r
-       mac (16)        acc0<1>:w       REF_LEFT(0,2)REGION(16,1)       1:w             // p[-1,y-1]+2*p[-1,y]+p[-1,y+1]+2\r
-       shr     (16)    INTRA_REF<1>:w  acc0:w  2:w             // (p[-1,y-1]+2*p[-1,y]+p[-1,y+1]+2)>>2\r
-\r
-       // Re-assign filtered reference samples\r
-       mov     (16)    REF_TOP(0)<1>   REF_TMP<32;16,2>:ub                     // p'[x,-1], x=0...15\r
-       mov     (8)             REF_LEFT(0)<1>  INTRA_REF.2<16;8,2>:ub          // p'[-1,y], y=0...7\r
-       mov     (1)             REF_TOP(0,-1)<1>        INTRA_REF<0;1,0>:ub             // p'[-1,-1]\r
-\r
-//     Select intra_8x8 prediction mode\r
-//\r
-       and     (1)     PINTRAPRED_Y<1>:w       PRED_MODE<0;1,0>:w      0x0F:w\r
-       // WA for "jmpi" restriction\r
-       mov (1) REG_INTRA_TEMP_1<1>:ud  r[PINTRAPRED_Y, INTRA_8X8_OFFSET]:ub\r
-       jmpi (1) REG_INTRA_TEMP_1<0;1,0>:d\r
-\r
-// Mode 0\r
-#define        PTMP    a0.6\r
-#define PTMP_D a0.3\r
-INTRA_8X8_VERTICAL:\r
-    $for(0,0; <4; 1,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PERROR,%2]<16;16,1>:w REF_TOP(0)<0;8,1>\r
-       }\r
-       RETURN\r
-\r
-// Mode 1\r
-INTRA_8X8_HORIZONTAL:\r
-    $for(0,0; <8; 2,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PERROR,%2]<16;16,1>:w REF_LEFT(0,%1)<1;8,0>\r
-       }\r
-       RETURN\r
-\r
-// Mode 2\r
-INTRA_8X8_DC:\r
-// Rearrange reference samples for unified DC prediction code\r
-//\r
-    and.nz.f0.0 (16)   NULLREG         INTRA_PRED_AVAIL<0;1,0>:w       2:w     // Top macroblock available for intra prediction?\r
-    and.nz.f0.1 (8)            NULLREG         INTRA_PRED_AVAIL<0;1,0>:w       1:w     // Left macroblock available for intra prediction?\r
-       (-f0.0.any16h) mov (16) REF_TOP_W(0)<1> 0x8080:uw\r
-       (-f0.1.any8h) mov (8)   REF_LEFT(0)<1>  REF_TOP(0)REGION(8,1)\r
-       (-f0.0.any8h) mov (8)   REF_TOP(0)<1>   REF_LEFT(0)REGION(8,1)\r
-\r
-// Perform DC prediction\r
-//\r
-       add (8)         PRED_YW(15)<1>  REF_TOP(0)REGION(8,1)   REF_LEFT(0)REGION(8,1)\r
-       add (4)         PRED_YW(15)<1>  PRED_YW(15)REGION(4,1)  PRED_YW(15,4)REGION(4,1)\r
-       add (2)         PRED_YW(15)<1>  PRED_YW(15)REGION(2,1)  PRED_YW(15,2)REGION(2,1)\r
-       add (16)        acc0<1>:w               PRED_YW(15)REGION(1,0)  PRED_YW(15,1)REGION(1,0)\r
-       add     (16)    acc0<1>:w               acc0:w  8:w\r
-       shr (16)        REG_INTRA_TEMP_0<1>:w   acc0:w  4:w\r
-\r
-       // Add error block\r
-    $for(0,0; <4; 1,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PERROR,%2]<16;16,1>:w REG_INTRA_TEMP_0<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 3\r
-INTRA_8X8_DIAG_DOWN_LEFT:\r
-       mov     (8)             REF_TOP(0,16)<1>        REF_TOP(0,15)REGION(8,1)        // p[16,-1] = p[15,-1]\r
-       add (16)        acc0<1>:w               REF_TOP(0,2)REGION(16,1)        2:w             // p[x+2]+2\r
-       mac (16)        acc0<1>:w               REF_TOP(0,1)REGION(16,1)        2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (16)        acc0<1>:w               REF_TOP(0)REGION(16,1)          1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-       shr (16)        REG_INTRA_TEMP_0<1>:w   acc0<16;16,1>:w         2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
-\r
-       // Add error block\r
-    $for(0,0; <8; 2,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PERROR,%2]<16;16,1>:w REG_INTRA_TEMP_0.%1<1;8,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 4\r
-INTRA_8X8_DIAG_DOWN_RIGHT:\r
-#define INTRA_REF      REG_INTRA_TEMP_1\r
-#define REF_TMP                REG_INTRA_TEMP_2\r
-\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0,1)REGION(1,0)      INV_SHIFT<4;4,1>:b      // Reverse order bottom 4 pixels of left ref.\r
-       shl     (4)             REF_TMP.4<1>:ud REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b      // Reverse order top 4 pixels of left ref.\r
-       mov     (8)             INTRA_REF<1>:ub REF_TMP.3<32;8,4>:ub\r
-       mov     (16)    INTRA_REF.8<1>:ub       REF_TOP(0,-1)REGION(16,1)       // INTRA_REF holds all reference data\r
-\r
-       add (16)        acc0<1>:w               INTRA_REF.2<16;16,1>:ub         2:w             // p[x+2]+2\r
-       mac (16)        acc0<1>:w               INTRA_REF.1<16;16,1>:ub         2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (16)        acc0<1>:w               INTRA_REF<16;16,1>:ub           1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-       shr (16)        INTRA_REF<1>:w  acc0<16;16,1>:w                         2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
-\r
-//     Store data in reversed order\r
-       add (2)         PBWDCOPY_8<1>:w INV_TRANS48<2;2,1>:b    INTRA_TEMP_1*GRFWIB:w   // Must match with INTRA_REF\r
-\r
-       // Add error block\r
-    $for(0,96; <8; 2,-32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PBWDCOPY_8,%1*2]<8,1>:w       r[PERROR,%2]<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 5\r
-INTRA_8X8_VERT_RIGHT:\r
-#define INTRA_REF      REG_INTRA_TEMP_1\r
-#define REF_TMP                REG_INTRA_TEMP_2\r
-#define REF_TMP1       REG_INTRA_TEMP_3\r
-\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0,1)REGION(1,0)      INV_SHIFT<4;4,1>:b      // Reverse order bottom 4 pixels of left ref.\r
-       shl     (4)             REF_TMP.4<1>:ud REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b      // Reverse order top 4 pixels of left ref.\r
-       mov     (8)             INTRA_REF<1>:ub REF_TMP.3<32;8,4>:ub\r
-       mov     (16)    INTRA_REF.8<1>:ub       REF_TOP(0,-1)REGION(16,1)       // INTRA_REF holds all reference data\r
-\r
-       // Even rows\r
-       avg (16)        PRED_YW(14)<1>  INTRA_REF.8<16;16,1>    INTRA_REF.9<16;16,1>    // avg(p[x-1],p[x])\r
-       // Odd rows\r
-       add (16)        acc0<1>:w               INTRA_REF.3<16;16,1>:ub         2:w             // p[x]+2\r
-       mac (16)        acc0<1>:w               INTRA_REF.2<16;16,1>:ub         2:w             // 2*p[x-1]+p[x]+2\r
-       mac (16)        acc0<1>:w               INTRA_REF.1<16;16,1>:ub         1:w             // p[x-2]+2*p[x-1]+p[x]+2\r
-       shr (16)        REF_TMP<1>:w    acc0:w  2:w             // (p[x-2]+2*p[x-1]+p[x]+2)>>2\r
-\r
-       mov     (8)             INTRA_REF<1>:ub         REF_TMP<16;8,2>:ub              // Keep zVR = -1,-2,-3,-4,-5,-6,-7 sequencially\r
-       mov     (8)             INTRA_REF.6<2>:ub       REF_TMP.12<16;8,2>:ub   // Keep zVR = -1,1,3,5,7,9,11,13 at even byte\r
-       mov     (8)             INTRA_REF.7<2>:ub       PRED_Y(14)REGION(8,2)   // Combining zVR = 0,2,4,6,8,10,12,14 at odd byte\r
-\r
-       add (2)         PBWDCOPY_8<1>:w INV_TRANS8<2;2,1>:b     INTRA_TEMP_1*GRFWIB:w   // Must match with INTRA_REF\r
-\r
-       // Add error block\r
-    $for(0,96; <8; 2,-32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PBWDCOPY_8,%1]<8,2>:ub        r[PERROR,%2]<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 6\r
-INTRA_8X8_HOR_DOWN:\r
-//     Set inverse shift count\r
-       shl     (4)             REF_TMP<1>:ud   REF_LEFT_D(0,1)REGION(1,0)      INV_SHIFT<4;4,1>:b      // Reverse order bottom 4 pixels of left ref.\r
-       shl     (4)             REF_TMP.4<1>:ud REF_LEFT_D(0)REGION(1,0)        INV_SHIFT<4;4,1>:b      // Reverse order top 4 pixels of left ref.\r
-       mov     (8)             INTRA_REF<1>:ub REF_TMP.3<16;4,4>:ub\r
-       mov     (16)    INTRA_REF.8<1>:ub       REF_TOP(0,-1)REGION(16,1)       // INTRA_REF holds all reference data\r
-\r
-       // Odd pixels\r
-       add (16)        acc0<1>:w       INTRA_REF.2<16;16,1>:ub         2:w             // p[y]+2\r
-       mac (16)        acc0<1>:w       INTRA_REF.1<16;16,1>:ub         2:w             // 2*p[y-1]+p[y]+2\r
-       mac (16)        acc0<1>:w       INTRA_REF.0<16;16,1>:ub         1:w             // p[y-2]+2*p[y-1]+p[y]+2\r
-       shr (16)        PRED_YW(14)<1>  acc0:w  2:w             // (p[y-2]+2*p[y-1]+p[y]+2)>>2\r
-       // Even pixels\r
-       avg (16)        INTRA_REF<1>:w  INTRA_REF<16;16,1>:ub   INTRA_REF.1<16;16,1>:ub // avg(p[y-1],p[y])\r
-\r
-       mov     (8)             INTRA_REF.1<2>:ub       PRED_Y(14)REGION(8,2)           // Combining odd pixels to form byte type\r
-       mov     (8)             INTRA_REF.16<1>:ub      PRED_Y(14,16)REGION(8,2)        // Keep zVR = -2,-3,-4,-5,-6,-7 unchanged\r
-       // Now INTRA_REF.0 - INTRA_REF.21 contain predicted data\r
-\r
-       add (2)         PBWDCOPY_8<1>:w INV_TRANS48<2;2,1>:b    INTRA_TEMP_1*GRFWIB:w   // Must match with INTRA_REF\r
-\r
-       // Add error block\r
-    $for(0,96; <13; 4,-32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  r[PBWDCOPY_8,%1]<8,1>:ub        r[PERROR,%2]<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 7\r
-INTRA_8X8_VERT_LEFT:\r
-       // Even rows\r
-       avg (16)                PRED_YW(14)<1>  REF_TOP(0)REGION(16,1)  REF_TOP(0,1)REGION(16,1)        // avg(p[x],p[x+1])\r
-       // Odd rows\r
-       add (16)                acc0<1>:w               REF_TOP(0,2)REGION(16,1)        2:w             // p[x+2]+2\r
-       mac (16)                acc0<1>:w               REF_TOP(0,1)REGION(16,1)        2:w             // 2*p[x+1]+p[x+2]+2\r
-       mac (16)                acc0<1>:w               REF_TOP(0)REGION(16,1)          1:w             // p[x]+2*p[x+1]+p[x+2]+2\r
-       shr (16)                PRED_YW(15)<1>  acc0<1;8,1>:w   2:w             // (p[x]+2*p[x+1]+p[x+2]+2)>>2\r
-\r
-       // Add error block\r
-    $for(0,0; <4; 1,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  PRED_YW(14,%1)<16;8,1>  r[PERROR,%2]<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// Mode 8\r
-INTRA_8X8_HOR_UP:\r
-//     Set extra left reference pixels for unified prediction\r
-       mov     (8)             REF_LEFT(0,8)<1>        REF_LEFT(0,7)REGION(1,0)        // Copy p[-1,7] to p[-1,y],y=8...15\r
-\r
-       // Even pixels\r
-       avg (16)        PRED_YW(14)<1>  REF_LEFT(0)REGION(16,1) REF_LEFT(0,1)REGION(16,1)       // avg(p[y],p[y+1])\r
-       // Odd pixels\r
-       add (16)        acc0<1>:w               REF_LEFT(0,2)REGION(16,1)       2:w             // p[y+2]+2\r
-       mac (16)        acc0<1>:w               REF_LEFT(0,1)REGION(16,1)       2:w             // 2*p[y+1]+p[y+2]+2\r
-       mac (16)        acc0<1>:w               REF_LEFT(0)REGION(16,1)         1:w             // p[y]+2*p[y+1]+p[y+2]+2\r
-       shr (16)        PRED_YW(15)<1>  acc0<1;8,1>:w   2:w             // (p[y]+2*p[y+1]+p[y+2]+2)>>2\r
-\r
-       // Merge even/odd pixels\r
-       // The predicted data need to be stored in byte type (22 bytes are required)\r
-       mov (16)        PRED_Y(14,1)<2> PRED_Y(15)REGION(16,2)\r
-\r
-       // Add error block\r
-    $for(0,0; <4; 1,32) {\r
-       add.sat (16)    r[PPREDBUF_Y,%2]<2>:ub  PRED_Y(14,%1*4)<2;8,1>  r[PERROR,%2]<16;16,1>:w\r
-       }\r
-       RETURN\r
-\r
-// End of intra_Pred_8X8_Y\r
-\r
-#endif // !defined(__INTRA_PRED_8X8_Y__)\r
diff --git a/i965_drv_video/shaders/h264/mc/intra_Pred_Chroma.asm b/i965_drv_video/shaders/h264/mc/intra_Pred_Chroma.asm
deleted file mode 100644 (file)
index a1e1697..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/*\r
- * Intra predict 8x8 chroma block\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__INTRA_PRED_CHROMA__)            // Make sure this is only included once\r
-#define __INTRA_PRED_CHROMA__\r
-\r
-// Module name: intra_Pred_Chroma.asm\r
-//\r
-// Intra predict 8x8 chroma block\r
-//\r
-\r
-       shr     (1)     PINTRAPRED_UV<1>:w      REG_INTRA_CHROMA_PRED_MODE<0;1,0>:ub    INTRA_CHROMA_PRED_MODE_SHIFT:w  // Bits 1:0 = intra chroma pred mode\r
-       // WA for "jmpi" restriction\r
-       mov (1) REG_INTRA_TEMP_1<1>:d   r[PINTRAPRED_UV, INTRA_CHROMA_OFFSET]:b\r
-       jmpi (1) REG_INTRA_TEMP_1<0;1,0>:d\r
-\r
-// Mode 0\r
-INTRA_CHROMA_DC:\r
-    and.nz.f0.0 (8)            NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_AVAIL_FLAG:ud     // Top macroblock available for intra prediction?\r
-\r
-// Calculate DC values for sub-block 0 and 3\r
-//\r
-// Rearrange reference samples for unified DC prediction code\r
-//     Need to check INTRA_PRED_LEFT_TH_AVAIL_FLAG for blk0 and INTRA_PRED_LEFT_BH_AVAIL_FLAG for blk3\r
-// \r
-       (-f0.0.any8h)   mov (8)         INTRA_REF_TOP_W(0)<1>   0x8080:uw       // Up not available\r
-\r
-    and.nz.f0.1 (4)    NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG:ud\r
-       (-f0.1.any4h)   mov (4)         INTRA_REF_LEFT_W(0)<2>  INTRA_REF_TOP_W(0)REGION(4,1)   // Left top half macroblock not available for intra prediction\r
-    and.nz.f0.1 (4)    NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_BH_AVAIL_FLAG:ud\r
-       (-f0.1.any4h)   mov (4)         INTRA_REF_LEFT_W(0,8)<2>        INTRA_REF_TOP_W(0,4)REGION(4,1) // Left bottom half macroblock not available for intra prediction\r
-\r
-       (-f0.0.any8h)   mov (8)         INTRA_REF_TOP_W(0)<1>   INTRA_REF_LEFT_W(0)REGION(8,2)  // Up not available\r
-// Calculate DC prediction\r
-//\r
-       add (16)        PRED_UVW(0)<1>  INTRA_REF_TOP(0)REGION(16,1)    INTRA_REF_LEFT_UV(0)<4;2,1>     // Sum of top and left reference\r
-       add (8)         PRED_UVW(0)<1>  PRED_UVW(0)<4;2,1>      PRED_UVW(0,2)<4;2,1>    // Sum of first half (blk #0) and second half (blk #3)\r
-\r
-       add (8)         PRED_UVW(9)<1>  PRED_UVW(0)<0;2,1>      PRED_UVW(0,2)<0;2,1>    // Sum of blk #0\r
-       add (8)         PRED_UVW(11,8)<1>       PRED_UVW(0,4)<0;2,1>    PRED_UVW(0,6)<0;2,1>    // Sum of blk #3\r
-\r
-// Calculate DC values for sub-block 1 and 2\r
-//\r
-// Rearrange reference samples for unified DC prediction code\r
-//\r
-       // Blk #2\r
-       (-f0.0.any4h)   mov (4)         INTRA_REF_TOP_W(0)<1>   0x8080:uw\r
-       (f0.1.any4h)    mov (4)         INTRA_REF_TOP_W(0)<1>   INTRA_REF_LEFT_W(0,8)REGION(4,2)        // Always use available left reference\r
-       (-f0.1.any4h)   mov (4)         INTRA_REF_LEFT_W(0,8)<2>        INTRA_REF_TOP_W(0)REGION(4,1)\r
-\r
-       // Blk #1\r
-    and.nz.f0.1 (4)    NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG:ud\r
-       (-f0.1.any4h)   mov (4)         INTRA_REF_LEFT_W(0)<2>  0x8080:uw\r
-       (f0.0.any4h)    mov (4)         INTRA_REF_LEFT_W(0)<2>  INTRA_REF_TOP_W(0,4)REGION(4,1) // Always use available top reference\r
-       (-f0.0.any4h)   mov (4)         INTRA_REF_TOP_W(0,4)<1> INTRA_REF_LEFT_W(0)REGION(4,2)\r
-\r
-// Calculate DC prediction\r
-//\r
-       add (8) PRED_UVW(0)<1>          INTRA_REF_TOP(0)REGION(8,1)     INTRA_REF_LEFT_UV(0,16)<4;2,1>  // Sum of top and left reference for blk #2\r
-       add (8) PRED_UVW(0,8)<1>        INTRA_REF_LEFT_UV(0)<4;2,1>     INTRA_REF_TOP(0,8)REGION(8,1)   // Sum of top and left reference for blk #1\r
-       add (8) PRED_UVW(0)<1>          PRED_UVW(0)<4;2,1>              PRED_UVW(0,2)<4;2,1>    // Sum of first half (blk #2) and second half (blk #1)\r
-\r
-       add (8) PRED_UVW(9,8)<1>        PRED_UVW(0,4)<0;2,1>    PRED_UVW(0,6)<0;2,1>    // Sum of blk #1\r
-       add (8) PRED_UVW(11)<1>         PRED_UVW(0)<0;2,1>              PRED_UVW(0,2)<0;2,1>    // Sum of blk #2\r
-\r
-// Now, PRED_UVW(9) holds sums for blks #0 and #1 and PRED_UVW(11) holds sums for blks #2 and #3\r
-//\r
-       add (32)        acc0<1>:w       PRED_UVW(9)REGION(16,1)         4:w {Compr}             // Add rounder\r
-    $for(0; <4; 2) {\r
-       shr (32)        PRED_UVW(%1)<1> acc0:w          3:w {Compr}\r
-       }\r
-\r
-       add (32)        acc0<1>:w       PRED_UVW(11)REGION(16,1)        4:w {Compr}             // Add rounder\r
-    $for(4; <8; 2) {\r
-       shr (32)        PRED_UVW(%1)<1> acc0:w          3:w {Compr}\r
-       }\r
-       jmpi (1)        End_of_intra_Pred_Chroma\r
-\r
-// Mode 1\r
-INTRA_CHROMA_HORIZONTAL:\r
-       mov (1)         PREF_LEFT_UD<1>:ud      INTRA_REF_LEFT_ID*GRFWIB*0x00010001+0x00040000:ud       // Set address registers for instruction compression\r
-    $for(0,0; <8; 2,8) {\r
-       mov (32)        PRED_UVW(%1)<1> r[PREF_LEFT,%2+2]<0;2,1>:ub {Compr}     // Actual left column reference data start at offset 2\r
-       }\r
-       jmpi (1)        End_of_intra_Pred_Chroma\r
-\r
-// Mode 2\r
-INTRA_CHROMA_VERTICAL:\r
-    $for(0; <8; 2) {\r
-       mov (32)        PRED_UVW(%1)<1> INTRA_REF_TOP(0) {Compr}\r
-       }\r
-       jmpi (1)        End_of_intra_Pred_Chroma\r
-\r
-// Mode 3\r
-INTRA_Chroma_PLANE:\r
-// Refer to H.264/AVC spec Section 8.3.4.4\r
-\r
-#undef C\r
-\r
-#define A              REG_INTRA_TEMP_2.0              // All are WORD type\r
-#define B              REG_INTRA_TEMP_3.0              // B[U] & B[V]\r
-#define C              REG_INTRA_TEMP_3.2              // C[U] & C[V]\r
-#define YP             REG_INTRA_TEMP_0                // Store intermediate results of c*(y-3). Make sure it's an even GRF\r
-#define YP1            REG_INTRA_TEMP_1                // Store intermediate results of c*(y-3). Make sure it's an odd GRF\r
-#define XP             REG_INTRA_TEMP_5                // Store intermediate results of a+b*(x-3)+16. Make sure it's an odd GRF\r
-\r
-// First Calculate constants H and V\r
-//     H1 = sum((x'+1)*p[4+x',-1]), x'=0,1,2,3\r
-//     H2 =  sum((-x'-1)*p[2-x',-1]), x'=3,2,1,0\r
-//     H = H1 + H2\r
-//     The same calculation holds for V\r
-//\r
-       mul (8) H1(0)<1>        INTRA_REF_TOP(0,8)REGION(8,1)   0x44332211:v\r
-       mul (8) H2(0)<1>        INTRA_REF_TOP(0,-2)REGION(8,1)  0xFFEEDDCC:v\r
-\r
-       mul (8) V1(0)<1>        INTRA_REF_LEFT_UV(0,4*4)<4;2,1> 0x44332211:v\r
-       mul (8) V2(0)<1>        INTRA_REF_LEFT_UV(0)<4;2,1>             0x00FFEEDD:v\r
-       mul (2) V2(0,6)<1>      INTRA_REF_TOP(0,-2)REGION(2,1)  -4:w            // Replace 0*p[-1,3] with -4*p[-1,-1]\r
-       // Now, REG_INTRA_TEMP_0 holds [H2, H1] and REG_INTRA_TEMP_1 holds [V2, V1]\r
-\r
-       // Sum up [H2, H1] and [V2, V1] using instruction compression\r
-       // ExecSize = 16 is restricted by B-spec for instruction compression\r
-       // Actual intermediate results are in lower sub-registers after each summing step\r
-       add     (16)    H1(0)<1>        H1(0)   H2(0) {Compr}   // Results in lower 8 WORDs\r
-       add     (16)    H1(0)<1>        H1(0)   H1(0,4) {Compr} // Results in lower 4 WORDs\r
-       add     (16)    H1(0)<1>        H1(0)   H1(0,2) {Compr} // Results in lower 2 WORDs\r
-\r
-//     Calculate a, b, c and further derivations\r
-       mov     (16)    acc0<1>:w       32:w\r
-       mac     (4)             acc0<1>:w       H1(0)<16;2,1>   34:w\r
-       shr     (4)             B<1>:w          acc0:w  6:w             // Done b,c\r
-       mov     (16)    acc0<1>:w       16:w\r
-       mac     (16)    acc0<1>:w       INTRA_REF_TOP(0,7*2)<0;2,1>             16:w\r
-       mac     (16)    A<1>:w          INTRA_REF_LEFT_UV(0,7*4)<0;2,1> 16:w    // A = a+16\r
-       mac (16)        XP<1>:w         B<0;2,1>:w              XY_3<1;2,0>:b           // XP = A+b*(x-3)\r
-       mul     (8)             YP<1>:w         C<0;2,1>:w              XY_3<2;2,0>:b           // YP = c*(y-3), Even portion\r
-       mul     (8)             YP1<1>:w        C<0;2,1>:w              XY_3_1<2;2,0>:b // YP = c*(y-3), Odd portion\r
-\r
-//     Finally the intra_Chroma plane prediction\r
-    $for(0; <8; 2) {\r
-       add (32)        acc0<1>:w               XP<16;16,1>:w   YP.%1<0;2,1>:w {Compr}\r
-       shr.sat (32)    PRED_UV(%1)<2>  acc0<16;16,1>:w 5:w {Compr}\r
-       }\r
-\r
-End_of_intra_Pred_Chroma:\r
-\r
-// End of intra_Pred_Chroma\r
-\r
-#endif // !defined(__INTRA_PRED_CHROMA__)\r
diff --git a/i965_drv_video/shaders/h264/mc/intra_pred_16x16_Y.asm b/i965_drv_video/shaders/h264/mc/intra_pred_16x16_Y.asm
deleted file mode 100644 (file)
index 94ccb07..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*\r
- * Intra predict 16x16 luma block\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: intra_Pred_16x16_Y.asm\r
-//\r
-// Intra predict 16x16 luma block\r
-//\r
-       and     (1)     PINTRAPRED_Y<1>:w       INTRA_PRED_MODE(0)REGION(1,0)   0x0F:w\r
-       // WA for "jmpi" restriction\r
-       mov (1) REG_INTRA_TEMP_1<1>:ud  r[PINTRAPRED_Y, INTRA_16X16_OFFSET]:ub\r
-       jmpi (1) REG_INTRA_TEMP_1<0;1,0>:d\r
-\r
-// Mode 0\r
-INTRA_16x16_VERTICAL:\r
-    $for(0; <16; 2) {\r
-       mov (32)        PRED_YW(%1)<1>  INTRA_REF_TOP(0) {Compr}\r
-       }\r
-       jmpi (1) End_intra_Pred_16x16_Y\r
-\r
-// Mode 1\r
-INTRA_16x16_HORIZONTAL:\r
-       mov (1)         PREF_LEFT_UD<1>:ud      INTRA_REF_LEFT_ID*GRFWIB*0x00010001+0x00040000:ud       // Set address registers for instruction compression\r
-    $for(0,0; <16; 2,8) {\r
-       mov (32)        PRED_YW(%1)<1>  r[PREF_LEFT,%2+3]<0;1,0>:ub {Compr}     // Actual left column reference data start at offset 3\r
-       }\r
-       jmpi (1) End_intra_Pred_16x16_Y\r
-\r
-// Mode 2\r
-INTRA_16x16_DC:\r
-    and.nz.f0.0 (8)    NULLREG         REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_UP_AVAIL_FLAG:ud     // Top macroblock available for intra prediction?\r
-    and (8)                    acc0<1>:ud      REG_INTRA_PRED_AVAIL_FLAG       INTRA_PRED_LEFT_TH_AVAIL_FLAG+INTRA_PRED_LEFT_BH_AVAIL_FLAG:ud  // Left macroblock available for intra prediction?\r
-    xor.z.f0.1 (8)     NULLREG         acc0:ud INTRA_PRED_LEFT_TH_AVAIL_FLAG+INTRA_PRED_LEFT_BH_AVAIL_FLAG:ud  // Left macroblock available for intra prediction?\r
-// Rearrange reference samples for unified DC prediction code\r
-//\r
-       (-f0.0.any8h)   mov (8) INTRA_REF_TOP_W(0)<1>   0x8080:uw\r
-       (-f0.1.any8h)   mov (8) INTRA_REF_LEFT(0)<4>    INTRA_REF_TOP(0)REGION(8,1)\r
-       (-f0.1.any8h)   mov (8) INTRA_REF_LEFT(1)<4>    INTRA_REF_TOP(0,8)REGION(8,1)\r
-       (-f0.0.any8h)   mov (8) INTRA_REF_TOP(0)<1>             INTRA_REF_LEFT(0)REGION(8,4)\r
-       (-f0.0.any8h)   mov (8) INTRA_REF_TOP(0,8)<1>   INTRA_REF_LEFT(1)REGION(8,4)    // Split due to HW limitation\r
-// Perform DC prediction\r
-//\r
-       add (16)        PRED_YW(15)<1>  INTRA_REF_LEFT(0)REGION(8,4)    INTRA_REF_TOP(0)REGION(16,1)\r
-       add (8)         PRED_YW(15)<1>  PRED_YW(15)REGION(8,1)  PRED_YW(15,8)REGION(8,1)\r
-       add (4)         PRED_YW(15)<1>  PRED_YW(15)REGION(4,1)  PRED_YW(15,4)REGION(4,1)\r
-       add (2)         PRED_YW(15)<1>  PRED_YW(15)REGION(2,1)  PRED_YW(15,2)REGION(2,1)\r
-       add (32)        acc0<1>:w               PRED_YW(15)REGION(1,0)  PRED_YW(15,1)REGION(1,0) {Compr}        // Set up both acc0 and acc1\r
-       add     (32)    acc0<1>:w               acc0:w  16:w {Compr}\r
-\r
-    $for(0; <16; 2) {\r
-       shr (32)        PRED_YW(%1)<1>  acc0:w  5:w {Compr}\r
-       }\r
-       jmpi (1) End_intra_Pred_16x16_Y\r
-\r
-// Mode 3\r
-INTRA_16x16_PLANE:\r
-// Refer to H.264/AVC spec Section 8.3.3.4\r
-\r
-#define A              REG_INTRA_TEMP_2.0              // All are WORD type\r
-#define B              REG_INTRA_TEMP_3.0\r
-#define C              REG_INTRA_TEMP_3.1\r
-#define YP             REG_INTRA_TEMP_0                // Store intermediate results of c*(y-7). Make sure it's an even GRF\r
-#define YP1            REG_INTRA_TEMP_1                // Store intermediate results of c*(y-7). Make sure it's an odd GRF, used in {Comp}\r
-#define XP             REG_INTRA_TEMP_5                // Store intermediate results of a+b*(x-7)+16. Make sure it's an odd GRF\r
-\r
-// First Calculate constants H and V\r
-//     H1 = sum((-x'-1)*p[8+x',-1]), x'=0,1,...7\r
-//     H2 =  sum((-x'-1)*p[6-x',-1]), x'=7,6,...0\r
-//     H = -H1 + H2\r
-//     The same calculation holds for V\r
-//\r
-       mul (8) H1(0)<1>        INTRA_REF_TOP(0,8)REGION(8,1)           0x89ABCDEF:v\r
-       mul (8) H2(0)<1>        INTRA_REF_TOP(0,-1)REGION(8,1)          0xFEDCBA98:v\r
-\r
-       mul (8) V1(0)<1>        INTRA_REF_LEFT(0,8*4)REGION(8,4)        0x89ABCDEF:v\r
-       mul (8) V2(0)<1>        INTRA_REF_LEFT(0)REGION(8,4)            0x0FEDCBA9:v\r
-       mul (1) V2(0,7)<1>      INTRA_REF_TOP(0,-1)<0;1,0>      -8:w            // Replace 0*p[-1,7] with -8*p[-1,-1]\r
-       // Now, REG_INTRA_TEMP_0 holds [H2, -H1] and REG_INTRA_TEMP_1 holds [V2, -V1]\r
-\r
-       // Sum up [H2, -H1] and [V2, -V1] using instruction compression\r
-       // ExecSize = 16 is restricted by B-spec for instruction compression\r
-       // Actual intermediate results are in lower sub-registers after each summing step\r
-       add     (16)    H1(0)<1>        -H1(0)  H2(0)   {Compr} // Results in lower 8 WORDs\r
-       add     (16)    H1(0)<1>        H1(0)   H1(0,4) {Compr} // Results in lower 4 WORDs\r
-       add     (16)    H1(0)<1>        H1(0)   H1(0,2) {Compr} // Results in lower 2 WORDs\r
-       add     (16)    H1(0)<1>        H1(0)   H1(0,1) {Compr} // Results in lower 1 WORD\r
-\r
-//     Calculate a, b, c and further derivations\r
-       mov     (16)    acc0<1>:w       32:w\r
-       mac     (2)             acc0<1>:w       H1(0)<16;1,0>   5:w\r
-       shr     (2)             B<1>:w          acc0:w  6:w             // Done b,c\r
-       mov     (16)    acc0<1>:w       16:w\r
-       mac     (16)    acc0<1>:w       INTRA_REF_TOP(0,15)<0;1,0>      16:w\r
-       mac     (16)    A<1>:w          INTRA_REF_LEFT(0,15*4)<0;1,0>   16:w    // A = a+16\r
-       mac (16)        XP<1>:w         B<0;1,0>:w              XY_7<16;16,1>:b                 // XP = A+b*(x-7)\r
-       mul     (8)             YP<1>:w         C<0;1,0>:w              XY_7<16;8,2>:b                  // YP = c*(y-7), even portion\r
-       mul     (8)             YP1<1>:w        C<0;1,0>:w              XY_7_1<16;8,2>:b                // YP = c*(y-7), odd portion\r
-\r
-//     Finally the intra_16x16 plane prediction\r
-    $for(0,0; <16; 2,1) {\r
-       add (32)        acc0<1>:w               XP<16;16,1>:w   YP.%2<16;16,0>:w {Compr}        // Set Width!= 1 to trick EU to use YP_1.%2 for 2nd instruction\r
-       shr.sat (32)    PRED_Y(%1)<2>   acc0<16;16,1>:w 5:w {Compr}\r
-       }\r
-\r
-End_intra_Pred_16x16_Y:\r
-// End of intra_Pred_16x16_Y\r
diff --git a/i965_drv_video/shaders/h264/mc/list b/i965_drv_video/shaders/h264/mc/list
deleted file mode 100644 (file)
index 000e0fb..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-INTRA_16x16
-INTRA_8x8
-INTRA_4x4
-INTRA_PCM
-FRAME_MB
-FIELD_MB
-MBAFF_MB
-SETHWSCOREBOARD
-SETHWSCOREBOARD_MBAFF
-AVC_ILDB_ROOT_Y_ILDB_FRAME
-AVC_ILDB_CHILD_Y_ILDB_FRAME
-AVC_ILDB_ROOT_UV_ILDB_FRAME
-AVC_ILDB_CHILD_UV_ILDB_FRAME
-AVC_ILDB_ROOT_Y_ILDB_FIELD
-AVC_ILDB_CHILD_Y_ILDB_FIELD
-AVC_ILDB_ROOT_UV_ILDB_FIELD
-AVC_ILDB_CHILD_UV_ILDB_FIELD
-AVC_ILDB_ROOT_Y_ILDB_MBAFF
-AVC_ILDB_CHILD_Y_ILDB_MBAFF
-AVC_ILDB_ROOT_UV_ILDB_MBAFF
-AVC_ILDB_CHILD_UV_ILDB_MBAFF
diff --git a/i965_drv_video/shaders/h264/mc/loadRef_C_10x5.asm b/i965_drv_video/shaders/h264/mc/loadRef_C_10x5.asm
deleted file mode 100644 (file)
index 3c0e851..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*\r
- * Load reference 10x5 area for chroma NV12 4x4 MC\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: LoadRef_C_10x5.asm\r
-//\r
-// Load reference 10x5 area for chroma NV12 4x4 MC\r
-\r
-\r
-//#if !defined(__LOADREF_C_10x5__)             // Make sure this is only included once\r
-//#define __LOADREF_C_10x5__\r
-\r
-\r
-#if 1\r
-\r
-       // Compute integer and fractional components of MV\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x03:w {NoDDClr}\r
-    and (2)            gMVX_FRACC<1>:w         r[pMV,0]<2;2,1>:w                               0x07:w {NoDDChk}\r
-    \r
-    // Check whether MVY is integer\r
-       or.z.f0.0 (8) null:w                    gMVY_FRACC<0;1,0>:w                             0:w\r
-       \r
-       // Compute top-left corner position to be loaded\r
-    mov (2)            gMSGSRC.0<1>:d          gMVX_INT<2;2,1>:w\r
-       shl (1)         gMSGSRC.0:d                     gMSGSRC.0:d                                             1:w\r
-\r
-       (f0.0) add (1)  pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(2)+nBI_LC_DIFF:ud\r
-       (-f0.0) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(3)+nBI_LC_DIFF:ud\r
-       \r
-    // Read 16x5 pixels - TODO: Reading 12x5 instead of 16x5 took more time on CL. Why?\r
-    (f0.0) mov (1)     gMSGSRC.2:ud    0x00030009:ud                                   //{NoDDChk}\r
-    (-f0.0) mov (1)    gMSGSRC.2:ud    0x00040009:ud                                   //{NoDDChk}\r
-    send (8)   gudREFC(0)<1>       mMSGHDRC                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-\r
-#else\r
-\r
-       add (1)         pMSGDSC:ud                      gMSGDSC_R:ud                                    RESP_LEN(3)+nBI_LC_DIFF:ud\r
-\r
-       // Compute integer and fractional components of MV\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x03:w {NoDDClr}\r
-    and (2)            gMVX_FRACC<1>:w         r[pMV,0]<2;2,1>:w                               0x07:w {NoDDChk}\r
-       \r
-       // Compute top-left corner position to be loaded\r
-    mov (2)            gMSGSRC.0<1>:d          gMVX_INT<2;2,1>:w\r
-       shl (1)         gMSGSRC.0:d                     gMSGSRC.0:d                                             1:w\r
-\r
-    // Read 16x5 pixels\r
-    mov (1)            gMSGSRC.2:ud            0x00040009:ud                                   {NoDDChk}\r
-    send (8)   gudREFC(0)<1>       mMSGHDRC                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-#endif\r
-        \r
-//#endif       // !defined(__LOADREF_C_10x5__)\r
diff --git a/i965_drv_video/shaders/h264/mc/loadRef_C_6x3.asm b/i965_drv_video/shaders/h264/mc/loadRef_C_6x3.asm
deleted file mode 100644 (file)
index 5ed7b69..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*\r
- * Load reference 6x3 area for chroma NV12 4x4 MC\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: LoadRef_C_6x3.asm\r
-//\r
-// Load reference 6x3 area for chroma NV12 4x4 MC\r
-\r
-\r
-//#if !defined(__LOADREF_C_6x3__)              // Make sure this is only included once\r
-//#define __LOADREF_C_6x3__\r
-\r
-\r
-#ifdef DEV_ILK\r
-       add (1)         pMSGDSC:ud                      gMSGDSC_R:ud                                    0x00100010:ud\r
-#else\r
-       add (1)         pMSGDSC:ud                      gMSGDSC_R:ud                                    0x00010010:ud\r
-#endif // DEV_ILK\r
-\r
-       // Compute integer and fractional components of MV\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x03:w {NoDDClr}\r
-    and (2)            gMVX_FRACC<1>:w         r[pMV,0]<2;2,1>:w                               0x07:w {NoDDChk}\r
-       \r
-       // Compute top-left corner position to be loaded\r
-    mov (2)            gMSGSRC.0<1>:d          gMVX_INT<2;2,1>:w\r
-       shl (1)         gMSGSRC.0:d                     gMSGSRC.0:d                                             1:w\r
-\r
-    // Read 8x3 pixels\r
-    mov (1)            gMSGSRC.2:ud            0x00020005:ud\r
-    send (8)   gudREFC(0)<1>       mMSGHDRC                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-\r
-        \r
-//#endif       // !defined(__LOADREF_C_6x3__)\r
diff --git a/i965_drv_video/shaders/h264/mc/loadRef_Y_16x13.asm b/i965_drv_video/shaders/h264/mc/loadRef_Y_16x13.asm
deleted file mode 100644 (file)
index b233ea1..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*\r
- * Load reference 16x13 area for luma 8x8 MC\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: LoadRef_Y_16x13.asm\r
-//\r
-// Load reference 16x13 area for luma 8x8 MC\r
-\r
-\r
-//#if !defined(__LOADREF_Y_16x13__)            // Make sure this is only included once\r
-//#define __LOADREF_Y_16x13__\r
-\r
-#if 1\r
-\r
-#if 1\r
-\r
-       // Check whether MVX is integer MV\r
-       and.z.f0.0 (1) null:w                   r[pMV,0]<0;1,0>:w                               0x3:w\r
-\r
-       // Compute integer and fractional components of MV\r
-    and (2)            gMVX_FRAC<1>:w          r[pMV,0]<2;2,1>:w                               0x03:w  //{NoDDClr}\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x02:w  //{NoDDChk}\r
-    \r
-    // Check whether MVY is integer\r
-       or.z.f0.1 (8) null:w                    gMVY_FRAC<0;1,0>:w                              0:w\r
-       \r
-       // If MVX is a multiple of 4 (..., -4, 0, 4, ...) integer MV, do special handling\r
-       (f0.0)  jmpi (1)        INTERLABEL(LOADREF_MVXZERO)     \r
-       \r
-    // Set message descriptor\r
-    (f0.1) add (1)     pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(4):ud  \r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(7):ud\r
-       \r
-       // Compute top-left corner position to be loaded\r
-       // TODO: sel\r
-    (-f0.1) add (2)    gMSGSRC.0<1>:d  gMVX_INT<2;2,1>:w                               -0x02:d //{NoDDClr}\r
-    (-f0.1) mov (1)    gMSGSRC.2:ud    0x000c000c:ud                                                   //{NoDDChk}\r
-    (f0.1) add (1)     gMSGSRC.0<1>:d  gMVX_INT<0;1,0>:w                               -0x02:d //{NoDDClr}\r
-       (f0.1) mov (1)  gMSGSRC.1<1>:d  gMVY_INT<0;1,0>:w                                               //{NoDDChk,NoDDClr}\r
-    (f0.1) mov (1)     gMSGSRC.2:ud    0x0007000c:ud                                                   //{NoDDChk}\r
-\r
-    // Read 16x13 pixels\r
-    send (8)   gudREF(0)<1>            mMSGHDRY                                                gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-    \r
-    jmpi INTERLABEL(EXIT_LOADREF_Y_16x13)\r
-    \r
-INTERLABEL(LOADREF_MVXZERO):\r
-    \r
-    // Set message descriptor\r
-#ifdef DEV_ILK\r
-    (f0.1) add (1)     pMSGDSC:ud              gMSGDSC_R:ud                                    0x00200000:ud   \r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    0x00400000:ud\r
-#else\r
-    (f0.1) add (1)     pMSGDSC:ud              gMSGDSC_R:ud                                    0x00020000:ud   \r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    0x00040000:ud\r
-#endif\r
-       \r
-       // Compute top-left corner position to be loaded\r
-       // TODO: sel\r
-       mov (2) gMSGSRC.0<1>:d  gMVX_INT<2;2,1>:w\r
-    (-f0.1) add (1)    gMSGSRC.1<1>:d  gMVY_INT<0;1,0>:w                               -0x02:d\r
-    (-f0.1) mov (1)    gMSGSRC.2:ud    0x000c0007:ud                                                   //{NoDDChk}\r
-    (f0.1) mov (1)     gMSGSRC.2:ud    0x00070007:ud                                                   //{NoDDChk}\r
-\r
-    // Read 16x13 pixels\r
-    send (8)   gudREF(0)<1>            mMSGHDRY                                                gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-    \r
-\r
-#else\r
-       // Compute integer and fractional components of MV\r
-    and (2)            gMVX_FRAC<1>:w          r[pMV,0]<2;2,1>:w                               0x03:w  //{NoDDClr}\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x02:w  //{NoDDChk}\r
-    \r
-    // Check whether MVY is integer\r
-       or.z.f0.1 (8) null:w                    gMVY_FRAC<0;1,0>:w                              0:w\r
-       \r
-    // Set message descriptor\r
-#ifdef DEV_ILK\r
-    (f0.1) add (1)     pMSGDSC:ud              gMSGDSC_R:ud                                    0x00400000:ud   \r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    0x00700000:ud\r
-#else\r
-    (f0.1) add (1)     pMSGDSC:ud              gMSGDSC_R:ud                                    0x00040000:ud   \r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    0x00070000:ud\r
-#endif\r
-       \r
-       // Compute top-left corner position to be loaded\r
-       // TODO: sel\r
-    (-f0.1) add (2)    gMSGSRC.0<1>:d  gMVX_INT<2;2,1>:w                               -0x02:d //{NoDDClr}\r
-    (-f0.1) mov (1)    gMSGSRC.2:ud    0x000c000c:ud                                                   //{NoDDChk}\r
-    (f0.1) add (1)     gMSGSRC.0<1>:d  gMVX_INT<0;1,0>:w                               -0x02:d //{NoDDClr}\r
-       (f0.1) mov (1)  gMSGSRC.1<1>:d  gMVY_INT<0;1,0>:w                                               //{NoDDChk,NoDDClr}\r
-    (f0.1) mov (1)     gMSGSRC.2:ud    0x0007000c:ud                                                   //{NoDDChk}\r
-\r
-    // Read 16x13 pixels\r
-    send (8)   gudREF(0)<1>            mMSGHDRY                                                gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-#endif\r
-    \r
-#else   \r
-\r
-       // Compute integer and fractional components of MV\r
-    and (2)            gMVX_FRAC<1>:w          r[pMV,0]<2;2,1>:w                               0x03:w  {NoDDClr} //\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x02:w  {NoDDChk} //\r
-    \r
-    // Set message descriptor\r
-#ifdef DEV_ILK\r
-    add (1)            pMSGDSC:ud                      gMSGDSC_R:ud                                    0x00700000:ud\r
-#else\r
-    add (1)            pMSGDSC:ud                      gMSGDSC_R:ud                                    0x00070000:ud\r
-#endif // DEV_ILK\r
-    \r
-       // Compute top-left corner position to be loaded\r
-    add (2)            gMSGSRC.0<1>:d          gMVX_INT<2;2,1>:w                               -0x02:d {NoDDClr} //\r
-    mov (1)            gMSGSRC.2:ud            0x000c000c:ud                                                   {NoDDChk} //\r
-\r
-    // Read 16x13 pixels\r
-    send (8)   gudREF(0)<1>        mMSGHDRY                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-    \r
-#endif\r
-\r
-INTERLABEL(EXIT_LOADREF_Y_16x13):\r
-\r
-//#endif       // !defined(__LOADREF_Y_16x13__)\r
diff --git a/i965_drv_video/shaders/h264/mc/loadRef_Y_16x9.asm b/i965_drv_video/shaders/h264/mc/loadRef_Y_16x9.asm
deleted file mode 100644 (file)
index e48151e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*\r
- * Load reference 16x9 area for luma 4x4 MC\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: LoadRef_Y_16x9.asm\r
-//\r
-// Load reference 16x9 area for luma 4x4 MC\r
-\r
-\r
-//#if !defined(__LOADREF_Y_16x9__)             // Make sure this is only included once\r
-//#define __LOADREF_Y_16x9__\r
-\r
-#if 1\r
-\r
-       // Compute integer and fractional components of MV\r
-    and (2)            gMVX_FRAC<1>:w          r[pMV,0]<2;2,1>:w                               0x03:w  //{NoDDClr}\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x02:w  //{NoDDChk}\r
\r
-    // Check whether MVY is integer\r
-       or.z.f0.1 (8) null:w                    gMVY_FRAC<0;1,0>:w                              0:w\r
-          \r
-       // Set message descriptor\r
-       (f0.1) add (1)  pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(2):ud\r
-       (-f0.1) add (1) pMSGDSC:ud              gMSGDSC_R:ud                                    RESP_LEN(5):ud\r
-\r
-       // Compute top-left corner position to be loaded\r
-       // TODO: sel\r
-    (-f0.1) add (2)    gMSGSRC.0<1>:d  gMVX_INT<2;2,1>:w                               -0x02:d //{NoDDClr}\r
-    (-f0.1) mov (1)    gMSGSRC.2:ud    0x00080008:ud                                                   //{NoDDChk}\r
-    (f0.1) add (1)     gMSGSRC.0<1>:d  gMVX_INT<0;1,0>:w                               -0x02:d //{NoDDClr}\r
-       (f0.1) mov (1)  gMSGSRC.1<1>:d  gMVY_INT<0;1,0>:w                                               //{NoDDChk,NoDDClr}\r
-    (f0.1) mov (1)     gMSGSRC.2:ud    0x00030008:ud                                                   //{NoDDChk}\r
-\r
-    // Read 16x9 pixels\r
-    send (8)   gudREF(0)<1>        mMSGHDRY                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-\r
-#else\r
-\r
-       // Compute integer and fractional components of MV\r
-    and (2)            gMVX_FRAC<1>:w          r[pMV,0]<2;2,1>:w                               0x03:w {NoDDClr} //\r
-    asr (2)            gMVX_INT<1>:w           r[pMV,0]<2;2,1>:w                               0x02:w {NoDDChk} //\r
-\r
-       // Set message descriptor\r
-       add (1)         pMSGDSC:ud                      gMSGDSC_R:ud                                    RESP_LEN(5):ud\r
-    \r
-       // Compute top-left corner position to be loaded \r
-    add (2)            gMSGSRC.0<1>:d          gMVX_INT<2;2,1>:w                               -0x02:d {NoDDClr} //\r
-    mov (1)            gMSGSRC.2:ud            0x00080008:ud                                                   {NoDDChk} //\r
-\r
-    // Read 16x9 pixels\r
-    send (8)   gudREF(0)<1>        mMSGHDRY                                            gMSGSRC<8;8,1>:ud       DAPREAD pMSGDSC:ud\r
-\r
-#endif\r
-\r
-        \r
-//#endif       // !defined(__LOADREF_Y_16x9__)\r
diff --git a/i965_drv_video/shaders/h264/mc/load_Intra_Ref_UV.asm b/i965_drv_video/shaders/h264/mc/load_Intra_Ref_UV.asm
deleted file mode 100644 (file)
index 34adbe6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*\r
- * Load all reference U/V samples from neighboring macroblocks\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__LOAD_INTRA_REF_UV__)            // Make sure this is only included once\r
-#define __LOAD_INTRA_REF_UV__\r
-\r
-// Module name: load_Intra_Ref_UV.asm\r
-//\r
-// Load all reference U/V samples from neighboring macroblocks\r
-//\r
-// Note: Since loading of U/V data always follows writing of Y, the message descriptor is manipulated\r
-// to avoid recalculating due to frame/field variztions.\r
-\r
-// First load top 20x1 row U/V reference samples\r
-// 4 from macroblock D (actually use 2), 16 from macroblock B\r
-//\r
-    shr        (1)     I_ORIY<1>:w             I_ORIY<0;1,0>:w 1:w             // Adjust I_ORIY for NV12 format\r
-    add        (2)     MSGSRC.0<1>:d   I_ORIX<2;2,1>:w TOP_REF_OFFSET<2;2,1>:b {NoDDClr}       // Reference samples positioned at (-4, -1)\r
-    mov (1)    MSGSRC.2:ud             0x00000013:ud {NoDDChk}                 // Block width and height (20x1)\r
-\r
-//  Update message descriptor based on previous Y block write\r
-//\r
-#ifdef DEV_ILK\r
-    add (1)    MSGDSC  MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+DESTUV-DWBWMSGDSC_WC-0x10000000-DESTY:ud  // Set message descriptor\r
-#else\r
-    add (1)    MSGDSC  MSGDSC  RESP_LEN(1)+DWBRMSGDSC_RC+DESTUV-DWBWMSGDSC_WC-0x00800000-DESTY:ud  // Set message descriptor\r
-#endif // DEV_ILK\r
-\r
-    send (8)   INTRA_REF_TOP_D(0)      MSGHDR  MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-// Then load left 4x8 reference samples (actually use 1x8 column)\r
-//\r
-    add        (1)     MSGSRC.1<1>:d   MSGSRC.1<0;1,0>:d       1:w {NoDDClr}   // Reference samples positioned next row\r
-    mov (1)    MSGSRC.2:ud             0x00070003:ud {NoDDChk}                 // Block width and height (4x8)\r
-    send (8)   INTRA_REF_LEFT_D(0)     MSGHDRUV        MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-// End of load_Intra_Ref_UV\r
-#endif // !defined(__LOAD_INTRA_REF_UV__)\r
diff --git a/i965_drv_video/shaders/h264/mc/load_Intra_Ref_Y.asm b/i965_drv_video/shaders/h264/mc/load_Intra_Ref_Y.asm
deleted file mode 100644 (file)
index de8ec49..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*\r
- * Load all reference Y samples from neighboring macroblocks\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__LOAD_INTRA_REF_Y__)             // Make sure this is only included once\r
-#define __LOAD_INTRA_REF_Y__\r
-\r
-// Module name: load_Intra_Ref_Y.asm\r
-//\r
-// Load all reference Y samples from neighboring macroblocks\r
-//\r
-load_Intra_Ref_Y:\r
-//     shl (2) I_ORIX<1>:uw    ORIX<2;2,1>:ub  4:w             // Convert MB origin to pixel unit\r
-\r
-// First load top 28x1 row reference samples\r
-// 4 from macroblock D (actually use 1), 16 from macroblock B, and 8 from macroblock C\r
-//\r
-    add        (2)     MSGSRC.0<1>:d   I_ORIX<2;2,1>:w TOP_REF_OFFSET<2;2,1>:b {NoDDClr}       // Reference samples positioned at (-4, -1)\r
-    mov (1)    MSGSRC.2:ud             0x0000001B:ud {NoDDChk}                                                         // Block width and height (28x1)\r
-    add (1)    MSGDSC  REG_MBAFF_FIELD<0;1,0>:uw       RESP_LEN(1)+DWBRMSGDSC_RC+DESTY:ud  // Set message descriptor\r
-    send (8)   INTRA_REF_TOP_D(0)      MSGHDRY0        MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-// Then load left 4x16 reference samples (actually use 1x16 column)\r
-//\r
-    add        (1)     MSGSRC.1<1>:d   MSGSRC.1<0;1,0>:d       1:w {NoDDClr}   // Reference samples positioned next row\r
-    mov (1)    MSGSRC.2:ud             0x00F0003:ud    {NoDDChk}                       // Block width and height (4x16)\r
-    add (1)    MSGDSC                  MSGDSC  RESP_LEN(1):ud  // Need to read 1 more GRF register\r
-    send (8)   INTRA_REF_LEFT_D(0)     MSGHDRY1        MSGSRC<8;8,1>:ud        DAPREAD MSGDSC\r
-\r
-       RETURN\r
-// End of load_Intra_Ref_Y\r
-#endif // !defined(__LOAD_INTRA_REF_Y__)\r
diff --git a/i965_drv_video/shaders/h264/mc/null.g4a b/i965_drv_video/shaders/h264/mc/null.g4a
deleted file mode 100644 (file)
index f138029..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Xiang Haihao <haihao.xiang@intel.com>
- *
- */
-define(`YUV_color',`0xFFFFFFFFUD')
-shl(2) g62.0<1>UD g3.4<2,2,1>UB 4UW {align1};
-mov(1) g62.8<1>UD 0x000f000fUD {align1};
-mov(16) m1<1>UD YUV_color {align1 compr};
-mov(16) m3<1>UD YUV_color {align1 compr};
-mov(16) m5<1>UD YUV_color {align1 compr};
-mov(16) m7<1>UD YUV_color {align1 compr};
-send(16) 0 acc0<1>UW g62<8,8,1>UW write(0, 0, 2, 0) mlen 9 rlen 0 {align1};
-
-shr(1) g62.4<1>UD g62.4<1,1,1>UD 1UW {align1};
-mov(1) g62.8<1>UD 0x0007000fUD {align1};
-mov(16) m1<1>UD YUV_color {align1 compr};
-mov(16) m3<1>UD YUV_color {align1 compr};
-send(16) 0 acc0<1>UW g62<8,8,1>UW write(1, 0, 2, 0) mlen 5 rlen 0 {align1};
-
-send(16) 0 acc0<1>UW g0<8,8,1>UW thread_spawner(0, 0, 0) mlen 1 rlen 0 {align1 EOT};
diff --git a/i965_drv_video/shaders/h264/mc/null.g4b b/i965_drv_video/shaders/h264/mc/null.g4b
deleted file mode 100644 (file)
index fdd18e6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-   { 0x00200009, 0x27c02e21, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x008d07c0, 0x05902000 },
-   { 0x00000008, 0x27c42c21, 0x002107c4, 0x00010001 },
-   { 0x00000001, 0x27c80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x008d07c0, 0x05502001 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/h264/mc/null.g4b.gen5 b/i965_drv_video/shaders/h264/mc/null.g4b.gen5
deleted file mode 100644 (file)
index 7ecb90d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-   { 0x00200009, 0x27c02e21, 0x00450064, 0x00040004 },
-   { 0x00000001, 0x27c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x508d07c0, 0x12082000 },
-   { 0x00000008, 0x27c42c21, 0x002107c4, 0x00010001 },
-   { 0x00000001, 0x27c80061, 0x00000000, 0x0007000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x508d07c0, 0x0a082001 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/h264/mc/recon_C_4x4.asm b/i965_drv_video/shaders/h264/mc/recon_C_4x4.asm
deleted file mode 100644 (file)
index 3a2a921..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Recon_C_4x4.asm\r
-//\r
-//  $Revision: 11 $\r
-//  $Date: 10/03/06 5:28p $\r
-//\r
-\r
-\r
-//#if !defined(__RECON_C_4x4__)                // Make sure this is only included once\r
-//#define __RECON_C_4x4__\r
-\r
-\r
-       // TODO: Use instruction compression\r
-       add.sat (4) r[pERRORC,0]<2>:ub                  r[pERRORC,0]<4;4,1>:w                   gubCPRED(0)<16;4,4>\r
-       add.sat (4) r[pERRORC,128]<2>:ub                r[pERRORC,128]<4;4,1>:w                 gubCPRED(0,2)<16;4,4>\r
-       add.sat (4) r[pERRORC,32]<2>:ub                 r[pERRORC,32]<4;4,1>:w                  gubCPRED(1)<16;4,4>\r
-       add.sat (4) r[pERRORC,128+32]<2>:ub             r[pERRORC,128+32]<4;4,1>:w              gubCPRED(1,2)<16;4,4>\r
-       \r
-       add.sat (4) r[pERRORC,16]<2>:ub                 r[pERRORC,16]<4;4,1>:w                  gubCPRED(0,16)<16;4,4>\r
-       add.sat (4) r[pERRORC,128+16]<2>:ub             r[pERRORC,128+16]<4;4,1>:w              gubCPRED(0,18)<16;4,4>\r
-       add.sat (4) r[pERRORC,48]<2>:ub                 r[pERRORC,48]<4;4,1>:w                  gubCPRED(1,16)<16;4,4>\r
-       add.sat (4) r[pERRORC,128+48]<2>:ub             r[pERRORC,128+48]<4;4,1>:w              gubCPRED(1,18)<16;4,4>\r
-\r
-       // Increase chroma error block offset   \r
-#ifndef MONO\r
-       add (1)         pERRORC:w                       pERRORC:w                                               8:w\r
-#endif\r
-\r
-        \r
-//#endif       // !defined(__RECON_C_4x4__)\r
diff --git a/i965_drv_video/shaders/h264/mc/recon_Y_8x8.asm b/i965_drv_video/shaders/h264/mc/recon_Y_8x8.asm
deleted file mode 100644 (file)
index 6017790..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: Recon_Y_8x8.asm\r
-//\r
-//  $Revision: 10 $\r
-//  $Date: 9/22/06 2:50p $\r
-//\r
-\r
-\r
-//#if !defined(__RECON_Y_8x8__)                // Make sure this is only included once\r
-//#define __RECON_Y_8x8__\r
-\r
-\r
-       add.sat (16)            r[pERRORY,0]<2>:ub                      r[pERRORY,0]<16;16,1>:w                         gubYPRED(0)\r
-       add.sat (16)            r[pERRORY,nGRFWIB]<2>:ub        r[pERRORY,nGRFWIB]<16;16,1>:w           gubYPRED(1)\r
-       add.sat (16)            r[pERRORY,nGRFWIB*2]<2>:ub      r[pERRORY,nGRFWIB*2]<16;16,1>:w         gubYPRED(2)\r
-       add.sat (16)            r[pERRORY,nGRFWIB*3]<2>:ub      r[pERRORY,nGRFWIB*3]<16;16,1>:w         gubYPRED(3)\r
-       \r
-       add (1)                         pERRORY:w                                       pERRORY:w                                                       128:w\r
-\r
-//#endif       // !defined(__RECON_Y_8x8__)\r
diff --git a/i965_drv_video/shaders/h264/mc/roundShift_C_4x4.asm b/i965_drv_video/shaders/h264/mc/roundShift_C_4x4.asm
deleted file mode 100644 (file)
index c609159..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//     Kernel name: RoundShift_C_4x4.asm\r
-//\r
-//     Do (...+32)>>6 to 4x4 (NV12 8x4) interpolated chrominance data\r
-//\r
-\r
-\r
-//#if !defined(__RoundShift_C_4x4__)           // Make sure this is only included once\r
-//#define __RoundShift_C_4x4__\r
-\r
-\r
-       // TODO: Optimize using instruction compression\r
-       add (16)        acc0<1>:w                                       r[pRESULT,0]<16;16,1>:w                 32:w\r
-       add (16)        acc1<1>:w                                       r[pRESULT,nGRFWIB]<16;16,1>:w   32:w\r
-       asr.sat (16) r[pRESULT,0]<2>:ub                 acc0<16;16,1>:w                                 6:w\r
-       asr.sat (16) r[pRESULT,nGRFWIB]<2>:ub   acc1<16;16,1>:w                                 6:w\r
-       \r
-\r
-//#endif       // !defined(__RoundShift_C_4x4__)\r
diff --git a/i965_drv_video/shaders/h264/mc/save_16x16_Y.asm b/i965_drv_video/shaders/h264/mc/save_16x16_Y.asm
deleted file mode 100644 (file)
index 713e12c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*\r
- * Save decoded Y picture data to frame buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SAVE_16X16_Y__)         // Make sure this is only included once\r
-#define __SAVE_16X16_Y__\r
-\r
-// Module name: save_16x16_Y.asm\r
-//\r
-// Save decoded Y picture data to frame buffer\r
-//\r
-\r
-save_16x16_Y:\r
-\r
-    mov (1) MSGSRC.2:ud                0x000F000F:ud {NoDDClr}         // Block width and height (16x16)\r
-    mov (2) MSGSRC.0:ud                I_ORIX<2;2,1>:w {NoDDChk}       // X, Y offset\r
-#ifdef DEV_ILK\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00200000:ud  // Set message descriptor\r
-#else\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00020000:ud  // Set message descriptor\r
-#endif // DEV_ILK\r
-\r
-    mov (1) PDECBUF_UD<1>:ud   0x10001*DECBUF*GRFWIB+0x00400000:ud     // Pointers to row 0 and 2 of decoded data\r
-\r
-    $for(0,0; <8; 2,4) {\r
-       mov (32)        MSGPAYLOAD(%1)<1>       r[PDECBUF, %2*GRFWIB]REGION(16,2) {Compr}               // Block Y0/Y2\r
-       mov (32)        MSGPAYLOAD(%1,16)<1>    r[PDECBUF, (1+%2)*GRFWIB]REGION(16,2) {Compr}   // Block Y1/Y3\r
-    }\r
-\r
-//  Update message descriptor based on previous read setup\r
-//\r
-    send (8)   REG_WRITE_COMMIT_Y<1>:ud        MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-    RETURN\r
-// End of save_16x16_Y\r
-\r
-#endif // !defined(__SAVE_16X16_Y__)\r
diff --git a/i965_drv_video/shaders/h264/mc/save_4x4_Y.asm b/i965_drv_video/shaders/h264/mc/save_4x4_Y.asm
deleted file mode 100644 (file)
index 415034a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*\r
- * Save Intra_4x4 decoded Y picture data to frame buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SAVE_4X4_Y__)           // Make sure this is only included once\r
-#define __SAVE_4X4_Y__\r
-\r
-// Module name: save_4x4_Y.asm\r
-//\r
-// Save Intra_4x4 decoded Y picture data to frame buffer\r
-// Note: Each 4x4 block is stored in 1 GRF register in the order of block raster scan order,\r
-// i.e. 0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15\r
-\r
-save_4x4_Y:\r
-\r
-    mov (1) MSGSRC.2:ud                0x000F000F:ud {NoDDClr}         // Block width and height (16x16)\r
-    mov (2) MSGSRC.0:ud                I_ORIX<2;2,1>:w {NoDDChk}       // X, Y offset\r
-#ifdef DEV_ILK\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00200000:ud  // Set message descriptor\r
-#else\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00020000:ud  // Set message descriptor\r
-#endif // DEV_ILK\r
-\r
-    $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOAD(%1)<1>               DEC_Y(%1)<16;4,1>\r
-       mov (16)        MSGPAYLOAD(%1,16)<1>    DEC_Y(%1,4)<16;4,1>\r
-       mov (16)        MSGPAYLOAD(%1+1)<1>             DEC_Y(%1,8)<16;4,1>\r
-       mov (16)        MSGPAYLOAD(%1+1,16)<1>  DEC_Y(%1,12)<16;4,1>\r
-    }\r
-\r
-//  Update message descriptor based on previous read setup\r
-//\r
-    send (8)   REG_WRITE_COMMIT_Y<1>:ud        MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-    RETURN\r
-// End of save_4x4_Y\r
-\r
-#endif // !defined(__SAVE_4X4_Y__)\r
diff --git a/i965_drv_video/shaders/h264/mc/save_8x8_UV.asm b/i965_drv_video/shaders/h264/mc/save_8x8_UV.asm
deleted file mode 100644 (file)
index aa76af9..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*\r
- * Save decoded U/V picture data to frame buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SAVE_8x8_UV__)          // Make sure this is only included once\r
-#define __SAVE_8x8_UV__\r
-\r
-// Module name: save_8x8_UV.asm\r
-//\r
-// Save decoded U/V picture data to frame buffer\r
-//\r
-\r
-    mov (1) MSGSRC.2:ud            0x0007000F:ud {NoDDClr}             // Block width and height (16x8)\r
-    mov (2) MSGSRC.0<1>:ud  I_ORIX<2;2,1>:w    {NoDDChk}       // I_ORIX has already been adjusted for NV12\r
-\r
-//  Update message descriptor based on previous read setup\r
-//\r
-#ifdef DEV_ILK\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(4)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00100000:ud  // Set message descriptor\r
-#else\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(4)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00010000:ud  // Set message descriptor\r
-#endif // DEV_ILK\r
-\r
-// Write U/V picture data\r
-//\r
-#ifndef MONO\r
-    mov            MSGPAYLOAD(0,0)<1>  DEC_UV(0)REGION(16,2)   // U/V row 0\r
-    mov            MSGPAYLOAD(0,16)<1> DEC_UV(1)REGION(16,2)   // U/V row 1\r
-    mov            MSGPAYLOAD(1,0)<1>  DEC_UV(2)REGION(16,2)   // U/V row 2\r
-    mov            MSGPAYLOAD(1,16)<1> DEC_UV(3)REGION(16,2)   // U/V row 3\r
-    mov            MSGPAYLOAD(2,0)<1>  DEC_UV(4)REGION(16,2)   // U/V row 4\r
-    mov            MSGPAYLOAD(2,16)<1> DEC_UV(5)REGION(16,2)   // U/V row 5\r
-    mov            MSGPAYLOAD(3,0)<1>  DEC_UV(6)REGION(16,2)   // U/V row 6\r
-    mov            MSGPAYLOAD(3,16)<1> DEC_UV(7)REGION(16,2)   // U/V row 7\r
-#else  // defined(MONO)\r
-    $for(0; <4; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>              0x80808080:ud {Compr}\r
-       }\r
-\r
-#endif // !defined(MONO)\r
-\r
-       send (8)        REG_WRITE_COMMIT_UV<1>:ud       MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// End of save_8x8_UV\r
-\r
-#endif // !defined(__SAVE_8x8_UV__)\r
diff --git a/i965_drv_video/shaders/h264/mc/save_8x8_Y.asm b/i965_drv_video/shaders/h264/mc/save_8x8_Y.asm
deleted file mode 100644 (file)
index 3ffca79..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*\r
- * Save Intra_8x8 decoded Y picture data to frame buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SAVE_8X8_Y__)           // Make sure this is only included once\r
-#define __SAVE_8X8_Y__\r
-\r
-// Module name: save_8x8_Y.asm\r
-//\r
-// Save Intra_8x8 decoded Y picture data to frame buffer\r
-// NotE: Every 4 rows of Y data are interleaved with the horizontal neighboring blcok\r
-//\r
-save_8x8_Y:\r
-\r
-    mov (1) MSGSRC.2:ud                0x000F000F:ud {NoDDClr}         // Block width and height (16x16)\r
-    mov (2) MSGSRC.0:ud                I_ORIX<2;2,1>:w {NoDDChk}       // X, Y offset\r
-\r
-//  Update message descriptor based on previous read setup\r
-//\r
-#ifdef DEV_ILK\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00200000:ud  // Set message descriptor\r
-#else\r
-    add (1)            MSGDSC  MSGDSC MSG_LEN(8)+DWBWMSGDSC_WC-DWBRMSGDSC_RC-0x00020000:ud  // Set message descriptor\r
-#endif // DEV_ILK\r
-\r
-       mov (16)        MSGPAYLOAD(0)<1>        DEC_Y(0)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(0,16)<1>     DEC_Y(0,8)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(1,0)<1>      DEC_Y(0,16)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(1,16)<1>     DEC_Y(0,24)<32;8,1>\r
-\r
-       mov (16)        MSGPAYLOAD(2)<1>        DEC_Y(2)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(2,16)<1>     DEC_Y(2,8)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(3,0)<1>      DEC_Y(2,16)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(3,16)<1>     DEC_Y(2,24)<32;8,1>\r
-\r
-       mov (16)        MSGPAYLOAD(4)<1>        DEC_Y(4)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(4,16)<1>     DEC_Y(4,8)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(5,0)<1>      DEC_Y(4,16)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(5,16)<1>     DEC_Y(4,24)<32;8,1>\r
-\r
-       mov (16)        MSGPAYLOAD(6)<1>        DEC_Y(6)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(6,16)<1>     DEC_Y(6,8)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(7,0)<1>      DEC_Y(6,16)<32;8,1>\r
-       mov (16)        MSGPAYLOAD(7,16)<1>     DEC_Y(6,24)<32;8,1>\r
-\r
-    send (8)   REG_WRITE_COMMIT_Y<1>:ud        MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-    RETURN\r
-// End of save_8x8_Y\r
-\r
-#endif // !defined(__SAVE_8X8_Y__)\r
diff --git a/i965_drv_video/shaders/h264/mc/save_I_PCM.asm b/i965_drv_video/shaders/h264/mc/save_I_PCM.asm
deleted file mode 100644 (file)
index 77be35e..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*\r
- * Save I_PCM Y samples to Y picture buffer\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: save_I_PCM.asm\r
-//\r
-// First save I_PCM Y samples to Y picture buffer\r
-//\r
-    mov (1) MSGSRC.2:ud                0x000F000F:ud {NoDDClr}                 // Block width and height (16x16)\r
-       shl (2) MSGSRC.0:ud             ORIX<2;2,1>:ub  4:w     {NoDDChk}       // Convert MB origin in pixel unit\r
-\r
-    add (1)    MSGDSC  REG_MBAFF_FIELD<0;1,0>:uw       MSG_LEN(8)+DWBWMSGDSC_WC+DESTY:ud  // Set message descriptor\r
-\r
-    $for(0; <8; 2) {\r
-       mov (32)        MSGPAYLOAD(%1)<1>               I_PCM_Y(%1)REGION(16,1) {Compr,NoDDClr}\r
-       mov (32)        MSGPAYLOAD(%1,16)<1>    I_PCM_Y(%1,16)REGION(16,1) {Compr,NoDDChk}\r
-    }\r
-\r
-    send (8)   REG_WRITE_COMMIT_Y<1>:ud        MSGHDR  MSGSRC<8;8,1>:ud        DAPWRITE        MSGDSC\r
-\r
-// Then save I_PCM U/V samples to U/V picture buffer\r
-//\r
-    mov (1) MSGHDR.2:ud                0x0007000F:ud                   {NoDDClr}       // Block width and height (16x8)\r
-    asr (1) MSGHDR.1:ud                MSGSRC.1<0;1,0>:ud      1:w {NoDDChk}   // Y offset should be halved\r
-    add (1)    MSGDSC                  MSGDSC                  0x0-MSG_LEN(4)+0x1:d    // Set message descriptor for U/V\r
-\r
-#if 0\r
-    and.z.f0.0 (1)  NULLREG REG_CHROMA_FORMAT_IDC  CHROMA_FORMAT_IDC:ud\r
-       (f0.0) jmpi (1) MONOCHROME_I_PCM\r
-#endif\r
-\r
-#ifndef MONO\r
-// Non-monochrome picture\r
-//\r
-    $for(0,0; <4; 2,1) {\r
-       mov (16)        MSGPAYLOAD(%1)<2>               I_PCM_UV(%2)REGION(16,1)                // U data\r
-       mov (16)        MSGPAYLOAD(%1,1)<2>             I_PCM_UV(%2+2)REGION(16,1)              // V data\r
-       mov (16)        MSGPAYLOAD(%1+1)<2>             I_PCM_UV(%2,16)REGION(16,1)             // U data\r
-       mov (16)        MSGPAYLOAD(%1+1,1)<2>   I_PCM_UV(%2+2,16)REGION(16,1)   // V data\r
-       }\r
-#else  // defined(MONO)\r
-MONOCHROME_I_PCM:\r
-    $for(0; <4; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>              0x80808080:ud {Compr}\r
-       }\r
-\r
-#endif // !defined(MONO)\r
-\r
-    send (8)   REG_WRITE_COMMIT_UV<1>:ud       MSGHDR  null:ud DAPWRITE        MSGDSC\r
-\r
-// End of save_I_PCM\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard.asm b/i965_drv_video/shaders/h264/mc/scoreboard.asm
deleted file mode 100644 (file)
index 6fb41cf..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-/*\r
- * Dependency control scoreboard kernel\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: scoreboard.asm\r
-//\r
-// Dependency control scoreboard kernel\r
-//\r
-//  $Revision: 16 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: scoreboard\r
-// ----------------------------------------------------\r
-// ----------------------------------------------------\r
-//  Scoreboard structure\r
-// ----------------------------------------------------\r
-//\r
-//     1 DWORD per thread\r
-//\r
-//     Bit 31: "Checking" thread, i.e. an intra MB that sends "check dependency" message\r
-//     Bit 30: "Completed" thread. This bit set by an "update" message from intra/inter MB.\r
-//     Bits 29:28:     Must set to 0\r
-//     Bits 27:24:     EUID\r
-//     Bits 23:18: Reserved\r
-//     Bits 17:16: TID\r
-//     Bits 15:8:      X offset of current MB\r
-//     Bits 15:5:      Reserved\r
-//     Bits 4:0: 5 bits of available neighbor MB flags\r
-\r
-.kernel scoreboard\r
-SCOREBOARD:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0xf0aa55a5:ud\r
-#endif\r
-\r
-#include "header.inc"\r
-#include "scoreboard_header.inc"\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-\r
-#ifdef AS_ENABLED\r
-       and.z.f0.1      (1)     NULLREG r0.2<0;1,0>:ud  TH_RES  // Is this a restarted thread previously interrupted?\r
-       (f0.1) jmpi     (1)     Scoreboard_Init\r
-\r
-       #include "scoreboard_restore_AS.asm"\r
-\r
-       jmpi (1)        Scoreboard_OpenGW\r
-Scoreboard_Init:\r
-#endif // End AS_ENABLED\r
-\r
-// Scoreboard must be initialized to 0xc000ffff, meaning all "completed"\r
-// And it also avoids message mis-handling for the first MB\r
-    $for(0; <32; 2) {\r
-       mov (16)        CMD_SB(%1)<1>   0xc000ffff:ud {Compr}\r
-       }\r
-#ifdef DOUBLE_SB                                       // Scoreboard size needs to be doubled\r
-    $for(32; <64; 2) {\r
-       mov (16)        CMD_SB(%1)<1>   0xc000ffff:ud {Compr}\r
-       }\r
-#endif // DOUBLE_SB\r
-\r
-//----------------------------------------------------------\r
-//     Open message gateway for the scoreboard thread\r
-//\r
-//     RegBase = r4 (0x04)\r
-//     Gateway Size = 64 GRF registers (0x6)\r
-//     Dispatch ID = r0.20:ub\r
-//     Scoreboard Thread Key = 0\r
-//----------------------------------------------------------\r
-Scoreboard_OpenGW:\r
-    mov (8)    MSGHDRY0<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-       // Send a message with register base RegBase=0x04(r4) and Gateway size = 0x6 = 64 GRF reg and Key = 0\r
-       // 000 00000100 00000 00000 110 00000000 ==> 0000 0000 1000 0000 0000 0110 0000 0000\r
-#ifdef AS_ENABLED\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800700:ud   // Allocate 128 GRFs for message gateway - for SIP to send notification MSG\r
-#else\r
-  #ifdef       DOUBLE_SB\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800600:ud   // 64 GRF's for CTG-B\r
-  #else\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800500:ud   // 32 GRF's for CTG-A\r
-  #endif       // DOUBLE_SB\r
-#endif\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       OGWMSGDSC\r
-\r
-//------------------------------------------------------------------------\r
-//     Send Thread Spawning Message to start dispatching macroblock threads\r
-//\r
-//------------------------------------------------------------------------\r
-#ifdef AS_ENABLED\r
-       mov (8) acc0<1>:ud      CMD_SB(31)<8;8,1>                       // Ensure scoreboard data have been completely restored\r
-#endif // End AS_ENABLED\r
-    mov (8)    MSGHDRY1<1>:ud          r0<8;8,1>:ud            // Initialize message header payload with R0\r
-    mov (1)    MSGHDRY1.4<1>:ud        0x00000400:ud           // Dispatch URB length = 1\r
-\r
-       send (8)        NULLREG  MSGHDRY1       null:ud    TS   TSMSGDSC\r
-\r
-    mov (8)    MSGHDRY0<1>:ud          0x00000000:ud           // Initialize message header payload with 0\r
-\r
-//------------------------------------------------------------------------\r
-//     Scoreboard control data initialization\r
-//------------------------------------------------------------------------\r
-#ifdef AS_ENABLED\r
-       or      (1)     cr0.1:ud        cr0.1:ud        AS_INT_EN               // Enable interrupt\r
-       (f0.1) jmpi     (1)     Scoreboard_State_Init   // Jump if not restarted thread\r
-\r
-       // Restore scoreboard kernel control data to r1 - r3\r
-    mov (1)    m4.1:ud 64:ud                           // Starting r1\r
-    mov (1)    m4.2:ud 0x0002001f:ud           // for 3 registers\r
-    send (8)   r1.0<1>:ud      m4      null:ud DWBRMSGDSC_SC+0x00030000+AS_SAVE        // Restore r1 - r3\r
-       mov     (8)     a0.0<1>:uw      AR_SAVE<8;8,1>:uw                               // Restore all address registers\r
-\r
-// Check whether all MBs have been decoded\r
-       cmp.e.f0.0 (1)  NULLREG TotalMB<0;1,0>:w        0:w     // Set "Last MB" flag\r
-       (-f0.0) jmpi (1)        Before_First_MB\r
-    END_THREAD\r
-\r
-// Check whether it is before the first MB\r
-Before_First_MB:\r
-       cmp.e.f0.0 (1)  NULLREG AVAILFLAGD<1>:ud        0x08020401:ud   // in ACBD order\r
-       (f0.0) jmpi (1) Wavefront_Walk\r
-\r
-Scoreboard_State_Init:\r
-#endif // End AS_ENABLED\r
-       mov (2) WFLen_B<2>:w            HEIGHTINMB_1<0;1,0>:w\r
-       mov (1) AVAILFLAGD<1>:ud        0x08020401:ud   // in ACBD order\r
-       mov     (1) CASE00PTR<1>:ud     Notify_MSG_IP-No_Message_IP:ud          // Inter kernel starts\r
-       mov     (1) CASE10PTR<1>:ud     Dependency_Check_IP-No_Message_IP:ud    // Intra kernel starts\r
-#ifdef AS_ENABLED\r
-       mov     (1) CASE11PTR<1>:ud     0:ud            // No message\r
-#else\r
-       mov     (1) CASE11PTR<1>:ud     MB_Loop_IP-No_Message_IP:ud             // No message\r
-#endif // End AS_ENABLED\r
-       mov     (1) StartXD<1>:ud       0:ud\r
-       mov     (1) NewWFOffsetD<1>:ud  0x01ffff00:ud\r
-\r
-       mov (4) WFStart(0)<1>   0xffff:w\r
-       mov (1) WFStart(0)<1>   0:w\r
-\r
-       mov     (8)     a0.0<1>:uw      0x0:uw                                          // Initialize all pointers to 0\r
-\r
-//------------------------------------------------------------------------\r
-//     Scoreboard message handling loop\r
-//------------------------------------------------------------------------\r
-//\r
-Scoreboard_Loop:\r
-       // Calculate current wavefront length\r
-       add.ge.f0.1 (16)        acc0<1>:w       StartX<0;1,0>:w 0:w             // Used for x>2*y check\r
-       mac.g.f0.0 (16) NULLREGW        WFLenY<0;1,0>:w -2:w            // X - 2*Y > 0 ??\r
-       (f0.0) mov (1)  WFLen<1>:w      WFLenY<0;1,0>:w                         // Use smaller vertical wavefront length\r
-       (-f0.0) asr.sat (1)     WFLen<1>:uw     StartX<0;1,0>:w 1:w             // Horizontal wavefront length is smaller\r
-\r
-       // Initialize 5-MB group\r
-#ifdef ONE_MB_WA\r
-       mov (2) MBINDEX(0)<1>           WFStart(0)<2;2,1>\r
-       (f0.1) add (4) MBINDEX(0,2)<1>          WFStart(0,1)<4;4,1>     -1:w\r
-       (-f0.1) add (4) MBINDEX(0,2)<1>         WFStart(0,0)<4;4,1>     -1:w\r
-       (-f0.1) mov (1) StartX<1>:w             0:w                                     // WA for 1-MB wide pictures\r
-#else\r
-       mov (2) MBINDEX(0)<1>           WFStart(0)<2;2,1>                       {NoDDClr}\r
-       add (4) MBINDEX(0,2)<1>         WFStart(0,1)<4;4,1>     -1:w    {NoDDChk}\r
-#endif\r
-\r
-       // Update WFStart\r
-       mov (8) acc0<1>:w       WFStart(0)<0;1,0>                                       // Move WFStart(0) to acc0 to remove dependency later\r
-       mov (4) WFStart(0,1)<1> WFStart(0)<4;4,1>       {NoDDClr}       // Shift WFStart(0:2) to WFStart(1:3)\r
-       add (1) WFStart(0)<1>   acc0.0<0;1,0>:w         WFLen<0;1,0>:w  {NoDDChk}       // WFStart(0) = WFStart(0) + WFLen\r
-\r
-       mul (8) MBINDEX(0)<1>   MBINDEX(0)<8;8,1>       4:w     // Adjust MB order # to be DWORD aligned\r
-       and (1) DEPPTR<1>:uw    acc0<0;1,0>:w   SB_MASK*4:uw {NoDDClr}  // Wrap around scoreboard entries for current MB\r
-       and (4) DEPPTRL<1>:uw   acc0.1<4;4,1>:w SB_MASK*4:uw {NoDDChk}  // Wrap around scoreboard entries for neighbor MBs\r
-\r
-Wavefront_Walk:\r
-       wait    n0:ud\r
-//     Check for combined "checking" or "completed" threads in forwarded message\r
-//     2 MSB of scoreboard message indicate:\r
-//     0b00 = "inter start" message\r
-//     0b10 = "intra start" message\r
-//     0b11 = "No Message" or "inter complete" message\r
-//     0b01 = Reserved (should never occur)\r
-//\r
-MB_Loop:\r
-       shr     (1)     PMSGSEL<1>:uw   r[CMDPTR,CMD_SB_REG_OFF*GRFWIB+2]<0;1,0>:uw     12:w                                    // DWORD aligned pointer to message handler\r
-       and.nz.f0.1 (4) NULLREG r[CMDPTR,CMD_SB_REG_OFF*GRFWIB]<0;1,0>:ub       AVAILFLAG<4;4,1>:ub             // f0.1 4 LSB will have the available flags in ACBD order\r
-       mov (1) MSGHDRY0.4<1>:ud        r[CMDPTR,CMD_SB_REG_OFF*GRFWIB]<0;1,0>:ud               // Copy MB thread info from scoreboard\r
-       jmpi (1)        r[PMSGSEL, INLINE_REG_OFF*GRFWIB+16]<0;1,0>:d\r
-\r
-//     Now determine whether this is "inter done" or "no message"\r
-//     through checking debug_counter\r
-//\r
-No_Message:\r
-#ifdef AS_ENABLED\r
-       cmp.z.f0.1 (1)  NULLREG n0:ud   0       // Are all messages handled?\r
-       and.z.f0.0 (1)  NULLREG cr0.1:ud        AS_INT  // Poll interrupt bit\r
-       (-f0.1) jmpi (1)        MB_Loop                 // Continue polling the remaining message from current thread\r
-\r
-// All messages have been handled\r
-       (f0.0) jmpi (1) Wavefront_Walk          // No interrupt occurs. Wait for next one\r
-\r
-// Interrupt has been detected\r
-// Save all contents and terminate the scoreboard\r
-//\r
-       #include "scoreboard_save_AS.asm"\r
-\r
-       // Save scoreboard control data as well\r
-       //\r
-       mov (8) AR_SAVE<1>:uw   a0.0<8;8,1>:uw          // All address registers needs to be saved\r
-    mov (1)    MSGHDR.1:ud             64:ud\r
-    mov (1)    MSGHDR.2:ud             0x0002001f:ud   // for 3 registers\r
-       $for(0; <3; 1) {\r
-       mov (8) MSGPAYLOADD(%1)<1>      CMD_SB(%1-3)REGION(8,1)\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00300000+AS_SAVE   // Save r1 - r3\r
-\r
-       send (8) NULLREG MSGHDR r0:ud EOTMSGDSC+TH_INT  // Terminate with "Thread Interrupted" bit set\r
-#endif // End AS_ENABLED\r
-\r
-Dependency_Check:\r
-//     Current thread is "checking" but not "completed" (0b10 case).\r
-//     Check for dependency clear using all availability bits\r
-//\r
-       (f0.1) and.z.f0.1 (4)   NULLREG r[DEPPTRL,CMD_SB_REG_OFF*GRFWIB+3]<1,0>:ub      DONEFLAG:uw     // f0.1 4 LSB contains dependency clear\r
-       (f0.1.any4h) jmpi (1)   Dependency_Check                // Dependency not clear, keep polling..\r
-\r
-//     "Checking" thread and dependency cleared, send a message to let the thread go\r
-//\r
-Notify_MSG:\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       FWDMSGDSC+NOTIFYMSG\r
-\r
-//     Current macroblock has been serviced. Update to next macroblock in special zig-zag order\r
-//\r
-Update_CurMB:\r
-#if 0\r
-       add.ge.f0.0 (1) WFLen<1>:w      WFLen<0;1,0>:w  -1:w                    // Set "End of wavefront" flag\r
-       add (1) TotalMB<1>:w    TotalMB<0;1,0>:w        -1:w                    // Decrement "TotalMB"\r
-#else\r
-       add.ge.f0.0 (2) TotalMB<2>:w    TotalMB<4;2,2>:w        -1:w    // Set "End of wavefront" flag and decrement "TotalMB"\r
-#endif\r
-       add (8) MBINDEX(0)<1>   MBINDEX(0)<8;8,1>       4:w                             // Increment MB indices\r
-       and (1) DEPPTR<1>:uw    acc0<0;1,0>:w   SB_MASK*4:uw {NoDDClr}  // Wrap around 256 scoreboard entries for current MB\r
-       and (4) DEPPTRL<1>:uw   acc0.1<4;4,1>:w SB_MASK*4:uw {NoDDChk}  // Wrap around 256 scoreboard entries for neighbor MBs\r
-       cmp.e.f0.1 (16) NULLREGW  StartX<0;1,0>:uw      WIDTHINMB_1<0;1,0>:uw   // Set "on picture right boundary" flag\r
-#if 0\r
-       (f0.0) jmpi (1) Wavefront_Walk                  // Continue wavefront walking\r
-#else\r
-       (f0.0.all2h) jmpi (1) Wavefront_Walk    // Continue wavefront walking\r
-#endif\r
-\r
-//     Start new wavefront\r
-//\r
-       cmp.e.f0.0 (1)  NULLREG TotalMB<0;1,0>:w                0:w     // Set "Last MB" flag\r
-       (f0.1) add (4)  WFLen<1>:w      WFLen<4;4,1>:w          NewWFOffset<4;4,1>:b\r
-       (f0.1) add (4)  WFStart(0)<1>   WFStart(0)<4;4,1>       1:w\r
-       (-f0.1) add (1) StartX<1>:w             StartX<0;1,0>:w 1:w             // Move to right MB\r
-       (-f0.1) add (1) WFStart(0)<1>   WFStart(0)<0;1,0>       1:w\r
-\r
-       (-f0.0) jmpi (1)        Scoreboard_Loop                         // Not last MB, start new wavefront walking\r
-\r
-// All MBs have decoded. Terminate the thread now\r
-//\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
-\r
-// End of scoreboard\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_MBAFF.asm b/i965_drv_video/shaders/h264/mc/scoreboard_MBAFF.asm
deleted file mode 100644 (file)
index 02a49d8..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-/*\r
- * Dependency control scoreboard kernel for MBAFF frame\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: scoreboard_MBAFF.asm\r
-//\r
-// Dependency control scoreboard kernel for MBAFF frame\r
-//\r
-//  $Revision: 16 $\r
-//  $Date: 10/18/06 4:10p $\r
-//\r
-\r
-// ----------------------------------------------------\r
-//  Main: scoreboard_MBAFF\r
-// ----------------------------------------------------\r
-// ----------------------------------------------------\r
-//  Scoreboard structure\r
-// ----------------------------------------------------\r
-//\r
-//     1 DWORD per thread\r
-//\r
-//     Bit 31: "Checking" thread, i.e. an intra MB that sends "check dependency" message\r
-//     Bit 30: "Completed" thread. This bit set by an "update" message from intra/inter MB.\r
-//     Bits 29:28:     Must set to 0\r
-//     Bits 27:24:     EUID\r
-//     Bits 23:18: Reserved\r
-//     Bits 17:16: TID\r
-//     Bits 15:8:      X offset of current MB\r
-//     Bits 15:5:      Reserved\r
-//     Bits 4:0: 5 bits of available neighbor MB flags\r
-\r
-.kernel scoreboard_MBAFF\r
-SCOREBOARD_MBAFF:\r
-\r
-#ifdef _DEBUG\r
-// WA for FULSIM so we'll know which kernel is being debugged\r
-mov (1) acc0:ud 0xffaa55a5:ud\r
-#endif\r
-\r
-#include "header.inc"\r
-#include "scoreboard_header.inc"\r
-\r
-//\r
-//  Now, begin source code....\r
-//\r
-\r
-.code\r
-\r
-#ifdef AS_ENABLED\r
-       and.z.f0.1      (1)     NULLREG r0.2<0;1,0>:ud  TH_RES  // Is this a restarted thread previously interrupted?\r
-       (f0.1) jmpi     (1)     MBAFF_Scoreboard_Init\r
-\r
-       #include "scoreboard_restore_AS.asm"\r
-\r
-       jmpi (1)        MBAFF_Scoreboard_OpenGW\r
-MBAFF_Scoreboard_Init:\r
-#endif // End AS_ENABLED\r
-\r
-// Scoreboard must be initialized to 0xc000ffff, meaning all "completed"\r
-// And it also avoids message mis-handling for the first MB\r
-    $for(0; <32; 2) {\r
-       mov (16)        CMD_SB(%1)<1>   0xc000ffff:ud {Compr}\r
-       }\r
-#ifdef DOUBLE_SB                                       // Scoreboard size needs to be doubled\r
-    $for(32; <64; 2) {\r
-       mov (16)        CMD_SB(%1)<1>   0xc000ffff:ud {Compr}\r
-       }\r
-#endif // DOUBLE_SB\r
-\r
-//----------------------------------------------------------\r
-//     Open message gateway for the scoreboard thread\r
-//\r
-//     RegBase = r4 (0x04)\r
-//     Gateway Size = 64 GRF registers (0x6)\r
-//     Dispatch ID = r0.20:ub\r
-//     Scoreboard Thread Key = 0\r
-//----------------------------------------------------------\r
-MBAFF_Scoreboard_OpenGW:\r
-    mov (8)    MSGHDRY0<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-       // Send a message with register base RegBase=0x04(r4) and Gateway size = 0x6 = 64 GRF reg and Key = 0\r
-       // 000 00000100 00000 00000 110 00000000 ==> 0000 0000 1000 0000 0000 0110 0000 0000\r
-#ifdef AS_ENABLED\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800700:ud   // Allocate 128 GRFs for message gateway - for SIP to send notification MSG\r
-#else\r
-  #ifdef       DOUBLE_SB\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800600:ud   // 64 GRF's for CTG-B\r
-  #else\r
-       add (1) MSGHDRY0.5<1>:ud r0.20:ub       0x00800500:ud   // 32 GRF's for CTG-A\r
-  #endif       // DOUBLE_SB\r
-#endif\r
-\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       OGWMSGDSC\r
-\r
-//------------------------------------------------------------------------\r
-//     Send Thread Spawning Message to start dispatching macroblock threads\r
-//\r
-//------------------------------------------------------------------------\r
-#ifdef AS_ENABLED\r
-       mov (8) acc0<1>:ud      CMD_SB(31)<8;8,1>                       // Ensure scoreboard data have been completely restored\r
-#endif // End AS_ENABLED\r
-    mov (8)    MSGHDRY1<1>:ud          r0<8;8,1>:ud            // Initialize message header payload with R0\r
-    mov (1)    MSGHDRY1.4<1>:ud        0x00000400:ud           // Dispatch URB length = 1\r
-\r
-       send (8)        NULLREG  MSGHDRY1       null:ud    TS   TSMSGDSC\r
-\r
-    mov (8)    MSGHDRY0<1>:ud          0x00000000:ud           // Initialize message header payload with 0\r
-\r
-//------------------------------------------------------------------------\r
-//     Scoreboard control data initialization\r
-//------------------------------------------------------------------------\r
-#ifdef AS_ENABLED\r
-       or      (1)     cr0.1:ud        cr0.1:ud        AS_INT_EN               // Enable interrupt\r
-       (f0.1) jmpi     (1)     MBAFF_Scoreboard_State_Init     // Jump if not restarted thread\r
-\r
-       // Restore scoreboard kernel control data to r1 - r3\r
-    mov (1)    m4.1:ud 64:ud                           // Starting r1\r
-    mov (1)    m4.2:ud 0x0002001f:ud           // for 3 registers\r
-    send (8)   r1.0<1>:ud      m4      null:ud DWBRMSGDSC_SC+0x00030000+AS_SAVE        // Restore r1 - r3\r
-       and (1) CMDPTR<1>:uw    MBINDEX(0)<0;1,0>       SB_MASK*4:uw    // Restore scoreboard entries for current MB\r
-\r
-// EOT if all MBs have been decoded\r
-       cmp.e.f0.0 (1)  NULLREG TotalMB<0;1,0>:w        0:w     // Set "Last MB" flag\r
-       (-f0.0) jmpi (1)        MBAFF_Before_First_MB\r
-    END_THREAD\r
-\r
-// Check whether it is before the first MB\r
-MBAFF_Before_First_MB:\r
-       cmp.e.f0.0 (1)  NULLREG AVAILFLAGD<1>:ud        0x08020401:ud   // in ACBD order\r
-       (f0.0) jmpi (1) MBAFF_Wavefront_Walk\r
-\r
-MBAFF_Scoreboard_State_Init:\r
-#endif // End AS_ENABLED\r
-       mov (2) WFLen_B<2>:w            HEIGHTINMB_1<0;1,0>:w\r
-       mov (1) AVAILFLAGD<1>:ud        0x08020401:ud   // in ACBD order\r
-       mov (1) AVAILFLAG1D<1>:ud       0x08020410:ud   // in A_C_B_D_ order\r
-       mov     (1) CASE00PTR<1>:ud     MBAFF_Notify_MSG_IP-MBAFF_No_Message_IP:ud              // Inter kernel starts\r
-       mov     (1) CASE10PTR<1>:ud     MBAFF_Dependency_Check_IP-MBAFF_No_Message_IP:ud        // Intra kernel starts\r
-#ifdef AS_ENABLED\r
-       mov     (1) CASE11PTR<1>:ud     0:ud            // No message\r
-#else\r
-       mov     (1) CASE11PTR<1>:ud     MBAFF_MB_Loop_IP-MBAFF_No_Message_IP:ud         // No message\r
-#endif // End AS_ENABLED\r
-       mov     (1) StartXD<1>:ud       0:ud\r
-       mov     (1) NewWFOffsetD<1>:ud  0x01ffff00:ud\r
-\r
-       mov (8) WFStart_T(0)<1> 0xffff:w\r
-       mov (1) WFStart_T(0)<1> 0:w\r
-\r
-       mov     (8)     a0.0<1>:uw      0x0:uw                                          // Initialize all pointers to 0\r
-\r
-//------------------------------------------------------------------------\r
-//     Scoreboard message handling loop\r
-//------------------------------------------------------------------------\r
-//\r
-MBAFF_Scoreboard_Loop:\r
-// Calculate current wavefront length (same for top and bottom MB wavefronts)\r
-       add.ge.f0.1 (16)        acc0<1>:w       StartX<0;1,0>:w 0:w     // Used for x>2*y check\r
-       mac.g.f0.0 (16) NULLREGW        WFLenY<0;1,0>:w -2:w    // X - 2*Y > 0 ??\r
-       (f0.0) mov (2)  WFLen_B<1>:w    WFLenY<0;1,0>:w         // Use smaller vertical wavefront length\r
-       (f0.0) mov (1)  WFLen_Save<1>:w WFLenY<0;1,0>:w         // Save current wave front length\r
-       (-f0.0) asr.sat (2)     WFLen_B<1>:uw   StartX<0;1,0>:w 1:w     // Horizontal wavefront length is smaller\r
-       (-f0.0) asr.sat (1)     WFLen_Save<1>:uw        StartX<0;1,0>:w 1:w     // Save current wave front length\r
-\r
-// Initialize 9-MB group for top macroblock wavefront\r
-#ifdef ONE_MB_WA_MBAFF\r
-       mov (2) MBINDEX(0)<1>           WFStart_T(0)<2;2,1>\r
-       (f0.1) add (4) MBINDEX(0,2)<1>          WFStart_B(0,1)<4;4,1>   -1:w\r
-       (-f0.1) add (4) MBINDEX(0,2)<1>         WFStart_B(0,0)<4;4,1>   -1:w\r
-       mov (1) MBINDEX(0,5)<1>         WFStart_B(0,1)<0;1,0>\r
-       (-f0.1) mov (1) StartX<1>:w             0:w                                     // WA for 1-MB wide pictures\r
-#else\r
-       mov (2) MBINDEX(0)<1>           WFStart_T(0)<2;2,1>                     {NoDDClr}\r
-       add (4) MBINDEX(0,2)<1>         WFStart_B(0,1)<4;4,1>   -1:w    {NoDDChk,NoDDClr}\r
-       mov (1) MBINDEX(0,5)<1>         WFStart_B(0,1)<0;1,0>           {NoDDChk,NoDDClr}\r
-       add (4) MBINDEX(0,6)<1>         WFStart_T(0,1)<4;4,1>   -1:w    {NoDDChk}       // Upper MB group (C_B_D_x)\r
-#endif\r
-\r
-// Update WFStart_B[0]\r
-       add (8) acc0<1>:w       WFLen<0;1,0>:w  1:w                             // WFLen + 1\r
-       add (1) WFStart_B(0,0)<1>       acc0<0;1,0>:w   WFStart_T(0,0)<0;1,0>   // WFStart_T[0] + WFLen + 1\r
-\r
-MBAFF_Start_Wavefront:\r
-       mul (16)        MBINDEX(0)<1>   MBINDEX(0)REGION(16,1)  4:w             // Adjust MB order # to be DWORD aligned\r
-       and (1) CMDPTR<1>:uw    acc0<0;1,0>:w   SB_MASK*4:uw    // Wrap around scoreboard entries for current MB\r
-\r
-MBAFF_Wavefront_Walk:\r
-       wait    n0:ud\r
-\r
-//     Check for combined "checking" or "completed" threads in forwarded message\r
-//     2 MSB of scoreboard message indicate:\r
-//     0b00 = "inter start" message\r
-//     0b10 = "intra start" message\r
-//     0b11 = "No Message" or "inter complete" message\r
-//     0b01 = Reserved (should never occur)\r
-//\r
-MBAFF_MB_Loop:\r
-       shr     (1)     PMSGSEL<1>:uw   r[CMDPTR,CMD_SB_REG_OFF*GRFWIB+2]<0;1,0>:uw     12:w                                    // DWORD aligned pointer to message handler\r
-       and.nz.f0.1 (8) NULLREG r[CMDPTR,CMD_SB_REG_OFF*GRFWIB]<0;1,0>:ub       AVAILFLAG<8;8,1>:ub             // f0.1 8 LSB will have the available flags in ACBDA_C_B_D_ order\r
-       mov (1) MSGHDRY0.4<1>:ud        r[CMDPTR,CMD_SB_REG_OFF*GRFWIB]<0;1,0>:ud               // Copy MB thread info from scoreboard\r
-       jmpi (1)        r[PMSGSEL, INLINE_REG_OFF*GRFWIB+16]<0;1,0>:d\r
-\r
-//     Now determine whether this is "inter done" or "no message"\r
-//     through checking debug_counter\r
-//\r
-MBAFF_No_Message:\r
-#ifdef AS_ENABLED\r
-       cmp.z.f0.1 (1)  NULLREG n0:ud   0       // Are all messages handled?\r
-       and.z.f0.0 (1)  NULLREG cr0.1:ud        AS_INT  // Poll interrupt bit\r
-       (-f0.1) jmpi (1)        MBAFF_MB_Loop                   // Continue polling the remaining message from current thread\r
-\r
-// All messages have been handled\r
-       (f0.0) jmpi (1) MBAFF_Wavefront_Walk            // No interrupt occurs. Wait for next one\r
-\r
-// Interrupt has been detected\r
-// Save all contents and terminate the scoreboard\r
-//\r
-       #include "scoreboard_save_AS.asm"\r
-\r
-       // Save scoreboard control data as well\r
-       //\r
-    mov (1)    MSGHDR.1:ud             64:ud\r
-    mov (1)    MSGHDR.2:ud             0x0002001f:ud   // for 3 registers\r
-       $for(0; <3; 1) {\r
-       mov (8) MSGPAYLOADD(%1)<1>      CMD_SB(%1-3)REGION(8,1)\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00300000+AS_SAVE   // Save r1 - r3\r
-\r
-       send (8) NULLREG MSGHDR r0:ud EOTMSGDSC+TH_INT  // Terminate with "Thread Interrupted" bit set\r
-#endif // End AS_ENABLED\r
-\r
-MBAFF_Dependency_Check:\r
-//     Current thread is "checking" but not "completed" (0b10 case).\r
-//     Check for dependency clear using all availability bits\r
-//\r
-       and (8) DEPPTR<1>:uw    MBINDEX(0,1)REGION(8,1) SB_MASK*4:uw    // Wrap around scoreboard entries for current MB\r
-MBAFF_Dependency_Polling:\r
-       (f0.1) and.z.f0.1 (8)   NULLREG r[DEPPTR,CMD_SB_REG_OFF*GRFWIB+3]<1,0>:ub       DONEFLAG:uw     // f0.1 8 LSB contains dependency clear\r
-       (f0.1.any8h) jmpi (1)   MBAFF_Dependency_Polling                // Dependency not clear, keep polling..\r
-\r
-//     "Checking" thread and dependency cleared, send a message to let the thread go\r
-//\r
-MBAFF_Notify_MSG:\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       FWDMSGDSC+NOTIFYMSG\r
-\r
-//     Current macroblock has been serviced. Update to next macroblock in special zig-zag order\r
-//\r
-MBAFF_Update_CurMB:\r
-       add.ge.f0.0 (2) TotalMB<2>:w    TotalMB<4;2,2>:w        -1:w    // Set "End of wavefront" flag and decrement "TotalMB"\r
-       add (16)        MBINDEX(0)<1>   MBINDEX(0)REGION(16,1)  4:w             // Increment MB indices\r
-       and (1) CMDPTR<1>:uw    acc0<0;1,0>:w   SB_MASK*4:uw // Wrap around scoreboard entries for current MB\r
-       (f0.0.all2h) jmpi (1) MBAFF_Wavefront_Walk      // Continue wavefront walking\r
-\r
-// Top macroblock wavefront walk done, start bottom MB wavefront\r
-       add.ge.f0.0 (1) WFLen<1>:w      WFLen_B<0;1,0>:w        0:w     {NoDDClr}               // Set bottom MB wavefront length\r
-       mov (1) WFLen_B<1>:w    -1:w    {NoDDChk}                       // Reset bottom MB wavefront length\r
-       \r
-// Initialize 9-MB group for bottom macroblock wavefront\r
-       mov (8) MBINDEX(0)<1>           WFStart_B(0)<1;4,0>                     {NoDDClr}       // Initialize with WFStart_B[0] and WFStart_B[1]\r
-       mov (4) MBINDEX(0,1)<1>         WFStart_T(0,1)<0;1,0>           {NoDDChk,NoDDClr}       // Initialize with WFStart_T[1]\r
-       mov (2) MBINDEX(0,2)<1>         WFStart_T(0)<0;1,0>                     {NoDDChk,NoDDClr}       // Initialize with WFStart_T[0]\r
-       add (4) MBINDEX(0,6)<1>         WFStart_B(0,1)<4;4,1>   -1:w    {NoDDChk}       // Upper MB group (C_B_D_x)\r
-\r
-       (f0.0) jmpi (1) MBAFF_Start_Wavefront                           // Start bottom MB wavefront walk\r
-\r
-//     Start new wavefront\r
-//\r
-       cmp.e.f0.1 (16) NULLREGW  StartX<0;1,0>:uw      WIDTHINMB_1<0;1,0>:uw   // Set "on picture right boundary" flag\r
-\r
-       // Update WFStart_T and WFStart_B\r
-       add (8) acc0<1>:w       WFStart_T(0)REGION(1,0) 1:w                             // Move WFStart_T[0]+1 to acc0 to remove dependency later\r
-       mov (8) WFStart_T(0,1)<1>       WFStart_T(0)<8;8,1>     {NoDDClr}       // Shift WFStart_T(B)[0:2] to WFStart_T(B)[1:3]\r
-       mac (1) WFStart_T(0,0)<1>       WFLen_Save<0;1,0>:w     2:w {NoDDChk}   // WFStart_T[0] = WFStart_T[0] + 2*WFLen\r
-\r
-       cmp.e.f0.0 (1)  NULLREG TotalMB<0;1,0>:w        0:w     // Set "Last MB" flag\r
-\r
-       (f0.1) add (4)  WFLen<1>:w      WFLen<4;4,1>:w  NewWFOffset<4;4,1>:b    // + (0, -1, -1, 1)\r
-       (f0.1) add (8)  WFStart_T(0)<1> WFStart_T(0)REGION(4,1) 1:w\r
-       (-f0.1) add (1) StartX<1>:w             StartX<0;1,0>:w 1:w             // Move to right MB\r
-       (-f0.1) add (1) WFStart_T(0)<1> WFStart_T(0)REGION(1,0) 1:w\r
-\r
-       (-f0.0) jmpi (1)        MBAFF_Scoreboard_Loop                           // Not last MB, start new wavefront walking\r
-\r
-// All MBs have decoded. Terminate the thread now\r
-//\r
-    END_THREAD\r
-\r
-#if !defined(COMBINED_KERNEL)          // For standalone kernel only\r
-.end_code\r
-\r
-.end_kernel\r
-#endif\r
-\r
-// End of scoreboard_MBAFF\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_restore_AS.asm b/i965_drv_video/shaders/h264/mc/scoreboard_restore_AS.asm
deleted file mode 100644 (file)
index 7d95330..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*\r
- * Restore previously stored scoreboard data after content switching back\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: scoreboard_restore_AS.asm\r
-//\r
-// Restore previously stored scoreboard data after content switching back\r
-//\r
-//\r
-       // Restore scoreboard data to r4 - r67\r
-       // They are saved in a 2D surface with width of 32 and height of 80.\r
-       // Each row corresponds to one GRF register in the following order\r
-       // r4 - r67     : Scoreboard message\r
-       //\r
-    mov (8)    MSGSRC<1>:ud    r0.0<8;8,1>:ud {NoDDClr}        // Initialize message header payload with r0\r
-\r
-    mov (2)    MSGSRC.0:ud             0:ud {NoDDClr, NoDDChk}         // Starting r4\r
-    mov (1)    MSGSRC.2:ud             0x0007001f:ud {NoDDChk}         // for 8 registers\r
-    send (8)   CMD_SB(0)<1>    m1      MSGSRC<8;8,1>:ud        DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r4 - r11\r
-\r
-    mov (8)    m2:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m2.1:ud         8:ud\r
-    send (8)   CMD_SB(8)<1>    m2      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r12 - r19\r
-\r
-    mov (8)    m3:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m3.1:ud         16:ud\r
-    send (8)   CMD_SB(16)<1>   m3      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r20 - r27\r
-\r
-    mov (8)    m4:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m4.1:ud         24:ud\r
-    send (8)   CMD_SB(24)<1>   m4      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r28 - r35\r
-\r
-    mov (8)    m5:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m5.1:ud         32:ud\r
-    send (8)   CMD_SB(32)<1>   m5      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r36 - r43\r
-\r
-    mov (8)    m6:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m6.1:ud         40:ud\r
-    send (8)   CMD_SB(40)<1>   m6      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r44 - r51\r
-\r
-    mov (8)    m7:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m7.1:ud         48:ud\r
-    send (8)   CMD_SB(48)<1>   m7      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r52 - r59\r
-\r
-    mov (8)    m8:ud           MSGSRC<8;8,1>:ud\r
-    mov (1)    m8.1:ud         56:ud\r
-    send (8)   CMD_SB(56)<1>   m8      null:ud DWBRMSGDSC_SC+0x00080000+AS_SAVE        // Restore r60 - r67\r
-\r
-// End of scoreboard_restore_AS\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_save_AS.asm b/i965_drv_video/shaders/h264/mc/scoreboard_save_AS.asm
deleted file mode 100644 (file)
index 13abe0e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*\r
- * Save scoreboard data before content switching\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Module name: scoreboard_save_AS.asm\r
-//\r
-// Save scoreboard data before content switching\r
-//\r
-//\r
-       //      r1 - r35 need to be saved\r
-       // They are saved in a 2D surface with width of 32 and height of 64.\r
-       // Each row corresponds to one GRF register in the following order\r
-       // r4 - r35     : Scoreboard message\r
-       // r1 - r3  : Scoreboard kernel control data\r
-\r
-    mov (8)    MSGHDR<1>:ud    r0.0<8;8,1>:ud  // Initialize message header payload with r0\r
-    mov (1)    MSGHDR.2:ud             0x0007001f:ud   // for 8 registers\r
-\r
-    mov (2)    MSGHDR.0:ud             0:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r4 - r11\r
-\r
-    mov (1)    MSGHDR.1:ud             8:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+8)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r12 - r19\r
-\r
-    mov (1)    MSGHDR.1:ud             16:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+16)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r20 - r27\r
-\r
-    mov (1)    MSGHDR.1:ud             24:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+24)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r28 - r35\r
-\r
-    mov (1)    MSGHDR.1:ud             32:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+32)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r36 - r43\r
-\r
-    mov (1)    MSGHDR.1:ud             40:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+40)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r44 - r51\r
-\r
-    mov (1)    MSGHDR.1:ud             48:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+48)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r52 - r59\r
-\r
-    mov (1)    MSGHDR.1:ud             56:ud\r
-       $for(0; <8; 2) {\r
-       mov (16)        MSGPAYLOADD(%1)<1>      CMD_SB(%1+56)REGION(8,1) {Compr}\r
-       }\r
-    send (8)   NULLREG MSGHDR  null:ud DWBWMSGDSC+0x00800000+AS_SAVE   // Save r60 - r67\r
-\r
-// End of scoreboard_save_AS\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_sip.asm b/i965_drv_video/shaders/h264/mc/scoreboard_sip.asm
deleted file mode 100644 (file)
index 6330ea1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*\r
- * Scoreboard interrupt handler\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: scoreboard_sip.asm\r
-//\r
-// scoreboard interrupt handler\r
-//\r
-// Simply send a notification message to scoreboard thread\r
-\r
-    mov (8)            m0<1>:ud        0x00000000:ud                   // Initialize message header payload with 0\r
-#ifdef DOUBLE_SB\r
-       mov (1)         m0.5<1>:ud      0x08000200:ud                   // Message length = 1 DWORD, sent to GRF offset 64 registers\r
-#else\r
-       mov (1)         m0.5<1>:ud      0x04000200:ud                   // Message length = 1 DWORD, sent to GRF offset 32 registers\r
-#endif\r
-       send (8)        null<1>:ud  m0  null:ud    0x03108002   // Send notification message to scoreboard kernel\r
-\r
-       and (1)         cr0.1:ud        cr0.1:ud        0x00800000              // Clear preempt exception bit\r
-       and (1)         cr0.0:ud        cr0.0:ud        0x7fffffff:ud   // Exit SIP routine\r
-       nop                                                                                                     // Required by B-spec\r
-\r
-.end_code\r
-\r
-\r
-\r
-\r
-\r
-\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_start_inter.asm b/i965_drv_video/shaders/h264/mc/scoreboard_start_inter.asm
deleted file mode 100644 (file)
index 831b841..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*\r
- * Scoreboard function for starting inter prediction kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SCOREBOARD_START_INTER__)\r
-#define __SCOREBOARD_START_INTER__\r
-//\r
-// Module name: scoreboard_start_inter.asm\r
-//\r
-//     Scoreboard function for starting inter prediction kernels\r
-//     This function is only used by inter prediction kernels to send message to\r
-//     scoreboard in order to announce the inter kernel has started\r
-//\r
-//  $Revision: 5 $\r
-//  $Date: 10/18/06 4:11p $\r
-//\r
-scoreboard_start_inter:\r
-\r
-// First open message gateway since intra kernels need wake-up message to resume\r
-// \r
-    mov (8)    MSGHDRY0<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-    // Send a message with register base RegBase = r0 (0x0) and Size = 0x0\r
-    // 000 00000000 00000 00000 000 00000000 ==> 0000 0000 0000 0000 0000 0000 0000 0000\r
-    // ---------------------------------------------------------------------------------\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       OGWMSGDSC\r
-\r
-//     Derive the scoreboard location where the inter thread writes to\r
-//\r
-    mov (8)            MSGHDRY1<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-       // Compose M0.5:ud\r
-       #include "set_SB_offset.asm"\r
-\r
-       // Compose M0.0:ud, i.e. message payload\r
-       or      (1)             MSGHDRY1.1<1>:uw        sr0.0<0;1,0>:uw         0x0000:uw       // Set EUID/TID bits + inter start bit\r
-\r
-       send (8)        NULLREG  MSGHDRY1       null:ud    MSG_GW       FWDMSGDSC+NOTIFYMSG     // Send "Inter start" message to scoreboard kernel\r
-\r
-    RETURN\r
-\r
-#endif // !defined(__SCOREBOARD_START_INTER__)\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_start_intra.asm b/i965_drv_video/shaders/h264/mc/scoreboard_start_intra.asm
deleted file mode 100644 (file)
index 6d6d916..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*\r
- * Scoreboard function for starting intra prediction kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-#if !defined(__SCOREBOARD_START_INTRA__)\r
-#define __SCOREBOARD_START_INTRA__\r
-//\r
-// Module name: scoreboard_start_intra.asm\r
-//\r
-//     Scoreboard function for starting intra prediction kernels\r
-//     This function is only used by intra prediction kernels to send message to\r
-//     scoreboard in order to check dependency clearance\r
-//\r
-//  $Revision: 5 $\r
-//  $Date: 10/18/06 4:11p $\r
-//\r
-scoreboard_start_intra:\r
-\r
-// First open message gateway since intra kernels need wake-up message to resume\r
-// \r
-    mov (8)    MSGHDRY0<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-    // Send a message with register base RegBase = r0 (0x0) and Size = 0x0\r
-    // 000 00000000 00000 00000 000 00000000 ==> 0000 0000 0000 0000 0000 0000 0000 0000\r
-    // ---------------------------------------------------------------------------------\r
-       and (1)         MSGHDRY0.8<1>:uw        REG_INTRA_PRED_AVAIL_FLAG_BYTE<0;1,0>:ub        0x1f:uw         // Set lower word of key\r
-       send (8)        NULLREG  MSGHDRY0       null:ud    MSG_GW       OGWMSGDSC\r
-\r
-// Send "check dependency" message to scoreboard thread\r
-// --------------------------\r
-\r
-//     Derive the scoreboard location where the intra thread writes to\r
-//\r
-    mov (8)            MSGHDRY1<1>:ud  0x00000000:ud                   // Initialize message header payload with 0\r
-\r
-       // Compose M0.5:ud\r
-       #include "set_SB_offset.asm"\r
-\r
-       // Compose M0.0:ud, i.e. message payload\r
-       and (1)         MSGHDRY1.0<1>:uw        REG_INTRA_PRED_AVAIL_FLAG_BYTE<0;1,0>:ub        0x1f:uw         // Set lower word of message\r
-       or      (1)             MSGHDRY1.1<1>:uw        sr0.0<0;1,0>:uw         0x8000:uw       // Set EUID/TID bits + intra start bit\r
-\r
-       send (8)        NULLREG  MSGHDRY1       null:ud    MSG_GW       FWDMSGDSC+NOTIFYMSG     // Send "Intra start" message to scoreboard kernel\r
-\r
-    RETURN\r
-\r
-#endif // !defined(__SCOREBOARD_START_INTRA__)\r
diff --git a/i965_drv_video/shaders/h264/mc/scoreboard_update.asm b/i965_drv_video/shaders/h264/mc/scoreboard_update.asm
deleted file mode 100644 (file)
index f519e4a..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*\r
- * Scoreboard update function for decoding kernels\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//\r
-// Module name: scoreboard_update.asm\r
-//\r
-//     Scoreboard update function for decoding kernels\r
-//\r
-//     This module is used by decoding kernels to send message to scoreboard to update the\r
-//     "complete" status, thus the dependency of the MB can be cleared.\r
-//\r
-//  $Revision: 6 $\r
-//  $Date: 10/16/06 5:19p $\r
-//\r
-    mov (8)            MSGHDRY1<1>:ud  0x00000000:ud                           // Initialize message header payload with 0\r
-\r
-       // Compose M0.5:ud information\r
-       add (1) MSGHDRY1.10<1>:uw       r0.20:ub        0x0200:uw                               // Message length = 1 DWORD\r
-       and (1) MSGHDRY1.11<1>:uw       M05_STORE<0;1,0>:uw     SB_MASK*4:uw    // Retrieve stored value and wrap around scoreboard\r
-\r
-       or (1)  MSGHDRY1.0<1>:ud        M05_STORE<0;1,0>:uw     0xc0000000:ud   // Set "Completed" bits\r
-\r
-#ifndef BSDRESET_ENABLE\r
-#ifdef INTER_KERNEL\r
-       mov     (1)     gREG_WRITE_COMMIT_Y<1>:ud       gREG_WRITE_COMMIT_Y<0;1,0>:ud           // Make sure Y write is committed\r
-       mov     (1)     gREG_WRITE_COMMIT_UV<1>:ud      gREG_WRITE_COMMIT_UV<0;1,0>:ud          // Make sure U/V write is committed\r
-#else\r
-       mov     (1)     REG_WRITE_COMMIT_Y<1>:ud        REG_WRITE_COMMIT_Y<0;1,0>:ud            // Make sure Y write is committed\r
-       mov     (1)     REG_WRITE_COMMIT_UV<1>:ud       REG_WRITE_COMMIT_UV<0;1,0>:ud           // Make sure U/V write is committed\r
-#endif // INTER_KERNEL\r
-#endif // BSDRESET_ENABLE\r
-\r
-       send (8)        NULLREG  MSGHDRY1       null:ud    MSG_GW       FWDMSGDSC\r
-\r
-// End of scoreboard_update\r
diff --git a/i965_drv_video/shaders/h264/mc/set_SB_offset.asm b/i965_drv_video/shaders/h264/mc/set_SB_offset.asm
deleted file mode 100644 (file)
index 0b166e4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*\r
- * Common module to set offset into the scoreboard\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-//\r
-// Module name: set_SB_offset.asm\r
-//\r
-// Common module to set offset into the scoreboard\r
-//     Note: This is to encapsulate the way M0.5:ud in ForwardMsg is filled.\r
-//\r
-//  $Revision: 2 $\r
-//  $Date: 10/16/06 5:19p $\r
-//\r
-       add (1)         MSGHDRY1.10<1>:uw r0.20:ub      0x0200:uw                       // Message length = 1 DWORD\r
-\r
-       add     (16)    acc0<1>:w       r0.12<0;1,0>:uw -LEADING_THREAD:w       // 0-based thread count derived from r0.6:ud\r
-       shl (1)         M05_STORE<1>:uw         acc0<0;1,0>:uw  0x2:uw          // Store for future "update" use, in DWORD unit\r
-       and     (16)    acc0<1>:w       acc0<16;16,1>:uw        SB_MASK:uw              // Wrap around scoreboard\r
-       shl (1)         MSGHDRY1.11<1>:uw       acc0<0;1,0>:uw  0x2:uw          // Convert to DWORD offset\r
-\r
-// End of set_SB_offset
\ No newline at end of file
diff --git a/i965_drv_video/shaders/h264/mc/weightedPred.asm b/i965_drv_video/shaders/h264/mc/weightedPred.asm
deleted file mode 100644 (file)
index 76525f9..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-/*\r
- * Weighted prediction of luminance and chrominance\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: WeightedPred.asm\r
-//\r
-// Weighted prediction of luminance and chrominance\r
-//\r
-\r
-\r
-//#if !defined(__WeightedPred__)               // Make sure this is only included once\r
-//#define __WeightedPred__\r
-\r
-\r
-       and.z.f0.0 (1) gWEIGHTFLAG:w    gWPREDFLAG:ub                                   nWBIDIR_MASK:w\r
-       cmp.e.f0.1 (1) null:w                   gPREDFLAG:w                                             2:w\r
-       (-f0.0) jmpi INTERLABEL(WeightedPred)\r
-       (f0.1) jmpi INTERLABEL(DefaultWeightedPred_BiPred)\r
-       \r
-INTERLABEL(DefaultWeightedPred_UniPred):\r
-\r
-       cmp.e.f0.0 (1) null:w                   gPREDFLAG:w                                             0:w\r
-       (f0.0) jmpi INTERLABEL(Return_WeightedPred)\r
-\r
-       // luma\r
-       mov (32)        gubYPRED(0)<2>          gubINTPY1(0)    {Compr}\r
-       mov (32)        gubYPRED(2)<2>          gubINTPY1(2)    {Compr}\r
-\r
-#ifndef MONO\r
-       // chroma       \r
-       mov (32)        gubCPRED(0)<2>          gubINTPC1(0)    {Compr}\r
-#endif\r
-\r
-       jmpi INTERLABEL(Return_WeightedPred)\r
-       \r
-INTERLABEL(DefaultWeightedPred_BiPred):\r
-\r
-       // luma\r
-       avg.sat (32) gubYPRED(0)<2>             gubINTPY0(0)                                    gubINTPY1(0)    {Compr}\r
-       avg.sat (32) gubYPRED(2)<2>             gubINTPY0(2)                                    gubINTPY1(2)    {Compr}\r
-       \r
-#ifndef MONO\r
-       // chroma\r
-       avg.sat (32) gubCPRED(0)<2>             gubINTPC0(0)                                    gubINTPC1(0)    {Compr}\r
-#endif\r
-       \r
-       jmpi INTERLABEL(Return_WeightedPred)\r
-       \r
-INTERLABEL(WeightedPred):\r
-       cmp.e.f0.1 (1) null:w                   gWEIGHTFLAG:w                                   0x80:w\r
-       (-f0.1) jmpi INTERLABEL(WeightedPred_Explicit)\r
-       \r
-       cmp.e.f0.0 (1) null:w                   gPREDFLAG:w                                             2:w\r
-       (-f0.0) jmpi INTERLABEL(DefaultWeightedPred_UniPred)\r
-\r
-       mov (2)         gYADD<1>:w                      32:w                                                            {NoDDClr}       \r
-       mov (2)         gYSHIFT<1>:w            6:w                                                                     {NoDDChk}\r
-       mov (4)         gOFFSET<1>:w            0:w\r
-       mov (8)         gWT0<2>:w                       r[pWGT,0]<0;2,1>:w\r
-       \r
-       jmpi INTERLABEL(WeightedPred_LOOP)\r
-       \r
-       // Explicit Prediction\r
-INTERLABEL(WeightedPred_Explicit):\r
-       \r
-       // WA for weighted prediction - 2007/09/06      \r
-#ifdef SW_W_128                // CTG SW WA\r
-       cmp.e.f0.1 (8) null:ud                  r[pWGT,0]<8;8,1>:uw                             gudW128(0)<0;1,0>\r
-#else                                  // ILK HW solution\r
-       and.ne.f0.1 (8) null:uw                 r[pWGT,12]<0;1,0>:ub                    0x88848421:v    // Expand W=128 flag to all components. 2 MSB are don't care\r
-#endif \r
-       asr.nz.f0.0 (2) gBIPRED<1>:w    gPREDFLAG<0;1,0>:w                              1:w\r
-       asr (1)         gWEIGHTFLAG:w           gWEIGHTFLAG:w                                   6:w     \r
-       (-f0.0) mov (2) gPREDFLAG1<1>:w gPREDFLAG<0;1,0>:w                                                              \r
-       (f0.0) mov (2)  gPREDFLAG0<1>:ud 0x00010001:ud\r
-       (-f0.0) add (2) gPREDFLAG0<1>:w -gPREDFLAG1<2;2,1>:w                    1:w\r
-       \r
-       // WA for weighted prediction - 2007/09/06      \r
-       (f0.1) mov (8)  gWT0<1>:ud              0x00000080:ud\r
-       (-f0.1) mov (8) gWT0<2>:w               r[pWGT,0]<16;8,2>:b\r
-       (-f0.1) mov (8) gO0<2>:w                r[pWGT,1]<16;8,2>:b\r
-       mul (16)                gWT0<1>:w               gWT0<16;16,1>:w                                 gPREDFLAG0<0;4,1>:w\r
-\r
-       // Compute addition\r
-       cmp.e.f0.1 (2) null<1>:w                gYWDENOM<2;2,1>:ub                              0:w\r
-       (-f0.1) shl (2) gW0<1>:w                gWEIGHTFLAG<0;1,0>:w                    gYWDENOM<2;2,1>:ub\r
-       (f0.1) mov (2) gW0<1>:w                 0:w\r
-       (-f0.1) asr (2) gW0<1>:w                gW0<2;2,1>:w                                    1:w\r
-       shl (2)         gYADD<1>:w                      gW0<2;2,1>:w                                    gBIPRED<0;1,0>:w\r
-       (f0.1) add (2)  gYADD<1>:w              gYADD<2;2,1>:w                                  gBIPRED<0;1,0>:w\r
-       \r
-       // Compute shift\r
-       add (2)         gYSHIFT<1>:w            gYWDENOM<2;2,1>:ub                              gBIPRED<0;1,0>:w\r
-       \r
-       // Compute offset\r
-       add (4)         acc0<1>:w                       gO0<16;4,4>:w                                   gO1<16;4,4>:w\r
-       add (4)         acc0<1>:w                       acc0<4;4,1>:w                                   gBIPRED<0;1,0>:w\r
-       asr (4)         gOFFSET<1>:w            acc0<4;4,1>:w                                   gBIPRED<0;1,0>:w\r
-\r
-INTERLABEL(WeightedPred_LOOP): \r
-       // luma\r
-       $for(0;<4;2) {  \r
-       mul (16)        acc0<1>:w                       gubINTPY0(%1)                                   gWT0<0;1,0>:w\r
-       mul (16)        acc1<1>:w                       gubINTPY0(%1+1)                                 gWT0<0;1,0>:w\r
-       mac (16)        acc0<1>:w                       gubINTPY1(%1)                                   gWT1<0;1,0>:w\r
-       mac (16)        acc1<1>:w                       gubINTPY1(%1+1)                                 gWT1<0;1,0>:w\r
-       add (16)        acc0<1>:w                       acc0<16;16,1>:w                                 gYADD:w\r
-       add (16)        acc1<1>:w                       acc1<16;16,1>:w                                 gYADD:w\r
-       // Accumulator cannot be used as destination for ASR\r
-       asr (16)        gwINTERIM_BUF3(0)<1> acc0<16;16,1>:w                            gYSHIFT:w\r
-       asr (16)        gwINTERIM_BUF3(1)<1> acc1<16;16,1>:w                            gYSHIFT:w\r
-       add.sat (16) gubYPRED(%1)<2>    gwINTERIM_BUF3(0)                               gOFFSET:w\r
-       add.sat (16) gubYPRED(%1+1)<2>  gwINTERIM_BUF3(1)                               gOFFSET:w\r
-       }       \r
-\r
-#ifndef MONO\r
-       // chroma\r
-       mul (16)        acc0<1>:w                       gubINTPC0(0)                                    gUW0<0;2,4>:w\r
-       mul (16)        acc1<1>:w                       gubINTPC0(1)                                    gUW0<0;2,4>:w\r
-       mac (16)        acc0<1>:w                       gubINTPC1(0)                                    gUW1<0;2,4>:w\r
-       mac (16)        acc1<1>:w                       gubINTPC1(1)                                    gUW1<0;2,4>:w\r
-       add (16)        acc0<1>:w                       acc0<16;16,1>:w                                 gCADD:w\r
-       add (16)        acc1<1>:w                       acc1<16;16,1>:w                                 gCADD:w\r
-       // Accumulator cannot be used as destination for ASR\r
-       asr (16)        gwINTERIM_BUF3(0)<1> acc0<16;16,1>:w                            gCSHIFT:w\r
-       asr (16)        gwINTERIM_BUF3(1)<1> acc1<16;16,1>:w                            gCSHIFT:w\r
-       add.sat (16) gubCPRED(0)<2>             gwINTERIM_BUF3(0)                               gUOFFSET<0;2,1>:w\r
-       add.sat (16) gubCPRED(1)<2>             gwINTERIM_BUF3(1)                               gUOFFSET<0;2,1>:w\r
-#endif\r
-\r
-\r
-INTERLABEL(Return_WeightedPred):\r
-\r
-        \r
-//#endif       // !defined(__WeightedPred__)\r
diff --git a/i965_drv_video/shaders/h264/mc/writeRecon_C_8x4.asm b/i965_drv_video/shaders/h264/mc/writeRecon_C_8x4.asm
deleted file mode 100644 (file)
index be7585e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: WriteRecon_C_8x4.asm\r
-//\r
-//  $Revision: 10 $\r
-//  $Date: 10/03/06 5:28p $\r
-//\r
-\r
-\r
-//#if !defined(__WRITERECON_C_8x4__)           // Make sure this is only included once\r
-//#define __WRITERECON_C_8x4__\r
-\r
-\r
-       // TODO: Why did I use p0?\r
-#ifndef MONO\r
-    add (1)            p0:w                                    pERRORC:w                               -16:w\r
-       mov (16)        mbMSGPAYLOADC(0,0)<2>   r[p0,0]<32;16,2>:ub                             {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(0,1)<2>   r[p0,128]<32;16,2>:ub                   {NoDDChk}\r
-       mov (16)        mbMSGPAYLOADC(1,0)<2>   r[p0,32]<32;16,2>:ub                    {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(1,1)<2>   r[p0,128+32]<32;16,2>:ub                {NoDDChk}\r
-#else  // defined(MONO)\r
-       mov (16)        mbMSGPAYLOADC(0)<1>             0x80808080:ud {Compr}\r
-#endif // !defined(MONO)\r
-\r
- #if defined(MBAFF)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(2)+nDWBWMSGDSC+nBDIX_DESTC+ENWRCOM:ud\r
- #elif defined(FIELD)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(2)+nDWBWMSGDSC_TF+nBDIX_DESTC+ENWRCOM:ud\r
- #endif\r
-\r
-    asr (1)            gMSGSRC.1:d                             gMSGSRC.1:d                                     1:w     {NoDDClr}\r
-    mov (1)            gMSGSRC.2:ud                    0x0003000f:ud                                   {NoDDChk} // NV12 (16x4)\r
-\r
-#if defined(FRAME)\r
-    send (8)   gREG_WRITE_COMMIT_UV<1>:ud              mMSGHDRCW                               gMSGSRC<8;8,1>:ud               DAPWRITE        MSG_LEN(2)+nDWBWMSGDSC+nBDIX_DESTC+ENWRCOM\r
-#else\r
-    send (8)   gREG_WRITE_COMMIT_UV<1>:ud              mMSGHDRCW                               gMSGSRC<8;8,1>:ud               DAPWRITE        pMSGDSC:ud\r
-#endif // defined(FRAME)\r
-\r
-//#endif       // !defined(__WRITERECON_C_8x4__)\r
diff --git a/i965_drv_video/shaders/h264/mc/writeRecon_YC.asm b/i965_drv_video/shaders/h264/mc/writeRecon_YC.asm
deleted file mode 100644 (file)
index ff84aff..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: WriteRecon_YC.asm\r
-//\r
-//  $Revision: 10 $\r
-//  $Date: 10/03/06 5:28p $\r
-//\r
-\r
-\r
-//#if !defined(__WRITERECON_YC__)              // Make sure this is only included once\r
-//#define __WRITERECON_YC__\r
-\r
-    // TODO: Merge two inst to one.\r
-    mov (1)            p0:w                                    nOFFSET_ERRORY:w\r
-    mov (1)            p1:w                                    nOFFSET_ERRORY+128:w\r
-    \r
-       $for(0; <4; 1) {\r
-    mov (16)   mbMSGPAYLOADY(%1,0)<1>  r[p0,%1*32+0]<8,2>:ub           {NoDDClr}\r
-    mov (16)   mbMSGPAYLOADY(%1,16)<1> r[p0,%1*32+16]<8,2>:ub          {NoDDChk}\r
-    }    \r
-       $for(0; <4; 1) {\r
-    mov (16)   mbMSGPAYLOADY(%1+4,0)<1>        r[p0,%1*32+256]<8,2>:ub                 {NoDDClr}\r
-    mov (16)   mbMSGPAYLOADY(%1+4,16)<1>       r[p0,%1*32+16+256]<8,2>:ub              {NoDDChk}\r
-    }    \r
-    \r
\r
- #if defined(MBAFF)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(8)+nDWBWMSGDSC+nBDIX_DESTY+ENWRCOM:ud\r
- #elif defined(FIELD)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(8)+nDWBWMSGDSC_TF+nBDIX_DESTY+ENWRCOM:ud\r
- #endif\r
-\r
-    mov        (2)             gMSGSRC.0<1>:d                  gX<2;2,1>:w             {NoDDClr}\r
-    mov (1)            gMSGSRC.2:ud                    0x000f000f:ud   {NoDDChk}\r
-    \r
-#if defined(FRAME)\r
-    send (8)   gREG_WRITE_COMMIT_Y<1>:ud               mMSGHDRYW                               gMSGSRC<8;8,1>:ud               DAPWRITE        MSG_LEN(8)+nDWBWMSGDSC+nBDIX_DESTY+ENWRCOM\r
-#else\r
-    send (8)   gREG_WRITE_COMMIT_Y<1>:ud               mMSGHDRYW                               gMSGSRC<8;8,1>:ud               DAPWRITE        pMSGDSC:ud\r
-#endif\r
-\r
-#ifndef MONO\r
-       // TODO: Why did I use p0?\r
-    mov (1)            p0:w                                    nOFFSET_ERRORC:w\r
-       mov (16)        mbMSGPAYLOADC(0,0)<2>   r[p0,0]<32;16,2>:ub                             {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(0,1)<2>   r[p0,128]<32;16,2>:ub                   {NoDDChk}\r
-       mov (16)        mbMSGPAYLOADC(1,0)<2>   r[p0,32]<32;16,2>:ub                    {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(1,1)<2>   r[p0,128+32]<32;16,2>:ub                {NoDDChk}\r
-       mov (16)        mbMSGPAYLOADC(2,0)<2>   r[p0,64]<32;16,2>:ub                    {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(2,1)<2>   r[p0,128+64]<32;16,2>:ub                {NoDDChk}\r
-       mov (16)        mbMSGPAYLOADC(3,0)<2>   r[p0,96]<32;16,2>:ub                    {NoDDClr}\r
-       mov (16)        mbMSGPAYLOADC(3,1)<2>   r[p0,128+96]<32;16,2>:ub                {NoDDChk}\r
-\r
-\r
- #if defined(MBAFF)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(4)+nDWBWMSGDSC+nBDIX_DESTC+ENWRCOM:ud\r
- #elif defined(FIELD)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(4)+nDWBWMSGDSC_TF+nBDIX_DESTC+ENWRCOM:ud\r
- #endif\r
-\r
-    asr (1)            gMSGSRC.1:d                             gMSGSRC.1:d                                     1:w     {NoDDClr}\r
-    mov (1)            gMSGSRC.2:ud                    0x0007000f:ud                                   {NoDDChk} // NV12 (16x4)\r
-\r
-#if defined(FRAME)\r
-    send (8)   gREG_WRITE_COMMIT_UV<1>:ud              mMSGHDRCW                               gMSGSRC<8;8,1>:ud               DAPWRITE        MSG_LEN(4)+nDWBWMSGDSC+nBDIX_DESTC+ENWRCOM\r
-#else\r
-    send (8)   gREG_WRITE_COMMIT_UV<1>:ud              mMSGHDRCW                               gMSGSRC<8;8,1>:ud               DAPWRITE        pMSGDSC:ud\r
-#endif // defined(FRAME)\r
-\r
-#endif // !defined(MONO)\r
-\r
-\r
-//#endif       // !defined(__WRITERECON_YC__)\r
diff --git a/i965_drv_video/shaders/h264/mc/writeRecon_Y_16x8.asm b/i965_drv_video/shaders/h264/mc/writeRecon_Y_16x8.asm
deleted file mode 100644 (file)
index 509a2ec..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*\r
- * Copyright © <2010>, Intel Corporation.\r
- *\r
- * This program is licensed under the terms and conditions of the\r
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at\r
- * http://www.opensource.org/licenses/eclipse-1.0.php.\r
- *\r
- */\r
-// Kernel name: WriteRecon_Y_16x8.asm\r
-//\r
-//  $Revision: 10 $\r
-//  $Date: 10/03/06 5:28p $\r
-//\r
-\r
-\r
-//#if !defined(__WRITERECON_Y_16x8__)          // Make sure this is only included once\r
-//#define __WRITERECON_Y_16x8__\r
-\r
-\r
-    add (1)            p0:w                                    pERRORY:w                               -256:w\r
-    add (1)            p1:w                                    pERRORY:w                               -128:w\r
-    \r
-       $for(0; <4; 1) {\r
-    mov (16)   mbMSGPAYLOADY(%1,0)<1>  r[p0,%1*32+0]<8,2>:ub           {NoDDClr}\r
-    mov (16)   mbMSGPAYLOADY(%1,16)<1> r[p0,%1*32+16]<8,2>:ub          {NoDDChk}\r
-    }    \r
\r
- #if defined(MBAFF)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(4)+nDWBWMSGDSC+nBDIX_DESTY+ENWRCOM:ud\r
- #elif defined(FIELD)\r
-       add (1)         pMSGDSC:ud                              gFIELDFLAGS:uw                  MSG_LEN(4)+nDWBWMSGDSC_TF+nBDIX_DESTY+ENWRCOM:ud\r
- #endif\r
-\r
-    mov        (2)             gMSGSRC.0<1>:d                  gX<2;2,1>:w             {NoDDClr}\r
-    mov (1)            gMSGSRC.2:ud                    0x0007000f:ud   {NoDDChk}\r
-    \r
-#if defined(FRAME)\r
-    send (8)   gREG_WRITE_COMMIT_Y<1>:ud               mMSGHDRYW                               gMSGSRC<8;8,1>:ud               DAPWRITE        MSG_LEN(4)+nDWBWMSGDSC+nBDIX_DESTY+ENWRCOM\r
-#else\r
-    send (8)   gREG_WRITE_COMMIT_Y<1>:ud               mMSGHDRYW                               gMSGSRC<8;8,1>:ud               DAPWRITE        pMSGDSC:ud\r
-#endif\r
-\r
-//#endif       // !defined(__WRITERECON_Y_16x8__)\r
diff --git a/i965_drv_video/shaders/mpeg2/Makefile.am b/i965_drv_video/shaders/mpeg2/Makefile.am
deleted file mode 100644 (file)
index e5c6e7f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = vld
diff --git a/i965_drv_video/shaders/mpeg2/vld/Makefile.am b/i965_drv_video/shaders/mpeg2/vld/Makefile.am
deleted file mode 100644 (file)
index ff534fe..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-
-INTEL_G4I = addidct.g4i               \
-           do_iq_intra.g4i           \
-           do_iq_non_intra.g4i       \
-           idct.g4i                  \
-           iq_intra.g4i              \
-           iq_non_intra.g4i          \
-           motion_field_uv.g4i       \
-           motion_field_y.g4i        \
-           motion_frame_uv.g4i       \
-           motion_frame_y.g4i        \
-           read_field_x0y0_uv.g4i    \
-           read_field_x0y0_y.g4i     \
-           read_field_x0y1_y.g4i     \
-           read_field_x1y0_y.g4i     \
-           read_field_x1y1_y.g4i     \
-           read_frame_x0y0_uv.g4i    \
-           read_frame_x0y0_y.g4i     \
-           read_frame_x0y1_y.g4i     \
-           read_frame_x1y0_y.g4i     \
-           read_frame_x1y1_y.g4i
-
-INTEL_G4A = frame_intra.g4a                    \
-           frame_frame_pred_forward.g4a        \
-           frame_frame_pred_backward.g4a       \
-           frame_frame_pred_bidirect.g4a       \
-           frame_field_pred_forward.g4a        \
-           frame_field_pred_backward.g4a       \
-           frame_field_pred_bidirect.g4a       \
-           lib.g4a                             \
-           field_intra.g4a                     \
-           field_forward.g4a                   \
-           field_forward_16x8.g4a              \
-           field_backward.g4a                  \
-           field_backward_16x8.g4a             \
-           field_bidirect.g4a                  \
-           field_bidirect_16x8.g4a             \
-           null.g4a
-
-INTEL_G4B = frame_intra.g4b                    \
-           frame_frame_pred_forward.g4b        \
-           frame_frame_pred_backward.g4b       \
-           frame_frame_pred_bidirect.g4b       \
-           frame_field_pred_forward.g4b        \
-           frame_field_pred_backward.g4b       \
-           frame_field_pred_bidirect.g4b       \
-           lib.g4b                             \
-           field_intra.g4b                     \
-           field_forward.g4b                   \
-           field_forward_16x8.g4b              \
-           field_backward.g4b                  \
-           field_backward_16x8.g4b             \
-           field_bidirect.g4b                  \
-           field_bidirect_16x8.g4b
-
-INTEL_G4B_GEN5 = frame_intra.g4b.gen5          \
-           frame_frame_pred_forward.g4b.gen5   \
-           frame_frame_pred_backward.g4b.gen5  \
-           frame_frame_pred_bidirect.g4b.gen5  \
-           frame_field_pred_forward.g4b.gen5   \
-           frame_field_pred_backward.g4b.gen5  \
-           frame_field_pred_bidirect.g4b.gen5  \
-           lib.g4b.gen5                        \
-           field_intra.g4b.gen5                \
-           field_forward.g4b.gen5              \
-           field_forward_16x8.g4b.gen5         \
-           field_backward.g4b.gen5             \
-           field_backward_16x8.g4b.gen5        \
-           field_bidirect.g4b.gen5             \
-           field_bidirect_16x8.g4b.gen5
-
-EXTRA_DIST = $(INTEL_G4I)      \
-            $(INTEL_G4A)       \
-            $(INTEL_G4B)       \
-            $(INTEL_G4B_GEN5)
-
-if HAVE_GEN4ASM
-
-SUFFIXES = .g4a .g4b
-.g4a.g4b:
-       m4 $*.g4a > $*.g4m && intel-gen4asm -o $@ $*.g4m && intel-gen4asm -g 5 -o $@.gen5 $*.g4m && rm $*.g4m
-
-$(INTEL_G4B): $(INTEL_G4I)
-
-BUILT_SOURCES= $(INTEL_G4B)
-
-clean-local:
-       -rm -f $(INTEL_G4B)
-       -rm -f $(INTEL_G4B_GEN5)
-endif    
diff --git a/i965_drv_video/shaders/mpeg2/vld/addidct.g4i b/i965_drv_video/shaders/mpeg2/vld/addidct.g4i
deleted file mode 100644 (file)
index b57548d..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};          //restore x and y
-
-and.nz (1) null g82.2<1,1,1>UW 0x20UW {align1};       //dct_type
-(f0) jmpi field_dct;
-
-add (16) g58.0<1>W g83.0<16,16,1>W g58.0<16,16,2>UB {align1};
-add (16) g59.0<1>W g84.0<16,16,1>W g59.0<16,16,2>UB {align1};
-add (16) g60.0<1>W g85.0<16,16,1>W g60.0<16,16,2>UB {align1};
-add (16) g61.0<1>W g86.0<16,16,1>W g61.0<16,16,2>UB {align1};
-add (16) g62.0<1>W g87.0<16,16,1>W g62.0<16,16,2>UB {align1};
-add (16) g63.0<1>W g88.0<16,16,1>W g63.0<16,16,2>UB {align1};
-add (16) g64.0<1>W g89.0<16,16,1>W g64.0<16,16,2>UB {align1};
-add (16) g65.0<1>W g90.0<16,16,1>W g65.0<16,16,2>UB {align1};
-add (16) g66.0<1>W g91.0<16,16,1>W g66.0<16,16,2>UB {align1};
-add (16) g67.0<1>W g92.0<16,16,1>W g67.0<16,16,2>UB {align1};
-add (16) g68.0<1>W g93.0<16,16,1>W g68.0<16,16,2>UB {align1};
-add (16) g69.0<1>W g94.0<16,16,1>W g69.0<16,16,2>UB {align1};
-add (16) g70.0<1>W g95.0<16,16,1>W g70.0<16,16,2>UB {align1};
-add (16) g71.0<1>W g96.0<16,16,1>W g71.0<16,16,2>UB {align1};
-add (16) g72.0<1>W g97.0<16,16,1>W g72.0<16,16,2>UB {align1};
-add (16) g73.0<1>W g98.0<16,16,1>W g73.0<16,16,2>UB {align1};
-jmpi write_back;
-
-field_dct:
-add (16) g58.0<1>W g83.0<16,16,1>W g58.0<16,16,2>UB {align1};
-add (16) g59.0<1>W g91.0<16,16,1>W g59.0<16,16,2>UB {align1};
-add (16) g60.0<1>W g84.0<16,16,1>W g60.0<16,16,2>UB {align1};
-add (16) g61.0<1>W g92.0<16,16,1>W g61.0<16,16,2>UB {align1};
-add (16) g62.0<1>W g85.0<16,16,1>W g62.0<16,16,2>UB {align1};
-add (16) g63.0<1>W g93.0<16,16,1>W g63.0<16,16,2>UB {align1};
-add (16) g64.0<1>W g86.0<16,16,1>W g64.0<16,16,2>UB {align1};
-add (16) g65.0<1>W g94.0<16,16,1>W g65.0<16,16,2>UB {align1};
-add (16) g66.0<1>W g87.0<16,16,1>W g66.0<16,16,2>UB {align1};
-add (16) g67.0<1>W g95.0<16,16,1>W g67.0<16,16,2>UB {align1};
-add (16) g68.0<1>W g88.0<16,16,1>W g68.0<16,16,2>UB {align1};
-add (16) g69.0<1>W g96.0<16,16,1>W g69.0<16,16,2>UB {align1};
-add (16) g70.0<1>W g89.0<16,16,1>W g70.0<16,16,2>UB {align1};
-add (16) g71.0<1>W g97.0<16,16,1>W g71.0<16,16,2>UB {align1};
-add (16) g72.0<1>W g90.0<16,16,1>W g72.0<16,16,2>UB {align1};
-add (16) g73.0<1>W g98.0<16,16,1>W g73.0<16,16,2>UB {align1};
-
-write_back:
-mov (1) g31.8<1>UD 0x00F000FUD {align1};
-mov.sat (16) g58.0<2>UB g58.0<16,16,1>W {align1};
-mov.sat (16) g59.0<2>UB g59.0<16,16,1>W {align1};
-mov.sat (16) g60.0<2>UB g60.0<16,16,1>W {align1};
-mov.sat (16) g61.0<2>UB g61.0<16,16,1>W {align1};
-mov.sat (16) g62.0<2>UB g62.0<16,16,1>W {align1};
-mov.sat (16) g63.0<2>UB g63.0<16,16,1>W {align1};
-mov.sat (16) g64.0<2>UB g64.0<16,16,1>W {align1};
-mov.sat (16) g65.0<2>UB g65.0<16,16,1>W {align1};
-mov.sat (16) g66.0<2>UB g66.0<16,16,1>W {align1};
-mov.sat (16) g67.0<2>UB g67.0<16,16,1>W {align1};
-mov.sat (16) g68.0<2>UB g68.0<16,16,1>W {align1};
-mov.sat (16) g69.0<2>UB g69.0<16,16,1>W {align1};
-mov.sat (16) g70.0<2>UB g70.0<16,16,1>W {align1};
-mov.sat (16) g71.0<2>UB g71.0<16,16,1>W {align1};
-mov.sat (16) g72.0<2>UB g72.0<16,16,1>W {align1};
-mov.sat (16) g73.0<2>UB g73.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g58.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g59.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g60.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g61.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g62.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g63.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g64.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g65.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g66.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g67.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g68.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g69.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g70.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g71.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g72.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g73.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(0,0,2,0) mlen 9 rlen 0 {align1};
-
-//U
-mov (1) g31.8<1>UD 0x0070007UD  { align1 };
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1D {align1};
-add (16) g74.0<1>W g99.0<16,16,1>W g74.0<16,16,1>UW {align1};
-add (16) g75.0<1>W g100.0<16,16,1>W g75.0<16,16,1>UW {align1};
-add (16) g76.0<1>W g101.0<16,16,1>W g76.0<16,16,1>UW {align1};
-add (16) g77.0<1>W g102.0<16,16,1>W g77.0<16,16,1>UW {align1};
-mov.sat (16) g74.0<2>UB g74.0<16,16,1>W {align1};
-mov.sat (16) g75.0<2>UB g75.0<16,16,1>W {align1};
-mov.sat (16) g76.0<2>UB g76.0<16,16,1>W {align1};
-mov.sat (16) g77.0<2>UB g77.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB g74.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g75.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB g76.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g77.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-//V
-add (16) g78.0<1>UW g103.0<16,16,1>W g78.0<16,16,1>UW {align1};
-add (16) g79.0<1>UW g104.0<16,16,1>W g79.0<16,16,1>UW {align1};
-add (16) g80.0<1>UW g105.0<16,16,1>W g80.0<16,16,1>UW {align1};
-add (16) g81.0<1>UW g106.0<16,16,1>W g81.0<16,16,1>UW {align1};
-mov.sat (16) g78.0<2>UB g78.0<16,16,1>W {align1};
-mov.sat (16) g79.0<2>UB g79.0<16,16,1>W {align1};
-mov.sat (16) g80.0<2>UB g80.0<16,16,1>W {align1};
-mov.sat (16) g81.0<2>UB g81.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB g78.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g79.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB g80.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g81.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-send (16) 0 acc0<1>UW g0<8,8,1>UW
-        thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/do_iq_intra.g4i b/i965_drv_video/shaders/mpeg2/vld/do_iq_intra.g4i
deleted file mode 100644 (file)
index 29bd020..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table 
-   g112~g115: intra IQ matrix in UW format (in order to use instruction compress), copys from g1~g2
-   g[a0.0]:DCT data of a block
-   g125:   ip before jump
-   if(v==0 && u==0 && intra_mb) 
-        F''[v][u] = QF[v][u] * intra_dc_mult
-   else 
-        F''[v][u] = (QF[v][u]*W[w][v][u]*quantiser_scale*2)/32       
-*/
-DO_IQ_INTRA:
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mov (1) g111.0<1>W g[a0.0]<1,1,1>W  {align1};
-mul (16) g116.0<1>D g[a0.0]<8,8,1>W g112.0<8,8,1>UW {align1 compr};
-mul (16) g116.0<1>D g116.0<8,8,1>D g109.0<8,8,0>UW {align1 compr};
-asr (16) g116.0<1>D g116.0<8,8,1>D 4UW {align1 compr};
-mul (1) g116.0<1>D g111<1,1,1>W g109.4<1,1,1>UW {align1};  //intra_dc_mult
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g118.0<1>D g[a0.0]<8,8,1>W g113.0<8,8,1>UW {align1 compr};
-mul (16) g118.0<1>D g118.0<8,8,1>D g109.0<8,8,0>UW {align1 compr};
-asr (16) g118.0<1>D g118.0<8,8,1>D 4UW {align1 compr};
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g120.0<1>D g[a0.0]<8,8,1>W g114.0<8,8,1>UW {align1 compr};
-mul (16) g120.0<1>D g120.0<8,8,1>D g109.0<8,8,0>UW {align1 compr};
-asr (16) g120.0<1>D g120.0<8,8,1>D 4UW {align1 compr};
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g122.0<1>D g[a0.0]<8,8,1>W g115.0<8,8,1>UW {align1 compr};
-mul (16) g122.0<1>D g122.0<8,8,1>D g109.0<8,8,0>UW {align1 compr};
-asr (16) g122.0<1>D g122.0<8,8,1>D 4UW {align1 compr};
-
-add (1) ip g125.0<1,1,1>UD 0x20UD {align1};            //jump back
diff --git a/i965_drv_video/shaders/mpeg2/vld/do_iq_non_intra.g4i b/i965_drv_video/shaders/mpeg2/vld/do_iq_non_intra.g4i
deleted file mode 100644 (file)
index da85e84..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table 
-   g112~g115: intra IQ matrix in UW format (in order to use instruction compress), copys from g1~g2
-   g[a0.0]:DCT data of a block
-   g125:   ip before jump
-   F''[v][u]=(((QF[v][u]*2)+Sign(QF[v][u])) * W[w][v][u] * quantiser_scale)/32;  
-*/
-DO_IQ_NON_INTRA:
-add (1)  a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g116.0<1>D g[a0.0]<8,8,1>W g112.0<8,8,1>UW {align1 compr};
-mul (16) g116.0<1>D g116.0<8,8,1>D  g109.0<8,8,0>UW {align1 compr};
-asr (16) g116.0<1>D g116.0<8,8,1>D  4UW {align1 compr};
-
-add (1)  a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g118.0<1>D g[a0.0]<8,8,1>W g113.0<8,8,1>UW {align1 compr};
-mul (16) g118.0<1>D g118.0<8,8,1>D  g109.0<8,8,0>UW {align1 compr};
-asr (16) g118.0<1>D g118.0<8,8,1>D  4UW {align1 compr};
-
-add (1)  a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g120.0<1>D g[a0.0]<8,8,1>W g114.0<8,8,1>UW {align1 compr};
-mul (16) g120.0<1>D g120.0<8,8,1>D  g109.0<8,8,0>UW {align1 compr};
-asr (16) g120.0<1>D g120.0<8,8,1>D  4UW {align1 compr};
-
-add (1)  a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-mul (16) g122.0<1>D g[a0.0]<8,8,1>W g115.0<8,8,1>UW {align1 compr};
-mul (16) g122.0<1>D g122.0<8,8,1>D  g109.0<8,8,0>UW {align1 compr};
-asr (16) g122.0<1>D g122.0<8,8,1>D  4UW {align1 compr};
-
-add (1) ip g125.0<1,1,1>UD 0x20UD {align1};            //jump back
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_addidct.g4i b/i965_drv_video/shaders/mpeg2/vld/field_addidct.g4i
deleted file mode 100644 (file)
index 05d0f95..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};          //restore x and y
-
-and.nz (1) null g82.2<1,1,1>UW 0x20UW {align1};       //dct_type
-(f0) jmpi field_dct;
-
-add (16) g58.0<1>W g83.0<16,16,1>W g58.0<16,16,2>UB {align1};
-add (16) g59.0<1>W g84.0<16,16,1>W g59.0<16,16,2>UB {align1};
-add (16) g60.0<1>W g85.0<16,16,1>W g60.0<16,16,2>UB {align1};
-add (16) g61.0<1>W g86.0<16,16,1>W g61.0<16,16,2>UB {align1};
-add (16) g62.0<1>W g87.0<16,16,1>W g62.0<16,16,2>UB {align1};
-add (16) g63.0<1>W g88.0<16,16,1>W g63.0<16,16,2>UB {align1};
-add (16) g64.0<1>W g89.0<16,16,1>W g64.0<16,16,2>UB {align1};
-add (16) g65.0<1>W g90.0<16,16,1>W g65.0<16,16,2>UB {align1};
-add (16) g66.0<1>W g91.0<16,16,1>W g66.0<16,16,2>UB {align1};
-add (16) g67.0<1>W g92.0<16,16,1>W g67.0<16,16,2>UB {align1};
-add (16) g68.0<1>W g93.0<16,16,1>W g68.0<16,16,2>UB {align1};
-add (16) g69.0<1>W g94.0<16,16,1>W g69.0<16,16,2>UB {align1};
-add (16) g70.0<1>W g95.0<16,16,1>W g70.0<16,16,2>UB {align1};
-add (16) g71.0<1>W g96.0<16,16,1>W g71.0<16,16,2>UB {align1};
-add (16) g72.0<1>W g97.0<16,16,1>W g72.0<16,16,2>UB {align1};
-add (16) g73.0<1>W g98.0<16,16,1>W g73.0<16,16,2>UB {align1};
-
-jmpi write_back;
-
-field_dct:
-add (16) g58.0<1>W g83.0<16,16,1>W g58.0<16,16,2>UB {align1};
-add (16) g59.0<1>W g91.0<16,16,1>W g59.0<16,16,2>UB {align1};
-add (16) g60.0<1>W g84.0<16,16,1>W g60.0<16,16,2>UB {align1};
-add (16) g61.0<1>W g92.0<16,16,1>W g61.0<16,16,2>UB {align1};
-add (16) g62.0<1>W g85.0<16,16,1>W g62.0<16,16,2>UB {align1};
-add (16) g63.0<1>W g93.0<16,16,1>W g63.0<16,16,2>UB {align1};
-add (16) g64.0<1>W g86.0<16,16,1>W g64.0<16,16,2>UB {align1};
-add (16) g65.0<1>W g94.0<16,16,1>W g65.0<16,16,2>UB {align1};
-add (16) g66.0<1>W g87.0<16,16,1>W g66.0<16,16,2>UB {align1};
-add (16) g67.0<1>W g95.0<16,16,1>W g67.0<16,16,2>UB {align1};
-add (16) g68.0<1>W g88.0<16,16,1>W g68.0<16,16,2>UB {align1};
-add (16) g69.0<1>W g96.0<16,16,1>W g69.0<16,16,2>UB {align1};
-add (16) g70.0<1>W g89.0<16,16,1>W g70.0<16,16,2>UB {align1};
-add (16) g71.0<1>W g97.0<16,16,1>W g71.0<16,16,2>UB {align1};
-add (16) g72.0<1>W g90.0<16,16,1>W g72.0<16,16,2>UB {align1};
-add (16) g73.0<1>W g98.0<16,16,1>W g73.0<16,16,2>UB {align1};
-
-write_back:
-mov (1) g31.8<1>UD 0x00F000FUD {align1};
-mov.sat (16) g58.0<2>UB g58.0<16,16,1>W {align1};
-mov.sat (16) g59.0<2>UB g59.0<16,16,1>W {align1};
-mov.sat (16) g60.0<2>UB g60.0<16,16,1>W {align1};
-mov.sat (16) g61.0<2>UB g61.0<16,16,1>W {align1};
-mov.sat (16) g62.0<2>UB g62.0<16,16,1>W {align1};
-mov.sat (16) g63.0<2>UB g63.0<16,16,1>W {align1};
-mov.sat (16) g64.0<2>UB g64.0<16,16,1>W {align1};
-mov.sat (16) g65.0<2>UB g65.0<16,16,1>W {align1};
-mov.sat (16) g66.0<2>UB g66.0<16,16,1>W {align1};
-mov.sat (16) g67.0<2>UB g67.0<16,16,1>W {align1};
-mov.sat (16) g68.0<2>UB g68.0<16,16,1>W {align1};
-mov.sat (16) g69.0<2>UB g69.0<16,16,1>W {align1};
-mov.sat (16) g70.0<2>UB g70.0<16,16,1>W {align1};
-mov.sat (16) g71.0<2>UB g71.0<16,16,1>W {align1};
-mov.sat (16) g72.0<2>UB g72.0<16,16,1>W {align1};
-mov.sat (16) g73.0<2>UB g73.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g58.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g59.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g60.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g61.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g62.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g63.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g64.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g65.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g66.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g67.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g68.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g69.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g70.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g71.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g72.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g73.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(0,0,2,0) mlen 9 rlen 0 {align1};
-
-//U
-mov (1) g31.8<1>UD 0x0070007UD  { align1 };
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1D {align1};
-add (16) g74.0<1>W g99.0<16,16,1>W g74.0<16,16,1>UW {align1};
-add (16) g75.0<1>W g100.0<16,16,1>W g75.0<16,16,1>UW {align1};
-add (16) g76.0<1>W g101.0<16,16,1>W g76.0<16,16,1>UW {align1};
-add (16) g77.0<1>W g102.0<16,16,1>W g77.0<16,16,1>UW {align1};
-mov.sat (16) g74.0<2>UB g74.0<16,16,1>W {align1};
-mov.sat (16) g75.0<2>UB g75.0<16,16,1>W {align1};
-mov.sat (16) g76.0<2>UB g76.0<16,16,1>W {align1};
-mov.sat (16) g77.0<2>UB g77.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB g74.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g75.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB g76.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g77.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-//V
-add (16) g78.0<1>UW g103.0<16,16,1>W g78.0<16,16,1>UW {align1};
-add (16) g79.0<1>UW g104.0<16,16,1>W g79.0<16,16,1>UW {align1};
-add (16) g80.0<1>UW g105.0<16,16,1>W g80.0<16,16,1>UW {align1};
-add (16) g81.0<1>UW g106.0<16,16,1>W g81.0<16,16,1>UW {align1};
-mov.sat (16) g78.0<2>UB g78.0<16,16,1>W {align1};
-mov.sat (16) g79.0<2>UB g79.0<16,16,1>W {align1};
-mov.sat (16) g80.0<2>UB g80.0<16,16,1>W {align1};
-mov.sat (16) g81.0<2>UB g81.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB g78.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g79.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB g80.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g81.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-send (16) 0 acc0<1>UW g0<8,8,1>UW
-        thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward.g4a b/i965_drv_video/shaders/mpeg2/vld/field_backward.g4a
deleted file mode 100644 (file)
index 1696ff3..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-//Y of top field 
-first_field_picture:
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};             //motion vertical field select forward
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_y.g4i')
-//UV of top field
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.20<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};             //motion vertical field select forward
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface_u', `8')
-define(`surface_v', `9')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_uv.g4i')
-jmpi field_addidct;
-
-second_field_picture:
-//Y of bottom field
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface',`3')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_y.g4i')
-//UV of bottom field
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.20<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface_u', `10')
-define(`surface_v', `11')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_uv.g4i')
-
-field_addidct:
-include(`field_addidct.g4i')
-out:
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward.g4b b/i965_drv_video/shaders/mpeg2/vld/field_backward.g4b
deleted file mode 100644 (file)
index f00d8e5..0000000
+++ /dev/null
@@ -1,757 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000143 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_backward.g4b.gen5
deleted file mode 100644 (file)
index 7aac9e4..0000000
+++ /dev/null
@@ -1,757 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000286 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4a b/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4a
deleted file mode 100644 (file)
index 89b8368..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-define(`UV_red',`0xffffffffUD')
-define(`UV_white',`0x7f7f7f7fUD')
-define(`UV_green',`0x00000000UD')
-mov(2) g6.0<1>UD g82.12<2,2,1>UW {align1};
-mov(1) g6.8<1>UD 0x000f000fUD  { align1 };
-mov(16) m1<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m3<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m5<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m7<1>UD 0xFFFFFFFFUD {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(0, 0, 2, 0) mlen 9 rlen 0 { align1 };
-/*Fill U buffer & V buffer with 0x7F*/
-shr (2) g6.0<1>UD g82.12<2,2,1>UW  1UW {align1};
-mov(1) g6.8<1>UD 0x00070007UD  { align1 };
-mov (16) m1<1>UD UV_white {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b b/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b
deleted file mode 100644 (file)
index 9d95f70..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05902000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302001 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_backward_16x8.g4b.gen5
deleted file mode 100644 (file)
index b12bddc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x12082000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082001 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4a b/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4a
deleted file mode 100644 (file)
index ad6d302..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-//Y of forward 
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};             //motion vertical field select
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_y.g4i')
-mov (16) g108.0<1>UD g58.0<16,16,1>UD {align1 compr};
-mov (16) g110.0<1>UD g60.0<16,16,1>UD {align1 compr};
-mov (16) g112.0<1>UD g62.0<16,16,1>UD {align1 compr};
-mov (16) g114.0<1>UD g64.0<16,16,1>UD {align1 compr};
-mov (16) g116.0<1>UD g66.0<16,16,1>UD {align1 compr};
-mov (16) g118.0<1>UD g68.0<16,16,1>UD {align1 compr};
-mov (16) g120.0<1>UD g70.0<16,16,1>UD {align1 compr};
-mov (16) g122.0<1>UD g72.0<16,16,1>UD {align1 compr};
-
-//Y of backward 
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};             //motion vertical field select
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_y.g4i')
-avg (16) g58.0<1>UW g58.0<16,16,1>UW g108.0<16,16,1>UW {align1};
-avg (16) g59.0<1>UW g59.0<16,16,1>UW g109.0<16,16,1>UW {align1};
-avg (16) g60.0<1>UW g60.0<16,16,1>UW g110.0<16,16,1>UW {align1};
-avg (16) g61.0<1>UW g61.0<16,16,1>UW g111.0<16,16,1>UW {align1};
-avg (16) g62.0<1>UW g62.0<16,16,1>UW g112.0<16,16,1>UW {align1};
-avg (16) g63.0<1>UW g63.0<16,16,1>UW g113.0<16,16,1>UW {align1};
-avg (16) g64.0<1>UW g64.0<16,16,1>UW g114.0<16,16,1>UW {align1};
-avg (16) g65.0<1>UW g65.0<16,16,1>UW g115.0<16,16,1>UW {align1};
-avg (16) g66.0<1>UW g66.0<16,16,1>UW g116.0<16,16,1>UW {align1};
-avg (16) g67.0<1>UW g67.0<16,16,1>UW g117.0<16,16,1>UW {align1};
-avg (16) g68.0<1>UW g68.0<16,16,1>UW g118.0<16,16,1>UW {align1};
-avg (16) g69.0<1>UW g69.0<16,16,1>UW g119.0<16,16,1>UW {align1};
-avg (16) g70.0<1>UW g70.0<16,16,1>UW g120.0<16,16,1>UW {align1};
-avg (16) g71.0<1>UW g71.0<16,16,1>UW g121.0<16,16,1>UW {align1};
-avg (16) g72.0<1>UW g72.0<16,16,1>UW g122.0<16,16,1>UW {align1};
-avg (16) g73.0<1>UW g73.0<16,16,1>UW g123.0<16,16,1>UW {align1};
-
-//UV, Forward
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};             //motion vertical field select
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface_u', `5')
-define(`surface_v', `6')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_uv.g4i')
-//Save UV Forward
-mov (16) g108.0<1>UD g74.0<16,16,1>UD {align1 compr};
-mov (16) g110.0<1>UD g76.0<16,16,1>UD {align1 compr};
-mov (16) g112.0<1>UD g78.0<16,16,1>UD {align1 compr};
-mov (16) g114.0<1>UD g80.0<16,16,1>UD {align1 compr};
-
-//UV, Backward
-asr (2) g31.14<1>W g82.20<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};             //motion vertical field select
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface_u', `8')
-define(`surface_v', `9')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`field_motion_uv.g4i')
-//Average Forward and Backward
-avg (16) g74.0<1>UW g74.0<16,16,1>UW g108.0<16,16,1>UW {align1};
-avg (16) g75.0<1>UW g75.0<16,16,1>UW g109.0<16,16,1>UW {align1};
-avg (16) g76.0<1>UW g76.0<16,16,1>UW g110.0<16,16,1>UW {align1};
-avg (16) g77.0<1>UW g77.0<16,16,1>UW g111.0<16,16,1>UW {align1};
-avg (16) g78.0<1>UW g78.0<16,16,1>UW g112.0<16,16,1>UW {align1};
-avg (16) g79.0<1>UW g79.0<16,16,1>UW g113.0<16,16,1>UW {align1};
-avg (16) g80.0<1>UW g80.0<16,16,1>UW g114.0<16,16,1>UW {align1};
-avg (16) g81.0<1>UW g81.0<16,16,1>UW g115.0<16,16,1>UW {align1};
-
-field_addidct:
-include(`field_addidct.g4i')
-out:
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b b/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b
deleted file mode 100644 (file)
index 181e776..0000000
+++ /dev/null
@@ -1,797 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10740, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10780, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b107c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10800, 0x00000000 },
-   { 0x00802001, 0x2e800021, 0x00b10840, 0x00000000 },
-   { 0x00802001, 0x2ec00021, 0x00b10880, 0x00000000 },
-   { 0x00802001, 0x2f000021, 0x00b108c0, 0x00000000 },
-   { 0x00802001, 0x2f400021, 0x00b10900, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00800042, 0x27402529, 0x00b10740, 0x00b10d80 },
-   { 0x00800042, 0x27602529, 0x00b10760, 0x00b10da0 },
-   { 0x00800042, 0x27802529, 0x00b10780, 0x00b10dc0 },
-   { 0x00800042, 0x27a02529, 0x00b107a0, 0x00b10de0 },
-   { 0x00800042, 0x27c02529, 0x00b107c0, 0x00b10e00 },
-   { 0x00800042, 0x27e02529, 0x00b107e0, 0x00b10e20 },
-   { 0x00800042, 0x28002529, 0x00b10800, 0x00b10e40 },
-   { 0x00800042, 0x28202529, 0x00b10820, 0x00b10e60 },
-   { 0x00800042, 0x28402529, 0x00b10840, 0x00b10e80 },
-   { 0x00800042, 0x28602529, 0x00b10860, 0x00b10ea0 },
-   { 0x00800042, 0x28802529, 0x00b10880, 0x00b10ec0 },
-   { 0x00800042, 0x28a02529, 0x00b108a0, 0x00b10ee0 },
-   { 0x00800042, 0x28c02529, 0x00b108c0, 0x00b10f00 },
-   { 0x00800042, 0x28e02529, 0x00b108e0, 0x00b10f20 },
-   { 0x00800042, 0x29002529, 0x00b10900, 0x00b10f40 },
-   { 0x00800042, 0x29202529, 0x00b10920, 0x00b10f60 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10940, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10980, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b109c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10a00, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00800042, 0x29402529, 0x00b10940, 0x00b10d80 },
-   { 0x00800042, 0x29602529, 0x00b10960, 0x00b10da0 },
-   { 0x00800042, 0x29802529, 0x00b10980, 0x00b10dc0 },
-   { 0x00800042, 0x29a02529, 0x00b109a0, 0x00b10de0 },
-   { 0x00800042, 0x29c02529, 0x00b109c0, 0x00b10e00 },
-   { 0x00800042, 0x29e02529, 0x00b109e0, 0x00b10e20 },
-   { 0x00800042, 0x2a002529, 0x00b10a00, 0x00b10e40 },
-   { 0x00800042, 0x2a202529, 0x00b10a20, 0x00b10e60 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_bidirect.g4b.gen5
deleted file mode 100644 (file)
index 70dd7b3..0000000
+++ /dev/null
@@ -1,797 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10740, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10780, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b107c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10800, 0x00000000 },
-   { 0x00802001, 0x2e800021, 0x00b10840, 0x00000000 },
-   { 0x00802001, 0x2ec00021, 0x00b10880, 0x00000000 },
-   { 0x00802001, 0x2f000021, 0x00b108c0, 0x00000000 },
-   { 0x00802001, 0x2f400021, 0x00b10900, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00800042, 0x27402529, 0x00b10740, 0x00b10d80 },
-   { 0x00800042, 0x27602529, 0x00b10760, 0x00b10da0 },
-   { 0x00800042, 0x27802529, 0x00b10780, 0x00b10dc0 },
-   { 0x00800042, 0x27a02529, 0x00b107a0, 0x00b10de0 },
-   { 0x00800042, 0x27c02529, 0x00b107c0, 0x00b10e00 },
-   { 0x00800042, 0x27e02529, 0x00b107e0, 0x00b10e20 },
-   { 0x00800042, 0x28002529, 0x00b10800, 0x00b10e40 },
-   { 0x00800042, 0x28202529, 0x00b10820, 0x00b10e60 },
-   { 0x00800042, 0x28402529, 0x00b10840, 0x00b10e80 },
-   { 0x00800042, 0x28602529, 0x00b10860, 0x00b10ea0 },
-   { 0x00800042, 0x28802529, 0x00b10880, 0x00b10ec0 },
-   { 0x00800042, 0x28a02529, 0x00b108a0, 0x00b10ee0 },
-   { 0x00800042, 0x28c02529, 0x00b108c0, 0x00b10f00 },
-   { 0x00800042, 0x28e02529, 0x00b108e0, 0x00b10f20 },
-   { 0x00800042, 0x29002529, 0x00b10900, 0x00b10f40 },
-   { 0x00800042, 0x29202529, 0x00b10920, 0x00b10f60 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10940, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10980, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b109c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10a00, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00800042, 0x29402529, 0x00b10940, 0x00b10d80 },
-   { 0x00800042, 0x29602529, 0x00b10960, 0x00b10da0 },
-   { 0x00800042, 0x29802529, 0x00b10980, 0x00b10dc0 },
-   { 0x00800042, 0x29a02529, 0x00b109a0, 0x00b10de0 },
-   { 0x00800042, 0x29c02529, 0x00b109c0, 0x00b10e00 },
-   { 0x00800042, 0x29e02529, 0x00b109e0, 0x00b10e20 },
-   { 0x00800042, 0x2a002529, 0x00b10a00, 0x00b10e40 },
-   { 0x00800042, 0x2a202529, 0x00b10a20, 0x00b10e60 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4a b/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4a
deleted file mode 100644 (file)
index e4fc178..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-define(`UV_red',`0xffffffffUD')
-define(`UV_white',`0x7f7f7f7fUD')
-define(`UV_green',`0x00000000UD')
-mov(2) g6.0<1>UD g82.12<2,2,1>UW {align1};
-mov(1) g6.8<1>UD 0x000f000fUD  { align1 };
-mov(16) m1<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m3<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m5<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m7<1>UD 0xFFFFFFFFUD {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(0, 0, 2, 0) mlen 9 rlen 0 { align1 };
-/*Fill U buffer & V buffer with 0x7F*/
-shr (2) g6.0<1>UD g82.12<2,2,1>UW  1UW {align1};
-mov(1) g6.8<1>UD 0x00070007UD  { align1 };
-mov (16) m1<1>UD UV_white {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b b/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b
deleted file mode 100644 (file)
index 9d95f70..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05902000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302001 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_bidirect_16x8.g4b.gen5
deleted file mode 100644 (file)
index b12bddc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x12082000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082001 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward.g4a b/i965_drv_video/shaders/mpeg2/vld/field_forward.g4a
deleted file mode 100644 (file)
index 611cf0c..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-and.nz (1) null g82.2<1,1,1>UW 0x0800UW {align1};          //second field-picture?
-(f0) jmpi first_field_picture;
-
-and (1) g32.0<1>UW g82.10<1,1,1>UW 0x0003UW {align1};             
-cmp.e (1) null g32.0<1,1,1>UW 0x0002UW {align1};           //bottom field?
-(f0) jmpi bottom_field;
-
-top_field:
-and.z (1) null g82.2<1,1,1>UW 0x1000UW {align1};           //motion vertical field select forward
-(f0) jmpi first_field_picture;                             //second field-picture top field from top
-mov (1) g32.28<1>UD 1UD {align1};
-jmpi first_field_picture;                                  //second field-picture top field from bottom
-
-bottom_field:
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};          //motion vertical field select forward
-(f0) jmpi first_field_picture;                             //second field-picture bottom field from bottom
-mov (1) g32.28<1>UD 0UD {align1};
-jmpi second_field_picture;                                 //second field-picture bottom field from top
-
-//Y of top field 
-first_field_picture:
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};             //motion vertical field select forward
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_y.g4i')
-//UV of top field
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-mov (1) g32.28<1>UD 0UD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};             //motion vertical field select forward
-(f0) mov (1) g32.28<1>UD 1UD {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD g32.28<1,1,1>UD {align1};
-define(`surface_u', `5')
-define(`surface_v', `6')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_uv.g4i')
-jmpi field_addidct;
-
-second_field_picture:
-//Y of bottom field
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-define(`surface',`3')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_y.g4i')
-//UV of bottom field
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-shl (1) g32.4<1>UD g32.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `10')
-define(`surface_v', `11')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`field_motion_uv.g4i')
-
-field_addidct:
-include(`field_addidct.g4i')
-out:
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward.g4b b/i965_drv_video/shaders/mpeg2/vld/field_forward.g4b
deleted file mode 100644 (file)
index aa059f1..0000000
+++ /dev/null
@@ -1,768 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000005, 0x24002d29, 0x00210a4a, 0x00030003 },
-   { 0x01000010, 0x20002d3c, 0x00210400, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
-   { 0x01000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000004 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000014a },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000141 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000039 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a003 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000037 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000001f },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0414a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0411a00a },
-   { 0x00800031, 0x26401d29, 0x008d0400, 0x0411a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a00a },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a00b },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_forward.g4b.gen5
deleted file mode 100644 (file)
index 4867a5e..0000000
+++ /dev/null
@@ -1,768 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000005, 0x24002d29, 0x00210a4a, 0x00030003 },
-   { 0x01000010, 0x20002d3c, 0x00210400, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x01000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000294 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x241c0061, 0x00000000, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010001, 0x241c0061, 0x00000000, 0x00000001 },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x00000040, 0x24040421, 0x00210404, 0x0021041c },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000282 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000d4 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10500 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10540 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10580 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c0 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10600 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10640 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10680 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b10501 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10541 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10581 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b105c1 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10601 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10641 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b10681 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b106c1 },
-   { 0x00800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x00800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x00800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x00800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x00800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x00800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x00800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x00800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800040, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10500 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10540 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10580 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c0 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10600 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10640 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10680 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b10501 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10541 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10581 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b105c1 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10601 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10641 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b10681 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x00800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x00800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x00800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x00800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x00800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x00800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x00800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x00800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a4 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b10681 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10501 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10541 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b10581 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10601 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10641 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b10681 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000072 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800042, 0x27404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x27604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x27804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x27a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x27c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x27e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x28004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x28204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a003 },
-   { 0x00800042, 0x28404629, 0x00b104c0, 0x00b10500 },
-   { 0x00800042, 0x28604629, 0x00b10500, 0x00b10540 },
-   { 0x00800042, 0x28804629, 0x00b10540, 0x00b10580 },
-   { 0x00800042, 0x28a04629, 0x00b10580, 0x00b105c0 },
-   { 0x00800042, 0x28c04629, 0x00b105c0, 0x00b10600 },
-   { 0x00800042, 0x28e04629, 0x00b10600, 0x00b10640 },
-   { 0x00800042, 0x29004629, 0x00b10640, 0x00b10680 },
-   { 0x00800042, 0x29204629, 0x00b10680, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b10680, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a003 },
-   { 0x00800001, 0x28400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b10680, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000009, 0x24040c21, 0x00210404, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000b8 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600040, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0520 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0540 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0560 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0580 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0521 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0541 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d0561 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d0581 },
-   { 0x00600040, 0x29c04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29d04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x29e04629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x29f04629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0600 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0620 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0640 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05e1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d0601 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d0621 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0641 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600040, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600040, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0520 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0540 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0560 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0580 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d0521 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0541 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0561 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0581 },
-   { 0x00600040, 0x2a004629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x2a104629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a204629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a304629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e0 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0600 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0620 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0640 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d05e1 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0601 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0621 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0641 },
-   { 0x00a02008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00a02008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00a02008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00a02008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0501 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0521 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0541 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0561 },
-   { 0x00600042, 0x2a004629, 0x008d0580, 0x008d0581 },
-   { 0x00600042, 0x2a104629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600042, 0x2a204629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600042, 0x2a304629, 0x008d05e0, 0x008d05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006e },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00020002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000003e },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600042, 0x29404629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29504629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29604629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29704629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x29c04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29d04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x29e04629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x29f04629, 0x008d0620, 0x008d0640 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0248a00b },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000000f },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0218a00a },
-   { 0x00800031, 0x26401d29, 0x408d0400, 0x0218a00b },
-   { 0x00600042, 0x29804629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29904629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29a04629, 0x008d0540, 0x008d0560 },
-   { 0x00600042, 0x29b04629, 0x008d0560, 0x008d0580 },
-   { 0x00600042, 0x2a004629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x2a104629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a204629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a304629, 0x008d0620, 0x008d0640 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600001, 0x29400229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29500229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29600229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29700229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x29c00229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x29d00229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x29e00229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x29f00229, 0x008d05e0, 0x00000000 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a00a },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a00b },
-   { 0x00600001, 0x29800229, 0x008d0500, 0x00000000 },
-   { 0x00600001, 0x29900229, 0x008d0520, 0x00000000 },
-   { 0x00600001, 0x29a00229, 0x008d0540, 0x00000000 },
-   { 0x00600001, 0x29b00229, 0x008d0560, 0x00000000 },
-   { 0x00600001, 0x2a000229, 0x008d0580, 0x00000000 },
-   { 0x00600001, 0x2a100229, 0x008d05a0, 0x00000000 },
-   { 0x00600001, 0x2a200229, 0x008d05c0, 0x00000000 },
-   { 0x00600001, 0x2a300229, 0x008d05e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4a b/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4a
deleted file mode 100644 (file)
index 2052481..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-define(`UV_red',`0xffffffffUD')
-define(`UV_white',`0x7f7f7f7fUD')
-define(`UV_green',`0x00000000UD')
-mov(2) g6.0<1>UD g82.12<2,2,1>UW {align1};
-mov(1) g6.8<1>UD 0x000f000fUD  { align1 };
-mov(16) m1<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m3<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m5<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m7<1>UD 0xFFFFFFFFUD {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(0, 0, 2, 0) mlen 9 rlen 0 { align1 };
-/*Fill U buffer & V buffer with 0x7F*/
-shr (2) g6.0<1>UD g82.12<2,2,1>UW  1UW {align1};
-mov(1) g6.8<1>UD 0x00070007UD  { align1 };
-mov (16) m1<1>UD UV_white {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b b/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b
deleted file mode 100644 (file)
index 9d95f70..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05902000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d00c0, 0x05302001 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_forward_16x8.g4b.gen5
deleted file mode 100644 (file)
index b12bddc..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00200001, 0x20c00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x000f000f },
-   { 0x00802001, 0x20200062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20600062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20a00062, 0x00000000, 0xffffffff },
-   { 0x00802001, 0x20e00062, 0x00000000, 0xffffffff },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x12082000 },
-   { 0x00200008, 0x20c02d21, 0x00450a4c, 0x00010001 },
-   { 0x00000001, 0x20c80061, 0x00000000, 0x00070007 },
-   { 0x00802001, 0x20200062, 0x00000000, 0x7f7f7f7f },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x508d00c0, 0x06082001 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_intra.g4a b/i965_drv_video/shaders/mpeg2/vld/field_intra.g4a
deleted file mode 100644 (file)
index e85ec85..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/*
-   GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT tab
-   g31:    read and write message descriptor
-   g32~g55:DCT data
-   g58~g81:reference data
-   g82:    thread payload 
-   g83~g106:IDCT data 
-*/
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-
-include(`iq_intra.g4i')
-
-//defined for idct
-define(`ROW_SHIFT', `11UD') 
-define(`ROW_ADD', `0x400UD')          
-define(`COL_SHIFT', `20UD') 
-define(`COL_ADD', `0x80000UD')          
-
-mov (1) a0.0<1>UD 0x06F006E0UD {align1};      //0x06F006E0UD+0x00200020UD=0x07100700UD (g56.0 and g56.16)
-
-//Y0
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g83.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g84.0<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g85.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g86.0<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g87.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g88.0<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g89.0<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g90.0<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y1
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g83.16<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g84.16<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g85.16<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g86.16<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g87.16<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g88.16<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g89.16<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g90.16<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y2
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g91.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g92.0<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g93.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g94.0<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g95.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g96.0<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g97.0<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g98.0<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y3
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g91.16<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g92.16<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g93.16<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g94.16<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g95.16<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g96.16<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g97.16<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g98.16<1>W g39.0<16,8,2>W 128UW {align1};
-
-//U
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (16) g99.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (16) g100.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (16) g101.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (16) g102.0<1>W g38.0<16,8,2>W 128UW {align1};
-
-//V
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (16) g103.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (16) g104.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (16) g105.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (16) g106.0<1>W g38.0<16,8,2>W 128UW {align1};
-
-//send msg
-mov (1) g31.8<1>UD 0x00F000FUD {align1};
-mov.sat (16) g83.0<2>UB g83.0<16,16,1>W {align1};
-mov.sat (16) g84.0<2>UB g84.0<16,16,1>W {align1};
-mov.sat (16) g85.0<2>UB g85.0<16,16,1>W {align1};
-mov.sat (16) g86.0<2>UB g86.0<16,16,1>W {align1};
-mov.sat (16) g87.0<2>UB g87.0<16,16,1>W {align1};
-mov.sat (16) g88.0<2>UB g88.0<16,16,1>W {align1};
-mov.sat (16) g89.0<2>UB g89.0<16,16,1>W {align1};
-mov.sat (16) g90.0<2>UB g90.0<16,16,1>W {align1};
-mov.sat (16) g91.0<2>UB g91.0<16,16,1>W {align1};
-mov.sat (16) g92.0<2>UB g92.0<16,16,1>W {align1};
-mov.sat (16) g93.0<2>UB g93.0<16,16,1>W {align1};
-mov.sat (16) g94.0<2>UB g94.0<16,16,1>W {align1};
-mov.sat (16) g95.0<2>UB g95.0<16,16,1>W {align1};
-mov.sat (16) g96.0<2>UB g96.0<16,16,1>W {align1};
-mov.sat (16) g97.0<2>UB g97.0<16,16,1>W {align1};
-mov.sat (16) g98.0<2>UB g98.0<16,16,1>W {align1};
-
-and.nz (1) null g82.2<1,1,1>UW 0x20UW{align1};
-(f0) jmpi field_dct;
-
-mov (16) m1.0<1>UB  g83.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g84.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g85.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g86.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g87.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g88.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g89.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g90.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g91.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g92.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g93.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g94.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g95.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g96.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g97.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g98.0<16,16,2>UB {align1};
-jmpi write_back;
-
-field_dct:
-mov (16) m1.0<1>UB  g83.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g91.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g84.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g92.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g85.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g93.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g86.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g94.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g87.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g95.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g88.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g96.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g89.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g97.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g90.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g98.0<16,16,2>UB {align1};
-
-write_back:
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(0,0,2,0) mlen 9 rlen 0 {align1};
-
-//U
-mov (1) g31.8<1>UD 0x0070007UD  { align1 };
-shr (2) g31.0<1>UD g82.12<2,2,1>UW 1D {align1};
-mov.sat (16) g99.0<2>UB g99.0<16,16,1>W {align1};
-mov.sat (16) g100.0<2>UB g100.0<16,16,1>W {align1};
-mov.sat (16) g101.0<2>UB g101.0<16,16,1>W {align1};
-mov.sat (16) g102.0<2>UB g102.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g99.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g100.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g101.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g102.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-//V
-mov.sat (16) g103.0<2>UB g103.0<16,16,1>W {align1};
-mov.sat (16) g104.0<2>UB g104.0<16,16,1>W {align1};
-mov.sat (16) g105.0<2>UB g105.0<16,16,1>W {align1};
-mov.sat (16) g106.0<2>UB g106.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g103.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g104.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g105.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g106.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-OUT:
-send (16) 0 acc0<1>UW g0<8,8,1>UW
-        thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
-
-include(`do_iq_intra.g4i')
-include(`idct.g4i')
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_intra.g4b b/i965_drv_video/shaders/mpeg2/vld/field_intra.g4b
deleted file mode 100644 (file)
index 4c1c8c4..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x00000005, 0x2da42d29, 0x00210a48, 0x60006000 },
-   { 0x00000008, 0x2da42d29, 0x00210da4, 0x000d000d },
-   { 0x00000001, 0x2da60169, 0x00000000, 0x00080008 },
-   { 0x00000008, 0x2da42529, 0x00210da6, 0x00210da4 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000009 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000005 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000001 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10020, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10030, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10040, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10050, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a1 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009b },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000095 },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000008f },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000089 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000083 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000008f },
-   { 0x00600040, 0x2a602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2aa02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ac02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2ae02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000085 },
-   { 0x00600040, 0x2a702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ab02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ad02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2af02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000007b },
-   { 0x00600040, 0x2b602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ba02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bc02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2be02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000071 },
-   { 0x00600040, 0x2b702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2bb02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bd02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2bf02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000067 },
-   { 0x00800040, 0x2c602dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2c802dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2ca02dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2cc02dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000061 },
-   { 0x00800040, 0x2ce02dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2d002dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2d202dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2d402dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x4a6001b1, 0x00b10a60, 0x00000000 },
-   { 0x80800001, 0x4a8001b1, 0x00b10a80, 0x00000000 },
-   { 0x80800001, 0x4aa001b1, 0x00b10aa0, 0x00000000 },
-   { 0x80800001, 0x4ac001b1, 0x00b10ac0, 0x00000000 },
-   { 0x80800001, 0x4ae001b1, 0x00b10ae0, 0x00000000 },
-   { 0x80800001, 0x4b0001b1, 0x00b10b00, 0x00000000 },
-   { 0x80800001, 0x4b2001b1, 0x00b10b20, 0x00000000 },
-   { 0x80800001, 0x4b4001b1, 0x00b10b40, 0x00000000 },
-   { 0x80800001, 0x4b6001b1, 0x00b10b60, 0x00000000 },
-   { 0x80800001, 0x4b8001b1, 0x00b10b80, 0x00000000 },
-   { 0x80800001, 0x4ba001b1, 0x00b10ba0, 0x00000000 },
-   { 0x80800001, 0x4bc001b1, 0x00b10bc0, 0x00000000 },
-   { 0x80800001, 0x4be001b1, 0x00b10be0, 0x00000000 },
-   { 0x80800001, 0x4c0001b1, 0x00b10c00, 0x00000000 },
-   { 0x80800001, 0x4c2001b1, 0x00b10c20, 0x00000000 },
-   { 0x80800001, 0x4c4001b1, 0x00b10c40, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01d21, 0x00450a4c, 0x00000001 },
-   { 0x80800001, 0x4c6001b1, 0x00b10c60, 0x00000000 },
-   { 0x80800001, 0x4c8001b1, 0x00b10c80, 0x00000000 },
-   { 0x80800001, 0x4ca001b1, 0x00b10ca0, 0x00000000 },
-   { 0x80800001, 0x4cc001b1, 0x00b10cc0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20c60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20c80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20ca0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20cc0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x80800001, 0x4ce001b1, 0x00b10ce0, 0x00000000 },
-   { 0x80800001, 0x4d0001b1, 0x00b10d00, 0x00000000 },
-   { 0x80800001, 0x4d2001b1, 0x00b10d20, 0x00000000 },
-   { 0x80800001, 0x4d4001b1, 0x00b10d40, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20ce0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20d00, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20d20, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20d40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00000001, 0x2de001ad, 0x00218000, 0x00000000 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000041, 0x2e8025a5, 0x00210de0, 0x00210da4 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_intra.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/field_intra.g4b.gen5
deleted file mode 100644 (file)
index 957f6fc..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x00000005, 0x2da42d29, 0x00210a48, 0x60006000 },
-   { 0x00000008, 0x2da42d29, 0x00210da4, 0x000d000d },
-   { 0x00000001, 0x2da60169, 0x00000000, 0x00080008 },
-   { 0x00000008, 0x2da42529, 0x00210da6, 0x00210da4 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10020, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10030, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10040, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10050, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000142 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000136 },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000012a },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000112 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000106 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x00600040, 0x2a602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2aa02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ac02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2ae02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000010a },
-   { 0x00600040, 0x2a702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ab02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ad02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2af02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000f6 },
-   { 0x00600040, 0x2b602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ba02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bc02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2be02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000e2 },
-   { 0x00600040, 0x2b702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2bb02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bd02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2bf02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000ce },
-   { 0x00800040, 0x2c602dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2c802dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2ca02dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2cc02dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000c2 },
-   { 0x00800040, 0x2ce02dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2d002dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2d202dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2d402dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x4a6001b1, 0x00b10a60, 0x00000000 },
-   { 0x80800001, 0x4a8001b1, 0x00b10a80, 0x00000000 },
-   { 0x80800001, 0x4aa001b1, 0x00b10aa0, 0x00000000 },
-   { 0x80800001, 0x4ac001b1, 0x00b10ac0, 0x00000000 },
-   { 0x80800001, 0x4ae001b1, 0x00b10ae0, 0x00000000 },
-   { 0x80800001, 0x4b0001b1, 0x00b10b00, 0x00000000 },
-   { 0x80800001, 0x4b2001b1, 0x00b10b20, 0x00000000 },
-   { 0x80800001, 0x4b4001b1, 0x00b10b40, 0x00000000 },
-   { 0x80800001, 0x4b6001b1, 0x00b10b60, 0x00000000 },
-   { 0x80800001, 0x4b8001b1, 0x00b10b80, 0x00000000 },
-   { 0x80800001, 0x4ba001b1, 0x00b10ba0, 0x00000000 },
-   { 0x80800001, 0x4bc001b1, 0x00b10bc0, 0x00000000 },
-   { 0x80800001, 0x4be001b1, 0x00b10be0, 0x00000000 },
-   { 0x80800001, 0x4c0001b1, 0x00b10c00, 0x00000000 },
-   { 0x80800001, 0x4c2001b1, 0x00b10c20, 0x00000000 },
-   { 0x80800001, 0x4c4001b1, 0x00b10c40, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01d21, 0x00450a4c, 0x00000001 },
-   { 0x80800001, 0x4c6001b1, 0x00b10c60, 0x00000000 },
-   { 0x80800001, 0x4c8001b1, 0x00b10c80, 0x00000000 },
-   { 0x80800001, 0x4ca001b1, 0x00b10ca0, 0x00000000 },
-   { 0x80800001, 0x4cc001b1, 0x00b10cc0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20c60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20c80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20ca0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20cc0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x80800001, 0x4ce001b1, 0x00b10ce0, 0x00000000 },
-   { 0x80800001, 0x4d0001b1, 0x00b10d00, 0x00000000 },
-   { 0x80800001, 0x4d2001b1, 0x00b10d20, 0x00000000 },
-   { 0x80800001, 0x4d4001b1, 0x00b10d40, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20ce0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20d00, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20d20, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20d40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00000001, 0x2de001ad, 0x00218000, 0x00000000 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000041, 0x2e8025a5, 0x00210de0, 0x00210da4 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000034 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_motion_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/field_motion_uv.g4i
deleted file mode 100644 (file)
index 201ee51..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-
-       and.z (1) null mv1<1,1,1>W 2W {align1};       
-       (f0) jmpi L1;
-       and.z (1) null mv2<1,1,1>W 2W {align1};       
-       (f0) jmpi L2;
-       include(`field_read_x1y1_uv.g4i')
-       jmpi L5;
-L2:
-       include(`field_read_x1y0_uv.g4i')
-       jmpi L5;
-L1:
-       and.z (1) null mv2<1,1,1>W 2W {align1};       
-       (f0) jmpi L4;
-       include(`field_read_x0y1_uv.g4i')
-       jmpi L5;
-L4:
-       include(`field_read_x0y0_uv.g4i')
-L5:
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_motion_y.g4i b/i965_drv_video/shaders/mpeg2/vld/field_motion_y.g4i
deleted file mode 100644 (file)
index 20adb31..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-       and.z (1) null mv1<1,1,1>W 1UW {align1};        
-       (f0) jmpi L1;
-       and.z (1) null mv2<1,1,1>W 1UW {align1};        
-       (f0) jmpi L2;
-       include(`field_read_x1y1_y.g4i')
-       jmpi L5;
-L2:
-       include(`field_read_x1y0_y.g4i')
-       jmpi L5;
-L1:
-       and.z (1) null mv2<1,1,1>W 1UW {align1};        
-       (f0) jmpi L4;
-       include(`field_read_x0y1_y.g4i')
-       jmpi L5;
-L4:
-       include(`field_read_x0y0_y.g4i')
-L5:
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_uv.g4i
deleted file mode 100644 (file)
index ff439e5..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-//U
-mov (8) g74.0<1>UW  g40.0<8,8,1>UB {align1};
-mov (8) g74.16<1>UW g41.0<8,8,1>UB {align1};
-mov (8) g75.0<1>UW  g42.0<8,8,1>UB {align1};
-mov (8) g75.16<1>UW g43.0<8,8,1>UB {align1};
-//V
-mov (8) g78.0<1>UW  g44.0<8,8,1>UB {align1};
-mov (8) g78.16<1>UW g45.0<8,8,1>UB {align1};
-mov (8) g79.0<1>UW  g46.0<8,8,1>UB {align1};
-mov (8) g79.16<1>UW g47.0<8,8,1>UB {align1};
-
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-//U
-mov (8) g76.0<1>UW  g40.0<8,8,1>UB {align1};
-mov (8) g76.16<1>UW g41.0<8,8,1>UB {align1};
-mov (8) g77.0<1>UW  g42.0<8,8,1>UB {align1};
-mov (8) g77.16<1>UW g43.0<8,8,1>UB {align1};
-//V
-mov (8) g80.0<1>UW  g44.0<8,8,1>UB {align1};
-mov (8) g80.16<1>UW g45.0<8,8,1>UB {align1};
-mov (8) g81.0<1>UW  g46.0<8,8,1>UB {align1};
-mov (8) g81.16<1>UW g47.0<8,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x0y0_y.g4i
deleted file mode 100644 (file)
index 3b0da9c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g32:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-mov (16) g58.0<1>UW g38.0<16,16,1>UB {align1};
-mov (16) g59.0<1>UW g40.0<16,16,1>UB {align1};
-mov (16) g60.0<1>UW g42.0<16,16,1>UB {align1};
-mov (16) g61.0<1>UW g44.0<16,16,1>UB {align1};
-mov (16) g62.0<1>UW g46.0<16,16,1>UB {align1};
-mov (16) g63.0<1>UW g48.0<16,16,1>UB {align1};
-mov (16) g64.0<1>UW g50.0<16,16,1>UB {align1};
-mov (16) g65.0<1>UW g52.0<16,16,1>UB {align1};
-
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-mov (16) g66.0<1>UW g38.0<16,16,1>UB {align1};
-mov (16) g67.0<1>UW g40.0<16,16,1>UB {align1};
-mov (16) g68.0<1>UW g42.0<16,16,1>UB {align1};
-mov (16) g69.0<1>UW g44.0<16,16,1>UB {align1};
-mov (16) g70.0<1>UW g46.0<16,16,1>UB {align1};
-mov (16) g71.0<1>UW g48.0<16,16,1>UB {align1};
-mov (16) g72.0<1>UW g50.0<16,16,1>UB {align1};
-mov (16) g73.0<1>UW g52.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_uv.g4i
deleted file mode 100644 (file)
index b72507a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x0FUD {align1}; 
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g50.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-//U
-avg (8) g74.0<1>UW  g40.0<8,8,1>UB g41.0<8,8,1>UB {align1};
-avg (8) g74.16<1>UW g41.0<8,8,1>UB g42.0<8,8,1>UB {align1};
-avg (8) g75.0<1>UW  g42.0<8,8,1>UB g43.0<8,8,1>UB {align1};
-avg (8) g75.16<1>UW g43.0<8,8,1>UB g44.0<8,8,1>UB {align1};
-//V
-avg (8) g78.0<1>UW  g46.0<8,8,1>UB g47.0<8,8,1>UB {align1};
-avg (8) g78.16<1>UW g47.0<8,8,1>UB g48.0<8,8,1>UB {align1};
-avg (8) g79.0<1>UW  g48.0<8,8,1>UB g49.0<8,8,1>UB {align1};
-avg (8) g79.16<1>UW g49.0<8,8,1>UB g50.0<8,8,1>UB {align1};
-
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x0FUD {align1}; 
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g50.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-//U
-avg (8) g76.0<1>UW  g40.0<8,8,1>UB g41.0<8,8,1>UB {align1};
-avg (8) g76.16<1>UW g41.0<8,8,1>UB g42.0<8,8,1>UB {align1};
-avg (8) g77.0<1>UW  g42.0<8,8,1>UB g43.0<8,8,1>UB {align1};
-avg (8) g77.16<1>UW g43.0<8,8,1>UB g44.0<8,8,1>UB {align1};
-//V
-avg (8) g80.0<1>UW  g46.0<8,8,1>UB g47.0<8,8,1>UB {align1};
-avg (8) g80.16<1>UW g47.0<8,8,1>UB g48.0<8,8,1>UB {align1};
-avg (8) g81.0<1>UW  g48.0<8,8,1>UB g49.0<8,8,1>UB {align1};
-avg (8) g81.16<1>UW g49.0<8,8,1>UB g50.0<8,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x0y1_y.g4i
deleted file mode 100644 (file)
index 98a09ed..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-avg (16) g58.0<1>UW g38.0<16,16,1>UB g40.0<16,16,1>UB {align1};
-avg (16) g59.0<1>UW g40.0<16,16,1>UB g42.0<16,16,1>UB {align1};
-avg (16) g60.0<1>UW g42.0<16,16,1>UB g44.0<16,16,1>UB {align1};
-avg (16) g61.0<1>UW g44.0<16,16,1>UB g46.0<16,16,1>UB {align1};
-avg (16) g62.0<1>UW g46.0<16,16,1>UB g48.0<16,16,1>UB {align1};
-avg (16) g63.0<1>UW g48.0<16,16,1>UB g50.0<16,16,1>UB {align1};
-avg (16) g64.0<1>UW g50.0<16,16,1>UB g52.0<16,16,1>UB {align1};
-avg (16) g65.0<1>UW g52.0<16,16,1>UB g54.0<16,16,1>UB {align1};
-
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-avg (16) g66.0<1>UW g38.0<16,16,1>UB g40.0<16,16,1>UB {align1};
-avg (16) g67.0<1>UW g40.0<16,16,1>UB g42.0<16,16,1>UB {align1};
-avg (16) g68.0<1>UW g42.0<16,16,1>UB g44.0<16,16,1>UB {align1};
-avg (16) g69.0<1>UW g44.0<16,16,1>UB g46.0<16,16,1>UB {align1};
-avg (16) g70.0<1>UW g46.0<16,16,1>UB g48.0<16,16,1>UB {align1};
-avg (16) g71.0<1>UW g48.0<16,16,1>UB g50.0<16,16,1>UB {align1};
-avg (16) g72.0<1>UW g50.0<16,16,1>UB g52.0<16,16,1>UB {align1};
-avg (16) g73.0<1>UW g52.0<16,16,1>UB g54.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_uv.g4i
deleted file mode 100644 (file)
index 8e318d7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-//U
-avg (8) g74.0<1>UW  g40.0<8,8,1>UB g40.1<8,8,1>UB {align1};
-avg (8) g74.16<1>UW g41.0<8,8,1>UB g41.1<8,8,1>UB {align1};
-avg (8) g75.0<1>UW  g42.0<8,8,1>UB g42.1<8,8,1>UB {align1};
-avg (8) g75.16<1>UW g43.0<8,8,1>UB g43.1<8,8,1>UB {align1};
-//V 
-avg (8) g78.0<1>UW  g44.0<8,8,1>UB g44.1<8,8,1>UB {align1};
-avg (8) g78.16<1>UW g45.0<8,8,1>UB g45.1<8,8,1>UB {align1};
-avg (8) g79.0<1>UW  g46.0<8,8,1>UB g46.1<8,8,1>UB {align1};
-avg (8) g79.16<1>UW g47.0<8,8,1>UB g47.1<8,8,1>UB {align1};
-
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-//U
-avg (8) g76.0<1>UW  g40.0<8,8,1>UB g40.1<8,8,1>UB {align1};
-avg (8) g76.16<1>UW g41.0<8,8,1>UB g41.1<8,8,1>UB {align1};
-avg (8) g77.0<1>UW  g42.0<8,8,1>UB g42.1<8,8,1>UB {align1};
-avg (8) g77.16<1>UW g43.0<8,8,1>UB g43.1<8,8,1>UB {align1};
-//V                                              
-avg (8) g80.0<1>UW  g44.0<8,8,1>UB g44.1<8,8,1>UB {align1};
-avg (8) g80.16<1>UW g45.0<8,8,1>UB g45.1<8,8,1>UB {align1};
-avg (8) g81.0<1>UW  g46.0<8,8,1>UB g46.1<8,8,1>UB {align1};
-avg (8) g81.16<1>UW g47.0<8,8,1>UB g47.1<8,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x1y0_y.g4i
deleted file mode 100644 (file)
index 0d2fbb1..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-avg (16) g58.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-avg (16) g59.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-avg (16) g60.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-avg (16) g61.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-avg (16) g62.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-avg (16) g63.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-avg (16) g64.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-avg (16) g65.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-avg (16) g66.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-avg (16) g67.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-avg (16) g68.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-avg (16) g69.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-avg (16) g70.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-avg (16) g71.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-avg (16) g72.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-avg (16) g73.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_uv.g4i
deleted file mode 100644 (file)
index dd8877a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x0FUD {align1}; 
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g50.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-//U
-add (8) g74.0<1>UW  g40.0<8,8,1>UB g40.1<8,8,1>UB {align1};
-add (8) g74.16<1>UW g41.0<8,8,1>UB g41.1<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g42.0<8,8,1>UB g42.1<8,8,1>UB {align1};
-add (8) g75.16<1>UW g43.0<8,8,1>UB g43.1<8,8,1>UB {align1};
-
-add (8) g74.0<1>UW  g74.0<8,8,1>UW  g41.0<8,8,1>UB {align1};
-add (8) g74.16<1>UW g74.16<8,8,1>UW g42.0<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g75.0<8,8,1>UW  g43.0<8,8,1>UB {align1};
-add (8) g75.16<1>UW g75.16<8,8,1>UW g44.0<8,8,1>UB {align1};
-
-add (8) g74.0<1>UW  g74.0<8,8,1>UW  g41.1<8,8,1>UB {align1};
-add (8) g74.16<1>UW g74.16<8,8,1>UW g42.1<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g75.0<8,8,1>UW  g43.1<8,8,1>UB {align1};
-add (8) g75.16<1>UW g75.16<8,8,1>UW g44.1<8,8,1>UB {align1};
-//V
-add (8) g78.0<1>UW  g46.0<8,8,1>UB g46.1<8,8,1>UB {align1};
-add (8) g78.16<1>UW g47.0<8,8,1>UB g47.1<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g48.0<8,8,1>UB g48.1<8,8,1>UB {align1};
-add (8) g79.16<1>UW g49.0<8,8,1>UB g49.1<8,8,1>UB {align1};
-
-add (8) g78.0<1>UW  g78.0<8,8,1>UW  g47.0<8,8,1>UB {align1};
-add (8) g78.16<1>UW g78.16<8,8,1>UW g48.0<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g79.0<8,8,1>UW  g49.0<8,8,1>UB {align1};
-add (8) g79.16<1>UW g79.16<8,8,1>UW g50.0<8,8,1>UB {align1};
-
-add (8) g78.0<1>UW  g78.0<8,8,1>UW  g47.1<8,8,1>UB {align1};
-add (8) g78.16<1>UW g78.16<8,8,1>UW g48.1<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g79.0<8,8,1>UW  g49.1<8,8,1>UB {align1};
-add (8) g79.16<1>UW g79.16<8,8,1>UW g50.1<8,8,1>UB {align1};
-
-mov (1) g32.8<1>UD 0x7000FUD {align1}; //8*16
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x0FUD {align1}; 
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g50.0<1>UW g32<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-//U
-add (8) g76.0<1>UW  g40.0<8,8,1>UB g40.1<8,8,1>UB {align1};
-add (8) g76.16<1>UW g41.0<8,8,1>UB g41.1<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g42.0<8,8,1>UB g42.1<8,8,1>UB {align1};
-add (8) g77.16<1>UW g43.0<8,8,1>UB g43.1<8,8,1>UB {align1};
-
-add (8) g76.0<1>UW  g76.0<8,8,1>UW  g41.0<8,8,1>UB {align1};
-add (8) g76.16<1>UW g76.16<8,8,1>UW g42.0<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g77.0<8,8,1>UW  g43.0<8,8,1>UB {align1};
-add (8) g77.16<1>UW g77.16<8,8,1>UW g44.0<8,8,1>UB {align1};
-
-add (8) g76.0<1>UW  g76.0<8,8,1>UW  g41.1<8,8,1>UB {align1};
-add (8) g76.16<1>UW g76.16<8,8,1>UW g42.1<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g77.0<8,8,1>UW  g43.1<8,8,1>UB {align1};
-add (8) g77.16<1>UW g77.16<8,8,1>UW g44.1<8,8,1>UB {align1};
-//V
-add (8) g80.0<1>UW  g46.0<8,8,1>UB g46.1<8,8,1>UB {align1};
-add (8) g80.16<1>UW g47.0<8,8,1>UB g47.1<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g48.0<8,8,1>UB g48.1<8,8,1>UB {align1};
-add (8) g81.16<1>UW g49.0<8,8,1>UB g49.1<8,8,1>UB {align1};
-
-add (8) g80.0<1>UW  g80.0<8,8,1>UW  g47.0<8,8,1>UB {align1};
-add (8) g80.16<1>UW g80.16<8,8,1>UW g48.0<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g81.0<8,8,1>UW  g49.0<8,8,1>UB {align1};
-add (8) g81.16<1>UW g81.16<8,8,1>UW g50.0<8,8,1>UB {align1};
-
-add (8) g80.0<1>UW  g80.0<8,8,1>UW  g47.1<8,8,1>UB {align1};
-add (8) g80.16<1>UW g80.16<8,8,1>UW g48.1<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g81.0<8,8,1>UW  g49.1<8,8,1>UB {align1};
-add (8) g81.16<1>UW g81.16<8,8,1>UW g50.1<8,8,1>UB {align1};
-
-shr (32) g74.0<1>UW g74.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g76.0<1>UW g76.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g78.0<1>UW g78.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g80.0<1>UW g80.0<16,16,1>UW 2UW {align1 compr};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/field_read_x1y1_y.g4i
deleted file mode 100644 (file)
index 7c28b86..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (16) g58.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-add (16) g59.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-add (16) g60.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-add (16) g61.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-add (16) g62.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-add (16) g63.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-add (16) g64.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-add (16) g65.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-
-add (16) g58.0<1>UW g58.0<16,16,1>UW g40.0<16,16,1>UB {align1};
-add (16) g59.0<1>UW g59.0<16,16,1>UW g42.0<16,16,1>UB {align1};
-add (16) g60.0<1>UW g60.0<16,16,1>UW g44.0<16,16,1>UB {align1};
-add (16) g61.0<1>UW g61.0<16,16,1>UW g46.0<16,16,1>UB {align1};
-add (16) g62.0<1>UW g62.0<16,16,1>UW g48.0<16,16,1>UB {align1};
-add (16) g63.0<1>UW g63.0<16,16,1>UW g50.0<16,16,1>UB {align1};
-add (16) g64.0<1>UW g64.0<16,16,1>UW g52.0<16,16,1>UB {align1};
-add (16) g65.0<1>UW g65.0<16,16,1>UW g54.0<16,16,1>UB {align1};
-
-add (16) g58.0<1>UW g58.0<16,16,1>UW g40.1<16,16,1>UB {align1};
-add (16) g59.0<1>UW g59.0<16,16,1>UW g42.1<16,16,1>UB {align1};
-add (16) g60.0<1>UW g60.0<16,16,1>UW g44.1<16,16,1>UB {align1};
-add (16) g61.0<1>UW g61.0<16,16,1>UW g46.1<16,16,1>UB {align1};
-add (16) g62.0<1>UW g62.0<16,16,1>UW g48.1<16,16,1>UB {align1};
-add (16) g63.0<1>UW g63.0<16,16,1>UW g50.1<16,16,1>UB {align1};
-add (16) g64.0<1>UW g64.0<16,16,1>UW g52.1<16,16,1>UB {align1};
-add (16) g65.0<1>UW g65.0<16,16,1>UW g54.1<16,16,1>UB {align1};
-
-shr (16) g58.0<1>UW g58.0<16,16,1>UW 2UW {align1};
-shr (16) g59.0<1>UW g59.0<16,16,1>UW 2UW {align1};
-shr (16) g60.0<1>UW g60.0<16,16,1>UW 2UW {align1};
-shr (16) g61.0<1>UW g61.0<16,16,1>UW 2UW {align1};
-shr (16) g62.0<1>UW g62.0<16,16,1>UW 2UW {align1};
-shr (16) g63.0<1>UW g63.0<16,16,1>UW 2UW {align1};
-shr (16) g64.0<1>UW g64.0<16,16,1>UW 2UW {align1};
-shr (16) g65.0<1>UW g65.0<16,16,1>UW 2UW {align1};
-
-mov (1) g32.8<1>UD 0x07001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (16) g66.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-add (16) g67.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-add (16) g68.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-add (16) g69.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-add (16) g70.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-add (16) g71.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-add (16) g72.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-add (16) g73.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-
-add (16) g66.0<1>UW g66.0<16,16,1>UW g40.0<16,16,1>UB {align1};
-add (16) g67.0<1>UW g67.0<16,16,1>UW g42.0<16,16,1>UB {align1};
-add (16) g68.0<1>UW g68.0<16,16,1>UW g44.0<16,16,1>UB {align1};
-add (16) g69.0<1>UW g69.0<16,16,1>UW g46.0<16,16,1>UB {align1};
-add (16) g70.0<1>UW g70.0<16,16,1>UW g48.0<16,16,1>UB {align1};
-add (16) g71.0<1>UW g71.0<16,16,1>UW g50.0<16,16,1>UB {align1};
-add (16) g72.0<1>UW g72.0<16,16,1>UW g52.0<16,16,1>UB {align1};
-add (16) g73.0<1>UW g73.0<16,16,1>UW g54.0<16,16,1>UB {align1};
-
-add (16) g66.0<1>UW g66.0<16,16,1>UW g40.1<16,16,1>UB {align1};
-add (16) g67.0<1>UW g67.0<16,16,1>UW g42.1<16,16,1>UB {align1};
-add (16) g68.0<1>UW g68.0<16,16,1>UW g44.1<16,16,1>UB {align1};
-add (16) g69.0<1>UW g69.0<16,16,1>UW g46.1<16,16,1>UB {align1};
-add (16) g70.0<1>UW g70.0<16,16,1>UW g48.1<16,16,1>UB {align1};
-add (16) g71.0<1>UW g71.0<16,16,1>UW g50.1<16,16,1>UB {align1};
-add (16) g72.0<1>UW g72.0<16,16,1>UW g52.1<16,16,1>UB {align1};
-add (16) g73.0<1>UW g73.0<16,16,1>UW g54.1<16,16,1>UB {align1};
-
-shr (16) g66.0<1>UW g66.0<16,16,1>UW 2UW {align1};
-shr (16) g67.0<1>UW g67.0<16,16,1>UW 2UW {align1};
-shr (16) g68.0<1>UW g68.0<16,16,1>UW 2UW {align1};
-shr (16) g69.0<1>UW g69.0<16,16,1>UW 2UW {align1};
-shr (16) g70.0<1>UW g70.0<16,16,1>UW 2UW {align1};
-shr (16) g71.0<1>UW g71.0<16,16,1>UW 2UW {align1};
-shr (16) g72.0<1>UW g72.0<16,16,1>UW 2UW {align1};
-shr (16) g73.0<1>UW g73.0<16,16,1>UW 2UW {align1};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4a
deleted file mode 100644 (file)
index 9db50ed..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov(2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-/*field 0 of Y*/
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`motion_field_y.g4i')
-mov (8) g58.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g60.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g62.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g64.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g66.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g68.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g70.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g72.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 1 of Y*/
-asr (2) g31.14<1>W g82.28<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x8000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.28')
-define(`mv2',`g82.30')
-include(`motion_field_y.g4i')
-mov (8) g59.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g61.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g63.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g65.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g67.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g69.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g71.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g73.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 0 of UV*/
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g82.20<1>W g82.20<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `8')
-define(`surface_v', `9')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`motion_field_uv.g4i')
-mov (8) g74.0<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.0<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.0<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.0<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.0<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.0<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.0<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.0<1>UW g39.0<8,8,1>UW {align1};
-
-/*field 1 of UV*/
-asr (2) g82.28<1>W g82.28<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.28<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x8000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`mv1',`g82.28')
-define(`mv2',`g82.30')
-include(`motion_field_uv.g4i')
-mov (8) g74.16<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.16<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.16<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.16<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.16<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.16<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.16<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.16<1>UW g39.0<8,8,1>UW {align1};
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b
deleted file mode 100644 (file)
index 5d46829..0000000
+++ /dev/null
@@ -1,553 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a543dad, 0x00450a54, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a5c3dad, 0x00450a5c, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_backward.g4b.gen5
deleted file mode 100644 (file)
index 18595b2..0000000
+++ /dev/null
@@ -1,553 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a543dad, 0x00450a54, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a5c3dad, 0x00450a5c, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4a
deleted file mode 100644 (file)
index fdc1e83..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov(2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-/*field 0 forward prediction of Y*/
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`motion_field_y.g4i')
-mov (8) g58.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g60.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g62.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g64.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g66.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g68.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g70.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g72.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 1 forward prediction of Y*/
-asr (2) g31.14<1>W g82.24<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x4000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.24')
-define(`mv2',`g82.26')
-include(`motion_field_y.g4i')
-mov (8) g59.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g61.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g63.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g65.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g67.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g69.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g71.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g73.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 0 forward prediction of UV*/
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g82.16<1>W g82.16<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `5')
-define(`surface_v', `6')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`motion_field_uv.g4i')
-mov (8) g74.0<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.0<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.0<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.0<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.0<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.0<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.0<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.0<1>UW g39.0<8,8,1>UW {align1};
-
-/*field 1 forward prediction of UV*/
-asr (2) g82.24<1>W g82.24<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.24<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x4000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`mv1',`g82.24')
-define(`mv2',`g82.26')
-include(`motion_field_uv.g4i')
-mov (8) g74.16<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.16<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.16<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.16<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.16<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.16<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.16<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.16<1>UW g39.0<8,8,1>UW {align1};
-
-/*field 0 backward prediction of Y*/
-mov(2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`motion_field_y.g4i')
-avg.sat (16) g58.0<1>UW g58.0<16,16,1>UW g32.0<16,16,1>UW {align1};
-avg.sat (16) g60.0<1>UW g60.0<16,16,1>UW g33.0<16,16,1>UW {align1};
-avg.sat (16) g62.0<1>UW g62.0<16,16,1>UW g34.0<16,16,1>UW {align1};
-avg.sat (16) g64.0<1>UW g64.0<16,16,1>UW g35.0<16,16,1>UW {align1};
-avg.sat (16) g66.0<1>UW g66.0<16,16,1>UW g36.0<16,16,1>UW {align1};
-avg.sat (16) g68.0<1>UW g68.0<16,16,1>UW g37.0<16,16,1>UW {align1};
-avg.sat (16) g70.0<1>UW g70.0<16,16,1>UW g38.0<16,16,1>UW {align1};
-avg.sat (16) g72.0<1>UW g72.0<16,16,1>UW g39.0<16,16,1>UW {align1};
-
-/*field 1 backward prediction of Y*/
-asr (2) g31.14<1>W g82.28<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x8000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`7')
-define(`mv1',`g82.28')
-define(`mv2',`g82.30')
-include(`motion_field_y.g4i')
-avg.sat (16) g59.0<1>UW g59.0<16,16,1>UW g32.0<16,16,1>UW {align1};
-avg.sat (16) g61.0<1>UW g61.0<16,16,1>UW g33.0<16,16,1>UW {align1};
-avg.sat (16) g63.0<1>UW g63.0<16,16,1>UW g34.0<16,16,1>UW {align1};
-avg.sat (16) g65.0<1>UW g65.0<16,16,1>UW g35.0<16,16,1>UW {align1};
-avg.sat (16) g67.0<1>UW g67.0<16,16,1>UW g36.0<16,16,1>UW {align1};
-avg.sat (16) g69.0<1>UW g69.0<16,16,1>UW g37.0<16,16,1>UW {align1};
-avg.sat (16) g71.0<1>UW g71.0<16,16,1>UW g38.0<16,16,1>UW {align1};
-avg.sat (16) g73.0<1>UW g73.0<16,16,1>UW g39.0<16,16,1>UW {align1};
-
-/*field 0 backward prediction of UV*/
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g82.20<1>W g82.20<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x2000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `8')
-define(`surface_v', `9')
-define(`mv1',`g82.20')
-define(`mv2',`g82.22')
-include(`motion_field_uv.g4i')
-avg.sat (8) g74.0<1>UW g74.0<8,8,1>UW g32.0<8,8,1>UW {align1};
-avg.sat (8) g75.0<1>UW g75.0<8,8,1>UW g33.0<8,8,1>UW {align1};
-avg.sat (8) g76.0<1>UW g76.0<8,8,1>UW g34.0<8,8,1>UW {align1};
-avg.sat (8) g77.0<1>UW g77.0<8,8,1>UW g35.0<8,8,1>UW {align1};
-avg.sat (8) g78.0<1>UW g78.0<8,8,1>UW g36.0<8,8,1>UW {align1};
-avg.sat (8) g79.0<1>UW g79.0<8,8,1>UW g37.0<8,8,1>UW {align1};
-avg.sat (8) g80.0<1>UW g80.0<8,8,1>UW g38.0<8,8,1>UW {align1};
-avg.sat (8) g81.0<1>UW g81.0<8,8,1>UW g39.0<8,8,1>UW {align1};
-
-/*field 1 backward prediction of UV*/
-asr (2) g82.28<1>W g82.28<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.28<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x8000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`mv1',`g82.28')
-define(`mv2',`g82.30')
-include(`motion_field_uv.g4i')
-avg.sat (8) g74.16<1>UW g74.16<8,8,1>UW g32.0<8,8,1>UW {align1};
-avg.sat (8) g75.16<1>UW g75.16<8,8,1>UW g33.0<8,8,1>UW {align1};
-avg.sat (8) g76.16<1>UW g76.16<8,8,1>UW g34.0<8,8,1>UW {align1};
-avg.sat (8) g77.16<1>UW g77.16<8,8,1>UW g35.0<8,8,1>UW {align1};
-avg.sat (8) g78.16<1>UW g78.16<8,8,1>UW g36.0<8,8,1>UW {align1};
-avg.sat (8) g79.16<1>UW g79.16<8,8,1>UW g37.0<8,8,1>UW {align1};
-avg.sat (8) g80.16<1>UW g80.16<8,8,1>UW g38.0<8,8,1>UW {align1};
-avg.sat (8) g81.16<1>UW g81.16<8,8,1>UW g39.0<8,8,1>UW {align1};
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b
deleted file mode 100644 (file)
index 9bd272e..0000000
+++ /dev/null
@@ -1,1007 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a503dad, 0x00450a50, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a583dad, 0x00450a58, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x80800042, 0x27402529, 0x00b10740, 0x00b10400 },
-   { 0x80800042, 0x27802529, 0x00b10780, 0x00b10420 },
-   { 0x80800042, 0x27c02529, 0x00b107c0, 0x00b10440 },
-   { 0x80800042, 0x28002529, 0x00b10800, 0x00b10460 },
-   { 0x80800042, 0x28402529, 0x00b10840, 0x00b10480 },
-   { 0x80800042, 0x28802529, 0x00b10880, 0x00b104a0 },
-   { 0x80800042, 0x28c02529, 0x00b108c0, 0x00b104c0 },
-   { 0x80800042, 0x29002529, 0x00b10900, 0x00b104e0 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x80800042, 0x27602529, 0x00b10760, 0x00b10400 },
-   { 0x80800042, 0x27a02529, 0x00b107a0, 0x00b10420 },
-   { 0x80800042, 0x27e02529, 0x00b107e0, 0x00b10440 },
-   { 0x80800042, 0x28202529, 0x00b10820, 0x00b10460 },
-   { 0x80800042, 0x28602529, 0x00b10860, 0x00b10480 },
-   { 0x80800042, 0x28a02529, 0x00b108a0, 0x00b104a0 },
-   { 0x80800042, 0x28e02529, 0x00b108e0, 0x00b104c0 },
-   { 0x80800042, 0x29202529, 0x00b10920, 0x00b104e0 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a543dad, 0x00450a54, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x80600042, 0x29402529, 0x008d0940, 0x008d0400 },
-   { 0x80600042, 0x29602529, 0x008d0960, 0x008d0420 },
-   { 0x80600042, 0x29802529, 0x008d0980, 0x008d0440 },
-   { 0x80600042, 0x29a02529, 0x008d09a0, 0x008d0460 },
-   { 0x80600042, 0x29c02529, 0x008d09c0, 0x008d0480 },
-   { 0x80600042, 0x29e02529, 0x008d09e0, 0x008d04a0 },
-   { 0x80600042, 0x2a002529, 0x008d0a00, 0x008d04c0 },
-   { 0x80600042, 0x2a202529, 0x008d0a20, 0x008d04e0 },
-   { 0x0020000c, 0x2a5c3dad, 0x00450a5c, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a008 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a008 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x80600042, 0x29502529, 0x008d0950, 0x008d0400 },
-   { 0x80600042, 0x29702529, 0x008d0970, 0x008d0420 },
-   { 0x80600042, 0x29902529, 0x008d0990, 0x008d0440 },
-   { 0x80600042, 0x29b02529, 0x008d09b0, 0x008d0460 },
-   { 0x80600042, 0x29d02529, 0x008d09d0, 0x008d0480 },
-   { 0x80600042, 0x29f02529, 0x008d09f0, 0x008d04a0 },
-   { 0x80600042, 0x2a102529, 0x008d0a10, 0x008d04c0 },
-   { 0x80600042, 0x2a302529, 0x008d0a30, 0x008d04e0 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_bidirect.g4b.gen5
deleted file mode 100644 (file)
index b99ad57..0000000
+++ /dev/null
@@ -1,1007 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a503dad, 0x00450a50, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a583dad, 0x00450a58, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x80800042, 0x27402529, 0x00b10740, 0x00b10400 },
-   { 0x80800042, 0x27802529, 0x00b10780, 0x00b10420 },
-   { 0x80800042, 0x27c02529, 0x00b107c0, 0x00b10440 },
-   { 0x80800042, 0x28002529, 0x00b10800, 0x00b10460 },
-   { 0x80800042, 0x28402529, 0x00b10840, 0x00b10480 },
-   { 0x80800042, 0x28802529, 0x00b10880, 0x00b104a0 },
-   { 0x80800042, 0x28c02529, 0x00b108c0, 0x00b104c0 },
-   { 0x80800042, 0x29002529, 0x00b10900, 0x00b104e0 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a007 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a007 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a007 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x80800042, 0x27602529, 0x00b10760, 0x00b10400 },
-   { 0x80800042, 0x27a02529, 0x00b107a0, 0x00b10420 },
-   { 0x80800042, 0x27e02529, 0x00b107e0, 0x00b10440 },
-   { 0x80800042, 0x28202529, 0x00b10820, 0x00b10460 },
-   { 0x80800042, 0x28602529, 0x00b10860, 0x00b10480 },
-   { 0x80800042, 0x28a02529, 0x00b108a0, 0x00b104a0 },
-   { 0x80800042, 0x28e02529, 0x00b108e0, 0x00b104c0 },
-   { 0x80800042, 0x29202529, 0x00b10920, 0x00b104e0 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a543dad, 0x00450a54, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x20002000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a54, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a56, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x80600042, 0x29402529, 0x008d0940, 0x008d0400 },
-   { 0x80600042, 0x29602529, 0x008d0960, 0x008d0420 },
-   { 0x80600042, 0x29802529, 0x008d0980, 0x008d0440 },
-   { 0x80600042, 0x29a02529, 0x008d09a0, 0x008d0460 },
-   { 0x80600042, 0x29c02529, 0x008d09c0, 0x008d0480 },
-   { 0x80600042, 0x29e02529, 0x008d09e0, 0x008d04a0 },
-   { 0x80600042, 0x2a002529, 0x008d0a00, 0x008d04c0 },
-   { 0x80600042, 0x2a202529, 0x008d0a20, 0x008d04e0 },
-   { 0x0020000c, 0x2a5c3dad, 0x00450a5c, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a5c, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x80008000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a5c, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a5e, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a009 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a008 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a009 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a008 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a009 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x80600042, 0x29502529, 0x008d0950, 0x008d0400 },
-   { 0x80600042, 0x29702529, 0x008d0970, 0x008d0420 },
-   { 0x80600042, 0x29902529, 0x008d0990, 0x008d0440 },
-   { 0x80600042, 0x29b02529, 0x008d09b0, 0x008d0460 },
-   { 0x80600042, 0x29d02529, 0x008d09d0, 0x008d0480 },
-   { 0x80600042, 0x29f02529, 0x008d09f0, 0x008d04a0 },
-   { 0x80600042, 0x2a102529, 0x008d0a10, 0x008d04c0 },
-   { 0x80600042, 0x2a302529, 0x008d0a30, 0x008d04e0 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4a
deleted file mode 100644 (file)
index 4c79c5f..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-/*field 0 of Y*/
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};             //motion vertical field select
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`motion_field_y.g4i')
-mov (8) g58.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g60.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g62.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g64.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g66.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g68.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g70.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g72.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 1 of Y*/
-asr (2) g31.14<1>W g82.24<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x4000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface',`4')
-define(`mv1',`g82.24')
-define(`mv2',`g82.26')
-include(`motion_field_y.g4i')
-mov (8) g59.0<1>UD g32.0<8,8,1>UD {align1};
-mov (8) g61.0<1>UD g33.0<8,8,1>UD {align1};
-mov (8) g63.0<1>UD g34.0<8,8,1>UD {align1};
-mov (8) g65.0<1>UD g35.0<8,8,1>UD {align1};
-mov (8) g67.0<1>UD g36.0<8,8,1>UD {align1};
-mov (8) g69.0<1>UD g37.0<8,8,1>UD {align1};
-mov (8) g71.0<1>UD g38.0<8,8,1>UD {align1};
-mov (8) g73.0<1>UD g39.0<8,8,1>UD {align1};
-
-/*field 0 of UV*/
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g82.16<1>W g82.16<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x1000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `5')
-define(`surface_v', `6')
-define(`mv1',`g82.16')
-define(`mv2',`g82.18')
-include(`motion_field_uv.g4i')
-mov (8) g74.0<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.0<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.0<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.0<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.0<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.0<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.0<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.0<1>UW g39.0<8,8,1>UW {align1};
-
-/*field 1 of UV*/
-asr (2) g82.24<1>W g82.24<2,2,1>W 1W {align1};
-asr (2) g31.14<1>W g82.24<2,2,1>W 1W {align1};
-shl (1) g31.16<1>W g31.16<1,1,1>W 1W {align1};
-add (2) g115.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-and (1) g115.4<1>UD g115.4<1,1,1>UD 0xFFFFFFFEUD {align1};
-and.nz (1) null g82.2<1,1,1>UW 0x4000UW {align1};
-(f0) add (1) g115.4<1>UD g115.4<1,1,1>UD 1UD {align1};
-define(`surface_u', `5')
-define(`surface_v', `6')
-define(`mv1',`g82.24')
-define(`mv2',`g82.26')
-include(`motion_field_uv.g4i')
-mov (8) g74.16<1>UW g32.0<8,8,1>UW {align1};
-mov (8) g75.16<1>UW g33.0<8,8,1>UW {align1};
-mov (8) g76.16<1>UW g34.0<8,8,1>UW {align1};
-mov (8) g77.16<1>UW g35.0<8,8,1>UW {align1};
-mov (8) g78.16<1>UW g36.0<8,8,1>UW {align1};
-mov (8) g79.16<1>UW g37.0<8,8,1>UW {align1};
-mov (8) g80.16<1>UW g38.0<8,8,1>UW {align1};
-mov (8) g81.16<1>UW g39.0<8,8,1>UW {align1};
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b
deleted file mode 100644 (file)
index 6c02221..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000045 },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002f },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000017 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x008d0e60, 0x0411a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000013 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x008d0e60, 0x0411a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x008d0e60, 0x0418a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a503dad, 0x00450a50, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a583dad, 0x00450a58, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000032 },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000029 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0414a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001d },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x008d0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x008d0e60, 0x0414a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x008d0e60, 0x0411a005 },
-   { 0x00800031, 0x26201d29, 0x008d0e60, 0x0411a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x00ad0e60, 0x0414a005 },
-   { 0x00800031, 0x25a01d29, 0x00ad0e60, 0x0414a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_field_pred_forward.g4b.gen5
deleted file mode 100644 (file)
index 4c2434a..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27400021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27800021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27c00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28800021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28c00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29000021, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20002dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000008a },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00800040, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x00800040, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x00800040, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x00800040, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x00800040, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x00800040, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x00800040, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x00800040, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10501 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10541 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b10581 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b105c1 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10601 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10641 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b10681 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b106c1 },
-   { 0x00800040, 0x24004529, 0x00b10400, 0x00b10541 },
-   { 0x00800040, 0x24204529, 0x00b10420, 0x00b10581 },
-   { 0x00800040, 0x24404529, 0x00b10440, 0x00b105c1 },
-   { 0x00800040, 0x24604529, 0x00b10460, 0x00b10601 },
-   { 0x00800040, 0x24804529, 0x00b10480, 0x00b10641 },
-   { 0x00800040, 0x24a04529, 0x00b104a0, 0x00b10681 },
-   { 0x00800040, 0x24c04529, 0x00b104c0, 0x00b106c1 },
-   { 0x00800040, 0x24e04529, 0x00b104e0, 0x00b10701 },
-   { 0x00800008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00800008, 0x24202d29, 0x00b10420, 0x00020002 },
-   { 0x00800008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00800008, 0x24602d29, 0x00b10460, 0x00020002 },
-   { 0x00800008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00800008, 0x24a02d29, 0x00b104a0, 0x00020002 },
-   { 0x00800008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00800008, 0x24e02d29, 0x00b104e0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b106c1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000058 },
-   { 0x01000005, 0x20002dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x27001d29, 0x408d0e60, 0x0218a004 },
-   { 0x80800042, 0x24004629, 0x00b10500, 0x00b10540 },
-   { 0x80800042, 0x24204629, 0x00b10540, 0x00b10580 },
-   { 0x80800042, 0x24404629, 0x00b10580, 0x00b105c0 },
-   { 0x80800042, 0x24604629, 0x00b105c0, 0x00b10600 },
-   { 0x80800042, 0x24804629, 0x00b10600, 0x00b10640 },
-   { 0x80800042, 0x24a04629, 0x00b10640, 0x00b10680 },
-   { 0x80800042, 0x24c04629, 0x00b10680, 0x00b106c0 },
-   { 0x80800042, 0x24e04629, 0x00b106c0, 0x00b10700 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000026 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25401d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00800031, 0x25c01d29, 0x408d0e60, 0x0218a004 },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000002 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x26001d29, 0x408d0e60, 0x0288a004 },
-   { 0x00800001, 0x24000229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00b106c0, 0x00000000 },
-   { 0x00600001, 0x27600021, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x27a00021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x27e00021, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x28a00021, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x28e00021, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x29200021, 0x008d04e0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x2a503dad, 0x00450a50, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x10001000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a50, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a52, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29400129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29600129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29800129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29a00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29c00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29e00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a000129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a200129, 0x008d04e0, 0x00000000 },
-   { 0x0020000c, 0x2a583dad, 0x00450a58, 0x00010001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a58, 0x00010001 },
-   { 0x00000009, 0x23f03dad, 0x002103f0, 0x00010001 },
-   { 0x00200040, 0x2e603421, 0x004503e0, 0x004503ee },
-   { 0x00000005, 0x2e640c21, 0x00210e64, 0xfffffffe },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x40004000 },
-   { 0x00010040, 0x2e640c21, 0x00210e64, 0x00000001 },
-   { 0x01000005, 0x20003dbc, 0x00210a58, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000064 },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0001000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800040, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800040, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800040, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800040, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0501 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0521 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0541 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0561 },
-   { 0x00800040, 0x24004529, 0x00ad0400, 0x00ad0521 },
-   { 0x00800040, 0x24204529, 0x00ad0420, 0x00ad0541 },
-   { 0x00800040, 0x24404529, 0x00ad0440, 0x00ad0561 },
-   { 0x00800040, 0x24604529, 0x00ad0460, 0x00ad0581 },
-   { 0x00800040, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800040, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800040, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800040, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05a1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05c1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad05e1 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0601 },
-   { 0x00800040, 0x24804529, 0x00ad0480, 0x00ad05c1 },
-   { 0x00800040, 0x24a04529, 0x00ad04a0, 0x00ad05e1 },
-   { 0x00800040, 0x24c04529, 0x00ad04c0, 0x00ad0601 },
-   { 0x00800040, 0x24e04529, 0x00ad04e0, 0x00ad0621 },
-   { 0x00a02008, 0x24002d29, 0x00b10400, 0x00020002 },
-   { 0x00a02008, 0x24402d29, 0x00b10440, 0x00020002 },
-   { 0x00a02008, 0x24802d29, 0x00b10480, 0x00020002 },
-   { 0x00a02008, 0x24c02d29, 0x00b104c0, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000052 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0248a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0501 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0521 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0541 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0561 },
-   { 0x00800042, 0x24804629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x24a04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x24c04629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x24e04629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000003a },
-   { 0x01000005, 0x20003dbc, 0x00210a5a, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x408d0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x408d0e60, 0x0248a006 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0000000f },
-   { 0x00000040, 0x2e640c21, 0x00210e64, 0x00000008 },
-   { 0x00800031, 0x25801d29, 0x408d0e60, 0x0218a005 },
-   { 0x00800031, 0x26201d29, 0x408d0e60, 0x0218a006 },
-   { 0x00800042, 0x24004629, 0x00ad0500, 0x00ad0520 },
-   { 0x00800042, 0x24204629, 0x00ad0520, 0x00ad0540 },
-   { 0x00800042, 0x24404629, 0x00ad0540, 0x00ad0560 },
-   { 0x00800042, 0x24604629, 0x00ad0560, 0x00ad0580 },
-   { 0x00800042, 0x24804629, 0x00ad05a0, 0x00ad05c0 },
-   { 0x00800042, 0x24a04629, 0x00ad05c0, 0x00ad05e0 },
-   { 0x00800042, 0x24c04629, 0x00ad05e0, 0x00ad0600 },
-   { 0x00800042, 0x24e04629, 0x00ad0600, 0x00ad0620 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x2e680061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x25001d29, 0x40ad0e60, 0x0248a005 },
-   { 0x00800031, 0x25a01d29, 0x40ad0e60, 0x0248a006 },
-   { 0x00800001, 0x24000229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x24400229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x24600229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x24800229, 0x00ad05a0, 0x00000000 },
-   { 0x00800001, 0x24a00229, 0x00ad05c0, 0x00000000 },
-   { 0x00800001, 0x24c00229, 0x00ad05e0, 0x00000000 },
-   { 0x00800001, 0x24e00229, 0x00ad0600, 0x00000000 },
-   { 0x00600001, 0x29500129, 0x008d0400, 0x00000000 },
-   { 0x00600001, 0x29700129, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x29900129, 0x008d0440, 0x00000000 },
-   { 0x00600001, 0x29b00129, 0x008d0460, 0x00000000 },
-   { 0x00600001, 0x29d00129, 0x008d0480, 0x00000000 },
-   { 0x00600001, 0x29f00129, 0x008d04a0, 0x00000000 },
-   { 0x00600001, 0x2a100129, 0x008d04c0, 0x00000000 },
-   { 0x00600001, 0x2a300129, 0x008d04e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4a
deleted file mode 100644 (file)
index 28fe910..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov(2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-//Y, (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) 
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface',        `7')
-define(`mv1',  `g82.20')
-define(`mv2',  `g82.22') 
-include(`motion_frame_y.g4i')
-
-//UV, (x', y') = (x >> 1, y >> 1) + (motion_vector.x >> 2, motion_vector.y >> 2)
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.20<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface1', `8')
-define(`input_surface2', `9')
-include(`motion_frame_uv.g4i')
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b
deleted file mode 100644 (file)
index 475200b..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000031 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000025 },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a009 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_backward.g4b.gen5
deleted file mode 100644 (file)
index 5f5c174..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000be },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000090 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004a },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a009 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4a
deleted file mode 100644 (file)
index cf7ef57..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-//Y, Forward
-mov (1) g31.8<1>UD 0x0070007UD {align1};  
-define(`input_surface',        `4')
-define(`mv1',  `g82.16')
-define(`mv2',  `g82.18')
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-include(`motion_frame_y.g4i')
-//Save Forward
-mov (16) g108.0<1>UD g58.0<16,16,1>UD {align1 compr};
-mov (16) g110.0<1>UD g60.0<16,16,1>UD {align1 compr};
-mov (16) g112.0<1>UD g62.0<16,16,1>UD {align1 compr};
-mov (16) g114.0<1>UD g64.0<16,16,1>UD {align1 compr};
-mov (16) g116.0<1>UD g66.0<16,16,1>UD {align1 compr};
-mov (16) g118.0<1>UD g68.0<16,16,1>UD {align1 compr};
-mov (16) g120.0<1>UD g70.0<16,16,1>UD {align1 compr};
-mov (16) g122.0<1>UD g72.0<16,16,1>UD {align1 compr};
-//Y, Backward
-define(`input_surface',        `7')
-define(`mv1',  `g82.20')
-define(`mv2',  `g82.22')  
-asr (2) g31.14<1>W g82.20<2,2,1>W 1W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-include(`motion_frame_y.g4i')
-//Average Forward and Backward
-avg.sat (16) g58.0<1>UW g58.0<16,16,1>UW g108.0<16,16,1>UW {align1};
-avg.sat (16) g59.0<1>UW g59.0<16,16,1>UW g109.0<16,16,1>UW {align1};
-avg.sat (16) g60.0<1>UW g60.0<16,16,1>UW g110.0<16,16,1>UW {align1};
-avg.sat (16) g61.0<1>UW g61.0<16,16,1>UW g111.0<16,16,1>UW {align1};
-avg.sat (16) g62.0<1>UW g62.0<16,16,1>UW g112.0<16,16,1>UW {align1};
-avg.sat (16) g63.0<1>UW g63.0<16,16,1>UW g113.0<16,16,1>UW {align1};
-avg.sat (16) g64.0<1>UW g64.0<16,16,1>UW g114.0<16,16,1>UW {align1};
-avg.sat (16) g65.0<1>UW g65.0<16,16,1>UW g115.0<16,16,1>UW {align1};
-avg.sat (16) g66.0<1>UW g66.0<16,16,1>UW g116.0<16,16,1>UW {align1};
-avg.sat (16) g67.0<1>UW g67.0<16,16,1>UW g117.0<16,16,1>UW {align1};
-avg.sat (16) g68.0<1>UW g68.0<16,16,1>UW g118.0<16,16,1>UW {align1};
-avg.sat (16) g69.0<1>UW g69.0<16,16,1>UW g119.0<16,16,1>UW {align1};
-avg.sat (16) g70.0<1>UW g70.0<16,16,1>UW g120.0<16,16,1>UW {align1};
-avg.sat (16) g71.0<1>UW g71.0<16,16,1>UW g121.0<16,16,1>UW {align1};
-avg.sat (16) g72.0<1>UW g72.0<16,16,1>UW g122.0<16,16,1>UW {align1};
-avg.sat (16) g73.0<1>UW g73.0<16,16,1>UW g123.0<16,16,1>UW {align1};
-
-//UV, Forward
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface1', `5')
-define(`input_surface2', `6')
-mov (1) g32.8<1>UD 0x007000fUD  {align1};
-include(`motion_frame_uv.g4i')
-//Save UV Forward
-mov (16) g108.0<1>UB  g74.0<16,16,2>UB {align1};
-mov (16) g108.16<1>UB g75.0<16,16,2>UB {align1};
-mov (16) g109.0<1>UB  g76.0<16,16,2>UB {align1};
-mov (16) g109.16<1>UB g77.0<16,16,2>UB {align1};
-mov (16) g110.0<1>UB  g78.0<16,16,2>UB {align1};
-mov (16) g110.16<1>UB g79.0<16,16,2>UB {align1};
-mov (16) g111.0<1>UB  g80.0<16,16,2>UB {align1};
-mov (16) g111.16<1>UB g81.0<16,16,2>UB {align1};
-//UV, Backward
-asr (2) g31.14<1>W g82.20<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface1', `8')
-define(`input_surface2', `9')
-include(`motion_frame_uv.g4i')
-//Average Forward and Backward
-avg.sat (16) g74.0<1>UW g74.0<16,16,1>UW g108.0<16,16,1>UB {align1};
-avg.sat (16) g75.0<1>UW g75.0<16,16,1>UW g108.16<16,16,1>UB {align1};
-avg.sat (16) g76.0<1>UW g76.0<16,16,1>UW g109.0<16,16,1>UB {align1};
-avg.sat (16) g77.0<1>UW g77.0<16,16,1>UW g109.16<16,16,1>UB {align1};
-avg.sat (16) g78.0<1>UW g78.0<16,16,1>UW g110.0<16,16,1>UB {align1};
-avg.sat (16) g79.0<1>UW g79.0<16,16,1>UW g110.16<16,16,1>UB {align1};
-avg.sat (16) g80.0<1>UW g80.0<16,16,1>UW g111.0<16,16,1>UB {align1};
-avg.sat (16) g81.0<1>UW g81.0<16,16,1>UW g111.16<16,16,1>UB {align1};
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b
deleted file mode 100644 (file)
index 0ca1f38..0000000
+++ /dev/null
@@ -1,675 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10740, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10780, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b107c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10800, 0x00000000 },
-   { 0x00802001, 0x2e800021, 0x00b10840, 0x00000000 },
-   { 0x00802001, 0x2ec00021, 0x00b10880, 0x00000000 },
-   { 0x00802001, 0x2f000021, 0x00b108c0, 0x00000000 },
-   { 0x00802001, 0x2f400021, 0x00b10900, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x80800042, 0x27402529, 0x00b10740, 0x00b10d80 },
-   { 0x80800042, 0x27602529, 0x00b10760, 0x00b10da0 },
-   { 0x80800042, 0x27802529, 0x00b10780, 0x00b10dc0 },
-   { 0x80800042, 0x27a02529, 0x00b107a0, 0x00b10de0 },
-   { 0x80800042, 0x27c02529, 0x00b107c0, 0x00b10e00 },
-   { 0x80800042, 0x27e02529, 0x00b107e0, 0x00b10e20 },
-   { 0x80800042, 0x28002529, 0x00b10800, 0x00b10e40 },
-   { 0x80800042, 0x28202529, 0x00b10820, 0x00b10e60 },
-   { 0x80800042, 0x28402529, 0x00b10840, 0x00b10e80 },
-   { 0x80800042, 0x28602529, 0x00b10860, 0x00b10ea0 },
-   { 0x80800042, 0x28802529, 0x00b10880, 0x00b10ec0 },
-   { 0x80800042, 0x28a02529, 0x00b108a0, 0x00b10ee0 },
-   { 0x80800042, 0x28c02529, 0x00b108c0, 0x00b10f00 },
-   { 0x80800042, 0x28e02529, 0x00b108e0, 0x00b10f20 },
-   { 0x80800042, 0x29002529, 0x00b10900, 0x00b10f40 },
-   { 0x80800042, 0x29202529, 0x00b10920, 0x00b10f60 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000031 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000025 },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a006 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x2d800231, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x2d900231, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x2da00231, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x2db00231, 0x00b209a0, 0x00000000 },
-   { 0x00800001, 0x2dc00231, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x2dd00231, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x2de00231, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x2df00231, 0x00b20a20, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a009 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000031 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a009 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000025 },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a008 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a008 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a009 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x008d0400, 0x0414a008 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a009 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x80800042, 0x29404529, 0x00b10940, 0x00b10d80 },
-   { 0x80800042, 0x29604529, 0x00b10960, 0x00b10d90 },
-   { 0x80800042, 0x29804529, 0x00b10980, 0x00b10da0 },
-   { 0x80800042, 0x29a04529, 0x00b109a0, 0x00b10db0 },
-   { 0x80800042, 0x29c04529, 0x00b109c0, 0x00b10dc0 },
-   { 0x80800042, 0x29e04529, 0x00b109e0, 0x00b10dd0 },
-   { 0x80800042, 0x2a004529, 0x00b10a00, 0x00b10de0 },
-   { 0x80800042, 0x2a204529, 0x00b10a20, 0x00b10df0 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_bidirect.g4b.gen5
deleted file mode 100644 (file)
index 1078caa..0000000
+++ /dev/null
@@ -1,675 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000be },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000090 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00802001, 0x2d800021, 0x00b10740, 0x00000000 },
-   { 0x00802001, 0x2dc00021, 0x00b10780, 0x00000000 },
-   { 0x00802001, 0x2e000021, 0x00b107c0, 0x00000000 },
-   { 0x00802001, 0x2e400021, 0x00b10800, 0x00000000 },
-   { 0x00802001, 0x2e800021, 0x00b10840, 0x00000000 },
-   { 0x00802001, 0x2ec00021, 0x00b10880, 0x00000000 },
-   { 0x00802001, 0x2f000021, 0x00b108c0, 0x00000000 },
-   { 0x00802001, 0x2f400021, 0x00b10900, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000be },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000090 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a007 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a007 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x80800042, 0x27402529, 0x00b10740, 0x00b10d80 },
-   { 0x80800042, 0x27602529, 0x00b10760, 0x00b10da0 },
-   { 0x80800042, 0x27802529, 0x00b10780, 0x00b10dc0 },
-   { 0x80800042, 0x27a02529, 0x00b107a0, 0x00b10de0 },
-   { 0x80800042, 0x27c02529, 0x00b107c0, 0x00b10e00 },
-   { 0x80800042, 0x27e02529, 0x00b107e0, 0x00b10e20 },
-   { 0x80800042, 0x28002529, 0x00b10800, 0x00b10e40 },
-   { 0x80800042, 0x28202529, 0x00b10820, 0x00b10e60 },
-   { 0x80800042, 0x28402529, 0x00b10840, 0x00b10e80 },
-   { 0x80800042, 0x28602529, 0x00b10860, 0x00b10ea0 },
-   { 0x80800042, 0x28802529, 0x00b10880, 0x00b10ec0 },
-   { 0x80800042, 0x28a02529, 0x00b108a0, 0x00b10ee0 },
-   { 0x80800042, 0x28c02529, 0x00b108c0, 0x00b10f00 },
-   { 0x80800042, 0x28e02529, 0x00b108e0, 0x00b10f20 },
-   { 0x80800042, 0x29002529, 0x00b10900, 0x00b10f40 },
-   { 0x80800042, 0x29202529, 0x00b10920, 0x00b10f60 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004a },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a006 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00800001, 0x2d800231, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x2d900231, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x2da00231, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x2db00231, 0x00b209a0, 0x00000000 },
-   { 0x00800001, 0x2dc00231, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x2dd00231, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x2de00231, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x2df00231, 0x00b20a20, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a54, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a54, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a009 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a009 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004a },
-   { 0x01000005, 0x20000d3c, 0x00210a56, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a008 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a009 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a008 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a009 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x408d0400, 0x0248a008 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a009 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x80800042, 0x29404529, 0x00b10940, 0x00b10d80 },
-   { 0x80800042, 0x29604529, 0x00b10960, 0x00b10d90 },
-   { 0x80800042, 0x29804529, 0x00b10980, 0x00b10da0 },
-   { 0x80800042, 0x29a04529, 0x00b109a0, 0x00b10db0 },
-   { 0x80800042, 0x29c04529, 0x00b109c0, 0x00b10dc0 },
-   { 0x80800042, 0x29e04529, 0x00b109e0, 0x00b10dd0 },
-   { 0x80800042, 0x2a004529, 0x00b10a00, 0x00b10de0 },
-   { 0x80800042, 0x2a204529, 0x00b10a20, 0x00b10df0 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4a
deleted file mode 100644 (file)
index 22f4804..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-mov (1) g126.8<1>UD ip {align1};
-mov (1) ip g21.0<1,1,1>UD {align1};
-
-//Y, (x', y') = (x, y) + (motion_vector.x >> 1, motion_vector.y >> 1) 
-asr (2) g31.14<1>W g82.16<2,2,1>W 1W {align1};  
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface',        `4')
-define(`mv1',  `g82.16')
-define(`mv2',  `g82.18')
-include(`motion_frame_y.g4i')
-
-//UV, (x', y') = (x >> 1, y >> 1) + (motion_vector.x >> 2, motion_vector.y >> 2)
-shr (2) g31.0<1>UD g31.0<2,2,1>UD 1UD {align1};
-asr (2) g31.14<1>W g82.16<2,2,1>W 2W {align1};
-add (2) g32.0<1>UD g31.0<2,2,1>UD g31.14<2,2,1>W {align1};
-define(`input_surface1', `5')
-define(`input_surface2', `6')
-include(`motion_frame_uv.g4i')
-
-include(`addidct.g4i')
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b
deleted file mode 100644 (file)
index 4bf6c93..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000005f },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000048 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000043 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002e },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x008d0400, 0x0411a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x008d0400, 0x0418a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000004e },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000040 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a006 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000031 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0414a006 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000025 },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000018 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x008d0400, 0x0418a005 },
-   { 0x00800031, 0x25801d29, 0x008d0400, 0x0418a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x008d0400, 0x0411a005 },
-   { 0x00800031, 0x26801d29, 0x008d0400, 0x0411a006 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000b },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x008d0400, 0x0414a005 },
-   { 0x00800031, 0x25001d29, 0x008d0400, 0x0414a006 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_frame_pred_forward.g4b.gen5
deleted file mode 100644 (file)
index 9d89488..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000001, 0x2fc80001, 0x00001400, 0x00000000 },
-   { 0x00000001, 0x34000020, 0x002102a0, 0x00000000 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00010001 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x000000be },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000090 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x00800040, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x00800040, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x00800040, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x00800040, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x00800040, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x00800040, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x00800040, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x00800040, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x00800040, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x00800040, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x00800040, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x00800040, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x00800040, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x00800040, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x00800040, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x00800040, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e0 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10500 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10520 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10540 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10560 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10580 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a0 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c0 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e0 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10600 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10620 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10640 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10660 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10680 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a0 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c0 },
-   { 0x00800040, 0x27404529, 0x00b10740, 0x00b104e1 },
-   { 0x00800040, 0x27604529, 0x00b10760, 0x00b10501 },
-   { 0x00800040, 0x27804529, 0x00b10780, 0x00b10521 },
-   { 0x00800040, 0x27a04529, 0x00b107a0, 0x00b10541 },
-   { 0x00800040, 0x27c04529, 0x00b107c0, 0x00b10561 },
-   { 0x00800040, 0x27e04529, 0x00b107e0, 0x00b10581 },
-   { 0x00800040, 0x28004529, 0x00b10800, 0x00b105a1 },
-   { 0x00800040, 0x28204529, 0x00b10820, 0x00b105c1 },
-   { 0x00800040, 0x28404529, 0x00b10840, 0x00b105e1 },
-   { 0x00800040, 0x28604529, 0x00b10860, 0x00b10601 },
-   { 0x00800040, 0x28804529, 0x00b10880, 0x00b10621 },
-   { 0x00800040, 0x28a04529, 0x00b108a0, 0x00b10641 },
-   { 0x00800040, 0x28c04529, 0x00b108c0, 0x00b10661 },
-   { 0x00800040, 0x28e04529, 0x00b108e0, 0x00b10681 },
-   { 0x00800040, 0x29004529, 0x00b10900, 0x00b106a1 },
-   { 0x00800040, 0x29204529, 0x00b10920, 0x00b106c1 },
-   { 0x80800008, 0x27402d29, 0x00b10740, 0x00020002 },
-   { 0x80800008, 0x27602d29, 0x00b10760, 0x00020002 },
-   { 0x80800008, 0x27802d29, 0x00b10780, 0x00020002 },
-   { 0x80800008, 0x27a02d29, 0x00b107a0, 0x00020002 },
-   { 0x80800008, 0x27c02d29, 0x00b107c0, 0x00020002 },
-   { 0x80800008, 0x27e02d29, 0x00b107e0, 0x00020002 },
-   { 0x80800008, 0x28002d29, 0x00b10800, 0x00020002 },
-   { 0x80800008, 0x28202d29, 0x00b10820, 0x00020002 },
-   { 0x80800008, 0x28402d29, 0x00b10840, 0x00020002 },
-   { 0x80800008, 0x28602d29, 0x00b10860, 0x00020002 },
-   { 0x80800008, 0x28802d29, 0x00b10880, 0x00020002 },
-   { 0x80800008, 0x28a02d29, 0x00b108a0, 0x00020002 },
-   { 0x80800008, 0x28c02d29, 0x00b108c0, 0x00020002 },
-   { 0x80800008, 0x28e02d29, 0x00b108e0, 0x00020002 },
-   { 0x80800008, 0x29002d29, 0x00b10900, 0x00020002 },
-   { 0x80800008, 0x29202d29, 0x00b10920, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000086 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104c1 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b104e1 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10501 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10521 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10541 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10561 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b10581 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105a1 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105c1 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b105e1 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10601 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10621 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10641 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10661 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b10681 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106a1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000005c },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x26c01d29, 0x408d0400, 0x0218a004 },
-   { 0x80800042, 0x27404629, 0x00b104c0, 0x00b104e0 },
-   { 0x80800042, 0x27604629, 0x00b104e0, 0x00b10500 },
-   { 0x80800042, 0x27804629, 0x00b10500, 0x00b10520 },
-   { 0x80800042, 0x27a04629, 0x00b10520, 0x00b10540 },
-   { 0x80800042, 0x27c04629, 0x00b10540, 0x00b10560 },
-   { 0x80800042, 0x27e04629, 0x00b10560, 0x00b10580 },
-   { 0x80800042, 0x28004629, 0x00b10580, 0x00b105a0 },
-   { 0x80800042, 0x28204629, 0x00b105a0, 0x00b105c0 },
-   { 0x80800042, 0x28404629, 0x00b105c0, 0x00b105e0 },
-   { 0x80800042, 0x28604629, 0x00b105e0, 0x00b10600 },
-   { 0x80800042, 0x28804629, 0x00b10600, 0x00b10620 },
-   { 0x80800042, 0x28a04629, 0x00b10620, 0x00b10640 },
-   { 0x80800042, 0x28c04629, 0x00b10640, 0x00b10660 },
-   { 0x80800042, 0x28e04629, 0x00b10660, 0x00b10680 },
-   { 0x80800042, 0x29004629, 0x00b10680, 0x00b106a0 },
-   { 0x80800042, 0x29204629, 0x00b106a0, 0x00b106c0 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000028 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00800031, 0x25c01d29, 0x408d0400, 0x0288a004 },
-   { 0x00800001, 0x27400229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x27600229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x27800229, 0x00b10500, 0x00000000 },
-   { 0x00800001, 0x27a00229, 0x00b10520, 0x00000000 },
-   { 0x00800001, 0x27c00229, 0x00b10540, 0x00000000 },
-   { 0x00800001, 0x27e00229, 0x00b10560, 0x00000000 },
-   { 0x00800001, 0x28000229, 0x00b10580, 0x00000000 },
-   { 0x00800001, 0x28200229, 0x00b105a0, 0x00000000 },
-   { 0x00800001, 0x28400229, 0x00b105c0, 0x00000000 },
-   { 0x00800001, 0x28600229, 0x00b105e0, 0x00000000 },
-   { 0x00800001, 0x28800229, 0x00b10600, 0x00000000 },
-   { 0x00800001, 0x28a00229, 0x00b10620, 0x00000000 },
-   { 0x00800001, 0x28c00229, 0x00b10640, 0x00000000 },
-   { 0x00800001, 0x28e00229, 0x00b10660, 0x00000000 },
-   { 0x00800001, 0x29000229, 0x00b10680, 0x00000000 },
-   { 0x00800001, 0x29200229, 0x00b106a0, 0x00000000 },
-   { 0x00200008, 0x23e00c21, 0x004503e0, 0x00000001 },
-   { 0x0020000c, 0x23ee3dad, 0x00450a50, 0x00020002 },
-   { 0x00200040, 0x24003421, 0x004503e0, 0x004503ee },
-   { 0x01000005, 0x20000d3c, 0x00210a50, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000009c },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000080 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a006 },
-   { 0x00600040, 0x29404629, 0x008d0440, 0x008d0441 },
-   { 0x00600040, 0x29504629, 0x008d0460, 0x008d0461 },
-   { 0x00600040, 0x29604629, 0x008d0480, 0x008d0481 },
-   { 0x00600040, 0x29704629, 0x008d04a0, 0x008d04a1 },
-   { 0x00600040, 0x29804629, 0x008d04c0, 0x008d04c1 },
-   { 0x00600040, 0x29904629, 0x008d04e0, 0x008d04e1 },
-   { 0x00600040, 0x29a04629, 0x008d0500, 0x008d0501 },
-   { 0x00600040, 0x29b04629, 0x008d0520, 0x008d0521 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0460 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0480 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a0 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c0 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e0 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0500 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0520 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0540 },
-   { 0x00600040, 0x29404529, 0x008d0940, 0x008d0461 },
-   { 0x00600040, 0x29504529, 0x008d0950, 0x008d0481 },
-   { 0x00600040, 0x29604529, 0x008d0960, 0x008d04a1 },
-   { 0x00600040, 0x29704529, 0x008d0970, 0x008d04c1 },
-   { 0x00600040, 0x29804529, 0x008d0980, 0x008d04e1 },
-   { 0x00600040, 0x29904529, 0x008d0990, 0x008d0501 },
-   { 0x00600040, 0x29a04529, 0x008d09a0, 0x008d0521 },
-   { 0x00600040, 0x29b04529, 0x008d09b0, 0x008d0541 },
-   { 0x00600040, 0x29c04629, 0x008d0580, 0x008d0581 },
-   { 0x00600040, 0x29d04629, 0x008d05a0, 0x008d05a1 },
-   { 0x00600040, 0x29e04629, 0x008d05c0, 0x008d05c1 },
-   { 0x00600040, 0x29f04629, 0x008d05e0, 0x008d05e1 },
-   { 0x00600040, 0x2a004629, 0x008d0600, 0x008d0601 },
-   { 0x00600040, 0x2a104629, 0x008d0620, 0x008d0621 },
-   { 0x00600040, 0x2a204629, 0x008d0640, 0x008d0641 },
-   { 0x00600040, 0x2a304629, 0x008d0660, 0x008d0661 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a0 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c0 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e0 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0600 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0620 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0640 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0660 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0680 },
-   { 0x00600040, 0x29c04529, 0x008d09c0, 0x008d05a1 },
-   { 0x00600040, 0x29d04529, 0x008d09d0, 0x008d05c1 },
-   { 0x00600040, 0x29e04529, 0x008d09e0, 0x008d05e1 },
-   { 0x00600040, 0x29f04529, 0x008d09f0, 0x008d0601 },
-   { 0x00600040, 0x2a004529, 0x008d0a00, 0x008d0621 },
-   { 0x00600040, 0x2a104529, 0x008d0a10, 0x008d0641 },
-   { 0x00600040, 0x2a204529, 0x008d0a20, 0x008d0661 },
-   { 0x00600040, 0x2a304529, 0x008d0a30, 0x008d0681 },
-   { 0x00800008, 0x29402d29, 0x00b10940, 0x00020002 },
-   { 0x00800008, 0x29602d29, 0x00b10960, 0x00020002 },
-   { 0x00800008, 0x29802d29, 0x00b10980, 0x00020002 },
-   { 0x00800008, 0x29a02d29, 0x00b109a0, 0x00020002 },
-   { 0x00800008, 0x29c02d29, 0x00b109c0, 0x00020002 },
-   { 0x00800008, 0x29e02d29, 0x00b109e0, 0x00020002 },
-   { 0x00800008, 0x2a002d29, 0x00b10a00, 0x00020002 },
-   { 0x00800008, 0x2a202d29, 0x00b10a20, 0x00020002 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000062 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0248a006 },
-   { 0x00800042, 0x29404629, 0x00ad0440, 0x00ad0441 },
-   { 0x00800042, 0x29604629, 0x00ad0460, 0x00ad0461 },
-   { 0x00800042, 0x29804629, 0x00ad0480, 0x00ad0481 },
-   { 0x00800042, 0x29a04629, 0x00ad04a0, 0x00ad04a1 },
-   { 0x00800042, 0x29c04629, 0x00ad0580, 0x00ad0581 },
-   { 0x00800042, 0x29e04629, 0x00ad05a0, 0x00ad05a1 },
-   { 0x00800042, 0x2a004629, 0x00ad05c0, 0x00ad05c1 },
-   { 0x00800042, 0x2a204629, 0x00ad05e0, 0x00ad05e1 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004a },
-   { 0x01000005, 0x20000d3c, 0x00210a52, 0x00000002 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000030 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007001f },
-   { 0x00800031, 0x24401d29, 0x408d0400, 0x0288a005 },
-   { 0x00800031, 0x25801d29, 0x408d0400, 0x0288a006 },
-   { 0x00000040, 0x24040c21, 0x00210404, 0x00000008 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0000001f },
-   { 0x00800031, 0x25401d29, 0x408d0400, 0x0218a005 },
-   { 0x00800031, 0x26801d29, 0x408d0400, 0x0218a006 },
-   { 0x00600042, 0x29404629, 0x008d0440, 0x008d0460 },
-   { 0x00600042, 0x29504629, 0x008d0460, 0x008d0480 },
-   { 0x00600042, 0x29604629, 0x008d0480, 0x008d04a0 },
-   { 0x00600042, 0x29704629, 0x008d04a0, 0x008d04c0 },
-   { 0x00600042, 0x29804629, 0x008d04c0, 0x008d04e0 },
-   { 0x00600042, 0x29904629, 0x008d04e0, 0x008d0500 },
-   { 0x00600042, 0x29a04629, 0x008d0500, 0x008d0520 },
-   { 0x00600042, 0x29b04629, 0x008d0520, 0x008d0540 },
-   { 0x00600042, 0x29c04629, 0x008d0580, 0x008d05a0 },
-   { 0x00600042, 0x29d04629, 0x008d05a0, 0x008d05c0 },
-   { 0x00600042, 0x29e04629, 0x008d05c0, 0x008d05e0 },
-   { 0x00600042, 0x29f04629, 0x008d05e0, 0x008d0600 },
-   { 0x00600042, 0x2a004629, 0x008d0600, 0x008d0620 },
-   { 0x00600042, 0x2a104629, 0x008d0620, 0x008d0640 },
-   { 0x00600042, 0x2a204629, 0x008d0640, 0x008d0660 },
-   { 0x00600042, 0x2a304629, 0x008d0660, 0x008d0680 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00000001, 0x24080061, 0x00000000, 0x0007000f },
-   { 0x00800031, 0x24801d29, 0x408d0400, 0x0248a005 },
-   { 0x00800031, 0x25001d29, 0x408d0400, 0x0248a006 },
-   { 0x00800001, 0x29400229, 0x00ad0480, 0x00000000 },
-   { 0x00800001, 0x29600229, 0x00ad04a0, 0x00000000 },
-   { 0x00800001, 0x29800229, 0x00ad04c0, 0x00000000 },
-   { 0x00800001, 0x29a00229, 0x00ad04e0, 0x00000000 },
-   { 0x00800001, 0x29c00229, 0x00ad0500, 0x00000000 },
-   { 0x00800001, 0x29e00229, 0x00ad0520, 0x00000000 },
-   { 0x00800001, 0x2a000229, 0x00ad0540, 0x00000000 },
-   { 0x00800001, 0x2a200229, 0x00ad0560, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10a80, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10aa0, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10ac0, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10ae0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10b00, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10b20, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10b40, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10b60, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10b80, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10ba0, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10bc0, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10be0, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c00, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10c20, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800040, 0x274045ad, 0x00b10a60, 0x00b20740 },
-   { 0x00800040, 0x276045ad, 0x00b10b60, 0x00b20760 },
-   { 0x00800040, 0x278045ad, 0x00b10a80, 0x00b20780 },
-   { 0x00800040, 0x27a045ad, 0x00b10b80, 0x00b207a0 },
-   { 0x00800040, 0x27c045ad, 0x00b10aa0, 0x00b207c0 },
-   { 0x00800040, 0x27e045ad, 0x00b10ba0, 0x00b207e0 },
-   { 0x00800040, 0x280045ad, 0x00b10ac0, 0x00b20800 },
-   { 0x00800040, 0x282045ad, 0x00b10bc0, 0x00b20820 },
-   { 0x00800040, 0x284045ad, 0x00b10ae0, 0x00b20840 },
-   { 0x00800040, 0x286045ad, 0x00b10be0, 0x00b20860 },
-   { 0x00800040, 0x288045ad, 0x00b10b00, 0x00b20880 },
-   { 0x00800040, 0x28a045ad, 0x00b10c00, 0x00b208a0 },
-   { 0x00800040, 0x28c045ad, 0x00b10b20, 0x00b208c0 },
-   { 0x00800040, 0x28e045ad, 0x00b10c20, 0x00b208e0 },
-   { 0x00800040, 0x290045ad, 0x00b10b40, 0x00b20900 },
-   { 0x00800040, 0x292045ad, 0x00b10c40, 0x00b20920 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x474001b1, 0x00b10740, 0x00000000 },
-   { 0x80800001, 0x476001b1, 0x00b10760, 0x00000000 },
-   { 0x80800001, 0x478001b1, 0x00b10780, 0x00000000 },
-   { 0x80800001, 0x47a001b1, 0x00b107a0, 0x00000000 },
-   { 0x80800001, 0x47c001b1, 0x00b107c0, 0x00000000 },
-   { 0x80800001, 0x47e001b1, 0x00b107e0, 0x00000000 },
-   { 0x80800001, 0x480001b1, 0x00b10800, 0x00000000 },
-   { 0x80800001, 0x482001b1, 0x00b10820, 0x00000000 },
-   { 0x80800001, 0x484001b1, 0x00b10840, 0x00000000 },
-   { 0x80800001, 0x486001b1, 0x00b10860, 0x00000000 },
-   { 0x80800001, 0x488001b1, 0x00b10880, 0x00000000 },
-   { 0x80800001, 0x48a001b1, 0x00b108a0, 0x00000000 },
-   { 0x80800001, 0x48c001b1, 0x00b108c0, 0x00000000 },
-   { 0x80800001, 0x48e001b1, 0x00b108e0, 0x00000000 },
-   { 0x80800001, 0x490001b1, 0x00b10900, 0x00000000 },
-   { 0x80800001, 0x492001b1, 0x00b10920, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20740, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20760, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20780, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b207a0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b207c0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b207e0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20800, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20820, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20840, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20860, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20880, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b208a0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b208c0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b208e0, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20900, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20920, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01c21, 0x004503e0, 0x00000001 },
-   { 0x00800040, 0x294025ad, 0x00b10c60, 0x00b10940 },
-   { 0x00800040, 0x296025ad, 0x00b10c80, 0x00b10960 },
-   { 0x00800040, 0x298025ad, 0x00b10ca0, 0x00b10980 },
-   { 0x00800040, 0x29a025ad, 0x00b10cc0, 0x00b109a0 },
-   { 0x80800001, 0x494001b1, 0x00b10940, 0x00000000 },
-   { 0x80800001, 0x496001b1, 0x00b10960, 0x00000000 },
-   { 0x80800001, 0x498001b1, 0x00b10980, 0x00000000 },
-   { 0x80800001, 0x49a001b1, 0x00b109a0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20940, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20960, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20980, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b209a0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x00800040, 0x29c025a9, 0x00b10ce0, 0x00b109c0 },
-   { 0x00800040, 0x29e025a9, 0x00b10d00, 0x00b109e0 },
-   { 0x00800040, 0x2a0025a9, 0x00b10d20, 0x00b10a00 },
-   { 0x00800040, 0x2a2025a9, 0x00b10d40, 0x00b10a20 },
-   { 0x80800001, 0x49c001b1, 0x00b109c0, 0x00000000 },
-   { 0x80800001, 0x49e001b1, 0x00b109e0, 0x00000000 },
-   { 0x80800001, 0x4a0001b1, 0x00b10a00, 0x00000000 },
-   { 0x80800001, 0x4a2001b1, 0x00b10a20, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b209c0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b209e0, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a00, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20a20, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4a b/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4a
deleted file mode 100644 (file)
index cf12a44..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/*
-   GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT tab
-   g31:    read and write message descriptor
-   g32~g55:DCT data
-   g58~g81:reference data
-   g82:    thread payload 
-   g83~g106:IDCT data 
-*/
-
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-//shl (1) g31.4<1>UD g31.4<1,1,1>UD 1UD {align1};
-
-include(`iq_intra.g4i')
-
-//defined for idct
-define(`ROW_SHIFT', `11UD') 
-define(`ROW_ADD', `0x400UD')          
-define(`COL_SHIFT', `20UD') 
-define(`COL_ADD', `0x80000UD')          
-
-mov (1) a0.0<1>UD 0x06F006E0UD {align1};      //0x06F006E0UD+0x00200020UD=0x07100700UD (g56.0 and g56.16)
-
-//Y0
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g83.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g84.0<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g85.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g86.0<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g87.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g88.0<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g89.0<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g90.0<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y1
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g83.16<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g84.16<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g85.16<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g86.16<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g87.16<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g88.16<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g89.16<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g90.16<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y2
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g91.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g92.0<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g93.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g94.0<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g95.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g96.0<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g97.0<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g98.0<1>W g39.0<16,8,2>W 128UW {align1};
-
-//Y3
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (8) g91.16<1>W g32.0<16,8,2>W 128UW {align1};
-add (8) g92.16<1>W g33.0<16,8,2>W 128UW {align1};
-add (8) g93.16<1>W g34.0<16,8,2>W 128UW {align1};
-add (8) g94.16<1>W g35.0<16,8,2>W 128UW {align1};
-add (8) g95.16<1>W g36.0<16,8,2>W 128UW {align1};
-add (8) g96.16<1>W g37.0<16,8,2>W 128UW {align1};
-add (8) g97.16<1>W g38.0<16,8,2>W 128UW {align1};
-add (8) g98.16<1>W g39.0<16,8,2>W 128UW {align1};
-
-//U
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (16) g99.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (16) g100.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (16) g101.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (16) g102.0<1>W g38.0<16,8,2>W 128UW {align1};
-
-//V
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-add (16) g103.0<1>W g32.0<16,8,2>W 128UW {align1};
-add (16) g104.0<1>W g34.0<16,8,2>W 128UW {align1};
-add (16) g105.0<1>W g36.0<16,8,2>W 128UW {align1};
-add (16) g106.0<1>W g38.0<16,8,2>W 128UW {align1};
-
-//send msg
-mov (1) g31.8<1>UD 0x00F000FUD {align1};
-mov.sat (16) g83.0<2>UB g83.0<16,16,1>W {align1};
-mov.sat (16) g84.0<2>UB g84.0<16,16,1>W {align1};
-mov.sat (16) g85.0<2>UB g85.0<16,16,1>W {align1};
-mov.sat (16) g86.0<2>UB g86.0<16,16,1>W {align1};
-mov.sat (16) g87.0<2>UB g87.0<16,16,1>W {align1};
-mov.sat (16) g88.0<2>UB g88.0<16,16,1>W {align1};
-mov.sat (16) g89.0<2>UB g89.0<16,16,1>W {align1};
-mov.sat (16) g90.0<2>UB g90.0<16,16,1>W {align1};
-mov.sat (16) g91.0<2>UB g91.0<16,16,1>W {align1};
-mov.sat (16) g92.0<2>UB g92.0<16,16,1>W {align1};
-mov.sat (16) g93.0<2>UB g93.0<16,16,1>W {align1};
-mov.sat (16) g94.0<2>UB g94.0<16,16,1>W {align1};
-mov.sat (16) g95.0<2>UB g95.0<16,16,1>W {align1};
-mov.sat (16) g96.0<2>UB g96.0<16,16,1>W {align1};
-mov.sat (16) g97.0<2>UB g97.0<16,16,1>W {align1};
-mov.sat (16) g98.0<2>UB g98.0<16,16,1>W {align1};
-
-and.nz (1) null g82.2<1,1,1>UW 0x20UW{align1};
-(f0) jmpi field_dct;
-
-mov (16) m1.0<1>UB  g83.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g84.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g85.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g86.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g87.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g88.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g89.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g90.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g91.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g92.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g93.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g94.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g95.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g96.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g97.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g98.0<16,16,2>UB {align1};
-jmpi write_back;
-
-field_dct:
-mov (16) m1.0<1>UB  g83.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g91.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g84.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g92.0<16,16,2>UB {align1};
-mov (16) m3.0<1>UB  g85.0<16,16,2>UB {align1};
-mov (16) m3.16<1>UB g93.0<16,16,2>UB {align1};
-mov (16) m4.0<1>UB  g86.0<16,16,2>UB {align1};
-mov (16) m4.16<1>UB g94.0<16,16,2>UB {align1};
-mov (16) m5.0<1>UB  g87.0<16,16,2>UB {align1};
-mov (16) m5.16<1>UB g95.0<16,16,2>UB {align1};
-mov (16) m6.0<1>UB  g88.0<16,16,2>UB {align1};
-mov (16) m6.16<1>UB g96.0<16,16,2>UB {align1};
-mov (16) m7.0<1>UB  g89.0<16,16,2>UB {align1};
-mov (16) m7.16<1>UB g97.0<16,16,2>UB {align1};
-mov (16) m8.0<1>UB  g90.0<16,16,2>UB {align1};
-mov (16) m8.16<1>UB g98.0<16,16,2>UB {align1};
-
-write_back:
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(0,0,2,0) mlen 9 rlen 0 {align1};
-
-//U
-mov (1) g31.8<1>UD 0x0070007UD  { align1 };
-shr (2) g31.0<1>UD g82.12<2,2,1>UW 1D {align1};
-mov.sat (16) g99.0<2>UB g99.0<16,16,1>W {align1};
-mov.sat (16) g100.0<2>UB g100.0<16,16,1>W {align1};
-mov.sat (16) g101.0<2>UB g101.0<16,16,1>W {align1};
-mov.sat (16) g102.0<2>UB g102.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g99.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g100.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g101.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g102.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-//V
-mov.sat (16) g103.0<2>UB g103.0<16,16,1>W {align1};
-mov.sat (16) g104.0<2>UB g104.0<16,16,1>W {align1};
-mov.sat (16) g105.0<2>UB g105.0<16,16,1>W {align1};
-mov.sat (16) g106.0<2>UB g106.0<16,16,1>W {align1};
-
-mov (16) m1.0<1>UB  g103.0<16,16,2>UB {align1};
-mov (16) m1.16<1>UB g104.0<16,16,2>UB {align1};
-mov (16) m2.0<1>UB  g105.0<16,16,2>UB {align1};
-mov (16) m2.16<1>UB g106.0<16,16,2>UB {align1};
-send (16) 0 acc0<1>UW g31<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-OUT:
-send (16) 0 acc0<1>UW g0<8,8,1>UW
-        thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
-
-include(`do_iq_intra.g4i')
-include(`idct.g4i')
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b b/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b
deleted file mode 100644 (file)
index 4c1c8c4..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x00000005, 0x2da42d29, 0x00210a48, 0x60006000 },
-   { 0x00000008, 0x2da42d29, 0x00210da4, 0x000d000d },
-   { 0x00000001, 0x2da60169, 0x00000000, 0x00080008 },
-   { 0x00000008, 0x2da42529, 0x00210da6, 0x00210da4 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000009 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000005 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000001 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10020, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10030, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10040, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10050, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a1 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000009b },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000095 },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000008f },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000089 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000083 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000008f },
-   { 0x00600040, 0x2a602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2aa02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ac02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2ae02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000085 },
-   { 0x00600040, 0x2a702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ab02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ad02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2af02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000007b },
-   { 0x00600040, 0x2b602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ba02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bc02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2be02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000071 },
-   { 0x00600040, 0x2b702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2bb02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bd02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2bf02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000067 },
-   { 0x00800040, 0x2c602dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2c802dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2ca02dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2cc02dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000061 },
-   { 0x00800040, 0x2ce02dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2d002dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2d202dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2d402dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x4a6001b1, 0x00b10a60, 0x00000000 },
-   { 0x80800001, 0x4a8001b1, 0x00b10a80, 0x00000000 },
-   { 0x80800001, 0x4aa001b1, 0x00b10aa0, 0x00000000 },
-   { 0x80800001, 0x4ac001b1, 0x00b10ac0, 0x00000000 },
-   { 0x80800001, 0x4ae001b1, 0x00b10ae0, 0x00000000 },
-   { 0x80800001, 0x4b0001b1, 0x00b10b00, 0x00000000 },
-   { 0x80800001, 0x4b2001b1, 0x00b10b20, 0x00000000 },
-   { 0x80800001, 0x4b4001b1, 0x00b10b40, 0x00000000 },
-   { 0x80800001, 0x4b6001b1, 0x00b10b60, 0x00000000 },
-   { 0x80800001, 0x4b8001b1, 0x00b10b80, 0x00000000 },
-   { 0x80800001, 0x4ba001b1, 0x00b10ba0, 0x00000000 },
-   { 0x80800001, 0x4bc001b1, 0x00b10bc0, 0x00000000 },
-   { 0x80800001, 0x4be001b1, 0x00b10be0, 0x00000000 },
-   { 0x80800001, 0x4c0001b1, 0x00b10c00, 0x00000000 },
-   { 0x80800001, 0x4c2001b1, 0x00b10c20, 0x00000000 },
-   { 0x80800001, 0x4c4001b1, 0x00b10c40, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05902000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01d21, 0x00450a4c, 0x00000001 },
-   { 0x80800001, 0x4c6001b1, 0x00b10c60, 0x00000000 },
-   { 0x80800001, 0x4c8001b1, 0x00b10c80, 0x00000000 },
-   { 0x80800001, 0x4ca001b1, 0x00b10ca0, 0x00000000 },
-   { 0x80800001, 0x4cc001b1, 0x00b10cc0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20c60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20c80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20ca0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20cc0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302001 },
-   { 0x80800001, 0x4ce001b1, 0x00b10ce0, 0x00000000 },
-   { 0x80800001, 0x4d0001b1, 0x00b10d00, 0x00000000 },
-   { 0x80800001, 0x4d2001b1, 0x00b10d20, 0x00000000 },
-   { 0x80800001, 0x4d4001b1, 0x00b10d40, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20ce0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20d00, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20d20, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20d40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d03e0, 0x05302002 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00000001, 0x2de001ad, 0x00218000, 0x00000000 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000041, 0x2e8025a5, 0x00210de0, 0x00210da4 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/frame_intra.g4b.gen5
deleted file mode 100644 (file)
index 957f6fc..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-   { 0x00600001, 0x2a400021, 0x008d03e0, 0x00000000 },
-   { 0x00200001, 0x23e00121, 0x00450a4c, 0x00000000 },
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x00000005, 0x2da42d29, 0x00210a48, 0x60006000 },
-   { 0x00000008, 0x2da42d29, 0x00210da4, 0x000d000d },
-   { 0x00000001, 0x2da60169, 0x00000000, 0x00080008 },
-   { 0x00000008, 0x2da42529, 0x00210da6, 0x00210da4 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10020, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10030, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10040, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10050, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000142 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000136 },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000012a },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000112 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000106 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000011e },
-   { 0x00600040, 0x2a602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2aa02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ac02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2ae02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000010a },
-   { 0x00600040, 0x2a702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2a902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ab02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2ad02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2af02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2b102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2b302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2b502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000f6 },
-   { 0x00600040, 0x2b602dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b802dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2ba02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bc02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2be02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c002dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c202dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c402dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000e2 },
-   { 0x00600040, 0x2b702dad, 0x00ae0400, 0x00800080 },
-   { 0x00600040, 0x2b902dad, 0x00ae0420, 0x00800080 },
-   { 0x00600040, 0x2bb02dad, 0x00ae0440, 0x00800080 },
-   { 0x00600040, 0x2bd02dad, 0x00ae0460, 0x00800080 },
-   { 0x00600040, 0x2bf02dad, 0x00ae0480, 0x00800080 },
-   { 0x00600040, 0x2c102dad, 0x00ae04a0, 0x00800080 },
-   { 0x00600040, 0x2c302dad, 0x00ae04c0, 0x00800080 },
-   { 0x00600040, 0x2c502dad, 0x00ae04e0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000ce },
-   { 0x00800040, 0x2c602dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2c802dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2ca02dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2cc02dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000c2 },
-   { 0x00800040, 0x2ce02dad, 0x00ae0400, 0x00800080 },
-   { 0x00800040, 0x2d002dad, 0x00ae0440, 0x00800080 },
-   { 0x00800040, 0x2d202dad, 0x00ae0480, 0x00800080 },
-   { 0x00800040, 0x2d402dad, 0x00ae04c0, 0x00800080 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x000f000f },
-   { 0x80800001, 0x4a6001b1, 0x00b10a60, 0x00000000 },
-   { 0x80800001, 0x4a8001b1, 0x00b10a80, 0x00000000 },
-   { 0x80800001, 0x4aa001b1, 0x00b10aa0, 0x00000000 },
-   { 0x80800001, 0x4ac001b1, 0x00b10ac0, 0x00000000 },
-   { 0x80800001, 0x4ae001b1, 0x00b10ae0, 0x00000000 },
-   { 0x80800001, 0x4b0001b1, 0x00b10b00, 0x00000000 },
-   { 0x80800001, 0x4b2001b1, 0x00b10b20, 0x00000000 },
-   { 0x80800001, 0x4b4001b1, 0x00b10b40, 0x00000000 },
-   { 0x80800001, 0x4b6001b1, 0x00b10b60, 0x00000000 },
-   { 0x80800001, 0x4b8001b1, 0x00b10b80, 0x00000000 },
-   { 0x80800001, 0x4ba001b1, 0x00b10ba0, 0x00000000 },
-   { 0x80800001, 0x4bc001b1, 0x00b10bc0, 0x00000000 },
-   { 0x80800001, 0x4be001b1, 0x00b10be0, 0x00000000 },
-   { 0x80800001, 0x4c0001b1, 0x00b10c00, 0x00000000 },
-   { 0x80800001, 0x4c2001b1, 0x00b10c20, 0x00000000 },
-   { 0x80800001, 0x4c4001b1, 0x00b10c40, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a42, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000020 },
-   { 0x00800001, 0x20200232, 0x00b20a60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20b60, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20a80, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20b80, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00b20aa0, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00b20ba0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00b20ac0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00b20bc0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00b20ae0, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00b20be0, 0x00000000 },
-   { 0x00800001, 0x20c00232, 0x00b20b00, 0x00000000 },
-   { 0x00800001, 0x20d00232, 0x00b20c00, 0x00000000 },
-   { 0x00800001, 0x20e00232, 0x00b20b20, 0x00000000 },
-   { 0x00800001, 0x20f00232, 0x00b20c20, 0x00000000 },
-   { 0x00800001, 0x21000232, 0x00b20b40, 0x00000000 },
-   { 0x00800001, 0x21100232, 0x00b20c40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x12082000 },
-   { 0x00000001, 0x23e80061, 0x00000000, 0x00070007 },
-   { 0x00200008, 0x23e01d21, 0x00450a4c, 0x00000001 },
-   { 0x80800001, 0x4c6001b1, 0x00b10c60, 0x00000000 },
-   { 0x80800001, 0x4c8001b1, 0x00b10c80, 0x00000000 },
-   { 0x80800001, 0x4ca001b1, 0x00b10ca0, 0x00000000 },
-   { 0x80800001, 0x4cc001b1, 0x00b10cc0, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20c60, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20c80, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20ca0, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20cc0, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082001 },
-   { 0x80800001, 0x4ce001b1, 0x00b10ce0, 0x00000000 },
-   { 0x80800001, 0x4d0001b1, 0x00b10d00, 0x00000000 },
-   { 0x80800001, 0x4d2001b1, 0x00b10d20, 0x00000000 },
-   { 0x80800001, 0x4d4001b1, 0x00b10d40, 0x00000000 },
-   { 0x00800001, 0x20200232, 0x00b20ce0, 0x00000000 },
-   { 0x00800001, 0x20300232, 0x00b20d00, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00b20d20, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00b20d40, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x508d03e0, 0x06082002 },
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00000001, 0x2de001ad, 0x00218000, 0x00000000 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000041, 0x2e8025a5, 0x00210de0, 0x00210da4 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000034 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/idct.g4i b/i965_drv_video/shaders/mpeg2/vld/idct.g4i
deleted file mode 100644 (file)
index c1747d1..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix in UB format
-           g3~g4:non intra IQ matrix in UB format
-           g5~g20:IDCT table
-   g56~g79:DCT data after IQ before idct
-   g83~g106: IDCT data after idct
-   g82:    thread payload backup
-   g125:   ip before idct
-*/
-IDCT_START:
-mov (1) g126.0<1>UD ip {align1};
-jmpi DO_IDCT;
-add (16) g32<1>D g32<8,8,1>D ROW_ADD {compr};
-add (16) g34<1>D g34<8,8,1>D ROW_ADD {compr};
-add (16) g36<1>D g36<8,8,1>D ROW_ADD {compr};
-add (16) g38<1>D g38<8,8,1>D ROW_ADD {compr};
-
-shr (16) g32<1>D g32<8,8,1>D ROW_SHIFT {compr};
-shr (16) g34<1>D g34<8,8,1>D ROW_SHIFT {compr};
-shr (16) g36<1>D g36<8,8,1>D ROW_SHIFT {compr};
-shr (16) g38<1>D g38<8,8,1>D ROW_SHIFT {compr};
-
-mov (16) g110.0<1>W g32<16,8,2>W {align1};
-mov (16) g111.0<1>W g34<16,8,2>W {align1};
-mov (16) g112.0<1>W g36<16,8,2>W {align1};
-mov (16) g113.0<1>W g38<16,8,2>W {align1};
-
-mov (1) g80.0<1>UD a0.0<1,1,1>UD {align1};  //save a0
-mov (1) a0.0<1>UD 0x0DB00DA0UD {align1};  //begin at g110.0, the output of idct_row.g4i
-mov (1) g126.0<1>UD ip {align1};
-jmpi DO_IDCT;
-
-add (16) g32<1>D g32<8,8,1>D COL_ADD {compr};
-add (16) g34<1>D g34<8,8,1>D COL_ADD {compr};
-add (16) g36<1>D g36<8,8,1>D COL_ADD {compr};
-add (16) g38<1>D g38<8,8,1>D COL_ADD {compr};
-
-shr (16) g32<1>D g32<8,8,1>D COL_SHIFT {compr};
-shr (16) g34<1>D g34<8,8,1>D COL_SHIFT {compr};
-shr (16) g36<1>D g36<8,8,1>D COL_SHIFT {compr};
-shr (16) g38<1>D g38<8,8,1>D COL_SHIFT {compr};
-
-mov (1) a0.0<1>UD g80.0<1,1,1>UD {align1};             //restore a0 
-add (1) ip g125.0<1,1,1>UD 0x20UD {align1};            //jump back
-
-DO_IDCT:
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};           //increase the address 
-dp4 (16) g40<1>D g[a0.0]<8,8,1>W g5<8,8,1>D {align1 compr};
-dp4 (16) g42<1>D g[a0.0]<8,8,1>W g7<8,8,1>D {align1 compr};
-dp4 (16) g44<1>D g[a0.0]<8,8,1>W g9<8,8,1>D {align1 compr};
-dp4 (16) g46<1>D g[a0.0]<8,8,1>W g11<8,8,1>D {align1 compr};
-dp4 (16) g48<1>D g[a0.0]<8,8,1>W g13<8,8,1>D {align1 compr};
-dp4 (16) g50<1>D g[a0.0]<8,8,1>W g15<8,8,1>D {align1 compr};
-dp4 (16) g52<1>D g[a0.0]<8,8,1>W g17<8,8,1>D {align1 compr};
-dp4 (16) g54<1>D g[a0.0]<8,8,1>W g19<8,8,1>D {align1 compr};
-add (2) g32.0<1>D g40.0<8,1,8>D g40.16<8,1,8>D {align1};
-add (2) g33.0<1>D g42.0<8,1,8>D g42.16<8,1,8>D {align1};
-add (2) g34.0<1>D g44.0<8,1,8>D g44.16<8,1,8>D {align1};
-add (2) g35.0<1>D g46.0<8,1,8>D g46.16<8,1,8>D {align1};
-add (2) g36.0<1>D g48.0<8,1,8>D g48.16<8,1,8>D {align1};
-add (2) g37.0<1>D g50.0<8,1,8>D g50.16<8,1,8>D {align1};
-add (2) g38.0<1>D g52.0<8,1,8>D g52.16<8,1,8>D {align1};
-add (2) g39.0<1>D g54.0<8,1,8>D g54.16<8,1,8>D {align1};
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-dp4 (16) g40<1>D g[a0.0]<8,8,1>W g5<8,8,1>D {align1 compr};
-dp4 (16) g42<1>D g[a0.0]<8,8,1>W g7<8,8,1>D {align1 compr};
-dp4 (16) g44<1>D g[a0.0]<8,8,1>W g9<8,8,1>D {align1 compr};
-dp4 (16) g46<1>D g[a0.0]<8,8,1>W g11<8,8,1>D {align1 compr};
-dp4 (16) g48<1>D g[a0.0]<8,8,1>W g13<8,8,1>D {align1 compr};
-dp4 (16) g50<1>D g[a0.0]<8,8,1>W g15<8,8,1>D {align1 compr};
-dp4 (16) g52<1>D g[a0.0]<8,8,1>W g17<8,8,1>D {align1 compr};
-dp4 (16) g54<1>D g[a0.0]<8,8,1>W g19<8,8,1>D {align1 compr};
-add (2) g32.8<1>D g40.0<8,1,8>D g40.16<8,1,8>D {align1};
-add (2) g33.8<1>D g42.0<8,1,8>D g42.16<8,1,8>D {align1};
-add (2) g34.8<1>D g44.0<8,1,8>D g44.16<8,1,8>D {align1};
-add (2) g35.8<1>D g46.0<8,1,8>D g46.16<8,1,8>D {align1};
-add (2) g36.8<1>D g48.0<8,1,8>D g48.16<8,1,8>D {align1};
-add (2) g37.8<1>D g50.0<8,1,8>D g50.16<8,1,8>D {align1};
-add (2) g38.8<1>D g52.0<8,1,8>D g52.16<8,1,8>D {align1};
-add (2) g39.8<1>D g54.0<8,1,8>D g54.16<8,1,8>D {align1};
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-dp4 (16) g40<1>D g[a0.0]<8,8,1>W g5<8,8,1>D {align1 compr};
-dp4 (16) g42<1>D g[a0.0]<8,8,1>W g7<8,8,1>D {align1 compr};
-dp4 (16) g44<1>D g[a0.0]<8,8,1>W g9<8,8,1>D {align1 compr};
-dp4 (16) g46<1>D g[a0.0]<8,8,1>W g11<8,8,1>D {align1 compr};
-dp4 (16) g48<1>D g[a0.0]<8,8,1>W g13<8,8,1>D {align1 compr};
-dp4 (16) g50<1>D g[a0.0]<8,8,1>W g15<8,8,1>D {align1 compr};
-dp4 (16) g52<1>D g[a0.0]<8,8,1>W g17<8,8,1>D {align1 compr};
-dp4 (16) g54<1>D g[a0.0]<8,8,1>W g19<8,8,1>D {align1 compr};
-add (2) g32.16<1>D g40.0<8,1,8>D g40.16<8,1,8>D {align1};
-add (2) g33.16<1>D g42.0<8,1,8>D g42.16<8,1,8>D {align1};
-add (2) g34.16<1>D g44.0<8,1,8>D g44.16<8,1,8>D {align1};
-add (2) g35.16<1>D g46.0<8,1,8>D g46.16<8,1,8>D {align1};
-add (2) g36.16<1>D g48.0<8,1,8>D g48.16<8,1,8>D {align1};
-add (2) g37.16<1>D g50.0<8,1,8>D g50.16<8,1,8>D {align1};
-add (2) g38.16<1>D g52.0<8,1,8>D g52.16<8,1,8>D {align1};
-add (2) g39.16<1>D g54.0<8,1,8>D g54.16<8,1,8>D {align1};
-
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00200020UD {align1};
-dp4 (16) g40<1>D g[a0.0]<8,8,1>W g5<8,8,1>D {align1 compr};
-dp4 (16) g42<1>D g[a0.0]<8,8,1>W g7<8,8,1>D {align1 compr};
-dp4 (16) g44<1>D g[a0.0]<8,8,1>W g9<8,8,1>D {align1 compr};
-dp4 (16) g46<1>D g[a0.0]<8,8,1>W g11<8,8,1>D {align1 compr};
-dp4 (16) g48<1>D g[a0.0]<8,8,1>W g13<8,8,1>D {align1 compr};
-dp4 (16) g50<1>D g[a0.0]<8,8,1>W g15<8,8,1>D {align1 compr};
-dp4 (16) g52<1>D g[a0.0]<8,8,1>W g17<8,8,1>D {align1 compr};
-dp4 (16) g54<1>D g[a0.0]<8,8,1>W g19<8,8,1>D {align1 compr};
-add (2) g32.24<1>D g40.0<8,1,8>D g40.16<8,1,8>D {align1};
-add (2) g33.24<1>D g42.0<8,1,8>D g42.16<8,1,8>D {align1};
-add (2) g34.24<1>D g44.0<8,1,8>D g44.16<8,1,8>D {align1};
-add (2) g35.24<1>D g46.0<8,1,8>D g46.16<8,1,8>D {align1};
-add (2) g36.24<1>D g48.0<8,1,8>D g48.16<8,1,8>D {align1};
-add (2) g37.24<1>D g50.0<8,1,8>D g50.16<8,1,8>D {align1};
-add (2) g38.24<1>D g52.0<8,1,8>D g52.16<8,1,8>D {align1};
-add (2) g39.24<1>D g54.0<8,1,8>D g54.16<8,1,8>D {align1};
-
-add (1) ip g126.0<1,1,1>UD 0x20UD {align1};            //jump back
diff --git a/i965_drv_video/shaders/mpeg2/vld/iq_intra.g4i b/i965_drv_video/shaders/mpeg2/vld/iq_intra.g4i
deleted file mode 100644 (file)
index b014361..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix in UB format
-           g3~g4:non intra IQ matrix in UB format
-           g5~g20:IDCT table
-   g32~g55:DCT data before IQ
-   g56~g79:DCT data after IQ
-   g82:    thread payload backup
-   g109:   g109.0:q_scale_code, g109.4:intra_dc_mult, 
-   g110:   q_scale_code
-   g111:   intra DC coefficient 
-   g112~g115: intra IQ matrix in UW format (in order to use instruction compress), copys from g1~g2
-   g125:   ip before jump
-*/
-and (1) g109.0<1>UW g82.8<1,1,1>UW 0x1fUW {align1};    //q_scale_code
-
-and (1) g109.4<1>UW g82.8<1,1,1>UW 0x6000UW {align1};   //intra_dc_presion
-shr (1) g109.4<1>UW g109.4<1,1,1>UW 13UW {align1};
-mov (1) g109.6<1>UW 0x8UW {align1};
-shr (1) g109.4<1>UW g109.6<1,1,1>UW g109.4<1,1,1>UW {align1};  //intra_dc_mult
-and.z (1) null g82.8<1,1,1>UW 0x20UW {align1};   //if(q_scale_type==0) q_scale=q_scale_code*2;
-(f0) jmpi Q_SCALE_TYPE_0;
-
-cmp.l (1) null g109.0<1,1,1>UW 9UW {align1};      //if(q_scale_type!=0) calculate q_scale
-(f0) jmpi DO_IQ;
-cmp.l (1) null g109.0<1,1,1>UW 17UW {align1};
-(f0) jmpi RANG_9_16;
-cmp.l (1) null g109.0<1,1,1>UW 25UW {align1};
-(f0) jmpi RANG_17_24;
-
-RANG_25_31:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -25W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 3UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 64UW {align1};
-jmpi DO_IQ;
-
-RANG_9_16:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -9W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 1UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 10UW {align1};
-jmpi DO_IQ;
-
-RANG_17_24:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -17W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 2UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 28UW {align1};
-jmpi DO_IQ;
-
-Q_SCALE_TYPE_0:
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 1UD {align1};
-
-DO_IQ:
-mov (1) g110.0<1>UW g109.0<1,1,1>UW {align1};
-
-mov (16) g112.0<1>UW g1.0<16,16,1>UB {align1};
-mov (16) g113.0<1>UW g1.16<16,16,1>UB {align1};
-mov (16) g114.0<1>UW g2.0<16,16,1>UB {align1};
-mov (16) g115.0<1>UW g2.16<16,16,1>UB {align1};
-
-mov (1) a0.0<1>UD 0x03F003E0UD {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g56.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g57.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g58.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g59.0<1>W g122.0<16,8,2>W {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g60.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g61.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g62.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g63.0<1>W g122.0<16,8,2>W {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g64.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g65.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g66.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g67.0<1>W g122.0<16,8,2>W {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g68.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g69.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g70.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g71.0<1>W g122.0<16,8,2>W {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g72.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g73.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g74.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g75.0<1>W g122.0<16,8,2>W {align1};
-
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_INTRA;
-mov (16) g76.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g77.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g78.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g79.0<1>W g122.0<16,8,2>W {align1};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/iq_non_intra.g4i b/i965_drv_video/shaders/mpeg2/vld/iq_non_intra.g4i
deleted file mode 100644 (file)
index 03c09aa..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix in UB format
-           g3~g4:non intra IQ matrix in UB format
-           g5~g20:IDCT table
-   g32~g55:DCT data before IQ
-   g56~g79:DCT data after IQ
-   g82:    thread payload backup
-   g109:   q_scale_code
-   g110:   q_scale_code
-   g112~g115: non intra IQ matrix in UW format (in order to use instruction compress), copys from g3~g4
-   g125:   ip before jump
-*/
-and (1) g109.0<1>UW g82.8<1,1,1>UW 0x1fUW {align1}; //q_scale_code
-
-and.z (1) null g82.8<1,1,1>UW 0x20UW {align1};   //if(q_scale_type==0) q_scale=q_scale_code*2;
-(f0) jmpi Q_SCALE_TYPE_0;
-
-cmp.l (1) null g109.0<1,1,1>UW 9UW {align1};      //if(q_scale_type!=0) calculate q_scale
-(f0) jmpi DO_IQ;
-cmp.l (1) null g109.0<1,1,1>UW 17UW {align1};
-(f0) jmpi RANG_9_16;
-cmp.l (1) null g109.0<1,1,1>UW 25UW {align1};
-(f0) jmpi RANG_17_24;
-
-RANG_25_31:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -25W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 3UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 64UW {align1};
-jmpi DO_IQ;
-
-RANG_9_16:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -9W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 1UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 10UW {align1};
-jmpi DO_IQ;
-
-RANG_17_24:
-add (1) g109.0<1>UW g109.0<1,1,1>UW -17W {align1};
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 2UW {align1};
-add (1) g109.0<1>UW g109.0<1,1,1>UW 28UW {align1};
-jmpi DO_IQ;
-
-Q_SCALE_TYPE_0:
-shl (1) g109.0<1>UW g109.0<1,1,1>UW 1UD {align1};
-
-DO_IQ:
-mov (1) g110.0<1>UW g109.0<1,1,1>UW {align1};
-
-mov (16) g112.0<1>UW g3.0<16,16,1>UB {align1};
-mov (16) g113.0<1>UW g3.16<16,16,1>UB {align1};
-mov (16) g114.0<1>UW g4.0<16,16,1>UB {align1};
-mov (16) g115.0<1>UW g4.16<16,16,1>UB {align1};
-
-mov (1) a0.0<1>UD 0x03F003E0UD {align1};
-
-//Y0
-iq_non_intra_y0:
-and.z (1) null g82.8<1,1,1>UW 0x800UW {align1};
-(f0) jmpi iq_non_intra_y1;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g56.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g57.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g58.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g59.0<1>W g122.0<16,8,2>W {align1};
-
-//Y1
-iq_non_intra_y1:
-and.z (1) null g82.8<1,1,1>UW 0x400UW {align1};
-(f0) jmpi iq_non_intra_y2;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g60.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g61.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g62.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g63.0<1>W g122.0<16,8,2>W {align1};
-
-//Y2
-iq_non_intra_y2:
-and.z (1) null g82.8<1,1,1>UW 0x200UW {align1};
-(f0) jmpi iq_non_intra_y3;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g64.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g65.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g66.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g67.0<1>W g122.0<16,8,2>W {align1};
-
-//Y3
-iq_non_intra_y3:
-and.z (1) null g82.8<1,1,1>UW 0x100UW {align1};
-(f0) jmpi iq_non_intra_u;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g68.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g69.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g70.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g71.0<1>W g122.0<16,8,2>W {align1};
-
-//U
-iq_non_intra_u:
-and.z (1) null g82.8<1,1,1>UW 0x80UW {align1};
-(f0) jmpi iq_non_intra_v;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g72.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g73.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g74.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g75.0<1>W g122.0<16,8,2>W {align1};
-
-//V
-iq_non_intra_v:
-and.z (1) null g82.8<1,1,1>UW 0x40UW {align1};
-(f0) jmpi iq_non_intra_end;
-mov (1) g125.0<1>UD ip {align1};
-jmpi DO_IQ_NON_INTRA;
-mov (16) g76.0<1>W g116.0<16,8,2>W {align1};
-mov (16) g77.0<1>W g118.0<16,8,2>W {align1};
-mov (16) g78.0<1>W g120.0<16,8,2>W {align1};
-mov (16) g79.0<1>W g122.0<16,8,2>W {align1};
-
-iq_non_intra_end:
diff --git a/i965_drv_video/shaders/mpeg2/vld/lib.g4a b/i965_drv_video/shaders/mpeg2/vld/lib.g4a
deleted file mode 100644 (file)
index 567caaf..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix in UB format
-           g3~g4:non intra IQ matrix in UB format
-           g5~g20:IDCT table
-   g32~g55:DCT data before IQ
-   g56~g79:DCT data after IQ
-   g83~g106: IDCT data after idct
-   g82:    thread payload backup
-   g125:   ip before jump
-*/
-include(`iq_non_intra.g4i')
-
-define(`ROW_SHIFT', `11UD') //define for idct
-define(`ROW_ADD', `0x400UD')            
-define(`COL_SHIFT', `20UD') 
-define(`COL_ADD', `0x80000UD')           
-
-mov (1) a0.0<1>UD 0x06F006E0UD {align1};//0x06F006E0UD+0x00200020UD=0x07100700UD (g56.0 and g56.16,the start of DCT data)
-
-//Y0
-and.nz (1) null g82.8<1,1,1>UW 0x800UW {align1};
-(f0) jmpi do_idct_y0;
-
-mov (8) g83.0<1>UW 0UW {align1}; 
-mov (8) g84.0<1>UW 0UW {align1}; 
-mov (8) g85.0<1>UW 0UW {align1}; 
-mov (8) g86.0<1>UW 0UW {align1}; 
-mov (8) g87.0<1>UW 0UW {align1}; 
-mov (8) g88.0<1>UW 0UW {align1}; 
-mov (8) g89.0<1>UW 0UW {align1}; 
-mov (8) g90.0<1>UW 0UW {align1}; 
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00800080UD {align1};
-jmpi block_y1;
-do_idct_y0:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (8) g83.0<1>W g32.0<16,8,2>W {align1};
-mov (8) g84.0<1>W g33.0<16,8,2>W {align1};
-mov (8) g85.0<1>W g34.0<16,8,2>W {align1};
-mov (8) g86.0<1>W g35.0<16,8,2>W {align1};
-mov (8) g87.0<1>W g36.0<16,8,2>W {align1};
-mov (8) g88.0<1>W g37.0<16,8,2>W {align1};
-mov (8) g89.0<1>W g38.0<16,8,2>W {align1};
-mov (8) g90.0<1>W g39.0<16,8,2>W {align1};
-
-//Y1
-block_y1:
-and.nz (1) null g82.8<1,1,1>UW 0x400UW {align1};
-(f0) jmpi do_idct_y1;
-mov (8) g83.16<1>UW 0UW {align1}; 
-mov (8) g84.16<1>UW 0UW {align1}; 
-mov (8) g85.16<1>UW 0UW {align1}; 
-mov (8) g86.16<1>UW 0UW {align1}; 
-mov (8) g87.16<1>UW 0UW {align1}; 
-mov (8) g88.16<1>UW 0UW {align1}; 
-mov (8) g89.16<1>UW 0UW {align1}; 
-mov (8) g90.16<1>UW 0UW {align1}; 
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00800080UD {align1};
-jmpi block_y2;
-do_idct_y1:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (8) g83.16<1>W g32.0<16,8,2>W {align1};
-mov (8) g84.16<1>W g33.0<16,8,2>W {align1};
-mov (8) g85.16<1>W g34.0<16,8,2>W {align1};
-mov (8) g86.16<1>W g35.0<16,8,2>W {align1};
-mov (8) g87.16<1>W g36.0<16,8,2>W {align1};
-mov (8) g88.16<1>W g37.0<16,8,2>W {align1};
-mov (8) g89.16<1>W g38.0<16,8,2>W {align1};
-mov (8) g90.16<1>W g39.0<16,8,2>W {align1};
-
-//Y2
-block_y2:
-and.nz (1) null g82.8<1,1,1>UW 0x200UW {align1};
-(f0) jmpi do_idct_y2;
-mov (8) g91.0<1>UW 0UW {align1}; 
-mov (8) g92.0<1>UW 0UW {align1}; 
-mov (8) g93.0<1>UW 0UW {align1}; 
-mov (8) g94.0<1>UW 0UW {align1}; 
-mov (8) g95.0<1>UW 0UW {align1}; 
-mov (8) g96.0<1>UW 0UW {align1}; 
-mov (8) g97.0<1>UW 0UW {align1}; 
-mov (8) g98.0<1>UW 0UW {align1}; 
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00800080UD {align1};
-jmpi block_y3;
-do_idct_y2:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (8) g91.0<1>W g32.0<16,8,2>W {align1};
-mov (8) g92.0<1>W g33.0<16,8,2>W {align1};
-mov (8) g93.0<1>W g34.0<16,8,2>W {align1};
-mov (8) g94.0<1>W g35.0<16,8,2>W {align1};
-mov (8) g95.0<1>W g36.0<16,8,2>W {align1};
-mov (8) g96.0<1>W g37.0<16,8,2>W {align1};
-mov (8) g97.0<1>W g38.0<16,8,2>W {align1};
-mov (8) g98.0<1>W g39.0<16,8,2>W {align1};
-
-//Y3
-block_y3:
-and.nz (1) null g82.8<1,1,1>UW 0x100UW {align1};
-(f0) jmpi do_idct_y3;
-mov (8) g91.16<1>UW 0UW {align1}; 
-mov (8) g92.16<1>UW 0UW {align1}; 
-mov (8) g93.16<1>UW 0UW {align1}; 
-mov (8) g94.16<1>UW 0UW {align1}; 
-mov (8) g95.16<1>UW 0UW {align1}; 
-mov (8) g96.16<1>UW 0UW {align1}; 
-mov (8) g97.16<1>UW 0UW {align1}; 
-mov (8) g98.16<1>UW 0UW {align1}; 
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00800080UD {align1};
-jmpi block_u;
-do_idct_y3:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (8) g91.16<1>W g32.0<16,8,2>W {align1};
-mov (8) g92.16<1>W g33.0<16,8,2>W {align1};
-mov (8) g93.16<1>W g34.0<16,8,2>W {align1};
-mov (8) g94.16<1>W g35.0<16,8,2>W {align1};
-mov (8) g95.16<1>W g36.0<16,8,2>W {align1};
-mov (8) g96.16<1>W g37.0<16,8,2>W {align1};
-mov (8) g97.16<1>W g38.0<16,8,2>W {align1};
-mov (8) g98.16<1>W g39.0<16,8,2>W {align1};
-
-//U
-block_u:
-and.nz (1) null g82.8<1,1,1>UW 0x80UW {align1};
-(f0) jmpi do_idct_u;
-mov (16) g99.0<1>UW 0UW {align1}; 
-mov (16) g100.0<1>UW 0UW {align1}; 
-mov (16) g101.0<1>UW 0UW {align1}; 
-mov (16) g102.0<1>UW 0UW {align1}; 
-add (1) a0.0<1>UD a0.0<1,1,1>UD 0x00800080UD {align1};
-jmpi block_v;
-do_idct_u:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (16) g99.0<1>W g32.0<16,8,2>W {align1};
-mov (16) g100.0<1>W g34.0<16,8,2>W {align1};
-mov (16) g101.0<1>W g36.0<16,8,2>W {align1};
-mov (16) g102.0<1>W g38.0<16,8,2>W {align1};
-
-//V
-block_v:
-and.nz (1) null g82.8<1,1,1>UW 0x40UW {align1};
-(f0) jmpi do_idct_v;
-mov (16) g103.0<1>UW 0UW {align1}; 
-mov (16) g104.0<1>UW 0UW {align1}; 
-mov (16) g105.0<1>UW 0UW {align1}; 
-mov (16) g106.0<1>UW 0UW {align1};  
-jmpi block_end;
-do_idct_v:
-mov (1) g125.0<1>UD ip {align1};
-jmpi IDCT_START;
-mov (16) g103.0<1>W g32.0<16,8,2>W {align1};
-mov (16) g104.0<1>W g34.0<16,8,2>W {align1};
-mov (16) g105.0<1>W g36.0<16,8,2>W {align1};
-mov (16) g106.0<1>W g38.0<16,8,2>W {align1};
-block_end:
-
-add (1) ip g126.8<1,1,1>UD 0x20UD {align1};            //jump back
-include(`do_iq_non_intra.g4i')
-include(`idct.g4i')
diff --git a/i965_drv_video/shaders/mpeg2/vld/lib.g4b b/i965_drv_video/shaders/mpeg2/vld/lib.g4b
deleted file mode 100644 (file)
index 262bff9..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000011 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000009 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000005 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000001 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10060, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10070, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10080, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10090, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000a1 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x04000400 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000099 },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x02000200 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000091 },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x01000100 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000089 },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00800080 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000081 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00400040 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000079 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00600001, 0x2a600169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2a800169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2aa00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ac00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ae00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b000169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b200169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b400169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000077 },
-   { 0x00600001, 0x2a6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2a8001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2aa001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2ac001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2ae001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2b0001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2b2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2b4001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x04000400 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00600001, 0x2a700169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2a900169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ab00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ad00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2af00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b100169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b300169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b500169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000061 },
-   { 0x00600001, 0x2a7001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2a9001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2ab001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2ad001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2af001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2b1001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2b3001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2b5001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x02000200 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00600001, 0x2b600169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b800169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ba00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bc00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2be00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c000169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c200169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c400169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000004b },
-   { 0x00600001, 0x2b6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2b8001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2ba001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2bc001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2be001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2c0001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2c2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2c4001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x01000100 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00600001, 0x2b700169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b900169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bb00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bd00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bf00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c100169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c300169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c500169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000035 },
-   { 0x00600001, 0x2b7001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2b9001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2bb001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2bd001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2bf001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2c1001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2c3001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2c5001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x00800080 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00800001, 0x2c600169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2c800169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2ca00169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2cc00169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000023 },
-   { 0x00800001, 0x2c6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2c8001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2ca001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2cc001ad, 0x00ae04c0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x00400040 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000005 },
-   { 0x00800001, 0x2ce00169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d000169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d200169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d400169, 0x00000000, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000016 },
-   { 0x00800001, 0x2ce001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2d0001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2d2001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2d4001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fc8, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000001a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/lib.g4b.gen5 b/i965_drv_video/shaders/mpeg2/vld/lib.g4b.gen5
deleted file mode 100644 (file)
index 2371beb..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-   { 0x00000005, 0x2da02d29, 0x00210a48, 0x001f001f },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00200020 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000024 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00090009 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000022 },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00110011 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x05000010, 0x20002d3c, 0x00210da0, 0x00190019 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000010 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffe7ffe7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00030003 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x00400040 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000012 },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xfff7fff7 },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00010001 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x000a000a },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00000040, 0x2da03d29, 0x00210da0, 0xffefffef },
-   { 0x00000009, 0x2da02d29, 0x00210da0, 0x00020002 },
-   { 0x00000040, 0x2da02d29, 0x00210da0, 0x001c001c },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000002 },
-   { 0x00000009, 0x2da00d29, 0x00210da0, 0x00000001 },
-   { 0x00000001, 0x2dc00129, 0x00210da0, 0x00000000 },
-   { 0x00800001, 0x2e000229, 0x00b10060, 0x00000000 },
-   { 0x00800001, 0x2e200229, 0x00b10070, 0x00000000 },
-   { 0x00800001, 0x2e400229, 0x00b10080, 0x00000000 },
-   { 0x00800001, 0x2e600229, 0x00b10090, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x03f003e0 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000142 },
-   { 0x00800001, 0x270001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x272001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x274001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x276001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x04000400 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000132 },
-   { 0x00800001, 0x278001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x27a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x27c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x27e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x02000200 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000122 },
-   { 0x00800001, 0x280001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x282001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x284001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x286001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x01000100 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000112 },
-   { 0x00800001, 0x288001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x28a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x28c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x28e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00800080 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000102 },
-   { 0x00800001, 0x290001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x292001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x294001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x296001ad, 0x00ae0f40, 0x00000000 },
-   { 0x01000005, 0x20002d3c, 0x00210a48, 0x00400040 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000f2 },
-   { 0x00800001, 0x298001ad, 0x00ae0e80, 0x00000000 },
-   { 0x00800001, 0x29a001ad, 0x00ae0ec0, 0x00000000 },
-   { 0x00800001, 0x29c001ad, 0x00ae0f00, 0x00000000 },
-   { 0x00800001, 0x29e001ad, 0x00ae0f40, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x06f006e0 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x08000800 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00600001, 0x2a600169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2a800169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2aa00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ac00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ae00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b000169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b200169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b400169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000ee },
-   { 0x00600001, 0x2a6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2a8001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2aa001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2ac001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2ae001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2b0001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2b2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2b4001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x04000400 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00600001, 0x2a700169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2a900169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ab00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ad00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2af00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b100169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b300169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b500169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x000000c2 },
-   { 0x00600001, 0x2a7001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2a9001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2ab001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2ad001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2af001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2b1001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2b3001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2b5001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x02000200 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00600001, 0x2b600169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b800169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2ba00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bc00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2be00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c000169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c200169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c400169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000096 },
-   { 0x00600001, 0x2b6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2b8001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2ba001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2bc001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2be001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2c0001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2c2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2c4001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x01000100 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00600001, 0x2b700169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2b900169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bb00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bd00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2bf00169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c100169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c300169, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x2c500169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000006a },
-   { 0x00600001, 0x2b7001ad, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x2b9001ad, 0x00ae0420, 0x00000000 },
-   { 0x00600001, 0x2bb001ad, 0x00ae0440, 0x00000000 },
-   { 0x00600001, 0x2bd001ad, 0x00ae0460, 0x00000000 },
-   { 0x00600001, 0x2bf001ad, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x2c1001ad, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x2c3001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00600001, 0x2c5001ad, 0x00ae04e0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x00800080 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00800001, 0x2c600169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2c800169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2ca00169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2cc00169, 0x00000000, 0x00000000 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00800080 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000046 },
-   { 0x00800001, 0x2c6001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2c8001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2ca001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2cc001ad, 0x00ae04c0, 0x00000000 },
-   { 0x02000005, 0x20002d3c, 0x00210a48, 0x00400040 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00800001, 0x2ce00169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d000169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d200169, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x2d400169, 0x00000000, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000000c },
-   { 0x00000001, 0x2fa00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x0000002c },
-   { 0x00800001, 0x2ce001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2d0001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2d2001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2d4001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fc8, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2e8025a5, 0x008d8000, 0x008d0e00 },
-   { 0x00802041, 0x2e8024a5, 0x008d0e80, 0x008c0da0 },
-   { 0x0080200c, 0x2e802ca5, 0x008d0e80, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2ec025a5, 0x008d8000, 0x008d0e20 },
-   { 0x00802041, 0x2ec024a5, 0x008d0ec0, 0x008c0da0 },
-   { 0x0080200c, 0x2ec02ca5, 0x008d0ec0, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f0025a5, 0x008d8000, 0x008d0e40 },
-   { 0x00802041, 0x2f0024a5, 0x008d0f00, 0x008c0da0 },
-   { 0x0080200c, 0x2f002ca5, 0x008d0f00, 0x00040004 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802041, 0x2f4025a5, 0x008d8000, 0x008d0e60 },
-   { 0x00802041, 0x2f4024a5, 0x008d0f40, 0x008c0da0 },
-   { 0x0080200c, 0x2f402ca5, 0x008d0f40, 0x00040004 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000034 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00000400 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00000400 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00000400 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00000400 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x0000000b },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x0000000b },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x0000000b },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x0000000b },
-   { 0x00800001, 0x2dc001ad, 0x00ae0400, 0x00000000 },
-   { 0x00800001, 0x2de001ad, 0x00ae0440, 0x00000000 },
-   { 0x00800001, 0x2e0001ad, 0x00ae0480, 0x00000000 },
-   { 0x00800001, 0x2e2001ad, 0x00ae04c0, 0x00000000 },
-   { 0x00000001, 0x2a000001, 0x00210200, 0x00000000 },
-   { 0x00000001, 0x22000060, 0x00000000, 0x0db00da0 },
-   { 0x00000001, 0x2fc00001, 0x00001400, 0x00000000 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000014 },
-   { 0x00802040, 0x24000ca5, 0x008d0400, 0x00080000 },
-   { 0x00802040, 0x24400ca5, 0x008d0440, 0x00080000 },
-   { 0x00802040, 0x24800ca5, 0x008d0480, 0x00080000 },
-   { 0x00802040, 0x24c00ca5, 0x008d04c0, 0x00080000 },
-   { 0x00802008, 0x24000ca5, 0x008d0400, 0x00000014 },
-   { 0x00802008, 0x24400ca5, 0x008d0440, 0x00000014 },
-   { 0x00802008, 0x24800ca5, 0x008d0480, 0x00000014 },
-   { 0x00802008, 0x24c00ca5, 0x008d04c0, 0x00000014 },
-   { 0x00000001, 0x22000020, 0x00210a00, 0x00000000 },
-   { 0x00000040, 0x34000c20, 0x00210fa0, 0x00000020 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x240814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x242814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x244814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x246814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x248814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24a814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24c814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24e814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241014a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243014a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245014a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247014a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249014a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b014a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d014a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f014a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x22000c00, 0x00210200, 0x00200020 },
-   { 0x00802054, 0x250015a5, 0x008d8000, 0x008d00a0 },
-   { 0x00802054, 0x254015a5, 0x008d8000, 0x008d00e0 },
-   { 0x00802054, 0x258015a5, 0x008d8000, 0x008d0120 },
-   { 0x00802054, 0x25c015a5, 0x008d8000, 0x008d0160 },
-   { 0x00802054, 0x260015a5, 0x008d8000, 0x008d01a0 },
-   { 0x00802054, 0x264015a5, 0x008d8000, 0x008d01e0 },
-   { 0x00802054, 0x268015a5, 0x008d8000, 0x008d0220 },
-   { 0x00802054, 0x26c015a5, 0x008d8000, 0x008d0260 },
-   { 0x00200040, 0x241814a5, 0x00800500, 0x00800510 },
-   { 0x00200040, 0x243814a5, 0x00800540, 0x00800550 },
-   { 0x00200040, 0x245814a5, 0x00800580, 0x00800590 },
-   { 0x00200040, 0x247814a5, 0x008005c0, 0x008005d0 },
-   { 0x00200040, 0x249814a5, 0x00800600, 0x00800610 },
-   { 0x00200040, 0x24b814a5, 0x00800640, 0x00800650 },
-   { 0x00200040, 0x24d814a5, 0x00800680, 0x00800690 },
-   { 0x00200040, 0x24f814a5, 0x008006c0, 0x008006d0 },
-   { 0x00000040, 0x34000c20, 0x00210fc0, 0x00000020 },
diff --git a/i965_drv_video/shaders/mpeg2/vld/motion_field_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/motion_field_uv.g4i
deleted file mode 100644 (file)
index 4598c85..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-       and.z (1) null mv1<1,1,1>W 1W {align1};       
-       (f0) jmpi L1;
-       and.z (1) null mv2<1,1,1>W 1W {align1};       
-       (f0) jmpi L2;
-       include(`read_field_x1y1_uv.g4i')
-       jmpi L5;
-L2:
-       include(`read_field_x1y0_uv.g4i')
-       jmpi L5;
-L1:
-       and.z (1) null mv2<1,1,1>W 1W {align1};       
-       (f0) jmpi L4;
-       include(`read_field_x0y1_uv.g4i')
-       jmpi L5;
-L4:
-       include(`read_field_x0y0_uv.g4i')
-L5:
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/motion_field_y.g4i b/i965_drv_video/shaders/mpeg2/vld/motion_field_y.g4i
deleted file mode 100644 (file)
index 47d2ec4..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-       and.z (1) null mv1<1,1,1>W 1UW {align1};        
-       (f0) jmpi L1;
-       and.z (1) null mv2<1,1,1>W 1UW {align1};        
-       (f0) jmpi L2;
-       include(`read_field_x1y1_y.g4i')
-       jmpi L5;
-L2:
-       include(`read_field_x1y0_y.g4i')
-       jmpi L5;
-L1:
-       and.z (1) null mv2<1,1,1>W 1UW {align1};        
-       (f0) jmpi L4;
-       include(`read_field_x0y1_y.g4i')
-       jmpi L5;
-L4:
-       include(`read_field_x0y0_y.g4i')
-L5:
diff --git a/i965_drv_video/shaders/mpeg2/vld/motion_frame_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/motion_frame_uv.g4i
deleted file mode 100644 (file)
index 00a5f2b..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- */  
-
-       and.z (1) null mv1<1,1,1>UW 2UD {align1};       
-       (f0) jmpi LL1;
-       and.z (1) null mv2<1,1,1>UW 2UD {align1};       
-       (f0) jmpi LL2;
-       include(`read_frame_x1y1_uv.g4i')
-       jmpi LL5;
-LL2:
-       include(`read_frame_x1y0_uv.g4i')
-       jmpi LL5;
-LL1:
-       and.z (1) null mv2<1,1,1>UW 2UD {align1};       
-       (f0) jmpi LL4;
-       include(`read_frame_x0y1_uv.g4i')
-       jmpi LL5;
-LL4:
-       include(`read_frame_x0y0_uv.g4i')
-LL5:
diff --git a/i965_drv_video/shaders/mpeg2/vld/motion_frame_y.g4i b/i965_drv_video/shaders/mpeg2/vld/motion_frame_y.g4i
deleted file mode 100644 (file)
index 88c8085..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- */  
-/* if (motion_vect.x & 1) {
- *   if (motion_vect.y & 1)
- *      half_pixel in x and y;
- *   else
- *      half_pixel in x;
- * } else {
- *     if (motion_vect.y & 1) 
- *       half_pixel y;
- *     else
- *       full_pixel_read;      
- * }    
- */
-
-       and.z (1) null mv1<1,1,1>UW 1UD {align1};       
-       (f0) jmpi LL1;
-       and.z (1) null mv2<1,1,1>UW 1UD {align1};       
-       (f0) jmpi LL2;
-       include(`read_frame_x1y1_y.g4i') 
-       jmpi LL5;
-LL2: 
-       include(`read_frame_x1y0_y.g4i') 
-       jmpi LL5;
-LL1: 
-       and.z (1) null mv2<1,1,1>UW 1UD {align1};       
-       (f0) jmpi LL4;
-       include(`read_frame_x0y1_y.g4i')
-       jmpi LL5;
-LL4:
-       include(`read_frame_x0y0_y.g4i')
-LL5:
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/null.g4a b/i965_drv_video/shaders/mpeg2/vld/null.g4a
deleted file mode 100644 (file)
index 1e1dcea..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *
- */
-mov (8) g82.0<1>UD g31.0<8,8,1>UD {align1};
-mov (2) g31.0<1>UD g82.12<2,2,1>UW {align1};
-define(`UV_red',`0xffffffffUD')
-define(`UV_white',`0x7f7f7f7fUD')
-define(`UV_green',`0x00000000UD')
-
-mov(2) g6.0<1>UD g82.12<2,2,1>UW {align1};
-mov(1) g6.8<1>UD 0x000f000fUD  { align1 };
-mov(16) m1<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m3<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m5<1>UD 0xFFFFFFFFUD {align1 compr};
-mov(16) m7<1>UD 0xFFFFFFFFUD {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(0, 0, 2, 0) mlen 9 rlen 0 { align1 };
-
-/*Fill U buffer & V buffer with 0x7F*/
-shr (2) g6.0<1>UD g82.12<2,2,1>UW  1UW {align1};
-
-mov(1) g6.8<1>UD 0x00070007UD  { align1 };
-mov (16) m1<1>UD UV_white {align1 compr};
-//mov (16) m1<1>UD g1.0<16,8,1>UD {align1 compr};
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(2, 0, 2, 0) mlen 3 rlen 0 { align1 };
-send (16) 0 acc0<1>UW g6<8,8,1>UW write(1, 0, 2, 0) mlen 3 rlen 0 { align1 };
-
-send (16) 0 acc0<1>UW g0<8,8,1>UW 
-       thread_spawner(0, 0, 0) mlen 1 rlen 0 { align1 EOT};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_uv.g4i
deleted file mode 100644 (file)
index 36e589a..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-
-mov (1) g115.8<1>UD 0x7000FUD {align1}; // 8*16/32=4
-send (16) 0 g40.0<1>UW g115<16,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g45.0<1>UW g115<16,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-
-mov (16) g32.0<1>UW g40.0<16,8,1>UB {align1};
-mov (16) g33.0<1>UW g41.0<16,8,1>UB {align1};
-mov (16) g34.0<1>UW g42.0<16,8,1>UB {align1};
-mov (16) g35.0<1>UW g43.0<16,8,1>UB {align1};
-mov (16) g36.0<1>UW g45.0<16,8,1>UB {align1};
-mov (16) g37.0<1>UW g46.0<16,8,1>UB {align1};
-mov (16) g38.0<1>UW g47.0<16,8,1>UB {align1};
-mov (16) g39.0<1>UW g48.0<16,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x0y0_y.g4i
deleted file mode 100644 (file)
index e549598..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g115.8<1>UD 0x01FUD {align1};
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g42.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g46.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-mov (1) g115.8<1>UD 0x07001FUD {align1};
-send (16) 0 g48.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-
-mov (16) g32.0<1>UW g40.0<16,16,1>UB {align1};
-mov (16) g33.0<1>UW g42.0<16,16,1>UB {align1};
-mov (16) g34.0<1>UW g44.0<16,16,1>UB {align1};
-mov (16) g35.0<1>UW g46.0<16,16,1>UB {align1};
-mov (16) g36.0<1>UW g48.0<16,16,1>UB {align1};
-mov (16) g37.0<1>UW g50.0<16,16,1>UB {align1};
-mov (16) g38.0<1>UW g52.0<16,16,1>UB {align1};
-mov (16) g39.0<1>UW g54.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_uv.g4i
deleted file mode 100644 (file)
index ac8030b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-
-mov (1) g115.8<1>UD 0x07000FUD {align1}; // 8*16/32=4
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g45.0<1>UW g115<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-mov (1) g115.8<1>UD 0xFUD {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g49.0<1>UW g115<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-
-avg (16) g32.0<1>UW g40.0<16,8,1>UB g41.0<16,8,1>UB {align1};
-avg (16) g33.0<1>UW g41.0<16,8,1>UB g42.0<16,8,1>UB {align1};
-avg (16) g34.0<1>UW g42.0<16,8,1>UB g43.0<16,8,1>UB {align1};
-avg (16) g35.0<1>UW g43.0<16,8,1>UB g44.0<16,8,1>UB {align1};
-
-avg (16) g36.0<1>UW g45.0<16,8,1>UB g46.0<16,8,1>UB {align1};
-avg (16) g37.0<1>UW g46.0<16,8,1>UB g47.0<16,8,1>UB {align1};
-avg (16) g38.0<1>UW g47.0<16,8,1>UB g48.0<16,8,1>UB {align1};
-avg (16) g39.0<1>UW g48.0<16,8,1>UB g49.0<16,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x0y1_y.g4i
deleted file mode 100644 (file)
index 7a7909f..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g115.8<1>UD 0x01FUD {align1};
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g42.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g46.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-mov (1) g115.8<1>UD 0x07001FUD {align1};
-send (16) 0 g48.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
-mov (1) g115.8<1>UD 0x1FUD {align1};
-send (16) 0 g56.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-
-avg.sat (16) g32.0<1>UW g40.0<16,16,1>UB g42.0<16,16,1>UB {align1};
-avg.sat (16) g33.0<1>UW g42.0<16,16,1>UB g44.0<16,16,1>UB {align1};
-avg.sat (16) g34.0<1>UW g44.0<16,16,1>UB g46.0<16,16,1>UB {align1};
-avg.sat (16) g35.0<1>UW g46.0<16,16,1>UB g48.0<16,16,1>UB {align1};
-avg.sat (16) g36.0<1>UW g48.0<16,16,1>UB g50.0<16,16,1>UB {align1};
-avg.sat (16) g37.0<1>UW g50.0<16,16,1>UB g52.0<16,16,1>UB {align1};
-avg.sat (16) g38.0<1>UW g52.0<16,16,1>UB g54.0<16,16,1>UB {align1};
-avg.sat (16) g39.0<1>UW g54.0<16,16,1>UB g56.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_uv.g4i
deleted file mode 100644 (file)
index 4c36438..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-
-mov (1) g115.8<1>UD 0x07000FUD {align1}; // 8*16/32=4
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-
-avg (16) g32.0<1>UW g40.0<16,8,1>UB g40.1<16,8,1>UB {align1};
-avg (16) g33.0<1>UW g41.0<16,8,1>UB g41.1<16,8,1>UB {align1};
-avg (16) g34.0<1>UW g42.0<16,8,1>UB g42.1<16,8,1>UB {align1};
-avg (16) g35.0<1>UW g43.0<16,8,1>UB g43.1<16,8,1>UB {align1};
-
-avg (16) g36.0<1>UW g44.0<16,8,1>UB g44.1<16,8,1>UB {align1};
-avg (16) g37.0<1>UW g45.0<16,8,1>UB g45.1<16,8,1>UB {align1};
-avg (16) g38.0<1>UW g46.0<16,8,1>UB g46.1<16,8,1>UB {align1};
-avg (16) g39.0<1>UW g47.0<16,8,1>UB g47.1<16,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x1y0_y.g4i
deleted file mode 100644 (file)
index c8ff505..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g115.8<1>UD 0x01FUD {align1};
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g42.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g46.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-mov (1) g115.8<1>UD 0x07001FUD {align1};
-send (16) 0 g48.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-
-avg.sat (16) g32.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-avg.sat (16) g33.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-avg.sat (16) g34.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-avg.sat (16) g35.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-avg.sat (16) g36.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-avg.sat (16) g37.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-avg.sat (16) g38.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-avg.sat (16) g39.0<1>UW g54.0<16,16,1>UB g54.1<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_uv.g4i
deleted file mode 100644 (file)
index 816dd72..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g115.8<1>UD 0x07000FUD {align1};
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 4 {align1};//U
-send (16) 0 g45.0<1>UW g115<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 4 {align1};//V
-mov (1) g115.8<1>UD 0x01000FUD {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface_u, 2, 0, 2) mlen 1 rlen 1 {align1};//U
-send (16) 0 g49.0<1>UW g115<8,8,1>UW read(surface_v, 2, 0, 2) mlen 1 rlen 1 {align1};//V
-//U
-add (16) g32.0<1>UW g40.0<16,8,1>UB g41.0<16,8,1>UB {align1};
-add (16) g33.0<1>UW g41.0<16,8,1>UB g42.0<16,8,1>UB {align1};
-add (16) g34.0<1>UW g42.0<16,8,1>UB g43.0<16,8,1>UB {align1};
-add (16) g35.0<1>UW g43.0<16,8,1>UB g44.0<16,8,1>UB {align1};
-
-add (16) g32.0<1>UW g32.0<16,8,1>UW g40.1<16,8,1>UB {align1};
-add (16) g33.0<1>UW g33.0<16,8,1>UW g41.1<16,8,1>UB {align1};
-add (16) g34.0<1>UW g34.0<16,8,1>UW g42.1<16,8,1>UB {align1};
-add (16) g35.0<1>UW g35.0<16,8,1>UW g43.1<16,8,1>UB {align1};
-
-add (16) g32.0<1>UW g32.0<16,8,1>UW g41.1<16,8,1>UB {align1};
-add (16) g33.0<1>UW g33.0<16,8,1>UW g42.1<16,8,1>UB {align1};
-add (16) g34.0<1>UW g34.0<16,8,1>UW g43.1<16,8,1>UB {align1};
-add (16) g35.0<1>UW g35.0<16,8,1>UW g44.1<16,8,1>UB {align1};
-//V
-add (16) g36.0<1>UW g45.0<16,8,1>UB g46.0<16,8,1>UB {align1};
-add (16) g37.0<1>UW g46.0<16,8,1>UB g47.0<16,8,1>UB {align1};
-add (16) g38.0<1>UW g47.0<16,8,1>UB g48.0<16,8,1>UB {align1};
-add (16) g39.0<1>UW g48.0<16,8,1>UB g49.0<16,8,1>UB {align1};
-
-add (16) g36.0<1>UW g36.0<16,8,1>UW g45.1<16,8,1>UB {align1};
-add (16) g37.0<1>UW g37.0<16,8,1>UW g46.1<16,8,1>UB {align1};
-add (16) g38.0<1>UW g38.0<16,8,1>UW g47.1<16,8,1>UB {align1};
-add (16) g39.0<1>UW g39.0<16,8,1>UW g48.1<16,8,1>UB {align1};
-
-add (16) g36.0<1>UW g36.0<16,8,1>UW g46.1<16,8,1>UB {align1};
-add (16) g37.0<1>UW g37.0<16,8,1>UW g47.1<16,8,1>UB {align1};
-add (16) g38.0<1>UW g38.0<16,8,1>UW g48.1<16,8,1>UB {align1};
-add (16) g39.0<1>UW g39.0<16,8,1>UW g49.1<16,8,1>UB {align1};
-
-shr (32) g32.0<1>UW g32.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g34.0<1>UW g34.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g36.0<1>UW g36.0<16,16,1>UW 2UW {align1 compr};
-shr (32) g38.0<1>UW g38.0<16,16,1>UW 2UW {align1 compr};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_field_x1y1_y.g4i
deleted file mode 100644 (file)
index dcc9ebf..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data
-   g115:   message descriptor for reading reference data   */
-mov (1) g115.8<1>UD 0x01FUD {align1};
-send (16) 0 g40.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g42.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g44.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-send (16) 0 g46.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 2UD {align1};
-mov (1) g115.8<1>UD 0x07001FUD {align1};
-send (16) 0 g48.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 8 {align1};
-add (1) g115.4<1>UD g115.4<1,1,1>UD 8UD {align1};
-mov (1) g115.8<1>UD 0x1FUD {align1};
-send (16) 0 g56.0<1>UW g115<8,8,1>UW read(surface,2,0,2) mlen 1 rlen 1 {align1};
-
-add (16) g32.0<1>UW g40.0<16,16,1>UB g42.0<16,16,1>UB {align1};
-add (16) g33.0<1>UW g42.0<16,16,1>UB g44.0<16,16,1>UB {align1};
-add (16) g34.0<1>UW g44.0<16,16,1>UB g46.0<16,16,1>UB {align1};
-add (16) g35.0<1>UW g46.0<16,16,1>UB g48.0<16,16,1>UB {align1};
-add (16) g36.0<1>UW g48.0<16,16,1>UB g50.0<16,16,1>UB {align1};
-add (16) g37.0<1>UW g50.0<16,16,1>UB g52.0<16,16,1>UB {align1};
-add (16) g38.0<1>UW g52.0<16,16,1>UB g54.0<16,16,1>UB {align1};
-add (16) g39.0<1>UW g54.0<16,16,1>UB g56.0<16,16,1>UB {align1};
-
-add (16) g32.0<1>UW g32.0<16,16,1>UW g40.1<16,16,1>UB {align1};
-add (16) g33.0<1>UW g33.0<16,16,1>UW g42.1<16,16,1>UB {align1};
-add (16) g34.0<1>UW g34.0<16,16,1>UW g44.1<16,16,1>UB {align1};
-add (16) g35.0<1>UW g35.0<16,16,1>UW g46.1<16,16,1>UB {align1};
-add (16) g36.0<1>UW g36.0<16,16,1>UW g48.1<16,16,1>UB {align1};
-add (16) g37.0<1>UW g37.0<16,16,1>UW g50.1<16,16,1>UB {align1};
-add (16) g38.0<1>UW g38.0<16,16,1>UW g52.1<16,16,1>UB {align1};
-add (16) g39.0<1>UW g39.0<16,16,1>UW g54.1<16,16,1>UB {align1};
-
-add (16) g32.0<1>UW g32.0<16,16,1>UW g42.1<16,16,1>UB {align1};
-add (16) g33.0<1>UW g33.0<16,16,1>UW g44.1<16,16,1>UB {align1};
-add (16) g34.0<1>UW g34.0<16,16,1>UW g46.1<16,16,1>UB {align1};
-add (16) g35.0<1>UW g35.0<16,16,1>UW g48.1<16,16,1>UB {align1};
-add (16) g36.0<1>UW g36.0<16,16,1>UW g50.1<16,16,1>UB {align1};
-add (16) g37.0<1>UW g37.0<16,16,1>UW g52.1<16,16,1>UB {align1};
-add (16) g38.0<1>UW g38.0<16,16,1>UW g54.1<16,16,1>UB {align1};
-add (16) g39.0<1>UW g39.0<16,16,1>UW g56.1<16,16,1>UB {align1};
-
-shr (16) g32.0<1>UW g32.0<16,16,1>UW 2UW {align1};
-shr (16) g33.0<1>UW g33.0<16,16,1>UW 2UW {align1};
-shr (16) g34.0<1>UW g34.0<16,16,1>UW 2UW {align1};
-shr (16) g35.0<1>UW g35.0<16,16,1>UW 2UW {align1};
-shr (16) g36.0<1>UW g36.0<16,16,1>UW 2UW {align1};
-shr (16) g37.0<1>UW g37.0<16,16,1>UW 2UW {align1};
-shr (16) g38.0<1>UW g38.0<16,16,1>UW 2UW {align1};
-shr (16) g39.0<1>UW g39.0<16,16,1>UW 2UW {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_uv.g4i
deleted file mode 100644 (file)
index 63f898f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (1) g32.8<1>UD 0x007000fUD  {align1};
-send (16) 0 g36.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
-send (16) 0 g40.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
-
-mov (16) g74.0<1>UW g36.0<16,8,1>UB {align1};
-mov (16) g75.0<1>UW g37.0<16,8,1>UB {align1};
-mov (16) g76.0<1>UW g38.0<16,8,1>UB {align1};
-mov (16) g77.0<1>UW g39.0<16,8,1>UB {align1};
-mov (16) g78.0<1>UW g40.0<16,8,1>UB {align1};
-mov (16) g79.0<1>UW g41.0<16,8,1>UB {align1};
-mov (16) g80.0<1>UW g42.0<16,8,1>UB {align1};
-mov (16) g81.0<1>UW g43.0<16,8,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y0_y.g4i
deleted file mode 100644 (file)
index 3ab5ccd..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-
-mov (16) g58.0<1>UW g38.0<16,16,1>UB {align1};
-mov (16) g59.0<1>UW g39.0<16,16,1>UB {align1};
-mov (16) g60.0<1>UW g40.0<16,16,1>UB {align1};
-mov (16) g61.0<1>UW g41.0<16,16,1>UB {align1};
-mov (16) g62.0<1>UW g42.0<16,16,1>UB {align1};
-mov (16) g63.0<1>UW g43.0<16,16,1>UB {align1};
-mov (16) g64.0<1>UW g44.0<16,16,1>UB {align1};
-mov (16) g65.0<1>UW g45.0<16,16,1>UB {align1};
-mov (16) g66.0<1>UW g46.0<16,16,1>UB {align1};
-mov (16) g67.0<1>UW g47.0<16,16,1>UB {align1};
-mov (16) g68.0<1>UW g48.0<16,16,1>UB {align1};
-mov (16) g69.0<1>UW g49.0<16,16,1>UB {align1};
-mov (16) g70.0<1>UW g50.0<16,16,1>UB {align1};
-mov (16) g71.0<1>UW g51.0<16,16,1>UB {align1};
-mov (16) g72.0<1>UW g52.0<16,16,1>UB {align1};
-mov (16) g73.0<1>UW g53.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_uv.g4i
deleted file mode 100644 (file)
index 6351ec5..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDINg BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINgEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIgHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAgES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINg FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINgS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g34.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 8 {align1}; //U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 8 {align1}; //V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g42.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 1 {align1}; //U
-send (16) 0 g52.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 1 {align1}; //V
-
-//U
-avg (8) g74.0<1>UW  g34.0<8,8,1>UB g35.0<8,8,1>UB {align1};
-avg (8) g74.16<1>UW g35.0<8,8,1>UB g36.0<8,8,1>UB {align1};
-avg (8) g75.0<1>UW  g36.0<8,8,1>UB g37.0<8,8,1>UB {align1};
-avg (8) g75.16<1>UW g37.0<8,8,1>UB g38.0<8,8,1>UB {align1};
-avg (8) g76.0<1>UW  g38.0<8,8,1>UB g39.0<8,8,1>UB {align1};
-avg (8) g76.16<1>UW g39.0<8,8,1>UB g40.0<8,8,1>UB {align1};
-avg (8) g77.0<1>UW  g40.0<8,8,1>UB g41.0<8,8,1>UB {align1};
-avg (8) g77.16<1>UW g41.0<8,8,1>UB g42.0<8,8,1>UB {align1};
-
-//V
-avg (8) g78.0<1>UW  g44.0<8,8,1>UB g45.0<8,8,1>UB {align1};
-avg (8) g78.16<1>UW g45.0<8,8,1>UB g46.0<8,8,1>UB {align1};
-avg (8) g79.0<1>UW  g46.0<8,8,1>UB g47.0<8,8,1>UB {align1};
-avg (8) g79.16<1>UW g47.0<8,8,1>UB g48.0<8,8,1>UB {align1};
-avg (8) g80.0<1>UW  g48.0<8,8,1>UB g49.0<8,8,1>UB {align1};
-avg (8) g80.16<1>UW g49.0<8,8,1>UB g50.0<8,8,1>UB {align1};
-avg (8) g81.0<1>UW  g50.0<8,8,1>UB g51.0<8,8,1>UB {align1};
-avg (8) g81.16<1>UW g51.0<8,8,1>UB g52.0<8,8,1>UB {align1};
-
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x0y1_y.g4i
deleted file mode 100644 (file)
index db3dcc5..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 1 {align1};
-
-avg.sat (16) g58.0<1>UW g38.0<16,16,1>UB g39.0<16,16,1>UB {align1};
-avg.sat (16) g59.0<1>UW g39.0<16,16,1>UB g40.0<16,16,1>UB {align1};
-avg.sat (16) g60.0<1>UW g40.0<16,16,1>UB g41.0<16,16,1>UB {align1};
-avg.sat (16) g61.0<1>UW g41.0<16,16,1>UB g42.0<16,16,1>UB {align1};
-avg.sat (16) g62.0<1>UW g42.0<16,16,1>UB g43.0<16,16,1>UB {align1};
-avg.sat (16) g63.0<1>UW g43.0<16,16,1>UB g44.0<16,16,1>UB {align1};
-avg.sat (16) g64.0<1>UW g44.0<16,16,1>UB g45.0<16,16,1>UB {align1};
-avg.sat (16) g65.0<1>UW g45.0<16,16,1>UB g46.0<16,16,1>UB {align1};
-avg.sat (16) g66.0<1>UW g46.0<16,16,1>UB g47.0<16,16,1>UB {align1};
-avg.sat (16) g67.0<1>UW g47.0<16,16,1>UB g48.0<16,16,1>UB {align1};
-avg.sat (16) g68.0<1>UW g48.0<16,16,1>UB g49.0<16,16,1>UB {align1};
-avg.sat (16) g69.0<1>UW g49.0<16,16,1>UB g50.0<16,16,1>UB {align1};
-avg.sat (16) g70.0<1>UW g50.0<16,16,1>UB g51.0<16,16,1>UB {align1};
-avg.sat (16) g71.0<1>UW g51.0<16,16,1>UB g52.0<16,16,1>UB {align1};
-avg.sat (16) g72.0<1>UW g52.0<16,16,1>UB g53.0<16,16,1>UB {align1};
-avg.sat (16) g73.0<1>UW g53.0<16,16,1>UB g54.0<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_uv.g4i
deleted file mode 100644 (file)
index 05736f0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright © 2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Zhang Hua jun <huajun.zhang@intel.com>
- *    Xing Dong sheng <dongsheng.xing@intel.com>
- *
- */
-
-mov (1) g32.8<1>UD 0x007000fUD  {align1};
-send (16) 0 g34.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 4 {align1};
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 4 {align1};
-
-avg (16) g74.0<1>UW g34.0<16,8,1>UB g34.1<16,8,1>UB{align1};
-avg (16) g75.0<1>UW g35.0<16,8,1>UB g35.1<16,8,1>UB{align1};
-avg (16) g76.0<1>UW g36.0<16,8,1>UB g36.1<16,8,1>UB{align1};
-avg (16) g77.0<1>UW g37.0<16,8,1>UB g37.1<16,8,1>UB{align1};
-
-avg (16) g78.0<1>UW g44.0<16,8,1>UB g44.1<16,8,1>UB{align1};
-avg (16) g79.0<1>UW g45.0<16,8,1>UB g45.1<16,8,1>UB{align1};
-avg (16) g80.0<1>UW g46.0<16,8,1>UB g46.1<16,8,1>UB{align1};
-avg (16) g81.0<1>UW g47.0<16,8,1>UB g47.1<16,8,1>UB{align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y0_y.g4i
deleted file mode 100644 (file)
index c236d11..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-
-avg.sat (16) g58.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-avg.sat (16) g59.0<1>UW g39.0<16,16,1>UB g39.1<16,16,1>UB {align1};
-avg.sat (16) g60.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-avg.sat (16) g61.0<1>UW g41.0<16,16,1>UB g41.1<16,16,1>UB {align1};
-avg.sat (16) g62.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-avg.sat (16) g63.0<1>UW g43.0<16,16,1>UB g43.1<16,16,1>UB {align1};
-avg.sat (16) g64.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-avg.sat (16) g65.0<1>UW g45.0<16,16,1>UB g45.1<16,16,1>UB {align1};
-avg.sat (16) g66.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-avg.sat (16) g67.0<1>UW g47.0<16,16,1>UB g47.1<16,16,1>UB {align1};
-avg.sat (16) g68.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-avg.sat (16) g69.0<1>UW g49.0<16,16,1>UB g49.1<16,16,1>UB {align1};
-avg.sat (16) g70.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-avg.sat (16) g71.0<1>UW g51.0<16,16,1>UB g51.1<16,16,1>UB {align1};
-avg.sat (16) g72.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-avg.sat (16) g73.0<1>UW g53.0<16,16,1>UB g53.1<16,16,1>UB {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_uv.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_uv.g4i
deleted file mode 100644 (file)
index 2f741fa..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g34.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 8 {align1}; //U
-send (16) 0 g44.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 8 {align1}; //V
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g42.0<1>UW g32<8,8,1>UW read(input_surface1, 2, 0, 2) mlen 1 rlen 1 {align1}; //U
-send (16) 0 g52.0<1>UW g32<8,8,1>UW read(input_surface2, 2, 0, 2) mlen 1 rlen 1 {align1}; //V
-
-//U
-add (8) g74.0<1>UW  g34.0<8,8,1>UB g34.1<8,8,1>UB {align1};
-add (8) g74.16<1>UW g35.0<8,8,1>UB g35.1<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g36.0<8,8,1>UB g36.1<8,8,1>UB {align1};
-add (8) g75.16<1>UW g37.0<8,8,1>UB g37.1<8,8,1>UB {align1};
-add (8) g76.0<1>UW  g38.0<8,8,1>UB g38.1<8,8,1>UB {align1};
-add (8) g76.16<1>UW g39.0<8,8,1>UB g39.1<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g40.0<8,8,1>UB g40.1<8,8,1>UB {align1};
-add (8) g77.16<1>UW g41.0<8,8,1>UB g41.1<8,8,1>UB {align1};
-
-add (8) g74.0<1>UW  g74.0<8,8,1>UW  g35.0<8,8,1>UB {align1};
-add (8) g74.16<1>UW g74.16<8,8,1>UW g36.0<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g75.0<8,8,1>UW  g37.0<8,8,1>UB {align1};
-add (8) g75.16<1>UW g75.16<8,8,1>UW g38.0<8,8,1>UB {align1};
-add (8) g76.0<1>UW  g76.0<8,8,1>UW  g39.0<8,8,1>UB {align1};
-add (8) g76.16<1>UW g76.16<8,8,1>UW g40.0<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g77.0<8,8,1>UW  g41.0<8,8,1>UB {align1};
-add (8) g77.16<1>UW g77.16<8,8,1>UW g42.0<8,8,1>UB {align1};
-
-add (8) g74.0<1>UW  g74.0<8,8,1>UW  g35.1<8,8,1>UB {align1};
-add (8) g74.16<1>UW g74.16<8,8,1>UW g36.1<8,8,1>UB {align1};
-add (8) g75.0<1>UW  g75.0<8,8,1>UW  g37.1<8,8,1>UB {align1};
-add (8) g75.16<1>UW g75.16<8,8,1>UW g38.1<8,8,1>UB {align1};
-add (8) g76.0<1>UW  g76.0<8,8,1>UW  g39.1<8,8,1>UB {align1};
-add (8) g76.16<1>UW g76.16<8,8,1>UW g40.1<8,8,1>UB {align1};
-add (8) g77.0<1>UW  g77.0<8,8,1>UW  g41.1<8,8,1>UB {align1};
-add (8) g77.16<1>UW g77.16<8,8,1>UW g42.1<8,8,1>UB {align1};
-
-//V
-add (8) g78.0<1>UW  g44.0<8,8,1>UB g44.1<8,8,1>UB {align1};
-add (8) g78.16<1>UW g45.0<8,8,1>UB g45.1<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g46.0<8,8,1>UB g46.1<8,8,1>UB {align1};
-add (8) g79.16<1>UW g47.0<8,8,1>UB g47.1<8,8,1>UB {align1};
-add (8) g80.0<1>UW  g48.0<8,8,1>UB g48.1<8,8,1>UB {align1};
-add (8) g80.16<1>UW g49.0<8,8,1>UB g49.1<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g50.0<8,8,1>UB g50.1<8,8,1>UB {align1};
-add (8) g81.16<1>UW g51.0<8,8,1>UB g51.1<8,8,1>UB {align1};
-
-add (8) g78.0<1>UW  g78.0<8,8,1>UW  g45.0<8,8,1>UB {align1};
-add (8) g78.16<1>UW g78.16<8,8,1>UW g46.0<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g79.0<8,8,1>UW  g47.0<8,8,1>UB {align1};
-add (8) g79.16<1>UW g79.16<8,8,1>UW g48.0<8,8,1>UB {align1};
-add (8) g80.0<1>UW  g80.0<8,8,1>UW  g49.0<8,8,1>UB {align1};
-add (8) g80.16<1>UW g80.16<8,8,1>UW g50.0<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g81.0<8,8,1>UW  g51.0<8,8,1>UB {align1};
-add (8) g81.16<1>UW g81.16<8,8,1>UW g52.0<8,8,1>UB {align1};
-
-add (8) g78.0<1>UW  g78.0<8,8,1>UW  g45.1<8,8,1>UB {align1};
-add (8) g78.16<1>UW g78.16<8,8,1>UW g46.1<8,8,1>UB {align1};
-add (8) g79.0<1>UW  g79.0<8,8,1>UW  g47.1<8,8,1>UB {align1};
-add (8) g79.16<1>UW g79.16<8,8,1>UW g48.1<8,8,1>UB {align1};
-add (8) g80.0<1>UW  g80.0<8,8,1>UW  g49.1<8,8,1>UB {align1};
-add (8) g80.16<1>UW g80.16<8,8,1>UW g50.1<8,8,1>UB {align1};
-add (8) g81.0<1>UW  g81.0<8,8,1>UW  g51.1<8,8,1>UB {align1};
-add (8) g81.16<1>UW g81.16<8,8,1>UW g52.1<8,8,1>UB {align1};
-
-shr (16) g74.0<1>UW g74.0<16,16,1>UW 2UW {align1};
-shr (16) g75.0<1>UW g75.0<16,16,1>UW 2UW {align1};
-shr (16) g76.0<1>UW g76.0<16,16,1>UW 2UW {align1};
-shr (16) g77.0<1>UW g77.0<16,16,1>UW 2UW {align1};
-shr (16) g78.0<1>UW g78.0<16,16,1>UW 2UW {align1};
-shr (16) g79.0<1>UW g79.0<16,16,1>UW 2UW {align1};
-shr (16) g80.0<1>UW g80.0<16,16,1>UW 2UW {align1};
-shr (16) g81.0<1>UW g81.0<16,16,1>UW 2UW {align1};
diff --git a/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_y.g4i b/i965_drv_video/shaders/mpeg2/vld/read_frame_x1y1_y.g4i
deleted file mode 100644 (file)
index 990927d..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright © 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Author:
- *    Zou Nan hai <nanhai.zou@intel.com>
- *    Yan Li <li.l.yan@intel.com>
- *    Liu Xi bin<xibin.liu@intel.com>
- */
-/* GRF allocation:
-   g1~g30: constant buffer
-           g1~g2:intra IQ matrix
-           g3~g4:non intra IQ matrix
-           g5~g20:IDCT table
-   g31:    thread payload 
-   g32:    message descriptor for reading reference data
-   g58~g81:reference data
-   g82:    thread payload backup
-   g83~g106:IDCT data                           */
-mov (1) g32.8<1>UD 0x007001FUD {align1};
-send (16) 0 g38.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-send (16) 0 g46.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 8 {align1};
-add (1) g32.4<1>UD g32.4<1,1,1>UD 8UD {align1};
-mov (1) g32.8<1>UD 0x1FUD {align1};
-send (16) 0 g54.0<1>UW g32<8,8,1>UW read(input_surface, 2, 0, 2) mlen 1 rlen 1 {align1};
-
-add (16) g58.0<1>UW g38.0<16,16,1>UB g38.1<16,16,1>UB {align1};
-add (16) g59.0<1>UW g39.0<16,16,1>UB g39.1<16,16,1>UB {align1};
-add (16) g60.0<1>UW g40.0<16,16,1>UB g40.1<16,16,1>UB {align1};
-add (16) g61.0<1>UW g41.0<16,16,1>UB g41.1<16,16,1>UB {align1};
-add (16) g62.0<1>UW g42.0<16,16,1>UB g42.1<16,16,1>UB {align1};
-add (16) g63.0<1>UW g43.0<16,16,1>UB g43.1<16,16,1>UB {align1};
-add (16) g64.0<1>UW g44.0<16,16,1>UB g44.1<16,16,1>UB {align1};
-add (16) g65.0<1>UW g45.0<16,16,1>UB g45.1<16,16,1>UB {align1};
-add (16) g66.0<1>UW g46.0<16,16,1>UB g46.1<16,16,1>UB {align1};
-add (16) g67.0<1>UW g47.0<16,16,1>UB g47.1<16,16,1>UB {align1};
-add (16) g68.0<1>UW g48.0<16,16,1>UB g48.1<16,16,1>UB {align1};
-add (16) g69.0<1>UW g49.0<16,16,1>UB g49.1<16,16,1>UB {align1};
-add (16) g70.0<1>UW g50.0<16,16,1>UB g50.1<16,16,1>UB {align1};
-add (16) g71.0<1>UW g51.0<16,16,1>UB g51.1<16,16,1>UB {align1};
-add (16) g72.0<1>UW g52.0<16,16,1>UB g52.1<16,16,1>UB {align1};
-add (16) g73.0<1>UW g53.0<16,16,1>UB g53.1<16,16,1>UB {align1};
-
-add (16) g58.0<1>UW g58.0<16,16,1>UW g39.0<16,16,1>UB {align1};
-add (16) g59.0<1>UW g59.0<16,16,1>UW g40.0<16,16,1>UB {align1};
-add (16) g60.0<1>UW g60.0<16,16,1>UW g41.0<16,16,1>UB {align1};
-add (16) g61.0<1>UW g61.0<16,16,1>UW g42.0<16,16,1>UB {align1};
-add (16) g62.0<1>UW g62.0<16,16,1>UW g43.0<16,16,1>UB {align1};
-add (16) g63.0<1>UW g63.0<16,16,1>UW g44.0<16,16,1>UB {align1};
-add (16) g64.0<1>UW g64.0<16,16,1>UW g45.0<16,16,1>UB {align1};
-add (16) g65.0<1>UW g65.0<16,16,1>UW g46.0<16,16,1>UB {align1};
-add (16) g66.0<1>UW g66.0<16,16,1>UW g47.0<16,16,1>UB {align1};
-add (16) g67.0<1>UW g67.0<16,16,1>UW g48.0<16,16,1>UB {align1};
-add (16) g68.0<1>UW g68.0<16,16,1>UW g49.0<16,16,1>UB {align1};
-add (16) g69.0<1>UW g69.0<16,16,1>UW g50.0<16,16,1>UB {align1};
-add (16) g70.0<1>UW g70.0<16,16,1>UW g51.0<16,16,1>UB {align1};
-add (16) g71.0<1>UW g71.0<16,16,1>UW g52.0<16,16,1>UB {align1};
-add (16) g72.0<1>UW g72.0<16,16,1>UW g53.0<16,16,1>UB {align1};
-add (16) g73.0<1>UW g73.0<16,16,1>UW g54.0<16,16,1>UB {align1};
-
-add (16) g58.0<1>UW g58.0<16,16,1>UW g39.1<16,16,1>UB {align1};
-add (16) g59.0<1>UW g59.0<16,16,1>UW g40.1<16,16,1>UB {align1};
-add (16) g60.0<1>UW g60.0<16,16,1>UW g41.1<16,16,1>UB {align1};
-add (16) g61.0<1>UW g61.0<16,16,1>UW g42.1<16,16,1>UB {align1};
-add (16) g62.0<1>UW g62.0<16,16,1>UW g43.1<16,16,1>UB {align1};
-add (16) g63.0<1>UW g63.0<16,16,1>UW g44.1<16,16,1>UB {align1};
-add (16) g64.0<1>UW g64.0<16,16,1>UW g45.1<16,16,1>UB {align1};
-add (16) g65.0<1>UW g65.0<16,16,1>UW g46.1<16,16,1>UB {align1};
-add (16) g66.0<1>UW g66.0<16,16,1>UW g47.1<16,16,1>UB {align1};
-add (16) g67.0<1>UW g67.0<16,16,1>UW g48.1<16,16,1>UB {align1};
-add (16) g68.0<1>UW g68.0<16,16,1>UW g49.1<16,16,1>UB {align1};
-add (16) g69.0<1>UW g69.0<16,16,1>UW g50.1<16,16,1>UB {align1};
-add (16) g70.0<1>UW g70.0<16,16,1>UW g51.1<16,16,1>UB {align1};
-add (16) g71.0<1>UW g71.0<16,16,1>UW g52.1<16,16,1>UB {align1};
-add (16) g72.0<1>UW g72.0<16,16,1>UW g53.1<16,16,1>UB {align1};
-add (16) g73.0<1>UW g73.0<16,16,1>UW g54.1<16,16,1>UB {align1};
-
-shr.sat (16) g58.0<1>UW g58.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g59.0<1>UW g59.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g60.0<1>UW g60.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g61.0<1>UW g61.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g62.0<1>UW g62.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g63.0<1>UW g63.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g64.0<1>UW g64.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g65.0<1>UW g65.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g66.0<1>UW g66.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g67.0<1>UW g67.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g68.0<1>UW g68.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g69.0<1>UW g69.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g70.0<1>UW g70.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g71.0<1>UW g71.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g72.0<1>UW g72.0<16,16,1>UW 2UW {align1};
-shr.sat (16) g73.0<1>UW g73.0<16,16,1>UW 2UW {align1};
diff --git a/i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.asm b/i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.asm
deleted file mode 100644 (file)
index f6c3a33..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: AYUV_Load_16x8.asm
-//----------------------------------------------------------------
-
-
-#include "AYUV_Load_16x8.inc"
-
-// In order to load 64x8 AYUV data (16x8 pixels), we need to divide the data 
-// into two regions and load them separately. 
-//
-//       32 byte         32 byte
-//|----------------|----------------|
-//|                |                |
-//|       A        |       B        |8
-//|                |                |
-//|                |                |
-//|----------------|----------------|
-
-// Load the first 32x8 data block
-// Packed data block should be loaded as 32x8 pixel block
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w    // Source Block origin
-    shl  (1) rMSGSRC.0<1>:d     acc0:w            2:w          { NoDDClr }      // H. block origin need to be four times larger
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_YUV:ud         { NoDDChk }      // Block width and height (32x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_YUV(0)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV+nBI_CURRENT_SRC_YUV:ud
-
-//Load the second 32x8 data block    
-// Offset the origin X - move to next 32 colomns
-    add (1) rMSGSRC.0<1>:d    rMSGSRC.0<0;1,0>:d    32:w                        // Increase X origin by 8 
-    
-// Size stays the same - 32x8
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud                               // Copy message description to message header
-    send (8) udSRC_YUV(8)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV+nBI_CURRENT_SRC_YUV:ud
-
-// Give AYUV region addresses to address register
-    mov (1) SRC_YUV_OFFSET<1>:ud 0x00400038*32:ud                               //Address registers contain starting addresses of two halves 
-    
-//Directly move the data to destination
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (16) uwDEST_Y(%1)<1> r[SRC_YUV_OFFSET,%1*32+2]<8,4>:ub
-        mov (16) uwDEST_U(%1)<1> r[SRC_YUV_OFFSET,%1*32+1]<8,4>:ub
-        mov (16) uwDEST_V(%1)<1> r[SRC_YUV_OFFSET,%1*32+0]<8,4>:ub
-    }        
-    
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.inc b/i965_drv_video/shaders/post_processing/Common/AYUV_Load_16x8.inc
deleted file mode 100644 (file)
index 422dfb3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: AYUV_Load_16x8.inc
-//
-// AYUV data are first loaded to bottom I/O REGION_2, then unpacked to planar data
-// and stored in top I/O REGION_1
-
-#undef         nY_NUM_OF_ROWS
-
-#define nY_NUM_OF_ROWS      8       // Number of Y rows per block
-
-#define nDPR_BLOCK_SIZE_YUV           nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // Y block size 32x8
-#define nDPR_MSG_SIZE_YUV             nRESLEN_8                         // # of MRF's to hold Y block data (8)
-
-//Temporary storage for unpacked AYUV data
-#define     rUNPACK_TEMP     REG(r,nTEMP0)
-.declare    udUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=4    SrcRegion=<8;8,1>    Type=ud        //1 GRF
-.declare    ubUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=1    SrcRegion=<32;32,1>    Type=ub        //1 GRF
-
-.declare ubBOT_Y_IO     Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(32,1) Type=ub
-
-
-#define udSRC_YUV               udBOT_Y_IO
-#define ubSRC_YUV               ubBOT_Y_IO
-#define nSRC_YUV_REG            nBOT_Y
-
-#define uwDEST_Y                uwTOP_Y
-#define uwDEST_U                uwTOP_U
-#define uwDEST_V                uwTOP_V
-
-#define SRC_YUV_OFFSET a0.0
-
-#define nSRC_REGION nREGION_1    // REGION_1 will be the source region for first kernel
-
-// End of AYUV_Load_16x8.inc
diff --git a/i965_drv_video/shaders/post_processing/Common/Expansion.inc b/i965_drv_video/shaders/post_processing/Common/Expansion.inc
deleted file mode 100644 (file)
index 7f3d5aa..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: Expansion.inc
-// Number of U/V rows per block definition
-#undef         nUV_NUM_OF_ROWS
-#ifdef EXPAND_9x5
-       #define nUV_NUM_OF_ROWS     6
-#else
-       #define nUV_NUM_OF_ROWS     8
-#endif
-
-// Source/destination region definitions
-#undef uwDEST_U
-#undef uwDEST_V
-#if (nSRC_REGION==nREGION_1)
-       #define uwDEST_U          uwTOP_U
-       #define uwDEST_V          uwTOP_V
-#elif (nSRC_REGION==nREGION_2)
-       #define uwDEST_U          uwBOT_U
-       #define uwDEST_V          uwBOT_V
-#endif
-
-// End of Expansion.inc
diff --git a/i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x4.asm b/i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x4.asm
deleted file mode 100644 (file)
index 2817175..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: IMC3_Load_8x4.asm
-//
-//----------------------------------------------------------------
-
-#define  IMC3_LOAD_8x4
-#include "PL3_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Block width and height (16x8)
-
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 8x4 planar U and V -----------------------------------------------------
-    asr (2)  rMSGSRC.0<1>:d     rMSGSRC.0<2;2,1>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (8x4)
-
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_U:ud
-    mov  (8) mMSGHDRV<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_V(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_V:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>         ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwDEST_U(0, %1*16)<1>        ubSRC_U(0, %1*16)
-        mov (16)  uwDEST_V(0, %1*16)<1>        ubSRC_V(0, %1*16)
-    }
-
-// End of IMC3_Load_8x4
diff --git a/i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x5.asm b/i965_drv_video/shaders/post_processing/Common/IMC3_Load_8x5.asm
deleted file mode 100644 (file)
index 3c96e72..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: IMC3_Load_8x5.asm
-//
-//----------------------------------------------------------------
-
-#define  IMC3_LOAD_8x5
-#include "PL3_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Block width and height (16x8)
-
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 8x5 planar U and V -----------------------------------------------------
-    asr (2)  rMSGSRC.0<1>:d     rMSGSRC.0<2;2,1>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (8x5)
-
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_U:ud
-    mov  (8) mMSGHDRV<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_V(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_V:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>         ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwDEST_U(0, %1*16)<1>        ubSRC_U(0, %1*16)
-        mov (16)  uwDEST_V(0, %1*16)<1>        ubSRC_V(0, %1*16)
-    }
-
-// End of IMC3_Load_8x5
diff --git a/i965_drv_video/shaders/post_processing/Common/IMC3_Load_9x5.asm b/i965_drv_video/shaders/post_processing/Common/IMC3_Load_9x5.asm
deleted file mode 100644 (file)
index d286cbb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: IMC3_Load_9x5.asm
-//
-//----------------------------------------------------------------
-//  This module loads 16x8 Y, 9x5 U and 9x5 V planar data blocks for CSC module
-//     and stores it in byte-aligned format.
-//----------------------------------------------------------------
-
-#define  IMC3_LOAD_9x5
-#include "PL3_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Block width and height (16x8)
-
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 9x5 planar U and V -----------------------------------------------------
-    asr (2)  rMSGSRC.0<1>:d     rMSGSRC.0<2;2,1>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (12x5)
-
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_U:ud
-    mov  (8) mMSGHDRV<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_V(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_V:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>         ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for(nUV_NUM_OF_ROWS-2; >-1; -1) {
-        mov (16)  uwDEST_U(0, %1*16)<1>        ubSRC_U(0, %1*16)
-        mov (16)  uwDEST_V(0, %1*16)<1>        ubSRC_V(0, %1*16)
-    }
-
-// End of IMC3_Load_9x5
diff --git a/i965_drv_video/shaders/post_processing/Common/Init_All_Regs.asm b/i965_drv_video/shaders/post_processing/Common/Init_All_Regs.asm
deleted file mode 100644 (file)
index cb0fd41..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#ifdef GT      // to remove error messages of un-initialized GRF
-       .declare        udGRF_space              Base=r0.0 ElementSize=4 SrcRegion=REGION(8,1) Type=ud  
-
-       $for (7; <80; 1) {
-               mov (8) udGRF_space(%1)<1>      0:ud
-       }
-#else
-#endif
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Common/Multiple_Loop.asm b/i965_drv_video/shaders/post_processing/Common/Multiple_Loop.asm
deleted file mode 100644 (file)
index 324e134..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-/////////////////////////////////////////////////////////////////////////////////
-// Multiple_Loop.asm
-
-
-// This lable is for satisfying component kernel build.
-// DL will remove this label and reference the real one in Multiple_Loop_Head.asm.
-#if defined(COMPONENT)
-VIDEO_PROCESSING_LOOP:
-#endif
-
-
-//===== Possible build flags for component kernels
-// 1) INC_SCALING
-// 2) INC_BLENDING
-// 3) INC_BLENDING and INC_SCALING
-// 4) (no flags)
-
-
-#define MxN_MULTIPLE_BLOCKS
-
-//------------------------------------------------------------------------------
-#if defined(MxN_MULTIPLE_BLOCKS)
-// Do Multiple Block Processing ------------------------------------------------
-
-       // The 1st block has been processed before entering the loop
-
-       // Processed all blocks?
-       add.z.f0.0      (1)     wNUM_BLKS:w     wNUM_BLKS:w     -1:w
-
-       // Reached multi-block width?
-       add                     (1)     wORIX:w         wORIX:w         16:w
-       cmp.l.f0.1      (1)     null:w          wORIX:w wFRAME_ENDX:w   // acc0.0 has wORIX
-
-       #if defined(INC_SCALING)
-       // Update SRC_VID_H_ORI for scaling
-               mul     (1)     REG(r,nTEMP0):f         fVIDEO_STEP_X:f         16.0:f
-               add     (1)     fSRC_VID_H_ORI:f        REG(r,nTEMP0):f         fSRC_VID_H_ORI:f
-       #endif
-
-       #if defined(INC_BLENDING)
-       // Update SRC_ALPHA_H_ORI for blending
-               mul     (1)     REG(r,nTEMP0):f         fALPHA_STEP_X:f         16.0:f
-               add     (1)     fSRC_ALPHA_H_ORI:f      REG(r,nTEMP0):f         fSRC_ALPHA_H_ORI:f
-       #endif
-
-       (f0.0)jmpi      (1)     END_VIDEO_PROCESSING    // All blocks are done - Exit loop
-
-       (f0.1)jmpi      (1)     VIDEO_PROCESSING_LOOP   // If not the end of row, goto the beginning of the loop
-
-       //If end of row, restart Horizontal offset and calculate Vertical offsets next row.
-       mov     (1)             wORIX:w         wCOPY_ORIX:w
-       add     (1)             wORIY:w         wORIY:w                 8:w
-
-       #if defined(INC_SCALING)
-       // Update SRC_VID_H_ORI and SRC_VID_V_ORI for scaling
-               mov     (1)             fSRC_VID_H_ORI:f        fFRAME_VID_ORIX:f       // Reset normalised X origin to 0 for video and alpha
-               mul     (1)             REG(r,nTEMP0):f         fVIDEO_STEP_Y:f         8.0:f
-               add     (1)             fSRC_VID_V_ORI:f        REG(r,nTEMP0):f         fSRC_VID_V_ORI:f
-       #endif
-
-       #if defined(INC_BLENDING)
-       // Update SRC_ALPHA_H_ORI and SRC_ALPHA_V_ORI for blending
-               mov     (1)             fSRC_ALPHA_H_ORI:f      fFRAME_ALPHA_ORIX:f     // Reset normalised X origin to 0 for video and alpha
-               mul     (1)             REG(r,nTEMP0):f         fALPHA_STEP_Y:f         8.0:f
-               add     (1)             fSRC_ALPHA_V_ORI:f      REG(r,nTEMP0):f         fSRC_ALPHA_V_ORI:f
-       #endif
-
-       jmpi (1)        VIDEO_PROCESSING_LOOP   // Continue Loop
-
-END_VIDEO_PROCESSING:
-       nop
-
-#endif
-END_THREAD     // End of Thread
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Common/Multiple_Loop_Head.asm b/i965_drv_video/shaders/post_processing/Common/Multiple_Loop_Head.asm
deleted file mode 100644 (file)
index 77d8b94..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//////////////////////////////////////////////////////////////////////////////////
-// Multiple_Loop_Head.asm
-// This code sets up the loop control for multiple blocks per thread
-
-       mul (1) wFRAME_ENDX:w   ubBLK_CNT_X:ub  16:uw   { NoDDClr }                             // Build multi-block loop counters
-       mov (1) wNUM_BLKS:w             ubNUM_BLKS:ub                   { NoDDClr, NoDDChk }    // Copy num blocks to word variable
-       mov (1) wCOPY_ORIX:w    wORIX:w                                 { NoDDChk }                             // Copy multi-block origin in pixel 
-       mov (2) fFRAME_VID_ORIX<1>:f                    fSRC_VID_H_ORI<4;2,2>:f                 // Copy src video origin for scaling, and alpha origin for blending
-       add (1) wFRAME_ENDX:w   wFRAME_ENDX:w   wORIX:w                                                 // Continue building multi-block loop counters
-
-VIDEO_PROCESSING_LOOP:         // Loop back entry point as the biginning of the loop for multiple blocks
-       
-// Beginning of the loop
diff --git a/i965_drv_video/shaders/post_processing/Common/NV11_Load_4x8.asm b/i965_drv_video/shaders/post_processing/Common/NV11_Load_4x8.asm
deleted file mode 100644 (file)
index 54af8d1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: NV11_Load_4x8.asm
-//----------------------------------------------------------------
-
-#define  NV11_LOAD_4x8
-#include "PL2_Load.inc"
-
-// Load 16x8 NV11 Y ------------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 8x8 NV11 UV ----------------------------------------------------------
-    asr (1)  rMSGSRC.0<1>:d     rMSGSRC.0<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (8x8)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>      ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/4-1; >-1; -1) {
-        mov (16)  uwDEST_U(0,%1*16)<1>      ubSRC_U(0,%1*32)<32;16,2>
-        mov (16)  uwDEST_V(0,%1*16)<1>      ubSRC_U(0,%1*32+1)<32;16,2>
-    }
-
-// End of NV11_Load_4x8
diff --git a/i965_drv_video/shaders/post_processing/Common/NV11_Load_5x8.asm b/i965_drv_video/shaders/post_processing/Common/NV11_Load_5x8.asm
deleted file mode 100644 (file)
index 86a1d35..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: NV11_Load_5x8.asm
-//----------------------------------------------------------------
-
-#define  NV11_LOAD_5x8
-#include "PL2_Load.inc"
-
-// Load 16x8 NV11 Y ------------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 12x8 NV11 UV ---------------------------------------------------------
-    asr (1)  rMSGSRC.0<1>:d     rMSGSRC.0<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (12x8)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>      ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwDEST_U(0,%1*16)<1>      ubSRC_U(0,%1*32)<16;8,2>
-        mov (16)  uwDEST_V(0,%1*16)<1>      ubSRC_U(0,%1*32+1)<16;8,2>
-    }
-
-// End of NV11_Load_5x8
diff --git a/i965_drv_video/shaders/post_processing/Common/NV12_Load_8x4.asm b/i965_drv_video/shaders/post_processing/Common/NV12_Load_8x4.asm
deleted file mode 100644 (file)
index dbc47d4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: NV12_Load_8x4.asm
-//----------------------------------------------------------------
-
-#define  NV12_LOAD_8x4
-#include "PL2_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 8x4 planar U and V -----------------------------------------------------
-    asr (1)  rMSGSRC.1<1>:d     rMSGSRC.1<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (16x4)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>      ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwDEST_U(0,%1*16)<1>      ubSRC_U(0,%1*32)<32;16,2>
-        mov (16)  uwDEST_V(0,%1*16)<1>      ubSRC_U(0,%1*32+1)<32;16,2>
-    }
-
-// End of NV12_Load_8x4
diff --git a/i965_drv_video/shaders/post_processing/Common/NV12_Load_8x5.asm b/i965_drv_video/shaders/post_processing/Common/NV12_Load_8x5.asm
deleted file mode 100644 (file)
index 85f5ec7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: NV12_Load_8x5.asm
-//----------------------------------------------------------------
-
-#define  NV12_LOAD_8x5
-#include "PL2_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 8x5 planar U and V -----------------------------------------------------
-    asr (1)  rMSGSRC.1<1>:d     rMSGSRC.1<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (16x5)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>      ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwDEST_U(0,%1*16)<1>      ubSRC_U(0,%1*32)<16;8,2>
-        mov (16)  uwDEST_V(0,%1*16)<1>      ubSRC_U(0,%1*32+1)<16;8,2>
-    }
-
-// End of NV12_Load_8x5
diff --git a/i965_drv_video/shaders/post_processing/Common/NV12_Load_9x5.asm b/i965_drv_video/shaders/post_processing/Common/NV12_Load_9x5.asm
deleted file mode 100644 (file)
index b19f0b2..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: NV12_Load_9x5.asm
-//----------------------------------------------------------------
-
-#define  NV12_LOAD_9x5
-#include "PL2_Load.inc"
-
-// Load 16x8 planar Y ----------------------------------------------------------
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-// Load 9x5 planar U and V -----------------------------------------------------
-    asr (1)  rMSGSRC.1<1>:d     rMSGSRC.1<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (20x5)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (nY_NUM_OF_ROWS-1; >-1; -1) {
-        mov (16)  uwDEST_Y(0,%1*16)<1>      ubSRC_Y(0,%1*16)
-    }
-#endif
-       $for(nUV_NUM_OF_ROWS-2; >-1; -1) {
-        mov (16)  uwDEST_U(0,%1*16)<1>      ubSRC_U(0,%1*32)<16;8,2>
-        mov (16)  uwDEST_V(0,%1*16)<1>      ubSRC_U(0,%1*32+1)<16;8,2>
-    }
-
-// End of NV12_Load_9x5
diff --git a/i965_drv_video/shaders/post_processing/Common/P208_Load_8x8.asm b/i965_drv_video/shaders/post_processing/Common/P208_Load_8x8.asm
deleted file mode 100644 (file)
index 70d07eb..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: P208_Load_8x8.asm
-//----------------------------------------------------------------
-
-#define  P208_LOAD_8x8
-#include "PL2_Load.inc"
-
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-    mov  (1) rMSGSRC.2<1>:ud   nDPR_BLOCK_SIZE_Y:ud                                                    // Y Block width and height (16x8) (U/V block size is the same)
-
-// Load 16x8 P208 Y ------------------------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-       // Load 16x8 planar UV -----------------------------------------------------
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (0; <nY_NUM_OF_ROWS; 1) {
-        mov    (16)    uwDEST_Y(0,%1*16)       ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov    (16)    uwDEST_U(0,%1*16)       ubSRC_U(0,%1*32)<32;16,2>
-        mov    (16)    uwDEST_V(0,%1*16)       ubSRC_U(0,%1*32+1)<32;16,2>
-    }
-
-// End of P208_Load_8x8.asm
diff --git a/i965_drv_video/shaders/post_processing/Common/P208_Load_9x8.asm b/i965_drv_video/shaders/post_processing/Common/P208_Load_9x8.asm
deleted file mode 100644 (file)
index c6ff086..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: P208_Load_9x8.asm
-//----------------------------------------------------------------
-
-#define  P208_LOAD_9x8
-#include "PL2_Load.inc"
-
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-
-// Load 16x8 P208 Y ------------------------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_Y:ud                               // Y block width and height (16x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_CURRENT_SRC_Y:ud
-#endif
-
-       // Load 16x8 planar UV -----------------------------------------------------
-    mov  (1) rMSGSRC.2<1>:ud   nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (20x8)
-    mov  (8) mMSGHDRU<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDRU    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_CURRENT_SRC_UV:ud
-
-// Convert to word-aligned format ----------------------------------------------
-#if !defined(LOAD_UV_ONLY)
-    $for (0; <nY_NUM_OF_ROWS; 1) {
-        mov    (16)    uwDEST_Y(0,%1*16)       ubSRC_Y(0,%1*16)
-    }
-#endif
-    $for (0; <nUV_NUM_OF_ROWS; 1) {
-        mov    (16)    uwDEST_U(0,%1*16)       ubSRC_U(0,%1*32)<32;16,2>
-        mov    (16)    uwDEST_V(0,%1*16)       ubSRC_U(0,%1*32+1)<32;16,2>
-    }
-
-// End of P208_Load_9x8.asm
diff --git a/i965_drv_video/shaders/post_processing/Common/PA_Load.inc b/i965_drv_video/shaders/post_processing/Common/PA_Load.inc
deleted file mode 100644 (file)
index dee657e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PA_Load.inc
-//
-// YUV422 data are first loaded to bottom I/O REGION_2, then unpacked to planar data
-// and stored in top I/O REGION_1
-
-#undef         nY_NUM_OF_ROWS
-#undef         nUV_NUM_OF_ROWS
-
-#define nY_NUM_OF_ROWS      8       // Number of Y rows per block
-#define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-
-#if defined(PA_LOAD_8x8)
-        #define nDPR_BLOCK_SIZE_YUV           nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // Y block size 32x8
-        #define nDPR_MSG_SIZE_YUV             nRESLEN_8                         // # of MRF's to hold Y block data (8)
-#endif
-#if defined(PA_LOAD_9x8)
-        #define nDPR_BLOCK_SIZE_YUV_MAIN      nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // Main YUV block size 32x8
-        #define nDPR_MSG_SIZE_YUV_MAIN        nRESLEN_8                         // # of MRF's to hold Y block data (8)
-        #define nDPR_BLOCK_SIZE_YUV_ADDITION  nBLOCK_WIDTH_4+nBLOCK_HEIGHT_8    // Additional YUV block size 4x8
-        #define nDPR_MSG_SIZE_YUV_ADDITION    nRESLEN_1                         // # of MRF's to hold Y block data (8)
-#endif
-
-#define udSRC_YUV               udBOT_Y_IO
-#define nSRC_YUV_REG            nBOT_Y
-
-#define uwDEST_Y                uwTOP_Y
-#define uwDEST_U                uwTOP_U
-#define uwDEST_V                uwTOP_V
-
-#define nSRC_REGION nREGION_1    // REGION_1 will be the source region for first kernel
-
-// End of PA_Load.inc
diff --git a/i965_drv_video/shaders/post_processing/Common/PA_Load_8x8.asm b/i965_drv_video/shaders/post_processing/Common/PA_Load_8x8.asm
deleted file mode 100644 (file)
index 3569bd1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PA_Load_8x8.asm
-//----------------------------------------------------------------
-
-#define  PA_LOAD_8x8
-#include "PA_Load.inc"
-
-//  Load 16x8 packed data block
-//  Packed data block should be loaded as 32x8 pixel block
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Block origin
-    shl  (1) rMSGSRC.0<1>:d     acc0:w            1:w                              // H. block origin need to be doubled
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_YUV:ud                             // Block width and height (32x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_YUV(0)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV+nBI_CURRENT_SRC_YUV:ud
-
-//  Unpack to "planar" YUV422 format in word-aligned bytes
-    add  (4) pCF_Y_OFFSET<1>:uw    ubSRC_CF_OFFSET<4;4,1>:ub    nSRC_YUV_REG*nGRFWIB:w    // Initial Y,U,V offset in YUV422 block
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (16)  uwDEST_Y(0, %1*16)<1>     r[pCF_Y_OFFSET, %1*nGRFWIB]REGION(16,2)
-        mov (8)   uwDEST_U(0, %1*8)<1>      r[pCF_U_OFFSET, %1*nGRFWIB]REGION(8,4)
-        mov (8)   uwDEST_V(0, %1*8)<1>      r[pCF_V_OFFSET, %1*nGRFWIB]REGION(8,4)
-    }
-
-// End of PA_Load_8x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PA_Load_9x8.asm b/i965_drv_video/shaders/post_processing/Common/PA_Load_9x8.asm
deleted file mode 100644 (file)
index 90e56e7..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PA_Load_9x8.asm
-//----------------------------------------------------------------
-//  This module loads 16x8 Y, 9x8 U and 9x8 V planar data blocks for CSC module 
-//     and stores it in word-aligned format.
-//----------------------------------------------------------------
-
-#define  PA_LOAD_9x8
-#include "PA_Load.inc"
-
-//  Load 18x8 packed data block
-//  Packed data block should be loaded as 36x8 pixel block
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Block origin
-    shl  (1) rMSGSRC.0<1>:d     acc0:w            1:w                              // H. block origin need to be doubled
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_YUV_MAIN:ud                        // Block width and height (32x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_YUV(0)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV_MAIN+nBI_CURRENT_SRC_YUV:ud
-
-    add  (1) rMSGSRC.0<1>:d     rMSGSRC.0:d       32:w                             //the last 4 pixels are read again for optimization
-    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_YUV_ADDITION:ud                    // Block width and height (4x8)
-    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
-    send (8) udSRC_YUV(8)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV_ADDITION+nBI_CURRENT_SRC_YUV:ud
-
-//  Unpack to "planar" YUV422 format in word-aligned bytes
-    add  (4) pCF_Y_OFFSET<1>:uw    ubSRC_CF_OFFSET<4;4,1>:ub    nSRC_YUV_REG*nGRFWIB:w    // Initial Y,U,V offset in YUV422 block
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (16)  uwDEST_Y(0, %1*16)<1>     r[pCF_Y_OFFSET, %1*nGRFWIB]REGION(16,2)
-        mov (8)   uwDEST_U(0, %1*16)<1>     r[pCF_U_OFFSET, %1*nGRFWIB]REGION(8,4)
-        mov (8)   uwDEST_V(0, %1*16)<1>     r[pCF_V_OFFSET, %1*nGRFWIB]REGION(8,4)
-    }
-
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (1)   uwDEST_U(0, %1*16+8)<1>   r[pCF_U_OFFSET, %1*4+256]REGION(1,0)
-        mov (1)   uwDEST_V(0, %1*16+8)<1>   r[pCF_V_OFFSET, %1*4+256]REGION(1,0)
-    }
-       //UV expansion done in PL9x8_PL16x8.asm module
-
-// End of PA_Load_9x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x4.asm b/i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x4.asm
deleted file mode 100644 (file)
index 4461c89..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL16x8_PL8x4.asm
-//----------------------------------------------------------------
-
-#include "common.inc"
-
-#ifndef DEST_U         //DEST_U, DEST_V not defined
-
-       #if (nSRC_REGION==nREGION_1)
-               #define DEST_Y          uwTOP_Y
-               #define DEST_U          uwTOP_U
-               #define DEST_V          uwTOP_V
-       #elif (nSRC_REGION==nREGION_2)
-               #define DEST_Y          uwBOT_Y
-               #define DEST_U          uwBOT_U
-               #define DEST_V          uwBOT_V
-       #endif
-       
-#endif
-
-//Convert 444 from sampler to 422
-$for (0, 0; <8; 2, 1) {
-       mov     (8)     DEST_U(0,%2*8)<1>       DEST_U(%1)<16;8,2>
-       mov     (8)     DEST_V(0,%2*8)<1>       DEST_V(%1)<16;8,2>      
-}
-
-// Re-define new number of lines
-#undef nUV_NUM_OF_ROWS
-#define nUV_NUM_OF_ROWS     4
diff --git a/i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x8.asm b/i965_drv_video/shaders/post_processing/Common/PL16x8_PL8x8.asm
deleted file mode 100644 (file)
index fd592db..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL16x8_PL8x8.asm
-//----------------------------------------------------------------
-
-#include "common.inc"
-
-#ifndef DEST_U
-
-       //DEST_U, DEST_V not defined
-       #if (nSRC_REGION==nREGION_1)
-               #define DEST_Y          uwTOP_Y
-               #define DEST_U          uwTOP_U
-               #define DEST_V          uwTOP_V
-       #elif (nSRC_REGION==nREGION_2)
-               #define DEST_Y          uwBOT_Y
-               #define DEST_U          uwBOT_U
-               #define DEST_V          uwBOT_V
-       #endif
-       
-#endif
-
-
-//Convert 444 from sampler to 422
-$for (0, 0; <8; 2, 1) {
-       mov             DEST_U(%2)<1>   DEST_U(%1)<16;8,2>
-       mov             DEST_V(%2)<1>   DEST_V(%1)<16;8,2>      
-}
diff --git a/i965_drv_video/shaders/post_processing/Common/PL2_Load.inc b/i965_drv_video/shaders/post_processing/Common/PL2_Load.inc
deleted file mode 100644 (file)
index 9feeba6..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL2_Load.inc
-
-#undef         nY_NUM_OF_ROWS
-#undef         nUV_NUM_OF_ROWS
-
-#define nY_NUM_OF_ROWS      8                                         // Number of Y rows per block
-#define nDPR_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8           // Y block size 16x8
-#define nDPR_MSG_SIZE_Y     nRESLEN_4                                 // # of MRF's to hold Y block data (4)
-
-
-#if defined(NV11_LOAD_4x8)
-        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_8+nBLOCK_HEIGHT_8    // U/V block size 8x8
-        #define nDPR_MSG_SIZE_UV    nRESLEN_2                         // # of MRF's to hold U/V block data (2)
-#endif
-
-#if defined(NV11_LOAD_5x8)
-        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_12+nBLOCK_HEIGHT_8   // U/V block size 12x8
-        #define nDPR_MSG_SIZE_UV    nRESLEN_4                         // # of MRF's to hold U/V block data (4)
-#endif
-#if defined(NV12_LOAD_8x4)
-        #define nUV_NUM_OF_ROWS     4                                 // Number of U/V rows per block
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // U/V block size 16x4
-        #define nDPR_MSG_SIZE_UV    nRESLEN_2                         // # of MRF's to hold U/V block data (2)
-#endif
-#if defined(NV12_LOAD_8x5)
-        #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_5   // U/V block size 16x5
-        #define nDPR_MSG_SIZE_UV    nRESLEN_3                         // # of MRF's to hold U/V block data (3)
-#endif
-#if defined(NV12_LOAD_9x5)
-        #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_20+nBLOCK_HEIGHT_5   // U/V block size 20x5
-        #define nDPR_MSG_SIZE_UV    nRESLEN_5                         // # of MRF's to hold U/V block data (5)
-#endif
-#if defined(P208_LOAD_8x8)
-        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // U/V block size 16x8
-        #define nDPR_MSG_SIZE_UV    nRESLEN_4                         // # of MRF's to hold U/V block data (4)
-#endif
-#if defined(P208_LOAD_9x8)
-        #define nUV_NUM_OF_ROWS     8                                 // Number of U/V rows per block
-        #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_20+nBLOCK_HEIGHT_8   // U/V block size 20x8
-        #define nDPR_MSG_SIZE_UV    nRESLEN_8                         // # of MRF's to hold U/V block data (8)
-#endif
-
-// Source/destination region definitions
-#if !defined(udSRC_Y)
-        #define udSRC_Y  udBOT_Y_IO     // Default Y source region is top Y region
-#endif
-
-#if !defined(udSRC_U)
-        #define udSRC_U  udBOT_U_IO     // Default U source region is top U region
-#endif
-
-#define ubSRC_Y           ubBOT_Y
-#define nSRC_Y_REG        nBOT_Y
-#define ubSRC_U           ubBOT_U
-#define nSRC_U_REG        nBOT_U
-
-#define uwDEST_Y          uwTOP_Y       // However they can be transferred to word-aligned byte if desired
-#define uwDEST_U          uwTOP_U
-#define uwDEST_V          uwTOP_V
-
-#define nSRC_REGION       nREGION_1     // REGION_1 will be the source region for first kernel
-
-// End of PL2_Load.inc
diff --git a/i965_drv_video/shaders/post_processing/Common/PL3_Load.inc b/i965_drv_video/shaders/post_processing/Common/PL3_Load.inc
deleted file mode 100644 (file)
index 323df08..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL3_Load.inc
-
-#undef         nY_NUM_OF_ROWS
-#undef         nUV_NUM_OF_ROWS
-
-#define nY_NUM_OF_ROWS      8                                     // Number of Y rows per block
-#define nDPR_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8       // Y block size 16x8
-#define nDPR_MSG_SIZE_Y     nRESLEN_4                             // # of MRF's to hold Y block data (4)
-
-#if defined(IMC3_LOAD_8x4)
-    #define nUV_NUM_OF_ROWS     4                                 // Number of U/V rows per block
-    #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_8+nBLOCK_HEIGHT_4    // U/V block size 8x4
-    #define nDPR_MSG_SIZE_UV    nRESLEN_1                         // # of MRF's to hold U/V block data (1)
-#endif
-#if defined(IMC3_LOAD_8x5)
-    #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
-    #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_8+nBLOCK_HEIGHT_5    // U/V block size 8x5
-    #define nDPR_MSG_SIZE_UV    nRESLEN_2                         // # of MRF's to hold U/V block data (2)
-#endif
-#if defined(IMC3_LOAD_9x5)
-    #define nUV_NUM_OF_ROWS     6                                 // Number of U/V rows per block (Rounded Up to Nearest Even Number)
-    #define nDPR_BLOCK_SIZE_UV  nBLOCK_WIDTH_12+nBLOCK_HEIGHT_5   // U/V block size 12x5
-    #define nDPR_MSG_SIZE_UV    nRESLEN_3                         // # of MRF's to hold U/V block data (3)
-#endif
-
-// Source/destination region definitions
-#if !defined(udSRC_Y)
-    #define udSRC_Y  udBOT_Y_IO     // Default Y source region is top Y region
-#endif
-
-#if !defined(udSRC_U)
-    #define udSRC_U  udBOT_U_IO     // Default U source region is top U region
-#endif
-
-#if !defined(udSRC_V)
-    #define udSRC_V  udBOT_V_IO     // Default V source region is top V region
-#endif
-
-#define ubSRC_Y      ubBOT_Y        // Loading data are always in byte type
-#define ubSRC_U      ubBOT_U
-#define ubSRC_V      ubBOT_V
-
-#define uwDEST_Y     uwTOP_Y        // However they can be transferred to word-aligned byte if desired
-#define uwDEST_U     uwTOP_U
-#define uwDEST_V     uwTOP_V
-
-#define nSRC_REGION  nREGION_1      // REGION_1 will be the source region for first kernel
-
-// End of PL3_Load.inc
diff --git a/i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.asm b/i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.asm
deleted file mode 100644 (file)
index 653e634..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-#include "PL4x8_Save_NV11.inc"
-
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-#if !defined(SAVE_UV_ONLY)
-// Save current planar frame Y block data (16x8) -------------------------------
-
-    mov  (2) mMSGHDR.0<1>:d     wORIX<2;2,1>:w          // Block origin
-    mov  (1) mMSGHDR.2<1>:ud    nDPW_BLOCK_SIZE_Y:ud    // Block width and height (16x8)
-
-///* Yoni - masking is not relevant for ILK?!? 
-//
-//        //Use the mask to determine which pixels shouldn't be over-written
-//        cmp.ge.f0.0     (1)             NULLREG         BLOCK_MASK_D:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-//        (f0.0)  jmpi WritePlanarToDataPort
-//
-//        //If mask is not all 1's, then load the entire 16x8 block
-//        //so that only those bytes may be modified that need to be (using the mask)
-//    send (8)    SRC_YD(0)<1>    MSGHDR  MSGSRC<8;8,1>:ud        DWBRMSGDSC+0x00040000+BI_DEST_Y:ud         //16x8
-//        
-//    asr  (2)    MSGSRC.0<1>:ud  ORIX<2;2,1>:w   1:w     // U/V block origin should be half of Y's
-//    mov  (1)    MSGSRC.2<1>:ud  0x00030007:ud           // Block width and height (8x4)
-//    send (8)    SRC_UD(0)<1>    MSGHDR  MSGSRC<8;8,1>:ud        DWBRMSGDSC+0x00010000+BI_DEST_U:ud
-//    send (8)    SRC_VD(0)<1>    MSGHDR  MSGSRC<8;8,1>:ud        DWBRMSGDSC+0x00010000+BI_DEST_V:ud
-//        
-//    //Restore the origin information
-//    mov (2)     MSGSRC.0<1>:ud  ORIX<2;2,1>:w           // Block origin
-//    mov (1)     MSGSRC.2<1>:ud  0x0007000F:ud           // Block width and height (16x8)
-//
-//        //expand U and V to be aligned on word boundary
-//        mov     (16)    SRC_UW(1)<1>            SRC_U(0,16)
-//        mov     (16)    SRC_UW(0)<1>            SRC_U(0, 0)
-//        mov (16)        SRC_VW(1)<1>            SRC_V(0,16)
-//        mov (16)        SRC_VW(0)<1>            SRC_V(0, 0)
-//        
-//        //Merge the data
-//        mov  (1)        f0.1:uw                 BLOCK_MASK_V:uw                 //Load the mask on flag reg
-//        (f0.1)  mov     (8)     TEMP0<1>:uw     BLOCK_MASK_H:uw
-//        (-f0.1) mov     (8)     TEMP0<1>:uw     0:uw
-//                
-//        // Destination is Word aligned
-//                $for(0; <Y_ROW_SIZE; 2) {
-//                        mov     (1)     f0.1:uw         TEMP(0,%1)<0;1,0>
-//                        (-f0.1) mov  (16)       DEST_Y(0, %1*32)<2>             SRC_Y(0, %1*16)
-//                        (-f0.1) mov  (16)       DEST_U(0, %1*8)<1>              SRC_U(0, %1*8)  //only works for Word aligned Byte data
-//                        (-f0.1) mov  (16)       DEST_V(0, %1*8)<1>              SRC_V(0, %1*8)  //only works for Word aligned Byte data
-//
-//                        mov     (1)     f0.1:uw         TEMP(0,1+%1)<0;1,0>
-//                        (-f0.1) mov  (16)       DEST_Y(0, 1+%1*32)<2>   SRC_Y(0, 1+%1*16)
-//
-//                }
-//
-//*/ Yoni - masking is not relevant for ILK?!? 
-        
-WritePlanarToDataPort:
-    $for(0,0; <nY_NUM_OF_ROWS; 2,1) {
-            mov (16) mubMSGPAYLOAD(%2,0)<1>     ub2DEST_Y(%1)REGION(16,2)
-            mov (16) mubMSGPAYLOAD(%2,16)<1>    ub2DEST_Y(%1+1)REGION(16,2)
-    } 
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_Y+nBI_DESTINATION_Y:ud
-#endif
-
-// Save U/V data block in planar format (4x8) ----------------------------------
-    mov (2)  rMSGSRC.0<1>:d    wORIX<2;2,1>:w             // Block origin
-    asr (1)  rMSGSRC.0<1>:d    rMSGSRC.0<0;1,0>:d    1:w  // U/V block origin should be half of Y's
-    mov (8)  mMSGHDR<1>:ud     rMSGSRC<8;8,1>:ud
-
-    $for(0,0; <nY_NUM_OF_ROWS;4,1) {
-        mov (16) mubMSGPAYLOAD(%2,0)<2>     ub2DEST_U(%2)REGION(16,2) 
-        mov (16) mubMSGPAYLOAD(%2,1)<2>     ub2DEST_V(%2)REGION(16,2) 
-    }
-    send (8)    dNULLREG    mMSGHDR    udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_UV+nBI_DESTINATION_UV:ud
-
-// End of PL4x8_Save_NV11
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.inc b/i965_drv_video/shaders/post_processing/Common/PL4x8_Save_NV11.inc
deleted file mode 100644 (file)
index ebd134e..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//Module name: PL8x4_Save_NV11.inc
-//
-// Setup for storing planar data
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-#define nDPW_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // Y block size 16x8
-#define nDPW_MSG_SIZE_Y     nMSGLEN_4                         // # of MRF's to hold Y block data (4)
-#define nDPW_BLOCK_SIZE_UV  nBLOCK_WIDTH_8+nBLOCK_HEIGHT_8    // U/V interleaved block width and height (8x8)
-#define nDPW_MSG_SIZE_UV    nMSGLEN_2                         // # of MRF's to hold U/V block data (2)
-
-#if (nSRC_REGION==nREGION_1)
-        #define udSRC_Y                 udBOT_Y_IO
-        #define udSRC_U                 udBOT_U_IO
-        #define udSRC_V                 udBOT_V_IO
-        #define ubSRC_Y                 ubBOT_Y
-        #define ubSRC_U                 ubBOT_U
-        #define ubSRC_V                 ubBOT_V
-
-        #define uwSRC_U                 uwBOT_U  //For masking operation
-        #define uwSRC_V                 uwBOT_V
-
-        #define ub2DEST_Y               ub2TOP_Y
-        #define ub2DEST_U               ub2TOP_U
-        #define ub2DEST_V               ub2TOP_V
-        
-#elif (nSRC_REGION==nREGION_2)
-        #define udSRC_Y                 udTOP_Y_IO
-        #define udSRC_U                 udTOP_U_IO
-        #define udSRC_V                 udTOP_V_IO
-        #define ubSRC_Y                 ubTOP_Y
-        #define ubSRC_U                 ubTOP_U
-        #define ubSRC_V                 ubTOP_V
-
-        #define uwSRC_U                 uwTOP_U  //For masking operation
-        #define uwSRC_V                 uwTOP_V
-
-        #define ub2DEST_Y               ub2BOT_Y
-        #define ub2DEST_U               ub2BOT_U
-        #define ub2DEST_V               ub2BOT_V
-        
-#endif
-
-///* Yoni - masking is not relevant for ILK?!? 
-//#define         TEMP0   REG(r,54)
-//.declare    TEMP        Base=TEMP0      ElementSize=2   SrcRegion=<8;8,1>       Type=uw
-///* Yoni - masking is not relevant for ILK?!? 
-
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL5x8_PL16x8.asm b/i965_drv_video/shaders/post_processing/Common/PL5x8_PL16x8.asm
deleted file mode 100644 (file)
index 909f8a7..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL5x8_PL16x8.asm
-
-#include "Expansion.inc"
-
-//------------------------------ Horizontal Upconversion -----------------------------
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        avg.sat (16) uwDEST_U(0, %1*32+16)    uwDEST_U(0, %1*16+7)<1;2,0>    uwDEST_U(0, %1*16+7)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*32+16)    uwDEST_V(0, %1*16+7)<1;2,0>    uwDEST_V(0, %1*16+7)<1;2,1>
-        avg.sat (16) uwDEST_U(0, %1*32)    uwDEST_U(0, %1*16)<1;2,0>    uwDEST_U(0, %1*16)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*32)    uwDEST_V(0, %1*16)<1;2,0>    uwDEST_V(0, %1*16)<1;2,1>
-    }
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        avg.sat (16) uwDEST_U(0, %1*32+16) uwDEST_U(0, %1*32+18)<1;2,0> uwDEST_U(0, %1*32+18)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*32+16) uwDEST_V(0, %1*32+18)<1;2,0> uwDEST_V(0, %1*32+18)<1;2,1>
-        avg.sat (16) uwDEST_U(0, %1*32) uwDEST_U(0, %1*32)<1;2,0> uwDEST_U(0, %1*32)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*32) uwDEST_V(0, %1*32)<1;2,0> uwDEST_V(0, %1*32)<1;2,1>
-    }
-
-// End of PL5x8_PL16x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PL5x8_PL8x8.asm b/i965_drv_video/shaders/post_processing/Common/PL5x8_PL8x8.asm
deleted file mode 100644 (file)
index 068b2ba..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL5x8_PL8x8.asm
-
-#include "Expansion.inc"
-
-//------------------------------ Horizontal Upconversion -----------------------------
-    $for (0; <nUV_NUM_OF_ROWS; 1) {
-        avg.sat (8) uwDEST_U(0, %1*8)    uwDEST_U(0, %1*8)<1;2,0>    uwDEST_U(0, %1*8)<1;2,1>
-        avg.sat (8) uwDEST_V(0, %1*8)    uwDEST_V(0, %1*8)<1;2,0>    uwDEST_V(0, %1*8)<1;2,1>
-    }
-
-// End of PL5x8_PL8x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.asm b/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.asm
deleted file mode 100644 (file)
index c286992..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x4_Save_IMC3.asm
-//
-// Save planar YUV420 frame data block of size 16x8
-
-#include "PL8x4_Save_IMC3.inc"
-
-//Use the mask to determine which pixels shouldn't be over-written
-    and (1)        acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0x00FFFFFF:ud
-    cmp.ge.f0.0(1) dNULLREG     acc0.0<0;1,0>:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-    (f0.0)  jmpi WritePlanarToDataPort
-
-    //If mask is not all 1's, then load the entire 16x8 block
-    //so that only those bytes may be modified that need to be (using the mask)
-
-    // Load 16x8 planar Y ----------------------------------------------------------
-    mov  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w          // Block origin
-    mov  (1) rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_Y:ud    // Block width and height (16x8)
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-    send (8) udSRC_Y(0)<1>      mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_DESTINATION_Y:ud
-    // Load 8x4 planar U and V -----------------------------------------------------
-    asr  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    1:w   // U/V block origin should be half of Y's
-    mov  (1) rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_UV:ud   // Block width and height (8x4)
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-    send (8) udSRC_U(0)<1>      mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_DESTINATION_U:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-    send (8) udSRC_V(0)<1>      mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_DESTINATION_V:ud
-
-    //expand U and V to be aligned on word boundary - Y remains in bytes
-    $for (nUV_NUM_OF_ROWS/2-1; >-1; -1) {
-        mov (16)  uwSRC_U(0, %1*16)<1>    ubSRC_U(0, %1*16)
-        mov (16)  uwSRC_V(0, %1*16)<1>    ubSRC_V(0, %1*16)
-    }
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  mov (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    // Destination is Word aligned
-    $for(0; <nY_NUM_OF_ROWS; 2) {
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (16)    ub2DEST_Y(0, %1*32)<2>    ubSRC_Y(0, %1*16)
-        (-f0.1) mov (16)    ub2DEST_U(0, %1*8)<1>     ubSRC_U(0, %1*8)    //only works for Word aligned Byte data
-        (-f0.1) mov (16)    ub2DEST_V(0, %1*8)<1>     ubSRC_V(0, %1*8)    //only works for Word aligned Byte data
-
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,1+%1)<0;1,0>
-        (-f0.1) mov (16)    ub2DEST_Y(0, 1+%1*32)<2>  ubSRC_Y(0, 1+%1*16)
-    }
-
-WritePlanarToDataPort:
-#if !defined(SAVE_UV_ONLY)
-// Save current planar frame Y block data (16x8) -------------------------------
-    mov (2)     rMSGSRC.0<1>:d     wORIX<2;2,1>:w          // Block origin
-    mov (1)     rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_Y:ud    // Block width and height (16x8)
-    mov (8)     mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-    $for(0,0; <nY_NUM_OF_ROWS; 2,1) {
-        mov(16) mubMSGPAYLOAD(%2,0)<1>     ub2DEST_Y(%1)REGION(16,2)
-        mov(16) mubMSGPAYLOAD(%2,16)<1>    ub2DEST_Y(%1+1)REGION(16,2)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_Y+nBI_DESTINATION_Y:ud
-#endif
-// Save U/V data block in planar format (8x4) ----------------------------------
-    asr  (2)    rMSGSRC.0<1>:d     wORIX<2;2,1>:w    1:w   // U/V block origin should be half of Y's
-    mov  (1)    rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_UV:ud   // Block width and height (8x4)
-    mov  (8)    mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-// Save U picture data ---------------------------------------------------------
-    mov (16)    mubMSGPAYLOAD(0,0)<1>      ub2DEST_U(0)REGION(16,2)   // U rows 0,1
-    mov (16)    mubMSGPAYLOAD(0,16)<1>     ub2DEST_U(1)REGION(16,2)   // U rows 2,3
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_UV+nBI_DESTINATION_U:ud
-    mov  (8)    mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-// Save V picture data ---------------------------------------------------------
-    mov  (16)   mubMSGPAYLOAD(0,0)<1>      ub2DEST_V(0)REGION(16,2)   // V rows 0,1
-    mov  (16)   mubMSGPAYLOAD(0,16)<1>     ub2DEST_V(1)REGION(16,2)   // V rows 2,3
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_UV+nBI_DESTINATION_V:ud
-
-// End of PL8x4_Save_IMC3
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.inc b/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_IMC3.inc
deleted file mode 100644 (file)
index 3b1df17..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x4_Save_IMC3.inc
-//
-// Setup for storing planar data
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-// For saving
-#define nDPW_BLOCK_SIZE_Y        nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8    // Y block size 16x8
-#define nDPW_MSG_SIZE_Y          nMSGLEN_4                          // # of MRF's to hold Y block data (4)
-#define nDPW_BLOCK_SIZE_UV       nBLOCK_WIDTH_8+nBLOCK_HEIGHT_4     // U/V block size 8x4
-#define nDPW_MSG_SIZE_UV         nMSGLEN_1                          // # of MRF's to hold U/V block data (1)
-
-// For masking
-#undef  nDPR_MSG_SIZE_Y
-#define nDPR_MSG_SIZE_Y      nRESLEN_4        // # of MRF's to hold Y block data (4)
-#undef  nDPR_MSG_SIZE_UV
-#define nDPR_MSG_SIZE_UV     nRESLEN_1        // # of MRF's to hold U/V block data (1)
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-#if (nSRC_REGION==nREGION_1)
-    // For saving
-    #define ub2DEST_Y        ub2TOP_Y
-    #define ub2DEST_U        ub2TOP_U
-    #define ub2DEST_V        ub2TOP_V
-    //For masking operation
-    #define udSRC_Y          udBOT_Y_IO
-    #define udSRC_U          udBOT_U_IO
-    #define udSRC_V          udBOT_V_IO
-    #define ubSRC_Y          ubBOT_Y
-    #define ubSRC_U          ubBOT_U
-    #define ubSRC_V          ubBOT_V
-    #define uwSRC_U          uwBOT_U
-    #define uwSRC_V          uwBOT_V
-
-#elif (nSRC_REGION==nREGION_2)
-    // For saving
-    #define ub2DEST_Y        ub2BOT_Y
-    #define ub2DEST_U        ub2BOT_U
-    #define ub2DEST_V        ub2BOT_V
-    //For masking operation
-    #define udSRC_Y          udTOP_Y_IO
-    #define udSRC_U          udTOP_U_IO
-    #define udSRC_V          udTOP_V_IO
-    #define ubSRC_Y          ubTOP_Y
-    #define ubSRC_U          ubTOP_U
-    #define ubSRC_V          ubTOP_V
-    #define uwSRC_U          uwTOP_U
-    #define uwSRC_V          uwTOP_V
-
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.asm b/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.asm
deleted file mode 100644 (file)
index b54a316..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-// Module name: PL8x4_Save_NV12.asm
-//
-// Save entire current planar frame data block of size 16x8
-//---------------------------------------------------------------
-//  Symbols needed to be defined before including this module
-//
-//      DWORD_ALIGNED_DEST:     only if DEST_Y, DEST_U, DEST_V data are DWord aligned
-//      ORIX:
-//---------------------------------------------------------------
-
-#include "PL8x4_Save_NV12.inc"
-
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-#if !defined(SAVE_UV_ONLY)
-// Save current planar frame Y block data (16x8) -------------------------------
-
-    mov  (2) mMSGHDR.0<1>:d     wORIX<2;2,1>:w          // Block origin
-    mov  (1) mMSGHDR.2<1>:ud    nDPW_BLOCK_SIZE_Y:ud    // Block width and height (16x8)
-#endif
-
-//Use the mask to determine which pixels shouldn't be over-written
-       and     (1)             acc0<1>:ud              udBLOCK_MASK<0;1,0>:ud          0x00FFFFFF:ud
-       cmp.ge.f0.0     (1)             dNULLREG                acc0<0;1,0>:ud          0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-       (f0.0)  jmpi WritePlanarToDataPort
-
-//If mask is not all 1's, then load the entire 16x8 block
-//so that only those bytes may be modified that need to be (using the mask)    
-  send (8)     udSRC_Y(0)<1>   mMSGHDR udDUMMY_NULL nDATAPORT_READ     nDPMR_MSGDSC+nDPR_MSG_SIZE_Y+nBI_DESTINATION_Y:ud               //16x8  
-    
-  asr  (1)     rMSGSRC.1<1>:ud wORIY<0;1,0>:w  1:w     { NoDDClr }     // U/V block origin should be half of Y's
-  mov  (1)     rMSGSRC.2<1>:ud nDPW_BLOCK_SIZE_UV:ud           { NoDDChk }     // Block width and height (16x4)
-  mov (8)  mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud //move message desrcptor to the message header
-  send (8)     udSRC_U(0)<1>   mMSGHDR udDUMMY_NULL nDATAPORT_READ nDPMR_MSGDSC+nDPR_MSG_SIZE_UV+nBI_DESTINATION_UV:ud                                                            
-       
-//Restore the origin information
-  mov (2)      rMSGSRC.0<1>:ud wORIX<2;2,1>:w          // Block origin
-  mov (1)      rMSGSRC.2<1>:ud nDPW_BLOCK_SIZE_Y:ud            // Block width and height (16x8)
-  mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud //move message desrcptor to the message header 
-       
-//Merge the data
-       mov  (1)        f0.1:uw                 ubBLOCK_MASK_V:ub                       //Load the mask on flag reg
-       (f0.1)  mov     (8)     rMASK_TEMP<1>:uw        uwBLOCK_MASK_H:uw
-       (-f0.1) mov     (8)     rMASK_TEMP<1>:uw        0:uw  
-    
-//convert the mask from 16bits to 8bits by selecting every other bit
-       mov (1) udMASK_TEMP1(0,0)<1> 0x00040001:ud 
-       mov (1) udMASK_TEMP1(0,1)<1> 0x00400010:ud
-       mov (1) udMASK_TEMP1(0,2)<1> 0x04000100:ud
-       mov (1) udMASK_TEMP1(0,3)<1> 0x40001000:ud
-
-//merge the loaded block with the current block
-  $for(0,0; <nY_NUM_OF_ROWS; 2,1) {
-       mov     (1)     f0.1:uw         uwMASK_TEMP(0, %1)<0;1,0>
-               (-f0.1) mov  (16)       ubDEST_Y(0,%1*32)<2>            ubSRC_Y(0,%1*16)                
-
-         and.nz.f0.1 (8) wNULLREG uwMASK_TEMP(0,%1)<0;1,0> uwMASK_TEMP1(0,0) //change the mask by selecting every other bit
-               (-f0.1) mov  (8)        ubDEST_U(0, %2*16)<2>           ub2SRC_U(0, %1*8)<16;8,2>
-               (-f0.1) mov  (8)        ubDEST_V(0, %2*16)<2>           ub2SRC_U(0, %1*8+1)<16;8,2>
-               
-               mov     (1)     f0.1:uw         uwMASK_TEMP(0,1+%1)<0;1,0>
-               (-f0.1) mov  (16)       ubDEST_Y(0, (1+%1)*32)<2>       ubSRC_Y(0, (1+%1)*16)           
-  
-  }     
-
-WritePlanarToDataPort:
-#if !defined(SAVE_UV_ONLY)
-    $for(0,0; <nY_NUM_OF_ROWS; 2,1) {
-            mov (16) mubMSGPAYLOAD(%2,0)<1>     ub2DEST_Y(%1)REGION(16,2)
-            mov (16) mubMSGPAYLOAD(%2,16)<1>    ub2DEST_Y(%1+1)REGION(16,2)
-    } 
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_Y+nBI_DESTINATION_Y:ud
-#endif
-    
-//** Save  8x4 packed U and V -----------------------------------------------------
-// we could write directly wORIX to mMSGHDR and then execute asr on it, that way we could
-// avoid using rMSGSRC as a buffer and have one command less in code, but it is unknown whether
-//it is possible to do asr on mMSGHDR so we use rMSGSRC.
-    mov (2)  rMSGSRC.0<1>:d    wORIX<2;2,1>:w             // Block origin
-    asr (1)  rMSGSRC.1<1>:d    rMSGSRC.1<0;1,0>:d    1:w  // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud   nDPW_BLOCK_SIZE_UV:ud      // U/V block width and height (16x4)
-    mov (8)  mMSGHDR<1>:ud     rMSGSRC<8;8,1>:ud
-
-    $for(0,0; <nY_NUM_OF_ROWS;4,1) {
-        mov (16) mubMSGPAYLOAD(%2,0)<2>     ub2DEST_U(%2)REGION(16,2) 
-        mov (16) mubMSGPAYLOAD(%2,1)<2>     ub2DEST_V(%2)REGION(16,2) 
-    }
-    send (8)    dNULLREG    mMSGHDR    udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_UV+nBI_DESTINATION_UV:ud
-
-// End of PL8x4_Save_NV12  
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.inc b/i965_drv_video/shaders/post_processing/Common/PL8x4_Save_NV12.inc
deleted file mode 100644 (file)
index 879d7e3..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//Module name: PL8x4_Save_NV12.inc
-//
-// Setup for storing planar data
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-#undef nDPW_BLOCK_SIZE_Y
-#undef nDPW_MSG_SIZE_Y
-#undef nDPW_BLOCK_SIZE_UV
-#undef nDPW_MSG_SIZE_UV
-
-#define nDPW_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // Y block size 16x8
-#define nDPW_MSG_SIZE_Y     nMSGLEN_4                         // # of MRF's to hold Y block data (4)
-#define nDPW_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4    // U/V interleaved block width and height (16x4)
-#define nDPW_MSG_SIZE_UV    nMSGLEN_2                         // # of MRF's to hold U/V block data (2)
-
-// For masking
-#undef  nDPR_MSG_SIZE_Y
-#define nDPR_MSG_SIZE_Y        nRESLEN_4                          // # of MRF's to hold Y block data (4)
-#undef  nDPR_MSG_SIZE_UV
-#define nDPR_MSG_SIZE_UV       nRESLEN_2  
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-#define     rMASK_TEMP1     REG(r,nTEMP1)
-.declare    udMASK_TEMP1    Base=rMASK_TEMP1    ElementSize=4    SrcRegion=<4;4,1>    Type=ud        //1 GRF
-.declare    uwMASK_TEMP1    Base=rMASK_TEMP1    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-
-#if (nSRC_REGION==nREGION_1)
-        #define udSRC_Y                 udBOT_Y_IO
-        #define udSRC_U                 udBOT_U_IO
-        #define udSRC_V                 udBOT_V_IO
-        #define ubSRC_Y                 ubBOT_Y
-        #define ubSRC_U                 ubBOT_U
-        #define ubSRC_V                 ubBOT_V
-
-        #define uwSRC_U                 uwBOT_U  //For masking operation
-        #define uwSRC_V                 uwBOT_V
-
-        #define ub2DEST_Y               ub2TOP_Y
-        #define ub2DEST_U               ub2TOP_U
-        #define ub2DEST_V               ub2TOP_V
-       
-             #define ubDEST_Y                      ubTOP_Y     
-       #define ubDEST_U                            ubTOP_U     
-        #define ubDEST_V                           ubTOP_V
-        
-        #define ub2SRC_U                                 ub2BOT_U
-#elif (nSRC_REGION==nREGION_2)
-        #define udSRC_Y                 udTOP_Y_IO
-        #define udSRC_U                 udTOP_U_IO
-        #define udSRC_V                 udTOP_V_IO
-        #define ubSRC_Y                 ubTOP_Y
-        #define ubSRC_U                 ubTOP_U
-        #define ubSRC_V                 ubTOP_V
-
-        #define uwSRC_U                 uwTOP_U  //For masking operation
-        #define uwSRC_V                 uwTOP_V
-
-        #define ub2DEST_Y               ub2BOT_Y
-        #define ub2DEST_U               ub2BOT_U
-        #define ub2DEST_V               ub2BOT_V
-
-             #define ubDEST_Y                      ubBOT_Y     
-       #define ubDEST_U                            ubBOT_U     
-        #define ubDEST_V                           ubBOT_V        
-        
-        #define ub2SRC_U                                 ub2TOP_U
-#endif
-
-///* Yoni - masking is not relevant for ILK?!? 
-//#define         TEMP0   REG(r,54)
-//.declare    TEMP        Base=TEMP0      ElementSize=2   SrcRegion=<8;8,1>       Type=uw
-///* Yoni - masking is not relevant for ILK?!? 
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x5_PL8x8.asm b/i965_drv_video/shaders/post_processing/Common/PL8x5_PL8x8.asm
deleted file mode 100644 (file)
index 5b98be0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x5_PL8x8.asm
-
-#include "Expansion.inc"
-
-//------------------------------- Vertical Upconversion ------------------------------
-    avg.sat (8) uwDEST_U(0, 3*16+8)<1>   uwDEST_U(0, 3*8)    uwDEST_U(0, (1+3)*8)    // Optimization
-    avg.sat (8) uwDEST_V(0, 3*16+8)<1>   uwDEST_V(0, 3*8)    uwDEST_V(0, (1+3)*8)    // Optimization
-
-    $for(nUV_NUM_OF_ROWS/2-2; >-1; -1) {
-        mov     (8) uwDEST_U(0, (1+%1)*16)<1>    uwDEST_U(0, (1+%1)*8)
-        avg.sat (8) uwDEST_U(0, %1*16+8)<1>   uwDEST_U(0, %1*8)    uwDEST_U(0, (1+%1)*8)
-
-        mov     (8) uwDEST_V(0, (1+%1)*16)<1>    uwDEST_V(0, (1+%1)*8)
-        avg.sat (8) uwDEST_V(0, %1*16+8)<1>   uwDEST_V(0, %1*8)    uwDEST_V(0, (1+%1)*8)
-    }
-
-// End of PL8x5_PL8x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.asm b/i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.asm
deleted file mode 100644 (file)
index f21d224..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x8_PL8x4.asm
-//
-// Convert PL 8x8 to PL8x4 in GRF
-//---------------------------------------------------------------
-//  Symbols needed to be defined before including this module
-//
-//     DWORD_ALIGNED_DEST:     only if DEST_Y, DEST_U, DEST_V data are DWord aligned
-//     ORIX:
-//---------------------------------------------------------------
-
-#include "PL8x8_PL8x4.inc"
-  
-// Convert PL8x8 to PL8x4 ---------------------------------------------------------
-
-  mov (8) ubDEST_U(0,16)<2> ubDEST_U(1)<16;8,2> //selecting U every other row
-  mov (16) ubDEST_U(0,32)<2> ubDEST_U(2)<32;8,2> //selecting U every other row
-  mov (8) ubDEST_V(0,16)<2> ubDEST_V(1)<16;8,2> //selecting V every other row
-  mov (16) ubDEST_V(0,32)<2> ubDEST_V(2)<32;8,2> //selecting V every other row
-  
-// End of PL8x8_PL8x4.asm -------------------------------------------------------
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.inc b/i965_drv_video/shaders/post_processing/Common/PL8x8_PL8x4.inc
deleted file mode 100644 (file)
index bec884e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x8_PL8x4.inc
-//
-// Setup module for convert PL8x8 to PL8x4 
-//
-// 
-
-// Source/destination region definitions
-//
-#include "undefall.inc"                                //Undefine the SRC and DEST sysmbols
-
-#if (nSRC_REGION==nREGION_1)
-
-       //REGION_1 selected
-       #define ubDEST_Y                ubTOP_Y         
-       #define ubDEST_U                ubTOP_U 
-  #define ubDEST_V             ubTOP_V
-       
-#elif (nSRC_REGION==nREGION_2)
-
-       //REGION_2 selected     
-       #define ubDEST_Y                ubBOT_Y 
-       #define ubDEST_U                ubBOT_U 
-       #define ubDEST_V                ubBOT_V
-  
-       
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.asm b/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.asm
deleted file mode 100644 (file)
index 6b3258f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-// Module name: PL8x8_Save_P208.asm
-//
-// Save entire current planar frame data block of size 16x8
-//---------------------------------------------------------------
-//  Symbols needed to be defined before including this module
-//
-//      DWORD_ALIGNED_DEST:     only if DEST_Y, DEST_U, DEST_V data are DWord aligned
-//      ORIX:
-//---------------------------------------------------------------
-
-#include "PL8x8_Save_P208.inc"
-
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-#if !defined(SAVE_UV_ONLY)
-// Save current planar frame Y block data (16x8) -------------------------------
-
-    mov  (2) mMSGHDR.0<1>:d     wORIX<2;2,1>:w          // Block origin
-    mov  (1) mMSGHDR.2<1>:ud    nDPW_BLOCK_SIZE_Y:ud    // Block width and height (16x8)
-
-WritePlanarToDataPort:
-    $for(0,0; <nY_NUM_OF_ROWS; 2,1) {
-            mov (16) mubMSGPAYLOAD(%2,0)<1>     ub2DEST_Y(%1)REGION(16,2)
-            mov (16) mubMSGPAYLOAD(%2,16)<1>    ub2DEST_Y(%1+1)REGION(16,2)
-    } 
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_Y+nBI_DESTINATION_Y:ud
-#endif
-    
-//** Save  8x8 packed U and V -----------------------------------------------------
-// we could write directly wORIX to mMSGHDR and then execute asr on it, that way we could
-// avoid using rMSGSRC as a buffer and have one command less in code, but it is unknown whether
-//it is possible to do asr on mMSGHDR so we use rMSGSRC.
-    mov (2)  rMSGSRC.0<1>:d    wORIX<2;2,1>:w             // Block origin
-                                                                                                        
-    mov (1)  rMSGSRC.2<1>:ud   nDPW_BLOCK_SIZE_UV:ud      // U/V block width and height (16x4)
-    mov (8)  mMSGHDR<1>:ud     rMSGSRC<8;8,1>:ud
-
-    $for(0,0; <nY_NUM_OF_ROWS;2,1) {
-        mov (16) mubMSGPAYLOAD(%2,0)<2>     ub2DEST_U(%2)REGION(16,2) 
-        mov (16) mubMSGPAYLOAD(%2,1)<2>     ub2DEST_V(%2)REGION(16,2) 
-    }
-    send (8)    dNULLREG    mMSGHDR    udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_UV+nBI_DESTINATION_UV:ud
-
-//End of PL8x8_Save_P208.asm  
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.inc b/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_P208.inc
deleted file mode 100644 (file)
index e3b7d09..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-//Module name: PL8x8_Save_P208.inc
-//
-// Setup for storing planar data
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-#define nDPW_BLOCK_SIZE_Y   nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // Y block size 16x8
-#define nDPW_MSG_SIZE_Y     nMSGLEN_4                         // # of MRF's to hold Y block data (4)
-#define nDPW_BLOCK_SIZE_UV  nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8    // U/V interleaved block width and height (16x8)
-#define nDPW_MSG_SIZE_UV    nMSGLEN_4                         // # of MRF's to hold U/V block data (4)
-
-#if (nSRC_REGION==nREGION_1)
-        #define udSRC_Y                 udBOT_Y_IO
-        #define udSRC_U                 udBOT_U_IO
-        #define udSRC_V                 udBOT_V_IO
-        #define ubSRC_Y                 ubBOT_Y
-        #define ubSRC_U                 ubBOT_U
-        #define ubSRC_V                 ubBOT_V
-
-        #define uwSRC_U                 uwBOT_U  //For masking operation
-        #define uwSRC_V                 uwBOT_V
-
-        #define ub2DEST_Y               ub2TOP_Y
-        #define ub2DEST_U               ub2TOP_U
-        #define ub2DEST_V               ub2TOP_V
-        
-#elif (nSRC_REGION==nREGION_2)
-        #define udSRC_Y                 udTOP_Y_IO
-        #define udSRC_U                 udTOP_U_IO
-        #define udSRC_V                 udTOP_V_IO
-        #define ubSRC_Y                 ubTOP_Y
-        #define ubSRC_U                 ubTOP_U
-        #define ubSRC_V                 ubTOP_V
-
-        #define uwSRC_U                 uwTOP_U  //For masking operation
-        #define uwSRC_V                 uwTOP_V
-
-        #define ub2DEST_Y               ub2BOT_Y
-        #define ub2DEST_U               ub2BOT_U
-        #define ub2DEST_V               ub2BOT_V
-        
-#endif
-
-///* Yoni - masking is not relevant for ILK?!? 
-//#define         TEMP0   REG(r,54)
-//.declare    TEMP        Base=TEMP0      ElementSize=2   SrcRegion=<8;8,1>       Type=uw
-///* Yoni - masking is not relevant for ILK?!? 
-
-
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.asm b/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.asm
deleted file mode 100644 (file)
index d22c76d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x8_Save_PA.asm
-//
-// Save planar YUV422 to packed YUV422 format data
-//
-// Note: SRC_* must reference to regions with data type "BYTE"
-//               in order to save to byte-aligned byte location
-
-#include "PL8x8_Save_PA.inc"
-
-    add (4) pCF_Y_OFFSET<1>:uw   ubDEST_CF_OFFSET<4;4,1>:ub   nDEST_YUV_REG*nGRFWIB:w    // Initial Y,U,V offset in YUV422 block
-
-    // Pack Y
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (16) r[pCF_Y_OFFSET, %1*nGRFWIB]<2>    ubSRC_Y(0,%1*32)
-    }
-
-    // Pack U/V
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (8)  r[pCF_U_OFFSET, %1*nGRFWIB]<4>    ubSRC_U(0, %1*16)
-        mov (8)  r[pCF_V_OFFSET, %1*nGRFWIB]<4>    ubSRC_V(0, %1*16)
-    }
-
-    shl (1) rMSGSRC.0<1>:d      wORIX<0;1,0>:w            1:w  { NoDDClr }             // H. block origin need to be doubled
-    mov (1) rMSGSRC.1<1>:d      wORIY<0;1,0>:w                 { NoDDClr, NoDDChk }    // Block origin
-    mov (1) rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_YUV:ud         { NoDDChk }             // Block width and height (32x8)
-
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-
-//Use the mask to determine which pixels shouldn't be over-written
-    and (1)        acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0x00FFFFFF:ud
-    cmp.ge.f0.0(1) dNULLREG     acc0.0<0;1,0>:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-    (f0.0)  jmpi WritePackedToDataPort
-
-    //If mask is not all 1's, then load the entire 32x8 block
-    //so that only those bytes may be modified that need to be (using the mask)
-
-    // Load 32x8 packed YUV 422 ----------------------------------------------------
-    send (8) udSRC_YUV(0)<1>    mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_YUV+nBI_DESTINATION_YUV:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  mov (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    // Destination is Byte aligned
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (16)    uwDEST_YUV(%1)<1>         uwSRC_YUV(%1)        //check the UV merge - vK
-    }
-
-WritePackedToDataPort:
-    //  Packed YUV data are stored in one of the I/O regions before moving to MRF
-    //  Note: This is necessary since indirect addressing is not supported for MRF. 
-    //  Packed data block should be saved as 32x8 pixel block
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_YUV(%1)REGION(8,1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_YUV+nBI_DESTINATION_YUV:ud
-
-// End of PL8x8_Save_PA
diff --git a/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.inc b/i965_drv_video/shaders/post_processing/Common/PL8x8_Save_PA.inc
deleted file mode 100644 (file)
index a5cb4a3..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL8x8_Save_PA.inc
-//
-// Setup for storing packed data
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-// For saving
-#define nDPW_BLOCK_SIZE_YUV      nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8    // YUV block size 32x8
-#define nDPW_MSG_SIZE_YUV        nMSGLEN_8                          // # of MRF's to hold YUV block data (8)
-
-// For masking
-#undef  nDPR_MSG_SIZE_YUV
-#define nDPR_MSG_SIZE_YUV        nRESLEN_8                          // # of MRF's to hold YUV block data (8)
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-#if (nSRC_REGION==nREGION_1)
-    // For saving
-    #define udSRC_YUV        udTOP_Y_IO
-    #define udDEST_YUV       udBOT_Y_IO
-    #define nDEST_YUV_REG    nBOT_Y
-    //For masking operation
-    #define ubSRC_Y          ub2TOP_Y
-    #define ubSRC_U          ub2TOP_U
-    #define ubSRC_V          ub2TOP_V
-    #define uwSRC_YUV        uwTOP_Y
-    #define uwDEST_YUV       uwBOT_Y
-
-#elif (nSRC_REGION==nREGION_2)
-    // For saving
-    #define udSRC_YUV        udBOT_Y_IO
-    #define udDEST_YUV       udTOP_Y_IO
-    #define nDEST_YUV_REG    nTOP_Y
-    //For masking operation
-    #define ubSRC_Y          ub2BOT_Y
-    #define ubSRC_U          ub2BOT_U
-    #define ubSRC_V          ub2BOT_V
-    #define uwSRC_YUV        uwBOT_Y
-    #define uwDEST_YUV       uwTOP_Y
-
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/PL9x5_PL16x8.asm b/i965_drv_video/shaders/post_processing/Common/PL9x5_PL16x8.asm
deleted file mode 100644 (file)
index 697454f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL9x5_PL16x8.asm
-
-#define EXPAND_9x5
-#include "Expansion.inc"
-
-//------------------------------ Horizontal Upconversion -----------------------------
-    $for (nUV_NUM_OF_ROWS-2; >-1; -1) {
-        avg.sat (16) uwDEST_U(0, %1*16)<1>    uwDEST_U(0, %1*16)<1;2,0>    uwDEST_U(0, %1*16)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*16)<1>    uwDEST_V(0, %1*16)<1;2,0>    uwDEST_V(0, %1*16)<1;2,1>
-    }
-
-#undef         nUV_NUM_OF_ROWS
-#define nUV_NUM_OF_ROWS                8       //use packed version of all post-processing kernels
-
-//------------------------------- Vertical Upconversion ------------------------------
-    avg.sat (16) uwDEST_U(0, 3*32+16)<1>   uwDEST_U(0, 3*16)    uwDEST_U(0, (1+3)*16)
-    avg.sat (16) uwDEST_V(0, 3*32+16)<1>   uwDEST_V(0, 3*16)    uwDEST_V(0, (1+3)*16)
-
-    $for(nUV_NUM_OF_ROWS/2-2; >-1; -1) {
-        mov     (16) uwDEST_U(0, (1+%1)*32)<1>    uwDEST_U(0, (1+%1)*16)
-        avg.sat (16) uwDEST_U(0, %1*32+16)<1>   uwDEST_U(0, %1*16)    uwDEST_U(0, (1+%1)*16)
-
-        mov     (16) uwDEST_V(0, (1+%1)*32)<1>    uwDEST_V(0, (1+%1)*16)
-        avg.sat (16) uwDEST_V(0, %1*32+16)<1>   uwDEST_V(0, %1*16)    uwDEST_V(0, (1+%1)*16)
-    }
-
-// End of PL9x5_PL16x8
diff --git a/i965_drv_video/shaders/post_processing/Common/PL9x8_PL16x8.asm b/i965_drv_video/shaders/post_processing/Common/PL9x8_PL16x8.asm
deleted file mode 100644 (file)
index b0fa549..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: PL9x5_PL16x8.asm
-
-#include "Expansion.inc"
-
-//------------------------------ Horizontal Upconversion -----------------------------
-    $for (0; <nUV_NUM_OF_ROWS; 1) {
-        avg.sat (16) uwDEST_U(0, %1*16)<1>    uwDEST_U(0, %1*16)<1;2,0>    uwDEST_U(0, %1*16)<1;2,1>
-        avg.sat (16) uwDEST_V(0, %1*16)<1>    uwDEST_V(0, %1*16)<1;2,0>    uwDEST_V(0, %1*16)<1;2,1>
-    }
-
-// End of PL9x5_PL16x8
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.asm b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.asm
deleted file mode 100644 (file)
index 7903d63..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_RGB.asm
-//
-// Save packed ARGB 444 frame data block of size 16x8
-//
-// To save 16x8 block (64x8 byte layout for ARGB8888) we need 2 send instructions
-//  ---------
-//  | 1 | 2 |
-//  --------- 
-
-#include "RGB16x8_Save_RGB.inc"
-
-    shl (1) rMSGSRC.0<1>:d      wORIX<0;1,0>:w            2:w  { NoDDClr }             // H. block origin need to be quadrupled
-    mov (1) rMSGSRC.1<1>:d      wORIY<0;1,0>:w                 { NoDDClr, NoDDChk }    // Block origin (1st quadrant)
-    mov (1) rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_ARGB:ud        { NoDDChk }             // Block width and height (32x8)
-
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-
-//Use the mask to determine which pixels shouldn't be over-written
-    and (1)        acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0x00FFFFFF:ud
-    cmp.ge.f0.0(1) dNULLREG     acc0.0<0;1,0>:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-    (f0.0)  jmpi WriteARGBToDataPort
-
-    //If mask is not all 1's, then load the entire 64x8 block
-    //so that only those bytes may be modified that need to be (using the mask)
-
-    // Load first block 16x8 packed ARGB 444 ---------------------------------------
-    or (1)         acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0xFF00FF00:ud   //Check first block
-    cmp.e.f0.0 (1) dNULLREG     acc0.0<0;1,0>:ud         0xFFFFFFFF:ud   
-    (f0.0)  jmpi SkipFirstBlockMerge                                     //If full mask then skip this block
-
-    send (8) udSRC_ARGB(0)<1>   mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  mov (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw    //use sel instruction - vK
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    $for(0, 0; <nY_NUM_OF_ROWS; 1, 2) {               //take care of the lines in the block, they are different in the src and dest
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (8)     udDEST_ARGB(%2)<1>        udSRC_ARGB(%1) 
-    }
-
-SkipFirstBlockMerge:
-    // Load second block 16x8 packed ARGB 444 ---------------------------------------
-    or (1)         acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0xFF0000FF:ud   //Check second block
-    cmp.e.f0.0 (1) dNULLREG     acc0.0<0;1,0>:ud         0xFFFFFFFF:ud   
-    (f0.0)  jmpi WriteARGBToDataPort                                     //If full mask then skip this block
-
-    add  (1) mMSGHDR.0<1>:d     rMSGSRC.0<0;1,0>:d       32:d     // Point to 2nd part
-    send (8) udSRC_ARGB(0)<1>   mMSGHDR    udDUMMY_NULL  nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud                 // Point to 1st part again
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  shr (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw    8:uw    //load the mask for second block
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    $for(0, 1; <nY_NUM_OF_ROWS; 1, 2) {               //take care of the lines in the block, they are different in the src and dest
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (8)     udDEST_ARGB(%2)<1>        udSRC_ARGB(%1) 
-    }
-
-WriteARGBToDataPort:
-    // Move packed data to MRF and output
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*2)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-    mov  (8)    mMSGHDR<1>:ud         rMSGSRC<8;8,1>:ud
-    add  (1)    mMSGHDR.0<1>:d        rMSGSRC.0<0;1,0>:d       32:d   // Point to 2nd part
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*2+1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-// End of RGB16x8_Save_RGB
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.inc b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB.inc
deleted file mode 100644 (file)
index 3dee653..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_RGB.inc
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-// For saving
-#define nDPW_BLOCK_SIZE_ARGB     nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8    // ARGB block size 32x8
-#define nDPW_MSG_SIZE_ARGB       nMSGLEN_8                          // # of MRF's to hold ARGB block data (8)
-
-// For masking
-#undef  nDPR_MSG_SIZE_ARGB
-#define nDPR_MSG_SIZE_ARGB       nRESLEN_8                          // # of MRF's to hold ARGB block data (8)
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-#if (nSRC_REGION==nREGION_1)
-    // For saving
-    #define udDEST_ARGB      udTOP_Y_IO    //The output of previous stage is stored here; This is modified and is written to render cache
-    //For masking operation
-    #define udSRC_ARGB       udBOT_Y_IO    //To hold the destination data that shouldn't be modified
-
-#elif (nSRC_REGION==nREGION_2)
-    // For saving
-    #define udDEST_ARGB      udBOT_Y_IO    //The output of previous stage is stored here; This is modified and is written to render cache
-    //For masking operation
-    #define udSRC_ARGB       udTOP_Y_IO    //To hold the destination data that shouldn't be modified
-
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.asm b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.asm
deleted file mode 100644 (file)
index 3fbb9eb..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_RGB16.asm
-//
-// Save packed RGB565 frame data block of size 16x8
-//
-// To save 16x8 block (32x8 byte layout for RGB565) we need 1 send instruction
-//  -----
-//  | 1 |
-//  ----- 
-
-#include "RGB16x8_Save_RGB16.inc"
-
-//convert 32 bit RGB to 16 bit RGB
-    // Truncate A8R8G8B8 to A6R5G6B5 within byte.
-    // That is keeping 5 MSB of R and B, and 6 MSB of G.
-
-    $for (0, 0; <nY_NUM_OF_ROWS; 1, 2) {
-        shr     uwCSC_TEMP(%1,0)<1>    ubDEST_ARGB(%2,0)<32;8,4>   3:w                // B >> 3
-
-        shl (16) uwTEMP_RGB16(0)<1>    uwDEST_ARGB(%2,1)<16;8,2>   8:w                // R << 8
-        and (16) uwTEMP_RGB16(0)<1>    uwTEMP_RGB16(0)             0xF800:uw
-        or  (16) uwCSC_TEMP(%1,0)<1>   uwCSC_TEMP(%1,0)<16;16,1>   uwTEMP_RGB16(0)
-
-        shr (16) uwTEMP_RGB16(0)<1>    uwDEST_ARGB(%2,0)<16;8,2>   5:w                // G >> 5
-        and (16) uwTEMP_RGB16(0)<1>    uwTEMP_RGB16(0)             0x07E0:uw
-        or  (16) uwCSC_TEMP(%1,0)<1>   uwCSC_TEMP(%1,0)<16;16,1>   uwTEMP_RGB16(0)
-    }
-
-    mov (2) rMSGSRC.0<1>:d      wORIX<2;2,1>:w                      // Block origin (1st quadrant)
-    shl (1) rMSGSRC.0<1>:d      wORIX<0;1,0>:w              1:w     // H. block origin need to be doubled for byte offset
-    mov (1) rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_RGB16:ud            // Block width and height (32x8)
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-
-//Use the mask to determine which pixels shouldn't be over-written
-    and (1)        acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0x00FFFFFF:ud
-    cmp.ge.f0.0(1) dNULLREG     acc0.0<0;1,0>:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-    (f0.0)  jmpi WriteRGB16ToDataPort
-
-    //If mask is not all 1's, then load the entire 32x8 block
-    //so that only those bytes may be modified that need to be (using the mask)
-
-    // Load 32x8 packed RGB565 -----------------------------------------------------
-    send (8) udSRC_RGB16(0)<1>  mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_RGB16+nBI_DESTINATION_RGB:ud
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  mov (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw    //use sel instruction - vK
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (16)    uwCSC_TEMP(%1)<1>         uwSRC_RGB16(%1)
-    }
-
-WriteRGB16ToDataPort:
-    // Move packed data to MRF and output
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udCSC_TEMP(%1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_RGB16+nBI_DESTINATION_RGB:ud
-
-// End of RGB16x8_Save_RGB16
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.inc b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_RGB16.inc
deleted file mode 100644 (file)
index 8161432..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_RGB16.inc
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-// For saving
-#define nDPW_BLOCK_SIZE_RGB16    nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8    // RGB16 block size 32x8
-#define nDPW_MSG_SIZE_RGB16      nMSGLEN_8                          // # of MRF's to hold RGB16 block data (8)
-
-// For conversion to 16bit
-.declare       uwTEMP_RGB16    Base=REG(r,nTEMP1)      ElementSize=2 SrcRegion=<16;16,1>       Type=uw         //1 GRF
-
-// For masking
-#undef  nDPR_MSG_SIZE_RGB16
-#define nDPR_MSG_SIZE_RGB16      nRESLEN_8                          // # of MRF's to hold ARGB block data (8)
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-#if (nSRC_REGION==nREGION_1)
-    // For saving
-    #define ubDEST_ARGB      ubTOP_Y       //Data from previous module
-    #define uwDEST_ARGB      uwTOP_Y       //Data from previous module
-    #define udCSC_TEMP       udBOT_Y_IO    //Data Converted to 16 bits
-    #define uwCSC_TEMP       uwBOT_Y
-    //For masking operation
-    #define udSRC_RGB16      udTOP_Y_IO    //To hold the destination data that shouldn't be modified
-    #define uwSRC_RGB16      uwTOP_Y
-
-#elif (nSRC_REGION==nREGION_2)
-    // For saving
-    #define ubDEST_ARGB      ubBOT_Y       //Data from previous module
-    #define uwDEST_ARGB      uwBOT_Y       //Data from previous module
-    #define udCSC_TEMP       udTOP_Y_IO    //Data Converted to 16 bits
-    #define uwCSC_TEMP       uwTOP_Y
-    //For masking operation
-    #define udSRC_RGB16      udBOT_Y_IO    //To hold the destination data that shouldn't be modified
-    #define uwSRC_RGB16      uwBOT_Y
-
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.asm b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.asm
deleted file mode 100644 (file)
index 915f797..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_Y416.asm
-//
-// Save packed ARGB 444 frame data block of size 16x8
-//
-// To save 16x8 block (128x8 byte layout for ARGB 16bit per component) we need 4 send instructions
-//  -----------------
-//  | 1 | 2 | 3 | 4 |
-//  ----------------- 
-
-#include "RGB16x8_Save_RGB.inc"
-
-    shl (1) rMSGSRC.0<1>:d      wORIX<0;1,0>:w            3:w  { NoDDClr }             // H. block origin need to become 8 times
-    mov (1) rMSGSRC.1<1>:d      wORIY<0;1,0>:w                 { NoDDClr, NoDDChk }    // Block origin (1st quadrant)
-    mov (1) rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_ARGB:ud        { NoDDChk }             // Block width and height (32x8)
-
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-/*     Not needed for validation kernels for now -vK
-//Use the mask to determine which pixels shouldn't be over-written
-    and (1)        acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0x00FFFFFF:ud
-    cmp.ge.f0.0(1) dNULLREG     acc0.0<0;1,0>:ud         0x00FFFFFF:ud   //Check if all pixels in the block need to be modified
-    (f0.0)  jmpi WriteARGBToDataPort
-
-    //If mask is not all 1's, then load the entire 64x8 block
-    //so that only those bytes may be modified that need to be (using the mask)
-
-    // Load first block 16x8 packed ARGB 444 ---------------------------------------
-    or (1)         acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0xFF00FF00:ud   //Check first block
-    cmp.e.f0.0 (1) dNULLREG     acc0.0<0;1,0>:ud         0xFFFFFFFF:ud   
-    (f0.0)  jmpi SkipFirstBlockMerge                                     //If full mask then skip this block
-
-    send (8) udSRC_ARGB(0)<1>   mMSGHDR     udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  mov (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw    //use sel instruction - vK
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    $for(0, 0; <nY_NUM_OF_ROWS; 1, 2) {               //take care of the lines in the block, they are different in the src and dest
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (8)     udDEST_ARGB(%2)<1>        udSRC_ARGB(%1) 
-    }
-
-SkipFirstBlockMerge:
-    // Load second block 16x8 packed ARGB 444 ---------------------------------------
-    or (1)         acc0.0<1>:ud udBLOCK_MASK<0;1,0>:ud   0xFF0000FF:ud   //Check second block
-    cmp.e.f0.0 (1) dNULLREG     acc0.0<0;1,0>:ud         0xFFFFFFFF:ud   
-    (f0.0)  jmpi WriteARGBToDataPort                                     //If full mask then skip this block
-
-    add  (1) mMSGHDR.0<1>:d     rMSGSRC.0<0;1,0>:d       32:d     // Point to 2nd part
-    send (8) udSRC_ARGB(0)<1>   mMSGHDR    udDUMMY_NULL  nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-    mov  (8) mMSGHDR<1>:ud      rMSGSRC<8;8,1>:ud                 // Point to 1st part again
-
-    //Merge the data
-    mov (1)           f0.0:uw             ubBLOCK_MASK_V:ub    //Load the mask on flag reg
-    (f0.0)  shr (8)   rMASK_TEMP<1>:uw    uwBLOCK_MASK_H:uw    8:uw    //load the mask for second block
-    (-f0.0) mov (8)   rMASK_TEMP<1>:uw    0:uw
-
-    $for(0, 1; <nY_NUM_OF_ROWS; 1, 2) {               //take care of the lines in the block, they are different in the src and dest
-        mov (1)             f0.1:uw                   uwMASK_TEMP(0,%1)<0;1,0>
-        (-f0.1) mov (8)     udDEST_ARGB(%2)<1>        udSRC_ARGB(%1) 
-    }
-*/
-WriteARGBToDataPort:
-    // Move packed data to MRF and output
-    
-    //Write 1st 4X8 pixels  
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*4)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-       //Write 2nd 4X8 pixels  
-    mov  (8)    mMSGHDR<1>:ud         rMSGSRC<8;8,1>:ud
-    add  (1)    mMSGHDR.0<1>:d        rMSGSRC.0<0;1,0>:d       32:d   // Point to 2nd part
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*4+1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-       //Write 3rd 4X8 pixels  
-    mov  (8)    mMSGHDR<1>:ud         rMSGSRC<8;8,1>:ud
-    add  (1)    mMSGHDR.0<1>:d        rMSGSRC.0<0;1,0>:d       64:d   // Point to 2nd part
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*4+2)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-       //Write 4th 4X8 pixels  
-    mov  (8)    mMSGHDR<1>:ud         rMSGSRC<8;8,1>:ud
-    add  (1)    mMSGHDR.0<1>:d        rMSGSRC.0<0;1,0>:d       96:d   // Point to 2nd part
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-        mov (8) mudMSGPAYLOAD(%1)<1>       udDEST_ARGB(%1*4+3)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_ARGB+nBI_DESTINATION_RGB:ud
-
-// End of RGB16x8_Save_Y416
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.inc b/i965_drv_video/shaders/post_processing/Common/RGB16x8_Save_Y416.inc
deleted file mode 100644 (file)
index b6b45c4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: RGB16x8_Save_Y416.inc
-//
-
-#include "undefall.inc"                 //Undefine the SRC and DEST sysmbols
-
-// For saving
-#define nDPW_BLOCK_SIZE_ARGB     nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8    // ARGB block size 32x8
-#define nDPW_MSG_SIZE_ARGB       nMSGLEN_8                          // # of MRF's to hold ARGB block data (8)
-
-// For masking
-#undef  nDPR_MSG_SIZE_ARGB
-#define nDPR_MSG_SIZE_ARGB       nRESLEN_8                          // # of MRF's to hold ARGB block data (8)
-#define     rMASK_TEMP     REG(r,nTEMP0)
-.declare    uwMASK_TEMP    Base=rMASK_TEMP    ElementSize=2    SrcRegion=<8;8,1>    Type=uw        //1 GRF
-
-#if (nSRC_REGION==nREGION_1)
-    // For saving
-    #define udDEST_ARGB      udTOP_Y_IO    //The output of previous stage is stored here; This is modified and is written to render cache
-    //For masking operation
-    #define udSRC_ARGB       udBOT_Y_IO    //To hold the destination data that shouldn't be modified
-
-#elif (nSRC_REGION==nREGION_2)
-    // For saving
-    #define udDEST_ARGB      udBOT_Y_IO    //The output of previous stage is stored here; This is modified and is written to render cache
-    //For masking operation
-    #define udSRC_ARGB       udTOP_Y_IO    //To hold the destination data that shouldn't be modified
-
-#endif
diff --git a/i965_drv_video/shaders/post_processing/Common/RGB_Pack.asm b/i965_drv_video/shaders/post_processing/Common/RGB_Pack.asm
deleted file mode 100644 (file)
index 063e256..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-.declare SRC_B         Base=REG(r,10)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare SRC_G         Base=REG(r,18)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare SRC_R         Base=REG(r,26)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare SRC_A         Base=REG(r,34)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-
-#define DEST_ARGB              ubBOT_ARGB
-
-#undef         nSRC_REGION
-#define nSRC_REGION            nREGION_2
-
-
-//Pack directly to mrf as optimization - vK
-
-$for(0, 0; <8; 1, 2) {
-//     mov     (16)    DEST_ARGB(%2,0)<4>              SRC_B(%1)                                       { Compr, NoDDClr }                      // 16 B
-//     mov     (16)    DEST_ARGB(%2,1)<4>              SRC_G(%1)                                       { Compr, NoDDClr, NoDDChk }     // 16 G
-//     mov     (16)    DEST_ARGB(%2,2)<4>              SRC_R(%1)                                       { Compr, NoDDClr, NoDDChk }     // 16 R //these 2 inst can be merged - vK
-//     mov     (16)    DEST_ARGB(%2,3)<4>              SRC_A(%1)                                       { Compr, NoDDChk }                      //DEST_RGB_FORMAT<0;1,0>:ub     { Compr, NoDDChk }                      // 16 A
-
-       mov     (8)     DEST_ARGB(%2,  0)<4>            SRC_B(%1)                                       { NoDDClr }                             // 8 B
-       mov     (8)     DEST_ARGB(%2,  1)<4>            SRC_G(%1)                                       { NoDDClr, NoDDChk }    // 8 G
-       mov     (8)     DEST_ARGB(%2,  2)<4>            SRC_R(%1)                                       { NoDDClr, NoDDChk }    // 8 R
-       mov     (8)     DEST_ARGB(%2,  3)<4>            SRC_A(%1)                                       { NoDDChk }                             // 8 A
-
-       mov     (8)     DEST_ARGB(%2+1,0)<4>            SRC_B(%1,8)                             { NoDDClr }                             // 8 B
-       mov     (8)     DEST_ARGB(%2+1,1)<4>            SRC_G(%1,8)                                     { NoDDClr, NoDDChk }    // 8 G
-       mov     (8)     DEST_ARGB(%2+1,2)<4>            SRC_R(%1,8)                                     { NoDDClr, NoDDChk }    // 8 R
-       mov     (8)     DEST_ARGB(%2+1,3)<4>            SRC_A(%1,8)                                     { NoDDChk }                             // 8 A
-}
diff --git a/i965_drv_video/shaders/post_processing/Common/SetupVPKernel.asm b/i965_drv_video/shaders/post_processing/Common/SetupVPKernel.asm
deleted file mode 100644 (file)
index 6375b0c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Modual name: SetupVPKernel.asm
-//
-// Initial setup for running video-processing kernels
-//
-
-#include "common.inc"
-
-//
-//  Now, begin source code....
-//
-.code
-
-#include "Init_All_Regs.asm"
-
-mov (8)     rMSGSRC.0<1>:ud  r0.0<8;8,1>:ud  // Initialize message payload header with R0
-#if    defined (INC_BLENDING)
-    mul        (1)     fALPHA_STEP_X:f   fSCALING_STEP_RATIO:f         fVIDEO_STEP_X:f //StepX_ratio = AlphaStepX / VideoStepX
-#endif
-
-// End of SetupVPKernel
-
-
-       
diff --git a/i965_drv_video/shaders/post_processing/Common/common.inc b/i965_drv_video/shaders/post_processing/Common/common.inc
deleted file mode 100644 (file)
index a0a66a0..0000000
+++ /dev/null
@@ -1,610 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#ifndef COMMON_INC
-#define COMMON_INC
-
-// Module name: common.inc
-//
-// Common header file for all Video-Processing kernels
-//
-
-.default_execution_size (16)
-.default_register_type  :ub
-
-.reg_count_total        80
-.reg_count_payload      4
-
-
-//========== Common constants ==========
-
-// Bit position constants 
-#define BIT0    0x01
-#define BIT1    0x02
-#define BIT2    0x04
-#define BIT3    0x08
-#define BIT4    0x10
-#define BIT5    0x20
-#define BIT6    0x40
-#define BIT7    0x80
-#define BIT8    0x0100
-#define BIT9    0x0200
-#define BIT10   0x0400
-#define BIT11   0x0800
-#define BIT12   0x1000
-#define BIT13   0x2000
-#define BIT14   0x4000
-#define BIT15   0x8000
-#define BIT16   0x00010000
-#define BIT17   0x00020000
-#define BIT18   0x00040000
-#define BIT19   0x00080000
-#define BIT20   0x00100000
-#define BIT21   0x00200000
-#define BIT22   0x00400000
-#define BIT23   0x00800000
-#define BIT24   0x01000000
-#define BIT25   0x02000000
-#define BIT26   0x04000000
-#define BIT27   0x08000000
-#define BIT28   0x10000000
-#define BIT29   0x20000000
-#define BIT30   0x40000000
-#define BIT31   0x80000000
-
-#define nGRFWIB             32      // GRF register width in byte
-#define nGRFWIW             16      // GRF register width in word
-#define nGRFWID             8       // GRF register width in dword
-
-#define nTOP_FIELD          0
-#define nBOTTOM_FIELD       1
-
-#define nPREVIOUS_FRAME     0       // Previous frame
-#define nCURRENT_FRAME      1       // Current frame
-#define nNEXT_FRAME         2       // Next frame
-
-#ifdef GT
-// GT DI Kernel
-#else // ILK
-// ILK DI Kernel
-#endif
-
-//===================================
-
-//========== Macros ==========
-#define REGION(Width,HStride) <Width*HStride;Width,HStride> // Region definition when ExecSize = Width
-
-#define RegFile(a) a
-#define REG(r,n) _REG(RegFile(r),n)
-#define _REG(r,n) __REG(r,n)
-#define __REG(r,n) r##n.0
-#define REG2(r,n,s) _REG2(RegFile(r),n,s)
-#define _REG2(r,n,s) __REG2(r,n,s)
-#define __REG2(r,n,s) r##n.##s
-
-#define dNULLREG     null<1>:d
-#define wNULLREG     null<1>:w
-    
-#define KERNEL_ID(kernel_ID)    mov NULLREG kernel_ID:ud
-
-
-#define NODDCLR                        
-#define NODDCLR_NODDCHK        
-#define NODDCHK                            
-
-//#define NODDCLR                      { NoDDClr }
-//#define NODDCLR_NODDCHK      { NoDDClr, NoDDChk }
-//#define NODDCHK                              { NoDDChk } 
-
-
-//========== Defines ====================
-
-
-//========== GRF partition ==========
-// r0 header            :   r0          (1 GRF)
-// Static parameters    :   r1 - r5     (5 GRFS)
-// Inline parameters    :   r6 - r7     (2 GRFs)
-// MSGSRC               :   r9          (1 GRF)
-// Top IO region        :   r10 - r33   (24 GRFS 8 for each component Y,U,V 16X8:w)
-// Free space           :   r34 - r55   (22 GRFS)
-// Bottom IO region     :   r56 - r79   (24 GRFS 8 for each component Y,U,V 16X8:w) 
-//===================================
-
-
-//========== Static Parameters ==========
-// r1
-#define fPROCAMP_C0             r1.0    // DWORD 0, Procamp constant C0 in :f
-#define wPROCAMP_C0             r1.0    // DWORD 0, Procamp constant C0 in :w
-#define NUMBER_0002                                                    r1.1            // DWORD 0, 0x0002 used in procamp for GT
-#define udCP_MessageFormat      r1.0    // DWORD 0, bits 2:3 of DWORD. (CE)
-#define udCP_StatePointer       r1.0    // DWORD 0, bits 31:5 of DWORD.(CE)
-
-#define ubSRC_CF_OFFSET         r1.4    // DWORD 1, byte 0-2. SRC packed color format YUV offset in :ub
-
-#define ubDEST_RGB_FORMAT        r1.8    // DWORD 2, byte 0. Dest RGB color format (0:ARGB FF:XRGB)
-#define ubDEST_CF_OFFSET        r1.8    // DWORD 2, byte 0-2. Dest packed color format YUV offset in :ub
-
-#define fPROCAMP_C1             r1.3    // DWORD 3, Procamp constant C1 in :f   
-#define wPROCAMP_C1             r1.6    // DWORD 3, Procamp constant C1 in :w   
-#define NUMBER_0100                                                    r1.7            // DWORD 3, 0x0100 used in procamp for GT
-
-#define fPROCAMP_C2             r1.4    // DWORD 4, Procamp constant C2 in :f
-#define wPROCAMP_C2             r1.8    // DWORD 4, Procamp constant C2 in :w
-
-#define uwSPITCH_DIV2           r1.10   // DWORD 5, byte 0-1. statistics surface pitch divided by 2
-
-#define fVIDEO_STEP_Y           r1.6    // DWORD 6, :f, AVS normalized reciprocal of Y Scaling factor
-#define ubSTMM_SHIFT            r1.24   // DWORD 6, byte 0. Amount of right shift for the DI blending equation
-#define ubSTMM_MIN              r1.25   // DWORD 6, byte 1. Min STMM for DI blending equation
-#define ubSTMM_MAX              r1.26   // DWORD 6, byte 2. Max STMM for DI blending equation
-#define ubTFLD_FIRST            r1.27   // DWORD 6, byte 3. Field parity order
-
-#define fPROCAMP_C5             r1.7    // DWORD 7, Procamp constant C3 in :f
-#define wPROCAMP_C5             r1.14   // DWORD 7, Procamp constant C3 in :w
-
-// r2
-#define fPROCAMP_C3             r2.0    // DWORD 0, Procamp constant C4 in :f
-#define wPROCAMP_C3             r2.0    // DWORD 0, Procamp constant C4 in :w
-                    
-#define fCSC_C5                                        r2.2    // DWORD 2. WG+CSC constant C5
-#define wCSC_C5                                        r2.4    // DWORD 2. WG+CSC constant C5
-
-#define fPROCAMP_C4             r2.3    // DWORD 3, Procamp constant C5 in :f
-#define wPROCAMP_C4             r2.6    // DWORD 3, Procamp constant C5 in :w
-
-#define fCSC_C8                                        r2.4    // DWORD 4. WG+CSC constant C8
-#define wCSC_C8                                        r2.8    // DWORD 4. WG+CSC constant C8
-#define fCSC_C9                                        r2.7    // DWORD 7. WG+CSC constant C9
-#define wCSC_C9                                        r2.14   // DWORD 7. WG+CSC constant C9
-
-// r3
-#define fCSC_C0                                        r3.0    // DWORD 0. WG+CSC constant C0
-#define wCSC_C0                                        r3.0    // DWORD 0. WG+CSC constant C0
-
-#define fSCALING_STEP_RATIO     r3.1    // DWORD 1, = Alpha_X_Scaling_Step / Video_X_scaling_Step :f (blending)
-#define fALPHA_STEP_X           r3.1    // DWORD 1, = 1/Scale X, 0.5 = 2x, in :f (blending)
-
-#define fALPHA_STEP_Y           r3.2    // DWORD 2, = 1/Scale Y, in :f
-
-#define fCSC_C4                                        r3.3    // DWORD 3. WG+CSC constant C4
-#define wCSC_C4                                        r3.6    // DWORD 3. WG+CSC constant C4
-#define fCSC_C1                                        r3.4    // DWORD 4. WG+CSC constant C1
-#define wCSC_C1                                        r3.8    // DWORD 4. WG+CSC constant C1
-
-#define wSRC_H_ORI_OFFSET       r3.10   // DWORD 5, bytes 0,1 :w    
-#define wSRC_V_ORI_OFFSET       r3.11   // DWORD 5, bytes 2,3 :w
-
-#define dCOLOR_PIXEL            r3.6    // DWORD 6. Color pixel for Colorfill
-
-#define fCSC_C2                                        r3.6    // DWORD 6. WG+CSC constant C2
-#define wCSC_C2                                        r3.12   // DWORD 6. WG+CSC constant C2
-#define fCSC_C3                                        r3.7    // DWORD 7. WG+CSC constant C3
-#define wCSC_C3                                        r3.14   // DWORD 7. WG+CSC constant C3
-
-// r4
-#define fCSC_C6                                        r4.0    // DWORD 0. WG+CSC constant C6
-#define wCSC_C6                                        r4.0    // DWORD 0. WG+CSC constant C6
-
-#define wFRAME_ENDX             r4.2    // DWORD 1, word 0. Horizontal end = Origin+Width (in pixels)(for multiple blocks)
-#define wNUM_BLKS               r4.3    // DWORD 1, word 1. Number of blocks to process (for multiple blocks)
-
-#define wCOPY_ORIX              r4.5    // DWORD 2, word 1. A copy of X origin (for multiple blocks)
-#define uwNLAS_ENABLE           r4.4    // DWORD 2, bit 15, NLAS enble bit
-
-#define fCSC_C7                                        r4.3    // DWORD 3. WG+CSC constant C7
-#define wCSC_C7                                        r4.6    // DWORD 3. WG+CSC constant C7
-#define fCSC_C10                               r4.4    // DWORD 4. WG+CSC constant C10
-#define wCSC_C10                               r4.8    // DWORD 4. WG+CSC constant C10
-
-#define fFRAME_VID_ORIX         r4.5    // DWORD 5, Frame horizontal origin normalized for scale kernel
-
-#define fFRAME_ALPHA_ORIX       r4.6    // DWORD 6. Normalized alpha horiz origin for the frame
-
-#define fCSC_C11                               r4.7    // DWORD 7. WG+CSC constant C11
-#define wCSC_C11                               r4.14   // DWORD 7. WG+CSC constant C11
-
-//========================================
-
-//========== Inline parameters ===========
-// r5
-#define wORIX                   r5.0    // DWORD 0, byte 0-1. :w, Destination Block Horizontal Origin in pel
-#define wORIY                   r5.1    // DWORD 0, byte 2-3. :w, Destination Block Vertical   Origin in pel
-
-#define fSRC_VID_H_ORI          r5.1    // DWORD 1, :f, SRC Y horizontal origin normalized for scale kernel
-
-#define fSRC_VID_V_ORI          r5.2    // DWORD 2, :f, SRC Y vertical origin normalized for scale kernel
-
-#define fSRC_ALPHA_H_ORI        r5.3    // DWORD 3, :f, Normalized alpha horizontal origin
-
-#define fSRC_ALPHA_V_ORI        r5.4    // DWORD 4, :f, Normalized alpha vertical origin
-
-#define uwALPHA_MASK_X          r5.10   // DWORD 5, byte 0-1 :w, H. alpha mask
-#define ubALPHA_MASK_Y          r5.22   // DWORD 5, byte 2.  :ub,V. alpha mask
-#define ubBLK_CNT_X             r5.23   // DWORD 5, byte 3,  :ub, Horizontal Block Count per thread
-
-#define udBLOCK_MASK            r5.6    // DWORD 6
-#define uwBLOCK_MASK_H          r5.12   // DWORD 6, byte 0-1 :uw, Block horizontal mask used in non-DWord aligned kernels
-#define ubBLOCK_MASK_V          r5.26   // DWORD 6, byte 2   :ub, Block vertical mask used in non-DWord aligned kernels
-#define ubNUM_BLKS              r5.27   // DWORD 6, byte 3,  :ub, Total Block Count per thread
-
-#define fVIDEO_STEP_X           r5.7    // DWORD 7. :f, AVS normalized reciprocal of X Scaling factor
-
-// r6
-#define fVIDEO_STEP_DELTA       r6.0    // DWORD 0. :f, AVS normalized delta between 2 adjacent scaling steps (used for non-linear scaling)
-
-
-//====================== Binding table =========================================
-
-#if defined(DNDI)
-    // DNDI Surface Binding Table
-    //#define nBI_SRC_CURR        0       // Current input frame surface
-    //#define nBI_SRC_PRIV        1       // Denoised previous input frame surface
-    //#define nBI_SRC_STAT        2       // Statistics input surface (STMM / Noise motion history)
-    //#define nBI_DEST_1ST        3       // 1st deinterlaced output frame surface
-//    #define nBI_DEST_YUV        3       // Dest frame YUV (for DN only)
-    //#define nBI_DEST_Y          3       // Dest frame Y (for DN only)
-    //#define nBI_DEST_2ND        4       // 2nd deinterlaced output frame surface
-    //#define nBI_DEST_DN_CURR    6       // Denoised current output frame surface
-    //#define nBI_DEST_STAT       7       // Statistics output surface (STMM / Noise motion history)
-//    #define nBI_DEST_U          8       // Dest frame U (for DN only)
-//    #define nBI_DEST_V          9       // Dest frame V (for DN only)
-//    #define nBI_SRC_U          10       // Src frame U (for DN only)
-//    #define nBI_SRC_V          11       // Src frame V (for DN only)
-//    #define nBI_SRC_UV         10       // Current src frame for UV
-    
-#endif
-
-#if defined(INPUT_PL3)
-    // PL3 Surface Binding Table
-//    #define nBI_SRC_ALPHA       0       // Alpha
-//    #define nBI_SRC_Y           1       // Current src frame
-//    #define nBI_SRC_U           2       // Current src frame
-//    #define nBI_SRC_V           3       // Current src frame
-//    #define nBI_DEST_Y         10       // Dest frame
-//    #define nBI_DEST_U         11       // Dest frame
-//    #define nBI_DEST_V         12       // Dest frame
-//    #define nBI_DEST_YUV        7       // Dest frame
-//    #define nBI_DEST_RGB        7       // same num as BI_DEST_YUV, never used at the same time
-#endif
-
-#if defined(INPUT_PL2)
-    // PL2 Surface Binding Table
-//    #define nBI_SRC_ALPHA       0       // Alpha
-//    #define nBI_SRC_Y           1       // Current src frame for Y + offseted UV
-//    #define nBI_SRC_YUV         1       // Current src frame for YUV in case of NV12_AVS
-//    #define nBI_SRC_UV          2       // Current src frame for UV
-//    #define nBI_DEST_YUV        7       // Current dest frame for Y + offseted UV
-//    #define nBI_DEST_RGB        7       // same num as BI_DEST_YUV, never used at the same time
-//    #define nBI_DEST_Y         10       // Dest frame
-//    #define nBI_DEST_U         11       // Dest frame
-//    #define nBI_DEST_V         12       // Dest frame
-#endif
-
-#if defined(INPUT_PA) || defined(COLORFILL)
-    // Packed Surface Binding Table 
-//    #define nBI_SRC_ALPHA       0       // Alpha    
-//    #define nBI_SRC_YUV         1       // Current src frame
-//    #define nBI_DEST_YUV        3       // Dest frame
-//    #define nBI_DEST_RGB        3       // same num as BI_DEST_YUV, never used at the same time
-#endif
-
-
-//supper binding table
-#define nBI_ALPHA_SRC                   0
-#define nBI_CURRENT_SRC_YUV             1 
-#define nBI_FIELD_COPY_SRC_1_YUV        1 
-#define nBI_CURRENT_SRC_Y               1 
-#define nBI_FIELD_COPY_SRC_1_Y          1
-#define nBI_CURRENT_SRC_RGB             1  
-#define nBI_CURRENT_SRC_UV              2 
-#define nBI_FIELD_COPY_SRC_1_UV         2 
-#define nBI_CURRENT_SRC_U               2 
-#define nBI_FIELD_COPY_SRC_1_U          2 
-#define nBI_CURRENT_SRC_V               3
-#define nBI_FIELD_COPY_SRC_1_V          3 
-#define nBI_TEMPORAL_REFERENCE_YUV      4 
-#define nBI_FIELD_COPY_SRC_2_YUV        4 
-#define nBI_TEMPORAL_REFERENCE_Y        4 
-#define nBI_FIELD_COPY_SRC_2_Y          4 
-#define nBI_CURRENT_SRC_YUV_HW_DI       4 
-#define nBI_TEMPORAL_REFERENCE_UV       5 
-#define nBI_FIELD_COPY_SRC_2_UV         5 
-#define nBI_TEMPORAL_REFERENCE_U        5 
-#define nBI_FIELD_COPY_SRC_2_U          5 
-#define nBI_DENOISED_PREV_HW_DI         5 
-#define nBI_TEMPORAL_REFERENCE_V        6 
-#define nBI_FIELD_COPY_SRC_2_V          6 
-#define nBI_STMM_HISTORY                6 
-#define nBI_DESTINATION_YUV             7
-#define nBI_DESTINATION_RGB             7
-#define nBI_DESTINATION_Y               7
-#define nBI_DESTINATION_UV              8
-#define nBI_DESTINATION_U               8
-#define nBI_DESTINATION_V               9
-#define nBI_DESTINATION_1_YUV           10
-#define nBI_DESTINATION_1_Y             10
-#define nBI_DESTINATION_1_UV            11
-#define nBI_DESTINATION_1_U             11
-#define nBI_DESTINATION_1_V             12
-#define nBI_DESTINATION_2_YUV           13
-#define nBI_DESTINATION_2_Y             13
-#define nBI_DESTINATION_2_UV            14
-#define nBI_DESTINATION_2_U             14
-#define nBI_DESTINATION_2_V             15
-#define nBI_STMM_HISTORY_OUTPUT         20
-#define nBI_TEMPORAL_REFERENCE_YUV_PDI  21 
-#define nBI_TEMPORAL_REFERENCE_Y_PDI    21 
-#define nBI_TEMPORAL_REFERENCE_UV_PDI   22 
-#define nBI_TEMPORAL_REFERENCE_U_PDI    22 
-#define nBI_TEMPORAL_REFERENCE_V_PDI    23 
-#define nBI_SUBVIDEO_YUV                26
-#define nBI_SUBVIDEO_Y                  26
-#define nBI_SUBVIDEO_UV                 27
-#define nBI_SUBVIDEO_U                  27
-#define nBI_SUBVIDEO_V                  28
-#define nBI_SUBPICTURE_YUV              29
-#define nBI_SUBPICTURE_P8               29
-#define nBI_SUBPICTURE_A8               30
-#define nBI_GRAPHIC_YUV                 31
-#define nBI_GRAPHIC_P8                  31
-#define nBI_GRAPHIC_A8                  32
-
-
-
-//========== Planar Sampler State Table Index ==========
-#define nSI_SRC_ALPHA           0x000   // Sampler State for Alpha
-
-//Sampler Index for AVS/IEF messages
-#define nSI_SRC_Y               0x400   // Sampler State for Y
-#define nSI_SRC_U               0x800   // Sampler State for U
-#define nSI_SRC_V               0xC00   // Sampler State for V
-#define nSI_SRC_UV              0x800   // For NV12 surfaces
-#define nSI_SRC_YUV             0x400   // For Packed surfaces  
-#define nSI_SRC_RGB             0x400   // For ARGB surfaces
-
-//Sampler Index for SIMD16 sampler messages
-#define nSI_SRC_SIMD16_Y        0x100   // Sampler State for Y
-#define nSI_SRC_SIMD16_U        0x200   // Sampler State for U
-#define nSI_SRC_SIMD16_V        0x300   // Sampler State for V
-#define nSI_SRC_SIMD16_UV       0x200   // For NV12 surfaces
-#define nSI_SRC_SIMD16_YUV      0x100   // For Packed surfaces  
-#define nSI_SRC_SIMD16_RGB      0x100   // For ARGB surfaces
-
-
-
-// Common Registers
-#define pCF_Y_OFFSET            a0.4    // Address register holding Y offset
-#define pCF_U_OFFSET            a0.5    // Address register holding U offset
-#define pCF_V_OFFSET            a0.6    // Address register holding V offset
-
-// #define YUV_ORI             ORIX    // Used by writing packed data to dport
-
-
-//================= Message Payload Header fields ==============================
-#define IDP     r0.2:ud     // Interface Descriptor Pointer
-
-//================= Common Message Descriptor  TBD add common load and save =====
-// Message descriptor for dataport media write
-#ifdef GT
-        // Message Descriptors
-                //                = 000 0001 (min message len 1 - add later) 00000 (resp len 0)         
-                //                  1 (header present 1) 0 0 1010 (media block write) 00000
-                //                  00000000 (binding table index - set later)
-                //                = 0x02094000
-        #define nDPMW_MSGDSC      0x02094000
-        #define nDPMR_MSGDSC      0x02098000  // Data Port Media Block Read Message Descriptor
-        // TBD
-#else // ILK
-        // Message Descriptors
-                //                = 000 0001 (min message len 1 - add later) 00000 (resp len 0)         
-                //                  1 (header present 1) 000 0 010 (media block write) 0000
-                //                  00000000 (binding table index - set later)
-                //                = 0x02082000
-        #define nDPMW_MSGDSC      0x02082000  // Data Port Media Block Write Message Descriptor
-        #define nDPMR_MSGDSC      0x0208A000  // Data Port Media Block Read Message Descriptor
-#endif
-
-// Message Length defines
-#define nMSGLEN_1      0x02000000 // Message Length of 1 GRF for Send
-#define nMSGLEN_2      0x04000000 // Message Length of 2 GRF for Send
-#define nMSGLEN_4      0x08000000 // Message Length of 4 GRF for Send
-#define nMSGLEN_8      0x10000000 // Message Length of 8 GRF for Send
-
-// Response Length defines
-#define nRESLEN_1      0x00100000 // Message Response Length of 1  GRF from Send
-#define nRESLEN_2      0x00200000 // Message Response Length of 2  GRF from Send
-#define nRESLEN_3      0x00300000 // Message Response Length of 3  GRF from Send
-#define nRESLEN_4      0x00400000 // Message Response Length of 4  GRF from Send
-#define nRESLEN_5      0x00500000 // Message Response Length of 5  GRF from Send
-#define nRESLEN_8      0x00800000 // Message Response Length of 8  GRF from Send
-#define nRESLEN_9      0x00900000 // Message Response Length of 9  GRF from Send
-#define nRESLEN_11     0x00B00000 // Message Response Length of 11 GRF from Send
-#define nRESLEN_12     0x00C00000 // Message Response Length of 12 GRF from Send
-#define nRESLEN_16     0x01000000 // Message Response Length of 16 GRF from Send
-
-// Block Width and Height Size defines
-#define nBLOCK_WIDTH_4   0x00000003      // Block Width  4
-#define nBLOCK_WIDTH_5   0x00000004      // Block Width  5
-#define nBLOCK_WIDTH_8   0x00000007      // Block Width  8
-#define nBLOCK_WIDTH_9   0x00000008      // Block Width  9
-#define nBLOCK_WIDTH_12  0x0000000B      // Block Width  12
-#define nBLOCK_WIDTH_16  0x0000000F      // Block Width  16
-#define nBLOCK_WIDTH_20  0x00000013      // Block Width  20
-#define nBLOCK_WIDTH_32  0x0000001F      // Block Width  32
-#define nBLOCK_HEIGHT_1  0x00000000      // Block Height 1
-#define nBLOCK_HEIGHT_2  0x00010000      // Block Height 2
-#define nBLOCK_HEIGHT_4  0x00030000      // Block Height 4
-#define nBLOCK_HEIGHT_5  0x00040000      // Block Height 5
-#define nBLOCK_HEIGHT_8  0x00070000      // Block Height 8
-
-// Extended Message Descriptors
-#define nEXTENDED_MATH      0x1
-#define nSMPL_ENGINE        0x2
-#define nMESSAGE_GATEWAY    0x3
-#define nDATAPORT_READ      0x4
-#define nDATAPORT_WRITE     0x5
-#define nURB                0x6
-#define nTS_EOT             0x27    // with End-Of-Thread bit ON
-
-// Common message descriptors:
-#ifdef GT
-       #define nEOT_MSGDSC       0x02000010  // End of Thread Message Descriptor    
-       #define IF_NULL                                         null:uw null:uw null:uw         //for different if instructions on ILK and Gen6
-#else //ILK
-       #define nEOT_MSGDSC       0x02000000  // End of Thread Message Descriptor        
-       #define IF_NULL
-#endif    
-
-
-//===================== Math Function Control ===================================
-#define mfcINV                  0x1     // reciprocal
-#define mfcLOG                  0x2     // log
-#define mfcEXP                  0x3     // exponent
-#define mfcSQRT                 0x4     // square root
-#define mfcRSQ                  0x5     // reciprocal square root
-#define mfcSIN                  0x6     // sine (in radians)
-#define mfcCOS                  0x7     // cosine (in radians)
-#define mfcSINCOS               0x8     // dst0 = sin of src0, dst1 = cosine of src0 (in radians) - GT+ ONLY
-#define mfcPOW                  0xA     // abs(src0) raised to the src1 power    
-#define mfcINT_DIV_QR           0xB     // return quotient and remainder
-#define mfcINT_DIV_Q            0xC     // return quotient
-#define mfcINT_DIV_R            0xD     // return remainder
-
-
-//=================== Message related registers =================================
-
-#ifdef GT
-        #define udDUMMY_NULL
-#else   // _ILK
-        #define udDUMMY_NULL    null:ud         // Used in send inst as src0
-#endif
-
-//----------- Message Registers ------------
-#define mMSGHDR      m1     // Message Payload Header
-#define mMSGHDRY     m1     // Message Payload Header register for Y data
-#define mMSGHDRU     m2     // Message Payload Header register for U data
-#define mMSGHDRV     m3     // Message Payload Header register for V data
-#define mMSGHDRYA    m4     // Second Message Payload Header register for Y data
-#define mMSGHDRH     m5     // Message Payload Header register for motion history
-#define mMSGHDRY1    m1     // Message Payload Header register for first  Y data
-#define mMSGHDRY2    m2     // Message Payload Header register for second Y data
-#define mMSGHDRY3    m3     // Message Payload Header register for third  Y data
-#define mMSGHDRY4    m4     // Message Payload Header register for fourth Y data
-#define mMSGHDRY5    m5     // Message Payload Header register for fifth Y data
-#define mMSGHDRY6    m6     // Message Payload Header register for sixth Y data
-#define mMSGHDR_EOT  m15    // Dummy Message Register for EOT
-
-#define rMSGSRC     r8      // Message source register
-#define pMSGDSC     a0.0:ud // Message Descriptor register (type DWORD)
-
-#define udMH_ORI    rMSGSRC.0   // Data Port Media Block R/W message header block offset
-#define udMH_ORIX   rMSGSRC.0   // Data Port Media Block R/W message header X offset
-#define udMH_ORIY   rMSGSRC.1   // Data Port Media Block R/W message header Y offset
-#define udMH_SIZE   rMSGSRC.2   // Data Port Media Block R/W message header block width & height
-
-//  M2 - M9 for message data payload
-.declare    mubMSGPAYLOAD  Base=m2 ElementSize=1 SrcRegion=REGION(16,1) Type=ub
-.declare    muwMSGPAYLOAD  Base=m2 ElementSize=2 SrcRegion=REGION(16,1) Type=uw
-.declare    mudMSGPAYLOAD  Base=m2 ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare    mfMSGPAYLOAD   Base=m2 ElementSize=4 SrcRegion=REGION(8,1) Type=f
-
-//=================== End of thread instruction ===========================
-#ifdef GT
-       #define END_THREAD          mov  (8) mMSGHDR_EOT<1>:ud    r0.0<8;8,1>:ud \n\
-                                                               send (1) null<1>:d mMSGHDR_EOT nTS_EOT nEOT_MSGDSC 
-#else   // ILK                         This should be changed to 1 instruction; I have tested it and it works - vK
-       #define END_THREAD          mov  (8) mMSGHDR_EOT<1>:ud    r0.0<8;8,1>:ud \n\
-                               send (1) dNULLREG mMSGHDR_EOT udDUMMY_NULL  nTS_EOT nEOT_MSGDSC:ud
-#endif
-
-
-//=======================================================================
-// Region declarations for SRC and DEST as TOP and BOT
-
-// Common I/O regions
-#define nREGION_1       1
-#define nREGION_2       2
-
-//*** These region base GRFs are fixed regardless planar/packed, and data alignment.
-//*** Each kernel is responsible to select the correct region declaration below.
-//*** YUV regions are not necessarily next to each other.
-#define nTOP_Y          10      // r10 - r17  (8 GRFs)
-#define nTOP_U          18      // r18 - r25 (8 GRFs)
-#define nTOP_V          26      // r26 - r33 (8 GRFs)
-
-#define nBOT_Y          56      // r56 - r63 (8 GRFs)
-#define nBOT_U          64      // r64 - r71 (8 GRFs)
-#define nBOT_V          72      // r72 - r79 (8 GRFs)
-
-// Define temp space for any usages
-#define nTEMP0          34
-#define nTEMP1          35
-#define nTEMP2          36
-#define nTEMP3          37
-#define nTEMP4          38
-#define nTEMP5          39
-#define nTEMP6          40
-#define nTEMP7          41
-#define nTEMP8          42
-#define nTEMP10         44
-#define nTEMP12         46
-#define nTEMP14         48
-#define nTEMP16         50
-#define nTEMP17         51
-#define nTEMP18         52
-
-#define nTEMP24                        58
-
-// Common region 1
-.declare ubTOP_Y        Base=REG(r,nTOP_Y) ElementSize=1 SrcRegion=REGION(16,1) DstRegion=<1> Type=ub
-.declare ubTOP_U        Base=REG(r,nTOP_U) ElementSize=1 SrcRegion=REGION(8,1) DstRegion=<1> Type=ub
-.declare ubTOP_V        Base=REG(r,nTOP_V) ElementSize=1 SrcRegion=REGION(8,1) DstRegion=<1> Type=ub
-                        
-.declare uwTOP_Y        Base=REG(r,nTOP_Y) ElementSize=2 SrcRegion=REGION(16,1) DstRegion=<1> Type=uw
-.declare uwTOP_U        Base=REG(r,nTOP_U) ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare uwTOP_V        Base=REG(r,nTOP_V) ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare ub2TOP_Y       Base=REG(r,nTOP_Y) ElementSize=1 SrcRegion=REGION(16,2) DstRegion=<1> Type=ub
-.declare ub2TOP_U       Base=REG(r,nTOP_U) ElementSize=1 SrcRegion=REGION(8,2) DstRegion=<1> Type=ub
-.declare ub2TOP_V       Base=REG(r,nTOP_V) ElementSize=1 SrcRegion=REGION(8,2) DstRegion=<1> Type=ub
-
-.declare ub4TOP_Y       Base=REG(r,nTOP_Y) ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-.declare ub4TOP_U       Base=REG(r,nTOP_U) ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-.declare ub4TOP_V       Base=REG(r,nTOP_V) ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-
-.declare ubTOP_ARGB     Base=REG(r,nTOP_Y) ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-
-// Used by "send" instruction
-.declare udTOP_Y_IO     Base=REG(r,nTOP_Y) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare udTOP_U_IO     Base=REG(r,nTOP_U) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare udTOP_V_IO     Base=REG(r,nTOP_V) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-
-// Common region 2
-.declare ubBOT_Y        Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(16,1) DstRegion=<1> Type=ub
-.declare ubBOT_U        Base=REG(r,nBOT_U) ElementSize=1 SrcRegion=REGION(8,1) DstRegion=<1> Type=ub
-.declare ubBOT_V        Base=REG(r,nBOT_V) ElementSize=1 SrcRegion=REGION(8,1) DstRegion=<1> Type=ub
-                        
-.declare uwBOT_Y        Base=REG(r,nBOT_Y) ElementSize=2 SrcRegion=REGION(16,1) DstRegion=<1> Type=uw
-.declare uwBOT_U        Base=REG(r,nBOT_U) ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare uwBOT_V        Base=REG(r,nBOT_V) ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare ub2BOT_Y       Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(16,2) DstRegion=<1> Type=ub
-.declare ub2BOT_U       Base=REG(r,nBOT_U) ElementSize=1 SrcRegion=REGION(8,2) DstRegion=<1> Type=ub
-.declare ub2BOT_V       Base=REG(r,nBOT_V) ElementSize=1 SrcRegion=REGION(8,2) DstRegion=<1> Type=ub
-
-.declare ubBOT_ARGB     Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-
-// Used by "send" instruction
-.declare udBOT_Y_IO     Base=REG(r,nBOT_Y) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare udBOT_U_IO     Base=REG(r,nBOT_U) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare udBOT_V_IO     Base=REG(r,nBOT_V) ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-
-// End of common.inc
-
-#endif    // COMMON_INC
diff --git a/i965_drv_video/shaders/post_processing/Common/readSampler16x1.asm b/i965_drv_video/shaders/post_processing/Common/readSampler16x1.asm
deleted file mode 100644 (file)
index 36c4be6..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: readSampler16x1.asm
-//
-// Read one row of pix through sampler
-//
-
-
-
-//#define SAMPLER_MSG_DSC              0x166A0000      // ILK Sampler Message Descriptor
-
-
-
-// Send Message [DevILK]                                Message Descriptor
-//  MBZ MsgL=5 MsgR=8                            H MBZ   SIMD     MsgType   SmplrIndx BindTab
-//  000 0 101 0 1000                             1  0     10     0000         0000    00000000
-//    0     A    8                                     A             0             0     0     0
-
-//     MsgL=1+2*2(u,v)=5 MsgR=8
-#define SAMPLER_MSG_DSC                0x0A8A0000      // ILK Sampler Message Descriptor
-
-
-
-
-
-                                                                                
-
-       // Assume MSGSRC is set already in the caller
-        //mov (8)              rMSGSRC.0<1>:ud                 0:ud    // Unused fileds
-
-
-
-       // Read 16 sampled pixels and stored them in float32 in 8 GRFs
-       // 422 data is expanded to 444, return 8 GRF in the order of RGB- (UYV-).
-       // 420 data has three surfaces, return 8 GRF. Valid is always in the 1st GRF when in R8.  Make sure no overwrite the following 3 GRFs.
-       // alpha data is expanded to 4444, return 8 GRF in the order of RGBA (UYVA).
-
-    mov(16)     mMSGHDR<1>:uw   rMSGSRC<16;16,1>:uw
-    send (16)  DATABUF(0)<1>   mMSGHDR         udDUMMY_NULL    0x2 SAMPLER_MSG_DSC+SAMPLER_IDX+BINDING_IDX:ud
-
-
-
-
-    
-
-
diff --git a/i965_drv_video/shaders/post_processing/Common/undefall.inc b/i965_drv_video/shaders/post_processing/Common/undefall.inc
deleted file mode 100644 (file)
index 241bd70..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Modual name: undefall.inc
-//
-// undefine all global symbol for new process
-//
-
-//Source definitions
-#undef  ubSRC_Y   
-#undef  ubSRC_U   
-#undef  ubSRC_V 
-
-#undef  ub2SRC_Y   
-#undef  ub2SRC_U   
-#undef  ub2SRC_V
-
-#undef  ub4SRC_Y   
-#undef  ub4SRC_U   
-#undef  ub4SRC_V
-
-#undef  uwSRC_Y   
-#undef  uwSRC_U   
-#undef  uwSRC_V
-
-#undef  udSRC_Y   
-#undef  udSRC_U   
-#undef  udSRC_V
-
-#undef  udSRC_YUV
-#undef  nSRC_YUV_REG
-
-//Destination definitions
-#undef  ubDEST_Y   
-#undef  ubDEST_U   
-#undef  ubDEST_V 
-
-#undef  ub2DEST_Y   
-#undef  ub2DEST_U   
-#undef  ub2DEST_V
-
-#undef  ub4DEST_Y   
-#undef  ub4DEST_U   
-#undef  ub4DEST_V
-
-#undef  uwDEST_Y   
-#undef  uwDEST_U   
-#undef  uwDEST_V
-
-#undef  udDEST_Y   
-#undef  udDEST_U   
-#undef  udDEST_V
-
-#undef  udDEST_YUV
-#undef  nDEST_YUV_REG
-#undef  ubDEST_ARGB
-
-// End of undefall.inc
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_IEF.inc b/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_IEF.inc
deleted file mode 100644 (file)
index cbed61a..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: AVS_IEF.inc
-
-#ifndef _AVS_INF_INC_
-#define _AVS_INF_INC_
-
-#include "undefall.inc"             //Undefine the SRC and DEST sysmbols
-
-        // Message Header
-        // m0.7         31:0    Debug
-        // m0.6         31:0    Debug
-        // m0.5         31:0    Ignored
-        // m0.4         31:0    Ignored
-        // m0.3         31:0    Ignored
-        // m0.2         31:16   Ignored
-        //              15      Alpha Write Channel Mask        enable=0, disable=1
-        //              14      Blue Write Channel Mask  (V)    
-        //              13      Green Write Channel Mask (Y)
-        //              12      Red Write Channel Mask   (U)
-        //              11:0    Ignored
-        // m0.1                 Ignored
-        // m0.0                 Ignored
-
-#define mAVS_8x8_HDR   m0               // Message Header
-#define mAVS_PAYLOAD   m1               // Message Payload Header
-
-#define mAVS_8x8_HDR_2   m2               // Message Header
-#define mAVS_PAYLOAD_2   m3               // Message Payload Header
-
-#define mAVS_8x8_HDR_UV   m2               // Message Header
-#define mAVS_PAYLOAD_UV   m3               // Message Payload Header
-
-#define rAVS_8x8_HDR   rMSGSRC          // Mirror of Message Header 
-#define rAVS_PAYLOAD   r9               // Mirror of Message Payload Header
-        
-        // AVS payload
-        // m1.7                 Ignored
-        // m1.6                 Pixel 0 V Address       ---> ORIY (Y0)
-        // m1.5                 Delta V                 ---> Step Y
-        // m1.4                 Ignored
-        // m1.3                 Ignored
-        // m1.2                 Pixel 0 U Address       ---> ORIX (X0)
-        // m1.1                 U 2nd Derivative        ---> NLAS dx 
-        // m1.0                 Delta U                 ---> Step X
-
-        // Sampler Message Descriptor
-        // 31:29        Reserved                        000
-        // 28:25        Message length                  0010
-        // 24:20        Response length                 xxxxx   ---> 4GRFs for each enabled channel
-        // 19           Header Present                  1
-        // 18           MBZ                             0
-        // 17:16        SIMD Mode                       11      ---> SIMD64
-        // 15:12        Message Type                    0011    ---> sample_8x8
-        // 11:8         Sampler Index                   xxxx
-        // 7:0          Binding Table Index             xxxxxxxx
-#define nAVS_MSG_DSC_1CH        0x044BB000  
-#define nAVS_MSG_DSC_2CH        0x048BB000
-#define nAVS_MSG_DSC_3CH        0x04CBB000      
-#define nAVS_MSG_DSC_4CH        0x050BB000 
-
-#define nAVS_RED_CHANNEL_ONLY   0x0000E000      // Enable Red channel only
-#define nAVS_GREEN_CHANNEL_ONLY 0x0000D000      // Enable Green channel only
-#define nAVS_RED_BLUE_CHANNELS  0x0000A000      // Enable Red and Blue channels
-#define nAVS_RGB_CHANNELS       0x00008000      // Enable RGB(YUV) channels
-#define nAVS_ALL_CHANNELS       0x00000000      // Enable all channels (ARGB\AYUV)
-
-        
-
-.declare     ubAVS_RESPONSE  Base=REG(r,nTEMP8) ElementSize=1  SrcRegion=REGION(16,1) Type=ub
-.declare     uwAVS_RESPONSE  Base=REG(r,nTEMP8) ElementSize=2  SrcRegion=REGION(16,1) Type=uw
-
-.declare     ubAVS_RESPONSE_2  Base=REG(r,nTEMP24) ElementSize=1  SrcRegion=REGION(16,1) Type=ub
-.declare     uwAVS_RESPONSE_2  Base=REG(r,nTEMP24) ElementSize=2  SrcRegion=REGION(16,1) Type=uw
-
-
-#if (nSRC_REGION==nREGION_2)
-    #define uwDEST_Y        uwBOT_Y
-    #define uwDEST_U        uwBOT_U
-    #define uwDEST_V        uwBOT_V
-
-    #define ubDEST_Y        ubBOT_Y
-    
-    #undef  nSRC_REGION
-    #define nSRC_REGION nREGION_2
-
-#else //(nSRC_REGION==nREGION_1)
-    #define uwDEST_Y        uwTOP_Y
-    #define uwDEST_U        uwTOP_U
-    #define uwDEST_V        uwTOP_V
-
-    #define ubDEST_Y        ubTOP_Y
-    
-    #undef  nSRC_REGION
-    #define nSRC_REGION     nREGION_1
-
-#endif
-
-
-#endif //_AVS_INF_INC_
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupFirstBlock.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupFirstBlock.asm
deleted file mode 100644 (file)
index d45ce44..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//------------------------------------------------------------------------------
-// AVS_SetupFirstBlock.asm
-//------------------------------------------------------------------------------
-        
-    // Setup Message Header
-//    mov (8) mAVS_8x8_HDR<1>:ud      rMSGSRC<8;8,1>:ud                                                     
-
-    // Check  NLAS Enable bit
-    and.z.f0.0 (1)     wNULLREG                uwNLAS_ENABLE:uw        BIT15:uw        
-    (f0.0)mov   (1) fVIDEO_STEP_DELTA:f     0.0:f   
-    
-    // Setup Message Payload Header for 1st block of Media Sampler 8x8
-    mov (1) rAVS_PAYLOAD.0:f        fVIDEO_STEP_DELTA:f     //NLAS dx
-    mov (1) rAVS_PAYLOAD.1:f        fVIDEO_STEP_X:f         //Step X 
-    mov (1) rAVS_PAYLOAD.5:f        fVIDEO_STEP_Y:f         //Step Y 
-    mov (2) rAVS_PAYLOAD.2<4>:f     fSRC_VID_H_ORI<2;2,1>:f //Orig X and Y 
-
-
-    
-
-
-
-
-
-               
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupSecondBlock.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/AVS_SetupSecondBlock.asm
deleted file mode 100644 (file)
index 8f125dc..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//------------------------------------------------------------------------------
-// AVS_SetupSecondBlock.asm
-//------------------------------------------------------------------------------
-        
-    //NLAS calculations for 2nd block of Media Sampler 8x8: 
-    // X(i) = X0 + dx*i + ddx*i*(i-1)/2   ==>  X(8) = X0 + dx*8 +ddx*28
-    // dx(i)= dx(0) + ddx*i               ==>  dx(8)= dx + ddx*8
-
-    // Calculating X(8)
-    mov (1)   acc0.2<1>:f           fSRC_VID_H_ORI:f                         
-    mac (1)   acc0.2<1>:f           fVIDEO_STEP_X:f          8.0:f           
-    mac (1)   rAVS_PAYLOAD.2:f      fVIDEO_STEP_DELTA:f      28.0:f                    
-    
-    // Calculating dx(8)
-    mov (1)   acc0.1<1>:f           fVIDEO_STEP_X:f                         
-    mac (1)   rAVS_PAYLOAD.1:f      fVIDEO_STEP_DELTA:f      8.0:f
-               
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DI.inc b/i965_drv_video/shaders/post_processing/Core_Kernels/DI.inc
deleted file mode 100644 (file)
index 62f84c0..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: DI.inc
-
-#ifdef GT
-// GT DI Kernel
-#else // ILK
-// ILK DI Kernel
-#endif
-
-//---------------------------------------------------------------------------
-// Binding table indices
-//---------------------------------------------------------------------------
-#define nBIDX_DI_PRV           10              // Previous DI-ed frame
-#define nBIDX_DI_CUR           13              // Current DI-ed frame
-#define        nBIDX_DN                        7               // Denoised frame
-#define        nBIDX_STAT                      20              // Statistics 
-#define nBIDX_DI_Source  4  // Source Surface
-
-
-//---------------------------------------------------------------------------
-// Message descriptors
-//---------------------------------------------------------------------------
-// Extended message descriptor
-#define nSMPL_ENGINE           0x2
-#define nDATAPORT_WRITE                0x5
-#define nTS_EOT                                0x27    // with End-Of-Thread bit ON
-
-               // Message descriptor for end-of-thread
-               //                                              = 000 0001 (message len) 00000 (resp len)
-               //                                                0 (header present 0) 00000000000000 0 (URB dereferenced) 0000
-#define nEOT_MSGDSC                    0x02000000
-
-               // Message descriptor for sampler read
-               //                                              = 000 0010 (message len 2) 00000 (resp len - set later, 12 or 5 or 11)  
-               //                                                1 (header present 1) 0 11 (SIMD32/64 mode) 
-               //                                                1000 (message type) 0000 (DI state index) 
-               //                                                00000000 (binding table index - set later)
-               //                                              = 0x040b8000
-
-// comment begin
-// The following is commented out because of walker feature
-// It corresponds to the #ifdef GT #else and #endif
-//#define nSMPL_MSGDSC             0x040b8000
-//#define nSMPL_RESP_LEN_DI        0x00c00000          // 12
-//#define nSMPL_RESP_LEN_NODI_PL  0x00500000           // 5
-//#define nSMPL_RESP_LEN_NODI_PA  0x00900000           // 9
-//#define nSMPL_RESP_LEN_NODN      0x00900000          // 9
-//#define nSMPL_RESP_LEN_PDI       0x00b00000          // 11
-// comment end
-
-#ifdef GT
-
-#define nSMPL_MSGDSC               0x040b8000
-#define nSMPL_RESP_LEN_DI          0x00c00000          // 12
-#define nSMPL_RESP_LEN_NODI_PL  0x00500000             // 5  //DI disable, the XY stored in 5th GRF, no impact to return length
-#define nSMPL_RESP_LEN_NODI_PA  0x00900000             // 9  //DI disable, the XY stored in 5th GRF, no impact to return length
-#define nSMPL_RESP_LEN_NODN        0x00a00000          // 10 //NO DN, originally use 9, now we need use 10 to store the XY with walker
-#define nSMPL_RESP_LEN_PDI         0x00b00000          // 11
-
-#else
-
-#define nSMPL_MSGDSC               0x040b8000
-#define nSMPL_RESP_LEN_DI          0x00c00000          // 12
-#define nSMPL_RESP_LEN_NODI_PL  0x00500000             // 5
-#define nSMPL_RESP_LEN_NODI_PA  0x00900000             // 9
-#define nSMPL_RESP_LEN_NODN        0x00900000          // 9
-#define nSMPL_RESP_LEN_PDI         0x00b00000          // 11
-
-#endif
-
-               // Message descriptor for dataport media write
-#ifdef GT
-               //                                              = 000 0000 (message len - set later) 00000 (resp len 0)                 
-               //                                                1 (header present 1) 0 0 1010 (media block write) 00000
-               //                                                00000000 (binding table index - set later)
-               //                                              = 0x00094000
-#define nDPMW_MSGDSC               0x00094000
-#else // ILK
-               //                                              = 000 0000 (message len - set later) 00000 (resp len 0)                 
-               //                                                1 (header present 1) 000 0 010 (media block write) 0000
-               //                                                00000000 (binding table index - set later)
-               //                                              = 0x00082000
-#define nDPMW_MSGDSC               0x00082000
-#endif
-#define nDPMW_MSG_LEN_STMM         0x04000000          // 2 - STMM
-#define nDPMW_MSG_LEN_DH           0x04000000          // 2 - Denoise history
-#define nDPMW_MSG_LEN_PA_DN        0x0a000000          // 5 - Denoised output
-#define nDPMW_MSG_LEN_PA_NODI  0x12000000              // 9 - Denoised output - denoise only - DI disabled
-#define nDPMW_MSG_LEN_PL_DN        0x06000000          // 3 - Denoised output
-#define nDPMW_MSG_LEN_PL_NODI  0x0a000000              // 5 - Denoised output - denoise only - DI disabled
-#define nDPMW_MSG_LEN_DI           0x0a000000          // 5 - DI output
-
-
-//---------------------------------------------------------------------------
-// Static and inline parameters
-//---------------------------------------------------------------------------
-// Static parameters
-.declare ubTFLD_FIRST          Base=r1.27      ElementSize=1 Type=ub   // top field first
-.declare ubSRCYUVOFFSET                Base=r1.4       ElementSize=1 Type=ub   // source packed format
-.declare ubDSTYUVOFFSET                Base=r1.8       ElementSize=1 Type=ub   // destination packed format
-.declare uwSPITCH_DIV2         Base=r1.10      ElementSize=2 Type=uw   // statistics surface pitch divided by 2
-
-// Inline parameters
-.declare uwXORIGIN                     Base=r5.0       ElementSize=2 Type=uw   // X and Y origin
-.declare uwYORIGIN                     Base=r5.1       ElementSize=2 Type=uw
-
-
-//---------------------------------------------------------------------------
-// Kernel GRF variables 
-//---------------------------------------------------------------------------
-// Message response (Denoised & DI-ed pixels & statistics)
-.declare dRESP                                         Base=r8         ElementSize=4 Type=d    // Response message (12 or 5 or 11)
-.declare ubRESP                                                Base=r8         ElementSize=1 Type=ub   
-
-.declare dSTMM                                         Base=r16        ElementSize=4 Type=d    // STMM
-.declare ubDN_HIST_NODI                Base=r12        ElementSize=1 Type=ub   // Denoise history data (DI disabled)
-.declare ubDN_HIST_DI                  Base=r17        ElementSize=1 Type=ub   // Denoise history data (DI enabled)
-.declare uwRETURNED_POSITION_DI        Base=r17        ElementSize=2 Type=uw   // XY_Return_Data (DI enabled)
-.declare uwRETURNED_POSITION_DN        Base=r12        ElementSize=2 Type=uw // XY_Return_Data (DI disabled)
-
-.declare ub1ST_FLD_DN                  Base=r12        ElementSize=1 Type=ub   // 1st field Denoised data (DI enabled)
-.declare d1ST_FLD_DN                   Base=r12        ElementSize=4 Type=d
-.declare ub2ND_FLD_DN                  Base=r18        ElementSize=1 Type=ub   // 2nd field Denoised data (DI enabled) 
-.declare d2ND_FLD_DN                   Base=r18        ElementSize=4 Type=d
-.declare ubPRV_DI                                      Base=r8         ElementSize=1 Type=ub   // Previous frame DI (DI enabled)
-.declare ubCUR_DI                                      Base=r12        ElementSize=1 Type=ub   // Previous frame DI (DI enabled)
-
-// Packed denoised output
-.declare ubDN_YUV                                      Base=r22        ElementSize=1 Type=ub   // Denoised YUV422
-.declare dDN_YUV                                       Base=r22        ElementSize=4 Type=d
-#define         npDN_YUV                       704                                                                     // = 22*32 = 0x280
-
-// Packed DI output
-.declare dDI_YUV_PRV                   Base=r32        ElementSize=4 Type=d    // Previous frame DI output
-.declare dDI_YUV_CUR                   Base=r36        ElementSize=4 Type=d    // Current frame DI output
-#define         npDI_YUV                       1024                                                                    // = 32*32 = 0x 
-
-// For packed output
-#define         p422_YOFFSET           a0.2    
-#define         p422_UOFFSET           a0.3    
-#define         p422_VOFFSET           a0.4
-#define         pDN_TFLDSRC            a0.6    
-#define         pDN_BFLDSRC            a0.7    
-#define         npRESP                         192                                                                     // = 6*32
-
-// Message source
-.declare udMSGSRC                                      Base=r70          ElementSize=4 Type=ud
-.declare uwMSGSRC                                      Base=r70          ElementSize=2 Type=uw
-.declare dMSGSRC          Base=r70    ElementSize=4 Type=d
-
-
-//---------------------------------------------------------------------------
-// Kernel MRF variables 
-//---------------------------------------------------------------------------
-#define        mMSGHDR_SMPL            m1                                                                      // Sampler response: m1~m2
-.declare mudMSGHDR_SMPL                Base=m1         ElementSize=4 Type=ud
-.declare muwMSGHDR_SMPL                Base=m1         ElementSize=2 Type=uw
-#define        mMSGHDR_DN                      m3                                                                      // Denoise output: m3~m7 for PA, m3~m5 for PL
-.declare mdMSGHDR_DN           Base=m3         ElementSize=4 Type=d
-#define        mMSGHDR_STAT            m8                                                                      // Statistics output: m8~m9
-.declare mdMSGHDR_STAT         Base=m8         ElementSize=4 Type=d
-.declare mubMSGHDR_STAT                Base=m8         ElementSize=1 Type=ub
-#define        mMSGHDR_DI                      m10                                                                     // DI output: m10~m14
-.declare mdMSGHDR_DI           Base=m10        ElementSize=4 Type=d
-#define        mMSGHDR_EOT                     m15                                                                     // EOT
-
-#ifdef GT
-#define        MSGSRC
-#else
-#define MSGSRC                         null:ud
-#endif
-
-        
-//---------------------------------------------------------------------------
-// End of thread instruction
-//---------------------------------------------------------------------------
-#ifdef GT
-#define END_THREAD                     send (8) null<1>:d mMSGHDR_EOT nTS_EOT nEOT_MSGDSC 
-#else  // ILK
-#define END_THREAD                     send (8) null<1>:d mMSGHDR_EOT null:ud  nTS_EOT nEOT_MSGDSC
-#endif
-
-
-// end of DI.inc
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DI_Hist_Save.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/DI_Hist_Save.asm
deleted file mode 100644 (file)
index ae8ff85..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-// Write denoise history to memory
-shr (2)    rMSGSRC.0<1>:ud    wORIX<2;2,1>:w            2:w                      NODDCLR           // X,Y origin / 4
-add (1)    rMSGSRC.0<1>:ud    rMSGSRC.0<0;1,0>:ud       uwSPITCH_DIV2<0;1,0>:uw  NODDCLR_NODDCHK  // Add pitch to X origin
-mov (1)    rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_HIST:ud                            NODDCHK           // block width and height (4x2)
-
-mov (8)    mMSGHDR_HIST<1>:ud      rMSGSRC.0<8;8,1>:ud                   // message header   
-mov (1)    mudMSGHDR_HIST(1)<1>    udRESP(nDI_HIST_OFFSET,0)<0;1,0>    // Move denoise history to MRF
-
-send (8)   dNULLREG    mMSGHDR_HIST    udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_HIST+nBI_STMM_HISTORY_OUTPUT:ud
-
-
-
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DI_SAVE_PA.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/DI_SAVE_PA.asm
deleted file mode 100644 (file)
index f4e2fe7..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-    shl (1) rMSGSRC.0<1>:ud     wORIX<0;1,0>:w            1:w  NODDCLR             // H. block origin need to be doubled
-    mov (1) rMSGSRC.1<1>:ud     wORIY<0;1,0>:w                 NODDCLR_NODDCHK    // Block origin
-    mov (1) rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_DI:ud          NODDCHK             // Block width and height (32x8)
-    
-       
-       add (4) pCF_Y_OFFSET<1>:uw   ubDEST_CF_OFFSET<4;4,1>:ub   nDEST_YUV_REG*nGRFWIB:w    // Initial Y,U,V offset in YUV422 block
-
-       // Pack 2nd field Y
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-               mov     (16) r[pCF_Y_OFFSET, %1*nGRFWIB]<2>       ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    }
-       // Pack 1st field Y
-    $for(0; <nY_NUM_OF_ROWS; 1) {
-               mov     (16) r[pCF_Y_OFFSET, %1+4*nGRFWIB]<2>       ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    }
-       // Pack 2nd field U
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (8) r[pCF_U_OFFSET,   %1*nGRFWIB]<4>  ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-    }
-        // Pack 1st field U
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (8) r[pCF_U_OFFSET,   %1+4*nGRFWIB]<4>  ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-    }
-       // Pack 2nd field V
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (8) r[pCF_V_OFFSET,   %1*nGRFWIB]<4>  ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>  //Vpixels
-    }
-       // Packs1st field V
-    $for(0; <nUV_NUM_OF_ROWS; 1) {
-        mov (8) r[pCF_V_OFFSET,   %1+4*nGRFWIB]<4>  ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>  //Vpixels
-    }
-
-    //save the previous frame
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-    $for(0; <4; 1) {
-            mov (8) mudMSGPAYLOAD(%1)<1>  udDEST_YUV(%1)REGION(8,1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_DI+nBI_DESTINATION_1_YUV:ud
-
-    //save the current frame
-    mov (8) mMSGHDR<1>:ud       rMSGSRC<8;8,1>:ud
-    $for(0; <4; 1) {
-            mov (8) mudMSGPAYLOAD(%1)<1>  udDEST_YUV(%1+4)REGION(8,1)
-    }
-    send (8)    dNULLREG    mMSGHDR   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPW_MSG_SIZE_DI+nBI_DESTINATION_2_YUV:ud
-       
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI.inc b/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI.inc
deleted file mode 100644 (file)
index 3258756..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Module name: DI.inc
-
-#ifdef GT
-// GT DI Kernel
-#else // ILK
-// ILK DI Kernel
-#endif
-
-#include "undefall.inc"
-
-//---------------------------------------------------------------------------
-// Message descriptors
-//---------------------------------------------------------------------------
-// Extended message descriptor
-          // Message descriptor for sampler read
-//        //                      = 000 0010 (message len 2) 00000 (resp len - set later, 12 or 5 or 11)  
-//        //                        1 (header present 1) 0 11 (SIMD32/64 mode) 
-//        //                        1000 (message type) 0000 (DI state index) 
-//        //                        00000000 (binding table index - set later)
-//        //                      = 0x040b8000
-#define nSMPL_DI_MSGDSC           0x040b8000
-
-#define nSMPL_RESP_LEN_DNDI      nRESLEN_12      // 12 - for DN + DI Alg
-#define nSMPL_RESP_LEN_DN_PL     nRESLEN_5       // 5  - for DN Planar Alg
-#define nSMPL_RESP_LEN_DN_PA     nRESLEN_9       // 9  - for DN Packed Alg
-#define nSMPL_RESP_LEN_DI        nRESLEN_9       // 9  - for DI Only Alg
-#define nSMPL_RESP_LEN_PDI       nRESLEN_11      // 11 - for Partial DI Alg
-
-// Attention: The Message Length is The Number of GRFs with Data Only, without the Header
-#define nDPMW_MSG_LEN_STMM       nMSGLEN_1       // 1 - For STMM Save
-#define nDPMW_MSG_LEN_HIST       nMSGLEN_1       // 1 - For Denoise History Save
-#define nDPMW_MSG_LEN_PA_DN_DI   nMSGLEN_4       // 4 - For DN Curr Save
-#define nDPMW_MSG_LEN_PA_DN_NODI nMSGLEN_8       // 8 - For DN Curr Save (denoise only - DI disabled)
-#define nDPMW_MSG_LEN_PL_DN_DI   nMSGLEN_2       // 2 - For DN Curr Save
-#define nDPMW_MSG_LEN_PL_DN_NODI nMSGLEN_4       // 4 - For DN Curr Save (denoise only - DI disabled)
-
-#define nDPW_BLOCK_SIZE_STMM   nBLOCK_WIDTH_8+nBLOCK_HEIGHT_4   // Y block size 8x4
-
-#undef  nDPW_BLOCK_SIZE_DI
-#undef  nDPW_MSG_SIZE_DI
-#define nDPW_BLOCK_SIZE_DI  nBLOCK_WIDTH_32+nBLOCK_HEIGHT_4    
-#define nDPW_MSG_SIZE_DI    nMSGLEN_4
-
-
-//---------------------------------------------------------------------------
-// Kernel GRF variables 
-//---------------------------------------------------------------------------
-// Defines for DI enabled
-#define nDI_PREV_FRAME_LUMA_OFFSET          0
-#define nDI_PREV_FRAME_CHROMA_OFFSET        2
-#define nDI_CURR_FRAME_LUMA_OFFSET          4
-#define nDI_CURR_FRAME_CHROMA_OFFSET        6
-#define nDI_STMM_OFFSET                     8
-#define nDI_HIST_OFFSET                     9
-#define nDI_CURR_2ND_FIELD_LUMA_OFFSET     10
-#define nDI_CURR_2ND_FIELD_CHROMA_OFFSET   11
-
-// Defines for DI disabled
-#define nNODI_LUMA_OFFSET                   0
-#define nNODI_HIST_OFFSET                   4
-#define nNODI_CHROMA_OFFSET                 5
-
-#ifdef DI_ENABLE
-    #define nHIST_OFFSET    nDI_HIST_OFFSET
-    #undef  nY_NUM_OF_ROWS
-    #define nY_NUM_OF_ROWS      8       // Number of Y rows per block (4 rows for each frame) 
-    #undef  nUV_NUM_OF_ROWS
-    #define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-       
-#endif
-
-#ifdef DI_DISABLE
-    #define nHIST_OFFSET    nNODI_HIST_OFFSET
-#endif
-
-#if (nSRC_REGION==nREGION_2)
-    #define ub2SRC_Y      ub2BOT_Y
-    #define ub2SRC_U      ub2BOT_U
-    #define ub2SRC_V      ub2BOT_V
-    #define uwDEST_Y      uwBOT_Y
-    #define uwDEST_U      uwBOT_U
-    #define uwDEST_V      uwBOT_V
-    #define nDEST_YUV_REG nTOP_Y
-    #define udDEST_YUV    udTOP_Y_IO
-
-    #define nRESP         nTEMP0         // DI return message requires 12 GRFs
-    #define nDN_YUV       nTOP_Y         // Space for Packing DN for next run requires 8 GRFs
-
-    #undef  nSRC_REGION
-    #define nSRC_REGION   nREGION_2
-
-#else
-    #define ub2SRC_Y      ub2TOP_Y
-    #define ub2SRC_U      ub2TOP_U
-    #define ub2SRC_V      ub2TOP_V
-    #define uwDEST_Y      uwTOP_Y
-    #define uwDEST_U      uwTOP_U
-    #define uwDEST_V      uwTOP_V
-    #define nDEST_YUV_REG nBOT_Y
-    #define udDEST_YUV    udBOT_Y_IO
-    #define nRESP         nTEMP0         // DI return message requires 12 GRFs
-    #define nDN_YUV       nBOT_Y         // Space for Packing DN for next run requires 8 GRFs
-
-    #undef  nSRC_REGION
-    #define nSRC_REGION   nREGION_1    // REGION_1 will be the source region for first kernel
-
-#endif
-
-
-    
-
-
-
-
-
-
-// Message response (Denoised & DI-ed pixels & statistics)
-.declare udRESP      Base=REG(r,nRESP) ElementSize=4 SrcRegion=REGION(8,1) DstRegion=<1> Type=ud
-.declare ubRESP      Base=REG(r,nRESP) ElementSize=1 SrcRegion=REGION(16,1) DstRegion=<1> Type=ub
-
-// For Denoised Curr Output (Used as Priv in Next Run)
-.declare ubDN_YUV           Base=REG(r,nDN_YUV)    ElementSize=1 Type=ub
-.declare udDN_YUV           Base=REG(r,nDN_YUV)    ElementSize=4 Type=ud
-#define  npDN_YUV           nDN_YUV*nGRFWIB                                 
-
-// For DI Process Output (1st and 2nd Frames Output)
-//.declare udDI_YUV_PRIV      Base=REG(r,nTEMP0)    ElementSize=4 Type=ud   // Previous frame DI output
-//.declare udDI_YUV_CURR      Base=REG(r,nTEMP0)    ElementSize=4 Type=ud   // Current frame DI output
-//#define  npDI_YUV           nTEMP0*nGRFWIB                                  
-
-//---------------------------------------------------------------------------
-// Kernel MRF variables 
-//---------------------------------------------------------------------------
-#define  mMSG_SMPL           m1                                              // Sampler Command is in: m1~m2
-.declare mudMSG_SMPL         Base=mMSG_SMPL         ElementSize=4 Type=ud
-.declare muwMSG_SMPL         Base=mMSG_SMPL         ElementSize=2 Type=uw
-
-#define mMSGHDR_DN           m1                                              // Denoise Output: m1~m9 for PA, m3~m5 for PL
-.declare mudMSGHDR_DN        Base=mMSGHDR_DN        ElementSize=4 Type=ud
-.declare mubMSGHDR_DN        Base=mMSGHDR_DN        ElementSize=1 Type=ub
-
-#define mMSGHDR_STMM         m11                                             // STMM Output: m11~m12
-.declare mudMSGHDR_STMM      Base=mMSGHDR_STMM      ElementSize=4 Type=ud
-#define mMSGHDR_HIST         m13                                             // HIST Output: m13~m14
-.declare mudMSGHDR_HIST      Base=mMSGHDR_HIST      ElementSize=1 Type=ud
-
-#define mMSGHDR_DI_1ST       m1                                              // DI output: m1~m5
-.declare mudMSGHDR_DI_1ST    Base=mMSGHDR_DI_1ST    ElementSize=4 Type=ud
-#define mMSGHDR_DI_2ND       m6                                              // DI output: m6~m10
-.declare mudMSGHDR_DI_2ND    Base=mMSGHDR_DI_2ND    ElementSize=4 Type=ud
-
-// end of DNDI.inc
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_COMMAND.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_COMMAND.asm
deleted file mode 100644 (file)
index 2c041fc..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// Activate the DNDI send command
-mov (8)     mudMSG_SMPL(0)<1>        rMSGSRC.0<8;8,1>:ud    NODDCLR         // message header
-mov (1)     muwMSG_SMPL(1,4)<1>      wORIX<0;1,0>:w         NODDCLR_NODDCHK// horizontal origin
-mov (1)     muwMSG_SMPL(1,12)<1>     wORIY<0;1,0>:w         NODDCLR_NODDCHK         // vertical origin
-//mov (2)     muwMSG_SMPL(1,4)<2>      wORIX<2;2,1>:w       NODDCHK// problem during compile !! when using this line
-
-send (8)    udRESP(0)<1>    mMSG_SMPL  udDUMMY_NULL   nSMPL_ENGINE    nSMPL_DI_MSGDSC+nSMPL_RESP_LEN+nBI_CURRENT_SRC_YUV_HW_DI:ud
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_Hist_Save.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/DNDI_Hist_Save.asm
deleted file mode 100644 (file)
index 91c5bc2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-
-// Write denoise history to memory
-shr (2)    rMSGSRC.0<1>:ud    wORIX<2;2,1>:w            2:w                       NODDCLR         // X,Y origin / 4
-add (1)    rMSGSRC.0<1>:ud    rMSGSRC.0<0;1,0>:ud       uwSPITCH_DIV2<0;1,0>:uw   NODDCLR_NODDCHK// Add pitch to X origin
-mov (1)    rMSGSRC.2<1>:ud    nDPW_BLOCK_SIZE_HIST:ud                             NODDCHK         // block width and height (4x2)
-
-mov (8)    mMSGHDR_HIST<1>:ud      rMSGSRC.0<8;8,1>:ud                   // message header   
-mov (2)    mudMSGHDR_HIST(1)<1>    udRESP(nNODI_HIST_OFFSET,0)<2;2,1>    // Move denoise history to MRF
-
-send (8)   dNULLREG    mMSGHDR_HIST    udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_HIST+nBI_STMM_HISTORY_OUTPUT:ud
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_16x8.asm
deleted file mode 100644 (file)
index 55f71b5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_16x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 YUV packed
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Sample.asm"
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:4:4 internal planar 
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Unpack_16x8.asm"
-
-//------------------------------------------------------------------------------
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x4.asm
deleted file mode 100644 (file)
index 55c201b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_8x4.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 YUV packed
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Sample.asm"
-
-//------------------------------------------------------------------------------
-// Unpacking sampler data to 4:2:0 internal planar 
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Unpack_8x4.asm"
-
-//------------------------------------------------------------------------------
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_8x8.asm
deleted file mode 100644 (file)
index 6bde8c4..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_8x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 YUV packed
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Sample.asm"
-
-//------------------------------------------------------------------------------
-// Unpacking sampler data to 4:2:2 internal planar 
-//------------------------------------------------------------------------------
-#include "PA_AVS_IEF_Unpack_8x8.asm"
-
-//------------------------------------------------------------------------------
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Sample.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Sample.asm
deleted file mode 100644 (file)
index 0b533ef..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_Sample.asm ----------
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 YUV packed
-//------------------------------------------------------------------------------
-        
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // Enable RGB(YUV) channels
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_RGB_CHANNELS:ud   
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_3CH+nSI_SRC_YUV+nBI_CURRENT_SRC_YUV
-    // Return YUV in 12 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    mov (16) mAVS_8x8_HDR_2.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1> mAVS_8x8_HDR_2    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_3CH+nSI_SRC_YUV+nBI_CURRENT_SRC_YUV
-    // Return YUV in 12 GRFs
-        
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_16x8.asm
deleted file mode 100644 (file)
index 5dcc988..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_Unpack_16x8.asm ----------
-        
-#ifdef AVS_OUTPUT_16_BIT       //Output is packed in AVYU format
-// Move first 8x8 words of Y to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,1)<4>       uwAVS_RESPONSE(2,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,1)<4>       uwAVS_RESPONSE(2,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,1)<4>       uwAVS_RESPONSE(2,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,1)<4>       uwAVS_RESPONSE(2,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,1)<4>       uwAVS_RESPONSE(3,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,1)<4>       uwAVS_RESPONSE(3,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,1)<4>      uwAVS_RESPONSE(3,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,1)<4>      uwAVS_RESPONSE(3,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,1)<4>      uwAVS_RESPONSE(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,1)<4>      uwAVS_RESPONSE(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,1)<4>      uwAVS_RESPONSE(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,1)<4>      uwAVS_RESPONSE(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,1)<4>      uwAVS_RESPONSE(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,1)<4>      uwAVS_RESPONSE(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,1)<4>      uwAVS_RESPONSE(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,1)<4>      uwAVS_RESPONSE(9,12)<4;4,1>                                   
-
-// Move first 8x8 words of U to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,0)<4>       uwAVS_RESPONSE(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,0)<4>       uwAVS_RESPONSE(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,0)<4>       uwAVS_RESPONSE(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,0)<4>       uwAVS_RESPONSE(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,0)<4>       uwAVS_RESPONSE(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,0)<4>       uwAVS_RESPONSE(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,0)<4>      uwAVS_RESPONSE(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,0)<4>      uwAVS_RESPONSE(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,0)<4>      uwAVS_RESPONSE(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,0)<4>      uwAVS_RESPONSE(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,0)<4>      uwAVS_RESPONSE(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,0)<4>      uwAVS_RESPONSE(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,0)<4>      uwAVS_RESPONSE(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,0)<4>      uwAVS_RESPONSE(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,0)<4>      uwAVS_RESPONSE(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,0)<4>      uwAVS_RESPONSE(11,12)<4;4,1>                                   
-
-// Move first 8x8 words of V to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,2)<4>       uwAVS_RESPONSE(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,2)<4>       uwAVS_RESPONSE(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,2)<4>       uwAVS_RESPONSE(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,2)<4>       uwAVS_RESPONSE(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,2)<4>       uwAVS_RESPONSE(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,2)<4>       uwAVS_RESPONSE(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,2)<4>      uwAVS_RESPONSE(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,2)<4>      uwAVS_RESPONSE(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,2)<4>      uwAVS_RESPONSE(6,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,2)<4>      uwAVS_RESPONSE(6,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,2)<4>      uwAVS_RESPONSE(6,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,2)<4>      uwAVS_RESPONSE(6,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,2)<4>      uwAVS_RESPONSE(7,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,2)<4>      uwAVS_RESPONSE(7,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,2)<4>      uwAVS_RESPONSE(7,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,2)<4>      uwAVS_RESPONSE(7,12)<4;4,1>                                   
-
-// Move first 8x8 words of A to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(1,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(4,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(5,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(8,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(9,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(12,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(13,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(16,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(17,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(20,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(21,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(24,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(25,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(28,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(29,3)<4>      0:uw                                   
-
-// Move second 8x8 words of Y to dest GRF
-    mov (4) uwDEST_Y(2,1)<4>       uwAVS_RESPONSE_2(2,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,1)<4>       uwAVS_RESPONSE_2(2,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,1)<4>       uwAVS_RESPONSE_2(2,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,1)<4>       uwAVS_RESPONSE_2(2,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,1)<4>      uwAVS_RESPONSE_2(3,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,1)<4>      uwAVS_RESPONSE_2(3,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,1)<4>      uwAVS_RESPONSE_2(3,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,1)<4>      uwAVS_RESPONSE_2(3,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,1)<4>      uwAVS_RESPONSE_2(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,1)<4>      uwAVS_RESPONSE_2(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,1)<4>      uwAVS_RESPONSE_2(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,1)<4>      uwAVS_RESPONSE_2(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,1)<4>      uwAVS_RESPONSE_2(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,1)<4>      uwAVS_RESPONSE_2(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,1)<4>      uwAVS_RESPONSE_2(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,1)<4>      uwAVS_RESPONSE_2(9,12)<4;4,1>                                   
-
-// Move second 8x8 words of U to dest GRF
-    mov (4) uwDEST_Y(2,0)<4>       uwAVS_RESPONSE_2(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,0)<4>       uwAVS_RESPONSE_2(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,0)<4>       uwAVS_RESPONSE_2(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,0)<4>       uwAVS_RESPONSE_2(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,0)<4>      uwAVS_RESPONSE_2(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,0)<4>      uwAVS_RESPONSE_2(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,0)<4>      uwAVS_RESPONSE_2(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,0)<4>      uwAVS_RESPONSE_2(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,0)<4>      uwAVS_RESPONSE_2(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,0)<4>      uwAVS_RESPONSE_2(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,0)<4>      uwAVS_RESPONSE_2(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,0)<4>      uwAVS_RESPONSE_2(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,0)<4>      uwAVS_RESPONSE_2(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,0)<4>      uwAVS_RESPONSE_2(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,0)<4>      uwAVS_RESPONSE_2(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,0)<4>      uwAVS_RESPONSE_2(11,12)<4;4,1>                                   
-
-// Move second 8x8 words of V to dest GRF
-    mov (4) uwDEST_Y(2,2)<4>       uwAVS_RESPONSE_2(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,2)<4>       uwAVS_RESPONSE_2(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,2)<4>       uwAVS_RESPONSE_2(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,2)<4>       uwAVS_RESPONSE_2(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,2)<4>      uwAVS_RESPONSE_2(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,2)<4>      uwAVS_RESPONSE_2(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,2)<4>      uwAVS_RESPONSE_2(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,2)<4>      uwAVS_RESPONSE_2(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,2)<4>      uwAVS_RESPONSE_2(6,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,2)<4>      uwAVS_RESPONSE_2(6,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,2)<4>      uwAVS_RESPONSE_2(6,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,2)<4>      uwAVS_RESPONSE_2(6,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,2)<4>      uwAVS_RESPONSE_2(7,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,2)<4>      uwAVS_RESPONSE_2(7,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,2)<4>      uwAVS_RESPONSE_2(7,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,2)<4>      uwAVS_RESPONSE_2(7,12)<4;4,1>                                   
-
-// Move second 8x8 words of A to dest GRF
-    mov (4) uwDEST_Y(2,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(3,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(6,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(7,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(10,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(11,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(14,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(15,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(18,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(19,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(22,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(23,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(26,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(27,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(30,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(31,3)<4>      0:uw                                   
-
-/*     This section will be used if 16-bit output is needed in planar format -vK
-    // Move first 8x8 words of Y to dest GRF
-    mov (8)  uwDEST_Y(0)<1>     uwAVS_RESPONSE(2,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(1)<1>     uwAVS_RESPONSE(2,8)<8;4,1>               
-    mov (8)  uwDEST_Y(2)<1>     uwAVS_RESPONSE(3,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(3)<1>     uwAVS_RESPONSE(3,8)<8;4,1>               
-    mov (8)  uwDEST_Y(4)<1>     uwAVS_RESPONSE(8,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(5)<1>     uwAVS_RESPONSE(8,8)<8;4,1>               
-    mov (8)  uwDEST_Y(6)<1>     uwAVS_RESPONSE(9,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(7)<1>     uwAVS_RESPONSE(9,8)<8;4,1>               
-    
-    // Move first 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>      ubAVS_RESPONSE(0,0)<8;4,1>                 
-    mov (8) uwDEST_V(1)<1>      ubAVS_RESPONSE(0,8)<8;4,1>               
-    mov (8) uwDEST_V(2)<1>      ubAVS_RESPONSE(1,0)<8;4,1>                 
-    mov (8) uwDEST_V(3)<1>      ubAVS_RESPONSE(1,8)<8;4,1>               
-    mov (8) uwDEST_V(4)<1>      ubAVS_RESPONSE(6,0)<8;4,1>                 
-    mov (8) uwDEST_V(5)<1>      ubAVS_RESPONSE(6,8)<8;4,1>               
-    mov (8) uwDEST_V(6)<1>      ubAVS_RESPONSE(7,0)<8;4,1>                 
-    mov (8) uwDEST_V(7)<1>      ubAVS_RESPONSE(7,8)<8;4,1>               
-    
-    // Move first 8x8 words of U to dest GRF        
-    mov (8) uwDEST_U(0)<1>      ubAVS_RESPONSE(4,0)<8;4,1>          
-    mov (8) uwDEST_U(1)<1>      ubAVS_RESPONSE(4,8)<8;4,1>                
-    mov (8) uwDEST_U(2)<1>      ubAVS_RESPONSE(5,0)<8;4,1>          
-    mov (8) uwDEST_U(3)<1>      ubAVS_RESPONSE(5,8)<8;4,1>                
-    mov (8) uwDEST_U(4)<1>      ubAVS_RESPONSE(10,0)<8;4,1>         
-    mov (8) uwDEST_U(5)<1>      ubAVS_RESPONSE(10,8)<8;4,1>               
-    mov (8) uwDEST_U(6)<1>      ubAVS_RESPONSE(11,0)<8;4,1>         
-    mov (8) uwDEST_U(7)<1>      ubAVS_RESPONSE(11,8)<8;4,1>               
-    
-    // Move second 8x8 words of Y to dest GRF
-    mov (8)  uwDEST_Y(0,8)<1>     uwAVS_RESPONSE_2(2,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(1,8)<1>     uwAVS_RESPONSE_2(2,8)<8;4,1>               
-    mov (8)  uwDEST_Y(2,8)<1>     uwAVS_RESPONSE_2(3,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(3,8)<1>     uwAVS_RESPONSE_2(3,8)<8;4,1>               
-    mov (8)  uwDEST_Y(4,8)<1>     uwAVS_RESPONSE_2(8,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(5,8)<1>     uwAVS_RESPONSE_2(8,8)<8;4,1>               
-    mov (8)  uwDEST_Y(6,8)<1>     uwAVS_RESPONSE_2(9,0)<8;4,1>                 
-    mov (8)  uwDEST_Y(7,8)<1>     uwAVS_RESPONSE_2(9,8)<8;4,1>               
-    
-    // Move second 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0,8)<1>      ubAVS_RESPONSE_2(0,0)<8;4,1>                 
-    mov (8) uwDEST_V(1,8)<1>      ubAVS_RESPONSE_2(0,8)<8;4,1>               
-    mov (8) uwDEST_V(2,8)<1>      ubAVS_RESPONSE_2(1,0)<8;4,1>                 
-    mov (8) uwDEST_V(3,8)<1>      ubAVS_RESPONSE_2(1,8)<8;4,1>               
-    mov (8) uwDEST_V(4,8)<1>      ubAVS_RESPONSE_2(6,0)<8;4,1>                 
-    mov (8) uwDEST_V(5,8)<1>      ubAVS_RESPONSE_2(6,8)<8;4,1>               
-    mov (8) uwDEST_V(6,8)<1>      ubAVS_RESPONSE_2(7,0)<8;4,1>                 
-    mov (8) uwDEST_V(7,8)<1>      ubAVS_RESPONSE_2(7,8)<8;4,1>               
-    
-    // Move second 8x8 words of U to dest GRF        
-    mov (8) uwDEST_U(0,8)<1>      ubAVS_RESPONSE_2(4,0)<8;4,1>          
-    mov (8) uwDEST_U(1,8)<1>      ubAVS_RESPONSE_2(4,8)<8;4,1>                
-    mov (8) uwDEST_U(2,8)<1>      ubAVS_RESPONSE_2(5,0)<8;4,1>          
-    mov (8) uwDEST_U(3,8)<1>      ubAVS_RESPONSE_2(5,8)<8;4,1>                
-    mov (8) uwDEST_U(4,8)<1>      ubAVS_RESPONSE_2(10,0)<8;4,1>         
-    mov (8) uwDEST_U(5,8)<1>      ubAVS_RESPONSE_2(10,8)<8;4,1>               
-    mov (8) uwDEST_U(6,8)<1>      ubAVS_RESPONSE_2(11,0)<8;4,1>         
-    mov (8) uwDEST_U(7,8)<1>      ubAVS_RESPONSE_2(11,8)<8;4,1>               
-*/
-#else   /* OUTPUT_8_BIT */
-    // Move first 8x8 words of Y to dest GRF
-    mov (8)  uwDEST_Y(0)<1>     ubAVS_RESPONSE(2,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(1)<1>     ubAVS_RESPONSE(2,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(2)<1>     ubAVS_RESPONSE(3,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(3)<1>     ubAVS_RESPONSE(3,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(4)<1>     ubAVS_RESPONSE(8,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(5)<1>     ubAVS_RESPONSE(8,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(6)<1>     ubAVS_RESPONSE(9,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(7)<1>     ubAVS_RESPONSE(9,8+1)<16;4,2>               
-
-    // Move first 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>      ubAVS_RESPONSE(0,1)<16;4,2>                 
-    mov (8) uwDEST_V(1)<1>      ubAVS_RESPONSE(0,8+1)<16;4,2>               
-    mov (8) uwDEST_V(2)<1>      ubAVS_RESPONSE(1,1)<16;4,2>                 
-    mov (8) uwDEST_V(3)<1>      ubAVS_RESPONSE(1,8+1)<16;4,2>               
-    mov (8) uwDEST_V(4)<1>      ubAVS_RESPONSE(6,1)<16;4,2>                 
-    mov (8) uwDEST_V(5)<1>      ubAVS_RESPONSE(6,8+1)<16;4,2>               
-    mov (8) uwDEST_V(6)<1>      ubAVS_RESPONSE(7,1)<16;4,2>                 
-    mov (8) uwDEST_V(7)<1>      ubAVS_RESPONSE(7,8+1)<16;4,2>               
-
-    // Move first 8x8 words of U to dest GRF        
-    mov (8) uwDEST_U(0)<1>      ubAVS_RESPONSE(4,1)<16;4,2>           
-    mov (8) uwDEST_U(1)<1>      ubAVS_RESPONSE(4,8+1)<16;4,2>                 
-    mov (8) uwDEST_U(2)<1>      ubAVS_RESPONSE(5,1)<16;4,2>           
-    mov (8) uwDEST_U(3)<1>      ubAVS_RESPONSE(5,8+1)<16;4,2>                 
-    mov (8) uwDEST_U(4)<1>      ubAVS_RESPONSE(10,1)<16;4,2>          
-    mov (8) uwDEST_U(5)<1>      ubAVS_RESPONSE(10,8+1)<16;4,2>                
-    mov (8) uwDEST_U(6)<1>      ubAVS_RESPONSE(11,1)<16;4,2>          
-    mov (8) uwDEST_U(7)<1>      ubAVS_RESPONSE(11,8+1)<16;4,2>                
-
-    // Move second 8x8 words of Y to dest GRF
-    mov (8) uwDEST_Y(0,8)<1>          ubAVS_RESPONSE_2(2,1)<16;4,2>    
-    mov (8) uwDEST_Y(1,8)<1>          ubAVS_RESPONSE_2(2,8+1)<16;4,2>
-    mov (8) uwDEST_Y(2,8)<1>          ubAVS_RESPONSE_2(3,1)<16;4,2>     
-    mov (8) uwDEST_Y(3,8)<1>          ubAVS_RESPONSE_2(3,8+1)<16;4,2>
-    mov (8) uwDEST_Y(4,8)<1>          ubAVS_RESPONSE_2(8,1)<16;4,2>  
-    mov (8) uwDEST_Y(5,8)<1>          ubAVS_RESPONSE_2(8,8+1)<16;4,2>
-    mov (8) uwDEST_Y(6,8)<1>          ubAVS_RESPONSE_2(9,1)<16;4,2>     
-    mov (8) uwDEST_Y(7,8)<1>          ubAVS_RESPONSE_2(9,8+1)<16;4,2>
-
-    // Move second 8x8 words of V to dest GRF        
-    mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE_2(0,1)<16;4,2>           
-    mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE_2(0,8+1)<16;4,2>                 
-    mov (8) uwDEST_V(2,8)<1>          ubAVS_RESPONSE_2(1,1)<16;4,2>           
-    mov (8) uwDEST_V(3,8)<1>          ubAVS_RESPONSE_2(1,8+1)<16;4,2>                 
-    mov (8) uwDEST_V(4,8)<1>          ubAVS_RESPONSE_2(6,1)<16;4,2>           
-    mov (8) uwDEST_V(5,8)<1>          ubAVS_RESPONSE_2(6,8+1)<16;4,2>                 
-    mov (8) uwDEST_V(6,8)<1>          ubAVS_RESPONSE_2(7,1)<16;4,2>           
-    mov (8) uwDEST_V(7,8)<1>          ubAVS_RESPONSE_2(7,8+1)<16;4,2>                 
-
-    // Move second 8x8 words of U to dest GRF        
-    mov (8) uwDEST_U(0,8)<1>          ubAVS_RESPONSE_2(4,1)<16;4,2>             
-    mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE_2(4,8+1)<16;4,2>           
-    mov (8) uwDEST_U(2,8)<1>          ubAVS_RESPONSE_2(5,1)<16;4,2>             
-    mov (8) uwDEST_U(3,8)<1>          ubAVS_RESPONSE_2(5,8+1)<16;4,2>           
-    mov (8) uwDEST_U(4,8)<1>          ubAVS_RESPONSE_2(10,1)<16;4,2>            
-    mov (8) uwDEST_U(5,8)<1>          ubAVS_RESPONSE_2(10,8+1)<16;4,2>          
-    mov (8) uwDEST_U(6,8)<1>          ubAVS_RESPONSE_2(11,1)<16;4,2>            
-    mov (8) uwDEST_U(7,8)<1>          ubAVS_RESPONSE_2(11,8+1)<16;4,2>          
-#endif
-//------------------------------------------------------------------------------
-
-   // Re-define new number of lines
-   #undef nUV_NUM_OF_ROWS
-   #undef nY_NUM_OF_ROWS
-   
-   #define nY_NUM_OF_ROWS      8
-   #define nUV_NUM_OF_ROWS     8
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x4.asm
deleted file mode 100644 (file)
index 01d451d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_Unpack_8x8.asm ----------
-
-// Yoni: In order to optimize unpacking, 3 methods are being checked:
-//  1. AVS_ORIGINAL
-//  2. AVS_ROUND_TO_8_BITS  
-//  3. AVS_INDIRECT_ACCESS  
-//
-// Only 1 method should stay in the code 
-
-
-//#define AVS_ROUND_TO_8_BITS
-//#define AVS_INDIRECT_ACCESS
-
-
-    // Move first 8x8 words of Y to dest GRF
-    mov (8)  uwDEST_Y(0)<1>     ubAVS_RESPONSE(2,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(1)<1>     ubAVS_RESPONSE(2,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(2)<1>     ubAVS_RESPONSE(3,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(3)<1>     ubAVS_RESPONSE(3,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(4)<1>     ubAVS_RESPONSE(8,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(5)<1>     ubAVS_RESPONSE(8,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(6)<1>     ubAVS_RESPONSE(9,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(7)<1>     ubAVS_RESPONSE(9,8+1)<16;4,2>               
-
-    // Move first 4x8 words of V to dest GRF  
-    mov (4) uwDEST_V(0)<1>      ubAVS_RESPONSE(0,1)<16;2,4>                 
-    mov (4) uwDEST_V(0,8)<1>    ubAVS_RESPONSE(1,1)<16;2,4>                 
-    mov (4) uwDEST_V(1)<1>      ubAVS_RESPONSE(6,1)<16;2,4>                 
-    mov (4) uwDEST_V(1,8)<1>    ubAVS_RESPONSE(7,1)<16;2,4>                 
-
-    // Move first 4x8 words of U to dest GRF        
-    mov (4) uwDEST_U(0)<1>      ubAVS_RESPONSE(4,1)<16;2,4>           
-    mov (4) uwDEST_U(0,8)<1>    ubAVS_RESPONSE(5,1)<16;2,4>           
-    mov (4) uwDEST_U(1)<1>      ubAVS_RESPONSE(10,1)<16;2,4>          
-    mov (4) uwDEST_U(1,8)<1>    ubAVS_RESPONSE(11,1)<16;2,4>          
-
-    // Move second 8x8 words of Y to dest GRF
-    mov (8) uwDEST_Y(0,8)<1>    ubAVS_RESPONSE_2(2,1)<16;4,2>    
-    mov (8) uwDEST_Y(1,8)<1>    ubAVS_RESPONSE_2(2,8+1)<16;4,2>
-    mov (8) uwDEST_Y(2,8)<1>    ubAVS_RESPONSE_2(3,1)<16;4,2>     
-    mov (8) uwDEST_Y(3,8)<1>    ubAVS_RESPONSE_2(3,8+1)<16;4,2>
-    mov (8) uwDEST_Y(4,8)<1>    ubAVS_RESPONSE_2(8,1)<16;4,2>  
-    mov (8) uwDEST_Y(5,8)<1>    ubAVS_RESPONSE_2(8,8+1)<16;4,2>
-    mov (8) uwDEST_Y(6,8)<1>    ubAVS_RESPONSE_2(9,1)<16;4,2>     
-    mov (8) uwDEST_Y(7,8)<1>    ubAVS_RESPONSE_2(9,8+1)<16;4,2>
-
-    // Move second 4x8 words of V to dest GRF        
-    mov (4) uwDEST_V(0,4)<1>    ubAVS_RESPONSE_2(0,1)<16;2,4>           
-    mov (4) uwDEST_V(0,12)<1>   ubAVS_RESPONSE_2(1,1)<16;2,4>           
-    mov (4) uwDEST_V(1,4)<1>    ubAVS_RESPONSE_2(6,1)<16;2,4>           
-    mov (4) uwDEST_V(1,12)<1>   ubAVS_RESPONSE_2(7,1)<16;2,4>           
-
-    // Move second 4x8 words of U to dest GRF        
-    mov (4) uwDEST_U(0,4)<1>    ubAVS_RESPONSE_2(4,1)<16;2,4>             
-    mov (4) uwDEST_U(0,12)<1>   ubAVS_RESPONSE_2(5,1)<16;2,4>             
-    mov (4) uwDEST_U(1,4)<1>    ubAVS_RESPONSE_2(10,1)<16;2,4>            
-    mov (4) uwDEST_U(1,12)<1>   ubAVS_RESPONSE_2(11,1)<16;2,4>            
-
-//------------------------------------------------------------------------------
-
-       // Re-define new number of lines
-       #undef nUV_NUM_OF_ROWS
-       #undef nY_NUM_OF_ROWS
-       
-       #define nY_NUM_OF_ROWS      8
-       #define nUV_NUM_OF_ROWS     8
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_AVS_IEF_Unpack_8x8.asm
deleted file mode 100644 (file)
index 91b2398..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_AVS_IEF_Unpack_8x8.asm ----------
-
-// Yoni: In order to optimize unpacking, 3 methods are being checked:
-//  1. AVS_ORIGINAL
-//  2. AVS_ROUND_TO_8_BITS  
-//  3. AVS_INDIRECT_ACCESS  
-//
-// Only 1 method should stay in the code 
-
-
-//#define AVS_ROUND_TO_8_BITS
-//#define AVS_INDIRECT_ACCESS
-
-
-    // Move first 8x8 words of Y to dest GRF
-    mov (8)  uwDEST_Y(0)<1>     ubAVS_RESPONSE(2,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(1)<1>     ubAVS_RESPONSE(2,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(2)<1>     ubAVS_RESPONSE(3,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(3)<1>     ubAVS_RESPONSE(3,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(4)<1>     ubAVS_RESPONSE(8,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(5)<1>     ubAVS_RESPONSE(8,8+1)<16;4,2>               
-    mov (8)  uwDEST_Y(6)<1>     ubAVS_RESPONSE(9,1)<16;4,2>                 
-    mov (8)  uwDEST_Y(7)<1>     ubAVS_RESPONSE(9,8+1)<16;4,2>               
-
-    // Move first 4x8 words of V to dest GRF  
-    mov (4) uwDEST_V(0)<1>      ubAVS_RESPONSE(0,1)<16;2,4>                 
-    mov (4) uwDEST_V(0,8)<1>    ubAVS_RESPONSE(0,8+1)<16;2,4>               
-    mov (4) uwDEST_V(1)<1>      ubAVS_RESPONSE(1,1)<16;2,4>                 
-    mov (4) uwDEST_V(1,8)<1>    ubAVS_RESPONSE(1,8+1)<16;2,4>               
-    mov (4) uwDEST_V(2)<1>      ubAVS_RESPONSE(6,1)<16;2,4>                 
-    mov (4) uwDEST_V(2,8)<1>    ubAVS_RESPONSE(6,8+1)<16;2,4>               
-    mov (4) uwDEST_V(3)<1>      ubAVS_RESPONSE(7,1)<16;2,4>                 
-    mov (4) uwDEST_V(3,8)<1>    ubAVS_RESPONSE(7,8+1)<16;2,4>               
-
-    // Move first 4x8 words of U to dest GRF        
-    mov (4) uwDEST_U(0)<1>      ubAVS_RESPONSE(4,1)<16;2,4>           
-    mov (4) uwDEST_U(0,8)<1>    ubAVS_RESPONSE(4,8+1)<16;2,4>                 
-    mov (4) uwDEST_U(1)<1>      ubAVS_RESPONSE(5,1)<16;2,4>           
-    mov (4) uwDEST_U(1,8)<1>    ubAVS_RESPONSE(5,8+1)<16;2,4>                 
-    mov (4) uwDEST_U(2)<1>      ubAVS_RESPONSE(10,1)<16;2,4>          
-    mov (4) uwDEST_U(2,8)<1>    ubAVS_RESPONSE(10,8+1)<16;2,4>                
-    mov (4) uwDEST_U(3)<1>      ubAVS_RESPONSE(11,1)<16;2,4>          
-    mov (4) uwDEST_U(3,8)<1>    ubAVS_RESPONSE(11,8+1)<16;2,4>                
-
-    // Move second 8x8 words of Y to dest GRF
-    mov (8) uwDEST_Y(0,8)<1>    ubAVS_RESPONSE_2(2,1)<16;4,2>    
-    mov (8) uwDEST_Y(1,8)<1>    ubAVS_RESPONSE_2(2,8+1)<16;4,2>
-    mov (8) uwDEST_Y(2,8)<1>    ubAVS_RESPONSE_2(3,1)<16;4,2>     
-    mov (8) uwDEST_Y(3,8)<1>    ubAVS_RESPONSE_2(3,8+1)<16;4,2>
-    mov (8) uwDEST_Y(4,8)<1>    ubAVS_RESPONSE_2(8,1)<16;4,2>  
-    mov (8) uwDEST_Y(5,8)<1>    ubAVS_RESPONSE_2(8,8+1)<16;4,2>
-    mov (8) uwDEST_Y(6,8)<1>    ubAVS_RESPONSE_2(9,1)<16;4,2>     
-    mov (8) uwDEST_Y(7,8)<1>    ubAVS_RESPONSE_2(9,8+1)<16;4,2>
-
-    // Move second 4x8 words of V to dest GRF        
-    mov (4) uwDEST_V(0,4)<1>    ubAVS_RESPONSE_2(0,1)<16;2,4>           
-    mov (4) uwDEST_V(0,12)<1>   ubAVS_RESPONSE_2(0,8+1)<16;2,4>                 
-    mov (4) uwDEST_V(1,4)<1>    ubAVS_RESPONSE_2(1,1)<16;2,4>           
-    mov (4) uwDEST_V(1,12)<1>   ubAVS_RESPONSE_2(1,8+1)<16;2,4>                 
-    mov (4) uwDEST_V(2,4)<1>    ubAVS_RESPONSE_2(6,1)<16;2,4>           
-    mov (4) uwDEST_V(2,12)<1>   ubAVS_RESPONSE_2(6,8+1)<16;2,4>                 
-    mov (4) uwDEST_V(3,4)<1>    ubAVS_RESPONSE_2(7,1)<16;2,4>           
-    mov (4) uwDEST_V(3,12)<1>   ubAVS_RESPONSE_2(7,8+1)<16;2,4>                 
-
-    // Move second 4x8 words of U to dest GRF        
-    mov (4) uwDEST_U(0,4)<1>    ubAVS_RESPONSE_2(4,1)<16;2,4>             
-    mov (4) uwDEST_U(0,12)<1>   ubAVS_RESPONSE_2(4,8+1)<16;2,4>           
-    mov (4) uwDEST_U(1,4)<1>    ubAVS_RESPONSE_2(5,1)<16;2,4>             
-    mov (4) uwDEST_U(1,12)<1>   ubAVS_RESPONSE_2(5,8+1)<16;2,4>           
-    mov (4) uwDEST_U(2,4)<1>    ubAVS_RESPONSE_2(10,1)<16;2,4>            
-    mov (4) uwDEST_U(2,12)<1>   ubAVS_RESPONSE_2(10,8+1)<16;2,4>          
-    mov (4) uwDEST_U(3,4)<1>    ubAVS_RESPONSE_2(11,1)<16;2,4>            
-    mov (4) uwDEST_U(3,12)<1>   ubAVS_RESPONSE_2(11,8+1)<16;2,4>          
-
-//------------------------------------------------------------------------------
-
-       // Re-define new number of lines
-       #undef nUV_NUM_OF_ROWS
-       #undef nY_NUM_OF_ROWS
-       
-       #define nY_NUM_OF_ROWS      8
-       #define nUV_NUM_OF_ROWS     8
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_DNDI_ALG.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_DNDI_ALG.asm
deleted file mode 100644 (file)
index 6aa91c8..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-
-    #ifdef DI_ONLY
-               #undef  nSMPL_RESP_LEN
-               #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DI               // set the number of GRF 
-       #else
-               #undef  nSMPL_RESP_LEN
-               #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-       #endif
-       
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_32+nBLOCK_HEIGHT_4   // DN Block Size for Write is 32x4
-    
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_Command.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-    //// move the previous frame Y component to internal planar format
-    //$for (0; <nY_NUM_OF_ROWS/2; 1) {
-    //    mov (16) uwDEST_Y(%1,0)<1>    ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    //}
-    //// move the previous frame U,V components to internal planar format
-    //$for (0; <nUV_NUM_OF_ROWS/2; 1) {
-    //    mov (8) uwDEST_U(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-    //    mov (8) uwDEST_V(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    //}
-    //// move the current frame Y component to internal planar format
-    //$for (0; <nY_NUM_OF_ROWS/2; 1) {
-    //    mov (16) uwDEST_Y(%1+4,0)<1>  ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    //}
-    //// move the current frame U,V components to internal planar format
-    //$for (0; <nUV_NUM_OF_ROWS/2; 1) {
-    //    mov (8) uwDEST_U(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-    //    mov (8) uwDEST_V(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    //}
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w     NODDCLR          // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                    NODDCLR_NODDCHK // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud          NODDCHK         // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-#ifdef DI_ONLY
-#else
-
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Pack and Save the DN Curr Frame for Next Run ///////////////
-    // check top/bottom field first
-       cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-       
-    add (4)     pCF_Y_OFFSET<1>:uw          ubSRC_CF_OFFSET<4;4,1>:ub  npDN_YUV:uw
-       //set the save DN position
-    shl (1)     rMSGSRC.0<1>:ud      wORIX<0;1,0>:w          1:w NODDCLR           // X origin * 2
-    mov (1)     rMSGSRC.1<1>:ud      wORIY<0;1,0>:w              NODDCLR_NODDCHK   // Y origin
-    mov (1)     rMSGSRC.2<1>:ud      nDPW_BLOCK_SIZE_DN:ud       NODDCHK             // block width and height (8x4)
-    mov (8)     mudMSGHDR_DN(0)<1>   rMSGSRC.0<8;8,1>:ud
-       
-    
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    //$for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-    //    mov (16)    r[pCF_Y_OFFSET,  %1*32]<2>:ub     ubRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*16) // 2nd field luma from current frame (line 0,2)
-    //    mov (16)    r[pCF_Y_OFFSET,  %1+1*32]<2>:ub   ubRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,16) // 1st field luma from current frame (line 1,3)
-    //    mov (8)     r[pCF_U_OFFSET,  %1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16+1)<16;8,2> // 2nd field U from current frame (line 0,2)
-    //    mov (8)     r[pCF_V_OFFSET,  %1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16)<16;8,2> // 2nd field V from current frame (line 0,2)
-    //    mov (8)     r[pCF_U_OFFSET,  %1+1*32]<4>:ub   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,16+1)<16;8,2> // 1st field U from current frame (line 1,3)
-    //    mov (8)     r[pCF_V_OFFSET,  %1+1*32]<4>:ub   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,16)<16;8,2> // 1st field U from current frame (line 1,3)
-    //}
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (16)    r[pCF_Y_OFFSET,  %1*32]<2>:ub     ubRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*16) // 2nd field luma from current frame (line 0,2)
-        mov (16)    r[pCF_Y_OFFSET,  %1+1*32]<2>:ub   ubRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,16) // 1st field luma from current frame (line 1,3)
-    }
-
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (8)     r[pCF_U_OFFSET,  %1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16+1)<16;8,2> // 2nd field U from current frame (line 0,2)
-        mov (8)     r[pCF_U_OFFSET,  %1+1*32]<4>:ub   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,16+1)<16;8,2> // 1st field U from current frame (line 1,3)
-    }
-
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (8)     r[pCF_V_OFFSET,  %1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16)<16;8,2> // 2nd field V from current frame (line 0,2)
-        mov (8)     r[pCF_V_OFFSET,  %1+1*32]<4>:ub   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,16)<16;8,2> // 1st field U from current frame (line 1,3)
-    }
-
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    //$for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-    //    mov (16)    r[pCF_Y_OFFSET,  %1*32]<2>:ub       ubRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0) // 1st field luma from current frame (line 0,2)
-    //    mov (16)    r[pCF_Y_OFFSET,  %1+1*32]<2>:ub     ubRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*16) // 2nd field luma from current frame (line 1,3)
-    //    mov (8)     r[pCF_U_OFFSET,  %1*32]<4>:ub       ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,1)<16;8,2> // 1st field U from current frame (line 0,2)
-    //    mov (8)     r[pCF_V_OFFSET,  %1*32]<4>:ub       ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,0)<16;8,2> // 1st field V from current frame (line 0,2)
-    //    mov (8)     r[pCF_U_OFFSET,  %1+1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16+1)<16;8,2> // 2nd field U from current frame (line 1,3)
-    //    mov (8)     r[pCF_V_OFFSET,  %1+1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16)<16;8,2> // 2nd field V from current frame (line 1,3)
-    //}
-       $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (16)    r[pCF_Y_OFFSET,  %1*32]<2>:ub       ubRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0) // 1st field luma from current frame (line 0,2)
-        mov (16)    r[pCF_Y_OFFSET,  %1+1*32]<2>:ub     ubRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*16) // 2nd field luma from current frame (line 1,3)
-    }
-       $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (8)     r[pCF_U_OFFSET,  %1*32]<4>:ub       ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,1)<16;8,2> // 1st field U from current frame (line 0,2)
-        mov (8)     r[pCF_U_OFFSET,  %1+1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16+1)<16;8,2> // 2nd field U from current frame (line 1,3)
-    }
-       $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (8)     r[pCF_V_OFFSET,  %1*32]<4>:ub       ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET+%2,0)<16;8,2> // 1st field V from current frame (line 0,2)
-        mov (8)     r[pCF_V_OFFSET,  %1+1*32]<4>:ub     ubRESP(nDI_CURR_2ND_FIELD_CHROMA_OFFSET,%2*16)<16;8,2> // 2nd field V from current frame (line 1,3)
-    }
-       
-SAVE_DN_CURR:
-    $for(0; <nY_NUM_OF_ROWS/2; 1) {
-            mov (8) mudMSGHDR_DN(%1+1)<1>  udDN_YUV(%1)REGION(8,1)
-    }
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PA_DN_DI+nBI_DESTINATION_YUV:ud
-#endif
-
-// Save Processed frames
-#include "DI_Save_PA.asm"      
-
-
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_DN_ALG.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_DN_ALG.asm
deleted file mode 100644 (file)
index ef88a3c..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_DISABLE
-
-#include "DNDI.inc"
-
-#undef  nY_NUM_OF_ROWS
-#define nY_NUM_OF_ROWS         8                                 // Number of Y rows per block
-#undef  nUV_NUM_OF_ROWS
-#define nUV_NUM_OF_ROWS        8                                 // Number of U/V rows per block
-
-#undef   nSMPL_RESP_LEN
-#define  nSMPL_RESP_LEN        nSMPL_RESP_LEN_DN_PA              // Set the Number of GRFs in DNDI response 
-#undef   nDPW_BLOCK_SIZE_DN
-#define  nDPW_BLOCK_SIZE_DN    nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // DN Curr Block Size for Write is 32x8
-#undef   nDPW_BLOCK_SIZE_HIST
-#define  nDPW_BLOCK_SIZE_HIST  nBLOCK_WIDTH_4+nBLOCK_HEIGHT_2    // HIST Block Size for Write is 4x2
-
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-#include "DNDI_COMMAND.asm"
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-#include "DNDI_Hist_Save.asm"
-
-////////////////////////////////////// Pack and Save the DN Curr Frame for Next Run ///////////////
-add (4)     pCF_Y_OFFSET<1>:uw    ubDEST_CF_OFFSET<4;4,1>:ub    npDN_YUV:w 
-$for (0; <nY_NUM_OF_ROWS; 1) {
-    mov (16)    r[pCF_Y_OFFSET,  %1*32]<2>:ub   ubRESP(nNODI_LUMA_OFFSET,%1*16)<16;16,1>       // copy line of Y
-}
-$for (0; <nUV_NUM_OF_ROWS; 1) {
-    mov (8)     r[pCF_U_OFFSET,  %1*32]<4>:ub   ubRESP(nNODI_CHROMA_OFFSET,%1*16+1)<16;8,2>    // copy line of U
-    mov (8)     r[pCF_V_OFFSET,  %1*32]<4>:ub   ubRESP(nNODI_CHROMA_OFFSET,%1*16)<16;8,2>      // copy line of V
-}
-
-shl (1)     rMSGSRC.0<1>:ud     wORIX<0;1,0>:w     1:w       // X origin * 2 (422 output)
-mov (1)     rMSGSRC.1<1>:ud     wORIY<0;1,0>:w               // Y origin
-mov (1)     rMSGSRC.2<1>:ud     nDPW_BLOCK_SIZE_DN:ud        // block width and height (32x8)
-mov (8)     mMSGHDR_DN<1>:ud    rMSGSRC<8;8,1>:ud            // message header   
-
-$for(0; <nY_NUM_OF_ROWS; 2) {
-        mov (16) mudMSGHDR_DN(1+%1)<1>  udDN_YUV(%1)REGION(8,1)    // Move DN Curr to MRF
-}
-send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PA_DN_NODI+nBI_DESTINATION_YUV:ud     
-
-
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PA_Scaling.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PA_Scaling.asm
deleted file mode 100644 (file)
index c2a1b1e..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PA_Scaling.asm ----------
-#include "Scaling.inc"
-
-       // Build 16 elements ramp in float32 and normalized it
-//     mov (8)         SAMPLER_RAMP(0)<1>              0x76543210:v
-//     add     (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-mov (4) SAMPLER_RAMP(0)<1> 0x48403000:vf               //3, 2, 1, 0 in float vector
-mov (4) SAMPLER_RAMP(0,4)<1> 0x5C585450:vf     //7, 6, 5, 4 in float vector
-add    (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-
-//Module: PrepareScaleCoord.asm
-
-       // Setup for sampler msg hdr
-    mov (2)            rMSGSRC.0<1>:ud                 0:ud                                            { NoDDClr }     // Unused fields
-    mov (1)            rMSGSRC.2<1>:ud                 0:ud                                            { NoDDChk }     // Write and offset
-
-       // Calculate 16 v based on the step Y and vertical origin
-       mov     (16)    mfMSGPAYLOAD(2)<1>              fSRC_VID_V_ORI<0;1,0>:f
-       mov     (16)    SCALE_COORD_Y<1>:f              fSRC_VID_V_ORI<0;1,0>:f
-
-       // Calculate 16 u based on the step X and hori origin
-//     line (16)       mfMSGPAYLOAD(0)<1>              SCALE_STEP_X<0;1,0>:f           SAMPLER_RAMP(0)         // Assign to mrf directly
-       mov     (16)    acc0:f                                                  fSRC_VID_H_ORI<0;1,0>:f                                                                                 { Compr }
-       mac     (16)    mfMSGPAYLOAD(0)<1>      fVIDEO_STEP_X<0;1,0>:f  SAMPLER_RAMP(0)                 { Compr }                       
-
-       //Setup the constants for line instruction
-       mov     (1)             SCALE_LINE_P255<1>:f            255.0:f                         { NoDDClr }     //{ NoDDClr, NoDDChk }
-       mov     (1)             SCALE_LINE_P0_5<1>:f            0.5:f                           { NoDDChk }
-       
-//------------------------------------------------------------------------------
-
-$for (0; <nY_NUM_OF_ROWS; 1) {
-
-       // Read 16 sampled pixels and store them in float32 in 8 GRFs in the order of BGRA (VYUA).
-  mov (8)      MSGHDR_SCALE.0:ud      rMSGSRC.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-       send (16)       SCALE_RESPONSE_YW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_YUV+nBI_CURRENT_SRC_YUV
-
-       // Calculate 16 v for next line
-       add (16)        mfMSGPAYLOAD(2)<1>              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-       add (16)        SCALE_COORD_Y<1>:f              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-
-       // Scale back to [0, 255], convert f to ud
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(2)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(2)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(4)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(4)<1>       acc0:f                                                                                                          { Compr }
-
-       mov      (16)   DEST_V(%1)<1>                           SCALE_RESPONSE_YB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_Y(%1)<1>                           SCALE_RESPONSE_YB(2)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_U(%1)<1>                           SCALE_RESPONSE_YB(4)                                                                                    //possible error due to truncation - vK
-
-}
-
-       #define nSRC_REGION                             nREGION_1
-
-//------------------------------------------------------------------------------
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_16x8.asm
deleted file mode 100644 (file)
index 2f7b735..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_16x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y each
-// 2 sampler read for 8x8 U and 8x8 V (NV11\P208 input surface)
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud               
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 8x8 U and V sampling 
-    // Enable red and blue channels
-    mov (1) rAVS_8x8_HDR.2:ud  nAVS_RED_BLUE_CHANNELS:ud                   
-
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(4)<1> mAVS_8x8_HDR_UV   udDUMMY_NULL  nSMPL_ENGINE    nAVS_MSG_DSC_2CH+nSI_SRC_UV+nBI_CURRENT_SRC_UV
-    // Return U and V in 8 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud                           
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1>    mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-
-    // 2nd 8x8 U and V sampling 
-    // Enable red and blue channels
-    mov (1) rAVS_8x8_HDR.2:ud  nAVS_RED_BLUE_CHANNELS:ud                   
-
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(4)<1> mAVS_8x8_HDR_UV   udDUMMY_NULL  nSMPL_ENGINE    nAVS_MSG_DSC_2CH+nSI_SRC_UV+nBI_CURRENT_SRC_UV
-    // Return U and V in 8 GRFs
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:4:4 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL2_AVS_IEF_Unpack_16x8.asm"
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x4.asm
deleted file mode 100644 (file)
index 9b221e7..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_8x4.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y each
-// 1 sampler read for 8x8 U and 8x8 V (NV11\NV12 input surface)
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud               
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 8x8 U and V sampling 
-    // Enable red and blue channels  
-    //Only 8x4 wil be used  
-    mov (1) rAVS_8x8_HDR.2:ud  nAVS_RED_BLUE_CHANNELS:ud                   
-
-    // Calculate Chroma Step Size:
-    // for H direction: 16 Luma samples are covered by 8 Chroma samples. Thus Chroma_Step_X = 2 * Luma_Step_X 
-    // for V direction: 8  Luma samples are covered by 8 Chroma samples. Thus Chroma_Step_Y = Luma_Step_Y
-    mul  (1)  rAVS_PAYLOAD.1:f      fVIDEO_STEP_X:f    2.0:f             // Step X for chroma
-
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(4)<1> mAVS_8x8_HDR_UV   udDUMMY_NULL  nSMPL_ENGINE    nAVS_MSG_DSC_2CH+nSI_SRC_UV+nBI_CURRENT_SRC_UV
-    // Return U and V in 8 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud                           
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1>    mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:2:0 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL2_AVS_IEF_Unpack_8x4.asm"
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_8x8.asm
deleted file mode 100644 (file)
index 404fbd0..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_8x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y each
-// 1 sampler read for 8x8 U and 8x8 V (NV11\NV12 input surface)
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud               
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 8x8 U and V sampling 
-    // Enable red and blue channels    
-    mov (1) rAVS_8x8_HDR.2:ud  nAVS_RED_BLUE_CHANNELS:ud                   
-
-    // Calculate Chroma Step Size:
-    // for H direction: 16 Luma samples are covered by 8 Chroma samples. Thus Chroma_Step_X = 2 * Luma_Step_X 
-    // for V direction: 8  Luma samples are covered by 8 Chroma samples. Thus Chroma_Step_Y = Luma_Step_Y
-    mul  (1)  rAVS_PAYLOAD.1:f      fVIDEO_STEP_X:f    2.0:f             // Step X for chroma
-
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(4)<1> mAVS_8x8_HDR_UV   udDUMMY_NULL  nSMPL_ENGINE    nAVS_MSG_DSC_2CH+nSI_SRC_UV+nBI_CURRENT_SRC_UV
-    // Return U and V in 8 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    // Enable green channel only
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud                           
-
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1>    mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:2:2 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL2_AVS_IEF_Unpack_8x8.asm"
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_16x8.asm
deleted file mode 100644 (file)
index 6e67557..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_Unpack_16x8.asm ----------
-        
-#ifdef AVS_OUTPUT_16_BIT       //Output is packed in AVYU format
-// Move first 8x8 words of Y to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,1)<4>       uwAVS_RESPONSE(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,1)<4>       uwAVS_RESPONSE(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,1)<4>       uwAVS_RESPONSE(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,1)<4>       uwAVS_RESPONSE(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,1)<4>       uwAVS_RESPONSE(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,1)<4>       uwAVS_RESPONSE(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,1)<4>      uwAVS_RESPONSE(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,1)<4>      uwAVS_RESPONSE(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,1)<4>      uwAVS_RESPONSE(2,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,1)<4>      uwAVS_RESPONSE(2,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,1)<4>      uwAVS_RESPONSE(2,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,1)<4>      uwAVS_RESPONSE(2,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,1)<4>      uwAVS_RESPONSE(3,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,1)<4>      uwAVS_RESPONSE(3,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,1)<4>      uwAVS_RESPONSE(3,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,1)<4>      uwAVS_RESPONSE(3,12)<4;4,1>                                   
-
-// Move first 8x8 words of U to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,0)<4>       uwAVS_RESPONSE(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,0)<4>       uwAVS_RESPONSE(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,0)<4>       uwAVS_RESPONSE(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,0)<4>       uwAVS_RESPONSE(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,0)<4>       uwAVS_RESPONSE(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,0)<4>       uwAVS_RESPONSE(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,0)<4>      uwAVS_RESPONSE(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,0)<4>      uwAVS_RESPONSE(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,0)<4>      uwAVS_RESPONSE(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,0)<4>      uwAVS_RESPONSE(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,0)<4>      uwAVS_RESPONSE(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,0)<4>      uwAVS_RESPONSE(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,0)<4>      uwAVS_RESPONSE(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,0)<4>      uwAVS_RESPONSE(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,0)<4>      uwAVS_RESPONSE(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,0)<4>      uwAVS_RESPONSE(9,12)<4;4,1>                                   
-
-// Move first 8x8 words of V to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,2)<4>       uwAVS_RESPONSE(6,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,2)<4>       uwAVS_RESPONSE(6,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,2)<4>       uwAVS_RESPONSE(6,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,2)<4>       uwAVS_RESPONSE(6,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,2)<4>       uwAVS_RESPONSE(7,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,2)<4>       uwAVS_RESPONSE(7,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,2)<4>      uwAVS_RESPONSE(7,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,2)<4>      uwAVS_RESPONSE(7,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,2)<4>      uwAVS_RESPONSE(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,2)<4>      uwAVS_RESPONSE(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,2)<4>      uwAVS_RESPONSE(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,2)<4>      uwAVS_RESPONSE(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,2)<4>      uwAVS_RESPONSE(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,2)<4>      uwAVS_RESPONSE(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,2)<4>      uwAVS_RESPONSE(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,2)<4>      uwAVS_RESPONSE(11,12)<4;4,1>                                   
-
-// Move first 8x8 words of A to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(1,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(4,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(5,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(8,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(9,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(12,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(13,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(16,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(17,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(20,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(21,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(24,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(25,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(28,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(29,3)<4>      0:uw                                   
-
-// Move second 8x8 words of Y to dest GRF
-    mov (4) uwDEST_Y(2,1)<4>       uwAVS_RESPONSE_2(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,1)<4>       uwAVS_RESPONSE_2(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,1)<4>       uwAVS_RESPONSE_2(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,1)<4>       uwAVS_RESPONSE_2(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,1)<4>      uwAVS_RESPONSE_2(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,1)<4>      uwAVS_RESPONSE_2(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,1)<4>      uwAVS_RESPONSE_2(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,1)<4>      uwAVS_RESPONSE_2(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,1)<4>      uwAVS_RESPONSE_2(2,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,1)<4>      uwAVS_RESPONSE_2(2,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,1)<4>      uwAVS_RESPONSE_2(2,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,1)<4>      uwAVS_RESPONSE_2(2,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,1)<4>      uwAVS_RESPONSE_2(3,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,1)<4>      uwAVS_RESPONSE_2(3,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,1)<4>      uwAVS_RESPONSE_2(3,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,1)<4>      uwAVS_RESPONSE_2(3,12)<4;4,1>                                   
-
-// Move second 8x8 words of U to dest GRF
-    mov (4) uwDEST_Y(2,0)<4>       uwAVS_RESPONSE_2(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,0)<4>       uwAVS_RESPONSE_2(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,0)<4>       uwAVS_RESPONSE_2(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,0)<4>       uwAVS_RESPONSE_2(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,0)<4>      uwAVS_RESPONSE_2(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,0)<4>      uwAVS_RESPONSE_2(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,0)<4>      uwAVS_RESPONSE_2(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,0)<4>      uwAVS_RESPONSE_2(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,0)<4>      uwAVS_RESPONSE_2(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,0)<4>      uwAVS_RESPONSE_2(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,0)<4>      uwAVS_RESPONSE_2(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,0)<4>      uwAVS_RESPONSE_2(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,0)<4>      uwAVS_RESPONSE_2(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,0)<4>      uwAVS_RESPONSE_2(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,0)<4>      uwAVS_RESPONSE_2(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,0)<4>      uwAVS_RESPONSE_2(9,12)<4;4,1>                                   
-
-// Move second 8x8 words of V to dest GRF
-    mov (4) uwDEST_Y(2,2)<4>       uwAVS_RESPONSE_2(6,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,2)<4>       uwAVS_RESPONSE_2(6,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,2)<4>       uwAVS_RESPONSE_2(6,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,2)<4>       uwAVS_RESPONSE_2(6,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,2)<4>      uwAVS_RESPONSE_2(7,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,2)<4>      uwAVS_RESPONSE_2(7,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,2)<4>      uwAVS_RESPONSE_2(7,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,2)<4>      uwAVS_RESPONSE_2(7,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,2)<4>      uwAVS_RESPONSE_2(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,2)<4>      uwAVS_RESPONSE_2(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,2)<4>      uwAVS_RESPONSE_2(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,2)<4>      uwAVS_RESPONSE_2(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,2)<4>      uwAVS_RESPONSE_2(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,2)<4>      uwAVS_RESPONSE_2(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,2)<4>      uwAVS_RESPONSE_2(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,2)<4>      uwAVS_RESPONSE_2(11,12)<4;4,1>                                   
-
-// Move second 8x8 words of A to dest GRF
-    mov (4) uwDEST_Y(2,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(3,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(6,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(7,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(10,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(11,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(14,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(15,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(18,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(19,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(22,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(23,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(26,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(27,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(30,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(31,3)<4>      0:uw                                   
-
-/*     This section will be used if 16-bit output is needed in planar format -vK
-     // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>        uwAVS_RESPONSE(%1,0)<8;4,1>     
-        mov (8) uwDEST_Y(%1*2+1)<1>      uwAVS_RESPONSE(%1,8)<8;4,1>   
-    } 
-    
-    // Move 1st 8x8 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_U(0)<1>           uwAVS_RESPONSE(4,0)<8;4,1>      
-    mov (8) uwDEST_U(1)<1>           uwAVS_RESPONSE(4,8)<8;4,1>    
-    mov (8) uwDEST_U(2)<1>           uwAVS_RESPONSE(5,0)<8;4,1>      
-    mov (8) uwDEST_U(3)<1>           uwAVS_RESPONSE(5,8)<8;4,1>    
-    mov (8) uwDEST_U(4)<1>           uwAVS_RESPONSE(8,0)<8;4,1>      
-    mov (8) uwDEST_U(5)<1>           uwAVS_RESPONSE(8,8)<8;4,1>    
-    mov (8) uwDEST_U(6)<1>           uwAVS_RESPONSE(9,0)<8;4,1>      
-    mov (8) uwDEST_U(7)<1>           uwAVS_RESPONSE(9,8)<8;4,1>    
-
-    // Move 1st 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>           uwAVS_RESPONSE(6,0)<8;4,1>      
-    mov (8) uwDEST_V(1)<1>           uwAVS_RESPONSE(6,8)<8;4,1>    
-    mov (8) uwDEST_V(2)<1>           uwAVS_RESPONSE(7,0)<8;4,1>      
-    mov (8) uwDEST_V(3)<1>           uwAVS_RESPONSE(7,8)<8;4,1>    
-    mov (8) uwDEST_V(4)<1>           uwAVS_RESPONSE(10,0)<8;4,1>     
-    mov (8) uwDEST_V(5)<1>           uwAVS_RESPONSE(10,8)<8;4,1>   
-    mov (8) uwDEST_V(6)<1>           uwAVS_RESPONSE(11,0)<8;4,1>     
-    mov (8) uwDEST_V(7)<1>           uwAVS_RESPONSE(11,8)<8;4,1>   
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>      uwAVS_RESPONSE_2(%1,0)<8;4,1> 
-        mov (8) uwDEST_Y(%1*2+1,8)<1>    uwAVS_RESPONSE_2(%1,8)<8;4,1> 
-    } 
-
-    // Move 2st 8x8 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_U(0,8)<1>         uwAVS_RESPONSE_2(4,0)<8;4,1>      
-    mov (8) uwDEST_U(1,8)<1>         uwAVS_RESPONSE_2(4,8)<8;4,1>    
-    mov (8) uwDEST_U(2,8)<1>         uwAVS_RESPONSE_2(5,0)<8;4,1>      
-    mov (8) uwDEST_U(3,8)<1>         uwAVS_RESPONSE_2(5,8)<8;4,1>    
-    mov (8) uwDEST_U(4,8)<1>         uwAVS_RESPONSE_2(8,0)<8;4,1>      
-    mov (8) uwDEST_U(5,8)<1>         uwAVS_RESPONSE_2(8,8)<8;4,1>    
-    mov (8) uwDEST_U(6,8)<1>         uwAVS_RESPONSE_2(9,0)<8;4,1>      
-    mov (8) uwDEST_U(7,8)<1>         uwAVS_RESPONSE_2(9,8)<8;4,1>    
-
-    // Move 2st 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0,8)<1>         uwAVS_RESPONSE_2(6,0)<8;4,1>      
-    mov (8) uwDEST_V(1,8)<1>         uwAVS_RESPONSE_2(6,8)<8;4,1>    
-    mov (8) uwDEST_V(2,8)<1>         uwAVS_RESPONSE_2(7,0)<8;4,1>      
-    mov (8) uwDEST_V(3,8)<1>         uwAVS_RESPONSE_2(7,8)<8;4,1>    
-    mov (8) uwDEST_V(4,8)<1>         uwAVS_RESPONSE_2(10,0)<8;4,1>     
-    mov (8) uwDEST_V(5,8)<1>         uwAVS_RESPONSE_2(10,8)<8;4,1>   
-    mov (8) uwDEST_V(6,8)<1>         uwAVS_RESPONSE_2(11,0)<8;4,1>     
-    mov (8) uwDEST_V(7,8)<1>         uwAVS_RESPONSE_2(11,8)<8;4,1>   
-*/
-#else
-    // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>        ubAVS_RESPONSE(%1,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>      ubAVS_RESPONSE(%1,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 1st 8x8 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_V(0)<1>           ubAVS_RESPONSE(4,1)<16;4,2>      
-    mov (8) uwDEST_V(1)<1>           ubAVS_RESPONSE(4,8+1)<16;4,2>    
-    mov (8) uwDEST_V(2)<1>           ubAVS_RESPONSE(5,1)<16;4,2>      
-    mov (8) uwDEST_V(3)<1>           ubAVS_RESPONSE(5,8+1)<16;4,2>    
-    mov (8) uwDEST_V(4)<1>           ubAVS_RESPONSE(8,1)<16;4,2>      
-    mov (8) uwDEST_V(5)<1>           ubAVS_RESPONSE(8,8+1)<16;4,2>    
-    mov (8) uwDEST_V(6)<1>           ubAVS_RESPONSE(9,1)<16;4,2>      
-    mov (8) uwDEST_V(7)<1>           ubAVS_RESPONSE(9,8+1)<16;4,2>    
-
-    // Move 1st 8x8 words of V to dest GRF  
-    mov (8) uwDEST_U(0)<1>           ubAVS_RESPONSE(6,1)<16;4,2>      
-    mov (8) uwDEST_U(1)<1>           ubAVS_RESPONSE(6,8+1)<16;4,2>    
-    mov (8) uwDEST_U(2)<1>           ubAVS_RESPONSE(7,1)<16;4,2>      
-    mov (8) uwDEST_U(3)<1>           ubAVS_RESPONSE(7,8+1)<16;4,2>    
-    mov (8) uwDEST_U(4)<1>           ubAVS_RESPONSE(10,1)<16;4,2>     
-    mov (8) uwDEST_U(5)<1>           ubAVS_RESPONSE(10,8+1)<16;4,2>   
-    mov (8) uwDEST_U(6)<1>           ubAVS_RESPONSE(11,1)<16;4,2>     
-    mov (8) uwDEST_U(7)<1>           ubAVS_RESPONSE(11,8+1)<16;4,2>   
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>      ubAVS_RESPONSE_2(%1,1)<16;4,2>    // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>    ubAVS_RESPONSE_2(%1,8+1)<16;4,2>  // Copy high byte in a word
-    } 
-
-    // Move 2st 8x8 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_V(0,8)<1>         ubAVS_RESPONSE_2(4,1)<16;4,2>      
-    mov (8) uwDEST_V(1,8)<1>         ubAVS_RESPONSE_2(4,8+1)<16;4,2>    
-    mov (8) uwDEST_V(2,8)<1>         ubAVS_RESPONSE_2(5,1)<16;4,2>      
-    mov (8) uwDEST_V(3,8)<1>         ubAVS_RESPONSE_2(5,8+1)<16;4,2>    
-    mov (8) uwDEST_V(4,8)<1>         ubAVS_RESPONSE_2(8,1)<16;4,2>      
-    mov (8) uwDEST_V(5,8)<1>         ubAVS_RESPONSE_2(8,8+1)<16;4,2>    
-    mov (8) uwDEST_V(6,8)<1>         ubAVS_RESPONSE_2(9,1)<16;4,2>      
-    mov (8) uwDEST_V(7,8)<1>         ubAVS_RESPONSE_2(9,8+1)<16;4,2>    
-
-    // Move 2st 8x8 words of V to dest GRF  
-    mov (8) uwDEST_U(0,8)<1>         ubAVS_RESPONSE_2(6,1)<16;4,2>      
-    mov (8) uwDEST_U(1,8)<1>         ubAVS_RESPONSE_2(6,8+1)<16;4,2>    
-    mov (8) uwDEST_U(2,8)<1>         ubAVS_RESPONSE_2(7,1)<16;4,2>      
-    mov (8) uwDEST_U(3,8)<1>         ubAVS_RESPONSE_2(7,8+1)<16;4,2>    
-    mov (8) uwDEST_U(4,8)<1>         ubAVS_RESPONSE_2(10,1)<16;4,2>     
-    mov (8) uwDEST_U(5,8)<1>         ubAVS_RESPONSE_2(10,8+1)<16;4,2>   
-    mov (8) uwDEST_U(6,8)<1>         ubAVS_RESPONSE_2(11,1)<16;4,2>     
-    mov (8) uwDEST_U(7,8)<1>         ubAVS_RESPONSE_2(11,8+1)<16;4,2>   
-#endif
-
-       // Re-define new # of lines
-       #undef nUV_NUM_OF_ROWS
-       #undef nY_NUM_OF_ROWS
-       
-       #define nY_NUM_OF_ROWS      8
-       #define nUV_NUM_OF_ROWS     8
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x4.asm
deleted file mode 100644 (file)
index 37202f4..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_8x4.asm ----------
-        
-    // Move first 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>        ubAVS_RESPONSE(%1,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>      ubAVS_RESPONSE(%1,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 8x4 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_U(0)<1>            ubAVS_RESPONSE(4,1)<16;4,2>      
-    mov (8) uwDEST_U(0,8)<1>          ubAVS_RESPONSE(5,1)<16;4,2>    
-    mov (8) uwDEST_U(1)<1>            ubAVS_RESPONSE(8,1)<16;4,2>      
-    mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE(9,1)<16;4,2>    
-
-    // Move 8x4 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>            ubAVS_RESPONSE(6,1)<16;4,2>      
-    mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE(7,1)<16;4,2>    
-    mov (8) uwDEST_V(1)<1>            ubAVS_RESPONSE(10,1)<16;4,2>      
-    mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE(11,1)<16;4,2>    
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>      ubAVS_RESPONSE_2(%1,1)<16;4,2>    // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>    ubAVS_RESPONSE_2(%1,8+1)<16;4,2>  // Copy high byte in a word
-    } 
-
-//------------------------------------------------------------------------------
-
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-   
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     4
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_8x8.asm
deleted file mode 100644 (file)
index ec9f754..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_AVS_IEF_8x8.asm ----------
-        
-    // Move first 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>        ubAVS_RESPONSE(%1,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>      ubAVS_RESPONSE(%1,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 8x8 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_U(0)<1>            ubAVS_RESPONSE(4,1)<16;4,2>      
-    mov (8) uwDEST_U(0,8)<1>          ubAVS_RESPONSE(4,8+1)<16;4,2>    
-    mov (8) uwDEST_U(1)<1>            ubAVS_RESPONSE(5,1)<16;4,2>      
-    mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE(5,8+1)<16;4,2>    
-    mov (8) uwDEST_U(2)<1>            ubAVS_RESPONSE(8,1)<16;4,2>      
-    mov (8) uwDEST_U(2,8)<1>          ubAVS_RESPONSE(8,8+1)<16;4,2>    
-    mov (8) uwDEST_U(3)<1>            ubAVS_RESPONSE(9,1)<16;4,2>      
-    mov (8) uwDEST_U(3,8)<1>          ubAVS_RESPONSE(9,8+1)<16;4,2>    
-
-    // Move 8x8 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>            ubAVS_RESPONSE(6,1)<16;4,2>      
-    mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE(6,8+1)<16;4,2>    
-    mov (8) uwDEST_V(1)<1>            ubAVS_RESPONSE(7,1)<16;4,2>      
-    mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE(7,8+1)<16;4,2>    
-    mov (8) uwDEST_V(2)<1>            ubAVS_RESPONSE(10,1)<16;4,2>     
-    mov (8) uwDEST_V(2,8)<1>          ubAVS_RESPONSE(10,8+1)<16;4,2>   
-    mov (8) uwDEST_V(3)<1>            ubAVS_RESPONSE(11,1)<16;4,2>     
-    mov (8) uwDEST_V(3,8)<1>          ubAVS_RESPONSE(11,8+1)<16;4,2>   
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each GRF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>      ubAVS_RESPONSE_2(%1,1)<16;4,2>    // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>    ubAVS_RESPONSE_2(%1,8+1)<16;4,2>  // Copy high byte in a word
-    } 
-
-//------------------------------------------------------------------------------
-
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-   
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     8
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_Scaling.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL2_Scaling.asm
deleted file mode 100644 (file)
index 7849afd..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL2_Scaling.asm ----------
-#include "Scaling.inc"
-
-       // Build 16 elements ramp in float32 and normalized it
-//     mov (8)         SAMPLER_RAMP(0)<1>              0x76543210:v
-//     add     (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-mov (4) SAMPLER_RAMP(0)<1> 0x48403000:vf               //3, 2, 1, 0 in float vector
-mov (4) SAMPLER_RAMP(0,4)<1> 0x5C585450:vf     //7, 6, 5, 4 in float vector
-add    (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-                               
-//Module: PrepareScaleCoord.asm
-
-       // Setup for sampler msg hdr
-    mov (2)            rMSGSRC.0<1>:ud                 0:ud                                            { NoDDClr }     // Unused fields
-    mov (1)            rMSGSRC.2<1>:ud                 0:ud                                            { NoDDChk }     // Write and offset
-
-       // Calculate 16 v based on the step Y and vertical origin
-       mov     (16)    mfMSGPAYLOAD(2)<1>              fSRC_VID_V_ORI<0;1,0>:f
-       mov     (16)    SCALE_COORD_Y<1>:f              fSRC_VID_V_ORI<0;1,0>:f
-
-       // Calculate 16 u based on the step X and hori origin
-//     line (16)       mfMSGPAYLOAD(0)<1>              SCALE_STEP_X<0;1,0>:f           SAMPLER_RAMP(0)         // Assign to mrf directly
-       mov     (16)    acc0:f                                                  fSRC_VID_H_ORI<0;1,0>:f                                                                                 { Compr }
-       mac     (16)    mfMSGPAYLOAD(0)<1>      fVIDEO_STEP_X<0;1,0>:f  SAMPLER_RAMP(0)                 { Compr }                       
-
-       //Setup the constants for line instruction
-       mov     (1)             SCALE_LINE_P255<1>:f            255.0:f                         { NoDDClr }     //{ NoDDClr, NoDDChk }
-       mov     (1)             SCALE_LINE_P0_5<1>:f            0.5:f                           { NoDDChk }
-
-//------------------------------------------------------------------------------
-
-$for (0; <nY_NUM_OF_ROWS; 1) {
-
-       // Read 16 sampled pixels and store them in float32 in 8 GRFs in the order of BGRA (VYUA).
-  mov (8)      MSGHDR_SCALE.0:ud      rMSGSRC.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-       send (16)       SCALE_RESPONSE_YW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_Y+nBI_CURRENT_SRC_Y
-       send (16)       SCALE_RESPONSE_UW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_UV+nBI_CURRENT_SRC_UV
-
-       // Calculate 16 v for next line
-       add (16)        mfMSGPAYLOAD(2)<1>              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-       add (16)        SCALE_COORD_Y<1>:f              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-
-       // Scale back to [0, 255], convert f to ud
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_UF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_UD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_UF(2)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_UD(2)<1>       acc0:f                                                                                                          { Compr }
-
-       mov      (16)   DEST_Y(%1)<1>                           SCALE_RESPONSE_YB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_U(%1)<1>                           SCALE_RESPONSE_UB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_V(%1)<1>                           SCALE_RESPONSE_UB(2)                                                                                    //possible error due to truncation - vK
-
-}
-
-       #define nSRC_REGION                             nREGION_1
-
-//------------------------------------------------------------------------------
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_16x8.asm
deleted file mode 100644 (file)
index 50a050c..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_16x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y surface 
-// 2 sampler read  for 8x8 U surface 
-// 2 sampler read  for 8x8 V surface
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // 1st 8x8 Y sampling
-    mov  (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>  mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 1st 8x8 U sampling
-    mov  (1) rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Enable red channel
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs    
-    send (1) uwAVS_RESPONSE(4)<1>     mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_U+nBI_CURRENT_SRC_U
-    // Return U in 4 GRFs
-
-    // 1st 8x8 V sampling
-    mov  (1) rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Dummy instruction to avoid back-2-back send instructions
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(8)<1>     mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_V+nBI_CURRENT_SRC_V
-    // Return V in 4 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    mov  (1) rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1>   mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-    // Return Y in 4 GRFs
-
-    // 2nd 8x8 U sampling 
-    mov  (1) rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Enable red channel
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(4)<1>     mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_U+nBI_CURRENT_SRC_U
-    // Return U in 4 GRFs
-        
-    mov (1) rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Dummy instruction just in order to avoid back-2-back send instructions!
-
-    // 2nd 8x8 V sampling 
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(8)<1>     mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_V+nBI_CURRENT_SRC_V
-    // Return V in 4 GRFs
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:4:4 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL3_AVS_IEF_Unpack_16x8.asm"
-    
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x4.asm
deleted file mode 100644 (file)
index 35a5dd3..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_8x4.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y surface 
-// 1 sampler read  for 8x8 U surface 
-// 1 sampler read  for 8x8 V surface
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // 1st 8x8 Y sampling                                                       
-    mov (1) rAVS_8x8_HDR.2:ud       nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 8x8 U sampling ; Only 8x4 will be used
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Enable red channel
-    mul (1)  rAVS_PAYLOAD.1:f       fVIDEO_STEP_X:f    2.0:f    // Calculate Step X for chroma
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(4)<1>   mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_U+nBI_CURRENT_SRC_U
-    // Return U in 4 GRFs
-
-    // 8x8 V sampling ; Only 8x4 will be used
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Dummy instruction just in order to avoid back-2-back send instructions!
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(8)<1>   mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_V+nBI_CURRENT_SRC_V
-    // Return V in 4 GRFs
-
-   // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (1)  rAVS_PAYLOAD.1:f       fVIDEO_STEP_X:f             // Restore Step X for luma
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(12)<1>  mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-    // Return Y in 4 GRFs
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:2:0 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL3_AVS_IEF_Unpack_8x4.asm"
-    
-
-                    
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_8x8.asm
deleted file mode 100644 (file)
index d67ad04..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_8x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 Y surface 
-// 1 sampler read  for 8x8 U surface 
-// 1 sampler read  for 8x8 V surface
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    // 1st 8x8 Y sampling                                                       
-    mov (1) rAVS_8x8_HDR.2:ud       nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y
-    // Return Y in 4 GRFs
-
-    // 8x8 U sampling 
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Enable red channel
-    mul (1)  rAVS_PAYLOAD.1:f       fVIDEO_STEP_X:f    2.0:f    // Calculate Step X for chroma
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(4)<1>   mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_U+nBI_CURRENT_SRC_U
-    // Return U in 4 GRFs
-
-    // 8x8 V sampling 
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_RED_CHANNEL_ONLY:ud     // Dummy instruction just in order to avoid back-2-back send instructions!
-    mov (16) mAVS_8x8_HDR_UV.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(8)<1>   mAVS_8x8_HDR_UV   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_V+nBI_CURRENT_SRC_V
-    // Return V in 4 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-
-    // 2nd 8x8 Y sampling
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_GREEN_CHANNEL_ONLY:ud   // Enable green channel
-    mov (1)  rAVS_PAYLOAD.1:f       fVIDEO_STEP_X:f             // Restore Step X for luma
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(12)<1>  mAVS_8x8_HDR   udDUMMY_NULL      nSMPL_ENGINE        nAVS_MSG_DSC_1CH+nSI_SRC_Y+nBI_CURRENT_SRC_Y 
-    // Return Y in 4 GRFs
-
-//------------------------------------------------------------------------------
-// Unpacking sampler reads to 4:2:2 internal planar 
-//------------------------------------------------------------------------------
-    #include "PL3_AVS_IEF_Unpack_8x8.asm"
-    
-
-                    
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_16x8.asm
deleted file mode 100644 (file)
index f88ab89..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_Unpack_16x8.asm ----------
-        
-#ifdef AVS_OUTPUT_16_BIT       //Output is packed in AVYU format
-// Move first 8x8 words of Y to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,1)<4>       uwAVS_RESPONSE(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,1)<4>       uwAVS_RESPONSE(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,1)<4>       uwAVS_RESPONSE(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,1)<4>       uwAVS_RESPONSE(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,1)<4>       uwAVS_RESPONSE(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,1)<4>       uwAVS_RESPONSE(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,1)<4>      uwAVS_RESPONSE(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,1)<4>      uwAVS_RESPONSE(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,1)<4>      uwAVS_RESPONSE(2,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,1)<4>      uwAVS_RESPONSE(2,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,1)<4>      uwAVS_RESPONSE(2,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,1)<4>      uwAVS_RESPONSE(2,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,1)<4>      uwAVS_RESPONSE(3,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,1)<4>      uwAVS_RESPONSE(3,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,1)<4>      uwAVS_RESPONSE(3,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,1)<4>      uwAVS_RESPONSE(3,12)<4;4,1>                                   
-
-// Move first 8x8 words of U to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,0)<4>       uwAVS_RESPONSE(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,0)<4>       uwAVS_RESPONSE(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,0)<4>       uwAVS_RESPONSE(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,0)<4>       uwAVS_RESPONSE(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,0)<4>       uwAVS_RESPONSE(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,0)<4>       uwAVS_RESPONSE(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,0)<4>      uwAVS_RESPONSE(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,0)<4>      uwAVS_RESPONSE(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,0)<4>      uwAVS_RESPONSE(6,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,0)<4>      uwAVS_RESPONSE(6,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,0)<4>      uwAVS_RESPONSE(6,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,0)<4>      uwAVS_RESPONSE(6,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,0)<4>      uwAVS_RESPONSE(7,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,0)<4>      uwAVS_RESPONSE(7,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,0)<4>      uwAVS_RESPONSE(7,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,0)<4>      uwAVS_RESPONSE(7,12)<4;4,1>                                   
-
-// Move first 8x8 words of V to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,2)<4>       uwAVS_RESPONSE(8,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,2)<4>       uwAVS_RESPONSE(8,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,2)<4>       uwAVS_RESPONSE(8,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,2)<4>       uwAVS_RESPONSE(8,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,2)<4>       uwAVS_RESPONSE(9,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,2)<4>       uwAVS_RESPONSE(9,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,2)<4>      uwAVS_RESPONSE(9,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,2)<4>      uwAVS_RESPONSE(9,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,2)<4>      uwAVS_RESPONSE(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,2)<4>      uwAVS_RESPONSE(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,2)<4>      uwAVS_RESPONSE(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,2)<4>      uwAVS_RESPONSE(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,2)<4>      uwAVS_RESPONSE(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,2)<4>      uwAVS_RESPONSE(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,2)<4>      uwAVS_RESPONSE(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,2)<4>      uwAVS_RESPONSE(11,12)<4;4,1>                                   
-
-// Move first 8x8 words of A to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(1,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(4,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(5,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(8,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(9,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(12,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(13,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(16,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(17,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(20,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(21,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(24,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(25,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(28,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(29,3)<4>      0:uw                                   
-
-// Move second 8x8 words of Y to dest GRF
-    mov (4) uwDEST_Y(2,1)<4>       uwAVS_RESPONSE_2(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,1)<4>       uwAVS_RESPONSE_2(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,1)<4>       uwAVS_RESPONSE_2(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,1)<4>       uwAVS_RESPONSE_2(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,1)<4>      uwAVS_RESPONSE_2(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,1)<4>      uwAVS_RESPONSE_2(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,1)<4>      uwAVS_RESPONSE_2(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,1)<4>      uwAVS_RESPONSE_2(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,1)<4>      uwAVS_RESPONSE_2(2,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,1)<4>      uwAVS_RESPONSE_2(2,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,1)<4>      uwAVS_RESPONSE_2(2,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,1)<4>      uwAVS_RESPONSE_2(2,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,1)<4>      uwAVS_RESPONSE_2(3,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,1)<4>      uwAVS_RESPONSE_2(3,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,1)<4>      uwAVS_RESPONSE_2(3,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,1)<4>      uwAVS_RESPONSE_2(3,12)<4;4,1>                                   
-
-// Move second 8x8 words of U to dest GRF
-    mov (4) uwDEST_Y(2,0)<4>       uwAVS_RESPONSE_2(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,0)<4>       uwAVS_RESPONSE_2(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,0)<4>       uwAVS_RESPONSE_2(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,0)<4>       uwAVS_RESPONSE_2(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,0)<4>      uwAVS_RESPONSE_2(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,0)<4>      uwAVS_RESPONSE_2(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,0)<4>      uwAVS_RESPONSE_2(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,0)<4>      uwAVS_RESPONSE_2(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,0)<4>      uwAVS_RESPONSE_2(6,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,0)<4>      uwAVS_RESPONSE_2(6,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,0)<4>      uwAVS_RESPONSE_2(6,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,0)<4>      uwAVS_RESPONSE_2(6,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,0)<4>      uwAVS_RESPONSE_2(7,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,0)<4>      uwAVS_RESPONSE_2(7,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,0)<4>      uwAVS_RESPONSE_2(7,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,0)<4>      uwAVS_RESPONSE_2(7,12)<4;4,1>                                   
-
-// Move second 8x8 words of V to dest GRF
-    mov (4) uwDEST_Y(2,2)<4>       uwAVS_RESPONSE_2(8,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,2)<4>       uwAVS_RESPONSE_2(8,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,2)<4>       uwAVS_RESPONSE_2(8,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,2)<4>       uwAVS_RESPONSE_2(8,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,2)<4>      uwAVS_RESPONSE_2(9,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,2)<4>      uwAVS_RESPONSE_2(9,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,2)<4>      uwAVS_RESPONSE_2(9,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,2)<4>      uwAVS_RESPONSE_2(9,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,2)<4>      uwAVS_RESPONSE_2(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,2)<4>      uwAVS_RESPONSE_2(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,2)<4>      uwAVS_RESPONSE_2(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,2)<4>      uwAVS_RESPONSE_2(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,2)<4>      uwAVS_RESPONSE_2(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,2)<4>      uwAVS_RESPONSE_2(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,2)<4>      uwAVS_RESPONSE_2(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,2)<4>      uwAVS_RESPONSE_2(11,12)<4;4,1>                                   
-
-// Move second 8x8 words of A to dest GRF
-    mov (4) uwDEST_Y(2,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(3,3)<4>       0:uw                                    
-    mov (4) uwDEST_Y(6,3)<4>       0:uw                                  
-    mov (4) uwDEST_Y(7,3)<4>       0:uw                                   
-    mov (4) uwDEST_Y(10,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(11,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(14,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(15,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(18,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(19,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(22,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(23,3)<4>      0:uw                                   
-    mov (4) uwDEST_Y(26,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(27,3)<4>      0:uw                                    
-    mov (4) uwDEST_Y(30,3)<4>      0:uw                                  
-    mov (4) uwDEST_Y(31,3)<4>      0:uw                                   
-
-/*     This section will be used if 16-bit output is needed in planar format -vK
-    // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>          uwAVS_RESPONSE(%1)<8;4,1>        
-        mov (8) uwDEST_Y(%1*2+1)<1>        uwAVS_RESPONSE(%1,8)<8;4,1>      
-    } 
-
-    // Move 8x8 words of U to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_U(%1*2)<1>          uwAVS_RESPONSE(%1+4)<8;4,1>  
-        mov (8) uwDEST_U(%1*2+1)<1>        uwAVS_RESPONSE(%1+4,8)<8;4,1> 
-    } 
-
-    // Move 8x8 words of V to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_V(%1*2)<1>          uwAVS_RESPONSE(%1+8)<8;4,1>      
-        mov (8) uwDEST_V(%1*2+1)<1>        uwAVS_RESPONSE(%1+8,8)<8;4,1>    
-    } 
-
-    // Move 2nd 8x8 words of Y to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>          uwAVS_RESPONSE_2(%1)<8;4,1>        
-        mov (8) uwDEST_Y(%1*2+1,8)<1>        uwAVS_RESPONSE_2(%1,8)<8;4,1>      
-    } 
-
-    // Move 2nd 8x8 words of U to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_U(%1*2,8)<1>          uwAVS_RESPONSE_2(%1+4)<8;4,1>  
-        mov (8) uwDEST_U(%1*2+1,8)<1>        uwAVS_RESPONSE_2(%1+4,8)<8;4,1> 
-    } 
-
-    // Move 2nd 8x8 words of V to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_V(%1*2,8)<1>          uwAVS_RESPONSE_2(%1+8)<8;4,1>      
-        mov (8) uwDEST_V(%1*2+1,8)<1>        uwAVS_RESPONSE_2(%1+8,8)<8;4,1>    
-    } 
-*/
-#else /* OUTPUT_8_BIT */
-    // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>          ubAVS_RESPONSE(%1,1)<16;4,2>        // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>        ubAVS_RESPONSE(%1,8+1)<16;4,2>      // Copy high byte in a word
-    } 
-
-    // Move 8x8 words of U to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_U(%1*2)<1>          ubAVS_RESPONSE(%1+4,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_U(%1*2+1)<1>        ubAVS_RESPONSE(%1+4,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 8x8 words of V to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_V(%1*2)<1>          ubAVS_RESPONSE(%1+8,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_V(%1*2+1)<1>        ubAVS_RESPONSE(%1+8,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>          ubAVS_RESPONSE_2(%1,1)<16;4,2>     // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>        ubAVS_RESPONSE_2(%1,8+1)<16;4,2>   // Copy high byte in a word
-    } 
-
-    // Move 2nd 8x8 words of U to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_U(%1*2,8)<1>          ubAVS_RESPONSE_2(%1+4,1)<16;4,2>   // Copy high byte in a word
-        mov (8) uwDEST_U(%1*2+1,8)<1>        ubAVS_RESPONSE_2(%1+4,8+1)<16;4,2> // Copy high byte in a word
-    } 
-
-    // Move 2nd 8x8 words of V to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_V(%1*2,8)<1>          ubAVS_RESPONSE_2(%1+8,1)<16;4,2>   // Copy high byte in a word
-        mov (8) uwDEST_V(%1*2+1,8)<1>        ubAVS_RESPONSE_2(%1+8,8+1)<16;4,2> // Copy high byte in a word
-    } 
-#endif
-//------------------------------------------------------------------------------
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-      
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     8
-                   
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x4.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x4.asm
deleted file mode 100644 (file)
index 53586e6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_Unpack_8x4.asm ----------
-        
-    // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>          ubAVS_RESPONSE(%1,1)<16;4,2>        // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>        ubAVS_RESPONSE(%1,8+1)<16;4,2>      // Copy high byte in a word
-       }
-
-    // Move 8x4 words of U to dest GRF  (Copy high byte in a word)
-    mov (8) uwDEST_U(0)<1>            ubAVS_RESPONSE(4,1)<16;4,2>      
-    mov (8) uwDEST_U(0,8)<1>          ubAVS_RESPONSE(4,9)<16;4,2>    
-    mov (8) uwDEST_U(1)<1>            ubAVS_RESPONSE(5,1)<16;4,2>      
-    mov (8) uwDEST_U(1,8)<1>          ubAVS_RESPONSE(5,9)<16;4,2>    
-
-    // Move 8x4 words of V to dest GRF  
-    mov (8) uwDEST_V(0)<1>            ubAVS_RESPONSE(8,1)<16;4,2>      
-    mov (8) uwDEST_V(0,8)<1>          ubAVS_RESPONSE(8,9)<16;4,2>    
-    mov (8) uwDEST_V(1)<1>            ubAVS_RESPONSE(9,1)<16;4,2>      
-    mov (8) uwDEST_V(1,8)<1>          ubAVS_RESPONSE(9,9)<16;4,2>    
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>        ubAVS_RESPONSE(%1+12,1)<16;4,2>     // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>      ubAVS_RESPONSE(%1+12,8+1)<16;4,2>   // Copy high byte in a word
-    } 
-
-//------------------------------------------------------------------------------
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-       
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     4
-                    
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_AVS_IEF_Unpack_8x8.asm
deleted file mode 100644 (file)
index f16d04a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_AVS_IEF_Unpack_8x8.asm ----------
-        
-    // Move 1st 8x8 words of Y to dest GRF at lower 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2)<1>          ubAVS_RESPONSE(%1,1)<16;4,2>        // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1)<1>        ubAVS_RESPONSE(%1,8+1)<16;4,2>      // Copy high byte in a word
-       }
-    // Move 8x8 words of U to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_U(%1)<1>            ubAVS_RESPONSE(%1+4,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_U(%1,8)<1>          ubAVS_RESPONSE(%1+4,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 8x8 words of V to dest GRF  
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_V(%1)<1>            ubAVS_RESPONSE(%1+8,1)<16;4,2>      // Copy high byte in a word
-        mov (8) uwDEST_V(%1,8)<1>          ubAVS_RESPONSE(%1+8,8+1)<16;4,2>    // Copy high byte in a word
-    } 
-
-    // Move 2nd 8x8 words of Y to dest GRF at higher 8 words of each RGF.
-    $for(0; <8/2; 1) {
-        mov (8) uwDEST_Y(%1*2,8)<1>        ubAVS_RESPONSE(%1+12,1)<16;4,2>     // Copy high byte in a word
-        mov (8) uwDEST_Y(%1*2+1,8)<1>      ubAVS_RESPONSE(%1+12,8+1)<16;4,2>   // Copy high byte in a word
-    } 
-
-//------------------------------------------------------------------------------
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-       
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     8
-                    
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_Scaling.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL3_Scaling.asm
deleted file mode 100644 (file)
index 3d5c689..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- PL3_Scaling.asm ----------
-#include "Scaling.inc"
-
-       // Build 16 elements ramp in float32 and normalized it
-//     mov (8)         SAMPLER_RAMP(0)<1>              0x76543210:v
-//     add     (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-mov (4) SAMPLER_RAMP(0)<1> 0x48403000:vf               { NoDDClr }//3, 2, 1, 0 in float vector
-mov (4) SAMPLER_RAMP(0,4)<1> 0x5C585450:vf     { NoDDChk }//7, 6, 5, 4 in float vector
-add    (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-
-                       
-//Module: PrepareScaleCoord.asm
-
-       // Setup for sampler msg hdr
-    mov (2)            rMSGSRC.0<1>:ud                 0:ud                                            { NoDDClr }     // Unused fields
-    mov (1)            rMSGSRC.2<1>:ud                 0:ud                                            { NoDDChk }     // Write and offset
-
-       // Calculate 16 v based on the step Y and vertical origin
-       mov     (16)    mfMSGPAYLOAD(2)<1>              fSRC_VID_V_ORI<0;1,0>:f
-       mov     (16)    SCALE_COORD_Y<1>:f              fSRC_VID_V_ORI<0;1,0>:f
-
-       // Calculate 16 u based on the step X and hori origin
-//     line (16)       mfMSGPAYLOAD(0)<1>              SCALE_STEP_X<0;1,0>:f           SAMPLER_RAMP(0)         // Assign to mrf directly
-       mov     (16)    acc0:f                                                  fSRC_VID_H_ORI<0;1,0>:f                                                                                 { Compr }
-       mac     (16)    mfMSGPAYLOAD(0)<1>      fVIDEO_STEP_X<0;1,0>:f  SAMPLER_RAMP(0)                 { Compr }                       
-
-       //Setup the constants for line instruction
-       mov     (1)             SCALE_LINE_P255<1>:f            255.0:f                         { NoDDClr }     //{ NoDDClr, NoDDChk }
-       mov     (1)             SCALE_LINE_P0_5<1>:f            0.5:f                           { NoDDChk }
-
-//------------------------------------------------------------------------------
-
-$for (0; <nY_NUM_OF_ROWS; 1) {
-       // Read 16 sampled pixels and store them in float32 in 8 GRFs in the order of BGRA (VYUA).
-  mov (8)      MSGHDR_SCALE<1>:ud              rMSGSRC<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-       send (16)       SCALE_RESPONSE_VW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_V+nBI_CURRENT_SRC_V
-       send (16)       SCALE_RESPONSE_YW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_Y+nBI_CURRENT_SRC_Y
-       send (16)       SCALE_RESPONSE_UW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_U+nBI_CURRENT_SRC_U
-
-       // Calculate 16 v for next line
-       add (16)        mfMSGPAYLOAD(2)<1>              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-       add (16)        SCALE_COORD_Y<1>:f              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-
-       // Scale back to [0, 255], convert f to ud
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_VF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_VD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_UF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_UD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       mov      (16)   DEST_V(%1)<1>                           SCALE_RESPONSE_VB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_Y(%1)<1>                           SCALE_RESPONSE_YB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_U(%1)<1>                           SCALE_RESPONSE_UB(0)                                                                                    //possible error due to truncation - vK
-
-}
-
-       #define nSRC_REGION                             nREGION_1
-
-//------------------------------------------------------------------------------
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG.asm
deleted file mode 100644 (file)
index e6d8fb2..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-
-    #ifdef DI_ONLY
-               #undef  nSMPL_RESP_LEN
-               #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DI               // set the number of GRF 
-       #else
-               #undef  nSMPL_RESP_LEN
-               #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-       #endif
-       
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // DN Block Size for Write is 16x4
-    
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_Command.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w  NODDCLR_NODDCHK             // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                 NODDCLR_NODDCHK    // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud        NODDCHK             // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-#ifdef DI_ONLY
-#else
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Save the DN Curr Frame for Next Run ////////////////////////
-    
-       //set the save DN parameters
-    mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w              NODDCLR             // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud       NODDCLR_NODDCHK     // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud                     
-       
-    // check top/bottom field first
-    cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 2nd field luma from current frame (line 0,2)
-    }
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-       
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0)<4;4,1> // 2nd field luma from current frame (line 0,2)
-    }
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-       
-SAVE_DN_CURR:
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_Y:ud
-#endif
-
-// Save Processed frames
-#include "DI_Save_PA.asm"      
-
-
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV11.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV11.asm
deleted file mode 100644 (file)
index 96aed78..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-    
-    #undef  nY_NUM_OF_ROWS
-    #define nY_NUM_OF_ROWS      8       // Number of Y rows per block (4 rows for each frame) 
-    #undef  nUV_NUM_OF_ROWS
-    #define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-
-    #undef  nSMPL_RESP_LEN
-    #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // DN Block Size for Write is 16x4
-    #undef  nDPR_BLOCK_SIZE_UV
-    #define nDPR_BLOCK_SIZE_UV                 nBLOCK_WIDTH_8+nBLOCK_HEIGHT_4   //  DN Block Size for UV Write/Read is 8x4
-   
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_Command.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-    // move the previous frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1,0)<1>    ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the previous frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-    // move the current frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1+4,0)<1>  ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the current frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w     // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                    // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud           // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Save the DN Curr Frame for Next Run ////////////////////////
-    add (4)     pCF_Y_OFFSET<1>:uw          ubSRC_CF_OFFSET<4;4,1>:ub  npDN_YUV:w
-    // check top/bottom field first
-    cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-SAVE_DN_CURR:
-    mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud        // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_Y:ud
-
-
-/////////////////////////////P208 UV Copy 422/////////////////////////////////////////////////////
-               //Read UV through DATAPORT    
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-    asr (1)  rMSGSRC.0<1>:d     rMSGSRC.0<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (16x2)
-    mov  (8) mudMSGHDR_DN<1>     rMSGSRC<8;8,1>:ud
-    send (8) udBOT_U_IO(0)<1>     mMSGHDR_DN    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nRESLEN_1+nBI_CURRENT_SRC_UV:ud
-
-               //Write UV through DATAPORT
-               mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-               asr (1)     rMSGSRC.0<1>:d    rMSGSRC.0<0;1,0>:d    1:w  // U/V block origin should be half of Y's
-    mov (1)     rMSGSRC.2<1>:ud        nDPR_BLOCK_SIZE_UV:ud        // block width and height (16x2)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    mov (8)                    mudMSGHDR_DN(1)<1>               udBOT_U_IO(0)<8;8,1>
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nMSGLEN_1+nBI_DESTINATION_UV:ud
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV12.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_NV12.asm
deleted file mode 100644 (file)
index 69330ba..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-    
-    #undef  nY_NUM_OF_ROWS
-    #define nY_NUM_OF_ROWS      8       // Number of Y rows per block (4 rows for each frame) 
-    #undef  nUV_NUM_OF_ROWS
-    #define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-
-    #undef  nSMPL_RESP_LEN
-    #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // DN Block Size for Write is 16x4
-    #undef  nDPR_BLOCK_SIZE_UV
-    #define nDPR_BLOCK_SIZE_UV                 nBLOCK_WIDTH_16+nBLOCK_HEIGHT_2   // DN Block Size for UV Write/Read is 16x2
-   
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_COMMAND.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-    // move the previous frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1,0)<1>    ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the previous frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-    // move the current frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1+4,0)<1>  ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the current frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w     // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                    // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud           // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Save the DN Curr Frame for Next Run ////////////////////////
-    add (4)     pCF_Y_OFFSET<1>:uw          ubSRC_CF_OFFSET<4;4,1>:ub  npDN_YUV:w
-    // check top/bottom field first
-    cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-SAVE_DN_CURR:
-    mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud        // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_Y:ud
-
-
-/////////////////////////////NV12 UV Copy 422/////////////////////////////////////////////////////
-               //Read UV through DATAPORT    
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-    asr (1)  rMSGSRC.1<1>:d     rMSGSRC.1<0;1,0>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (16x2)
-    mov  (8) mudMSGHDR_DN<1>     rMSGSRC<8;8,1>:ud
-    send (8) udBOT_U_IO(0)<1>     mMSGHDR_DN    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nRESLEN_1+nBI_CURRENT_SRC_UV:ud
-
-               //Write UV through DATAPORT
-               mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-               asr (1)     rMSGSRC.1<1>:d         rMSGSRC.1<0;1,0>:d    1:w  // U/V block origin should be half of Y's
-    mov (1)     rMSGSRC.2<1>:ud        nDPR_BLOCK_SIZE_UV:ud        // block width and height (16x2)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    mov (8)                    mudMSGHDR_DN(1)<1>               udBOT_U_IO(0)<8;8,1>
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nMSGLEN_1+nBI_DESTINATION_UV:ud 
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_P208.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_P208.asm
deleted file mode 100644 (file)
index 7fba14c..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-    
-    #undef  nY_NUM_OF_ROWS
-    #define nY_NUM_OF_ROWS      8       // Number of Y rows per block (4 rows for each frame) 
-    #undef  nUV_NUM_OF_ROWS
-    #define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-
-    #undef  nSMPL_RESP_LEN
-    #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // DN Block Size for Write is 16x4
-   
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_Command.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-    // move the previous frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1,0)<1>    ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the previous frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-    // move the current frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1+4,0)<1>  ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the current frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w     // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                    // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud           // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Save the DN Curr Frame for Next Run ////////////////////////
-    add (4)     pCF_Y_OFFSET<1>:uw          ubSRC_CF_OFFSET<4;4,1>:ub  npDN_YUV:w
-    // check top/bottom field first
-    cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-SAVE_DN_CURR:
-    mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud        // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_Y:ud
-
-
-/////////////////////////////P208 UV Copy 422/////////////////////////////////////////////////////
-               //Read UV through DATAPORT    
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-    mov  (1) rMSGSRC.2<1>:ud   nDPW_BLOCK_SIZE_DN:ud                                                   // Y Block width and height (16x4) (U/V block size is the same)
-    mov  (8) mudMSGHDR_DN<1>     rMSGSRC<8;8,1>:ud
-    send (8) udBOT_U_IO(0)<1>     mMSGHDR_DN    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nRESLEN_2+nBI_CURRENT_SRC_UV:ud
-
-               //Write UV through DATAPORT
-               mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud        // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    mov (8)                    mudMSGHDR_DN(1)<1>               udBOT_U_IO(0)<8;8,1>
-    mov (8)                    mudMSGHDR_DN(2)<1>               udBOT_U_IO(1)<8;8,1>
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_UV:ud
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_PL3.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DNDI_ALG_UVCopy_PL3.asm
deleted file mode 100644 (file)
index f7b891d..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_ENABLE
-
-    #include "DNDI.inc"
-    
-    #undef  nY_NUM_OF_ROWS
-    #define nY_NUM_OF_ROWS      8       // Number of Y rows per block (4 rows for each frame) 
-    #undef  nUV_NUM_OF_ROWS
-    #define nUV_NUM_OF_ROWS     8       // Number of U/V rows per block
-
-    #undef  nSMPL_RESP_LEN
-    #define nSMPL_RESP_LEN          nSMPL_RESP_LEN_DNDI               // set the number of GRF 
-    #undef  nDPW_BLOCK_SIZE_HIST
-    #define nDPW_BLOCK_SIZE_HIST    nBLOCK_WIDTH_4+nBLOCK_HEIGHT_1    // HIST Block Size for Write is 4x2
-    #undef  nDPW_BLOCK_SIZE_DN
-    #define nDPW_BLOCK_SIZE_DN      nBLOCK_WIDTH_16+nBLOCK_HEIGHT_4   // DN Block Size for Write is 16x4
-    #undef  nDPR_BLOCK_SIZE_UV
-    #define nDPR_BLOCK_SIZE_UV                 nBLOCK_WIDTH_8+nBLOCK_HEIGHT_2   //  DN Block Size for UV Write/Read is 8x2
-   
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-    #include "DNDI_Command.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-    // move the previous frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1,0)<1>    ubRESP(nDI_PREV_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the previous frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(0,%1*8)<1>   ubRESP(nDI_PREV_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-    // move the current frame Y component to internal planar format
-    $for (0; <nY_NUM_OF_ROWS/2; 1) {
-        mov (16) uwDEST_Y(%1+4,0)<1>  ubRESP(nDI_CURR_FRAME_LUMA_OFFSET,%1*16)
-    }
-    // move the current frame U,V components to internal planar format
-    $for (0; <nUV_NUM_OF_ROWS/2; 1) {
-        mov (8) uwDEST_U(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16+1)<16;8,2>  //U pixels
-        mov (8) uwDEST_V(2,%1*8)<1>   ubRESP(nDI_CURR_FRAME_CHROMA_OFFSET,%1*16)<16;8,2>    //V pixels
-    }
-
-////////////////////////////////////// Save the STMM Data for Next Run /////////////////////////
-    // Write STMM to memory
-    shr (1)     rMSGSRC.0<1>:ud        wORIX<0;1,0>:w            1:w     // X origin / 2
-    mov (1)     rMSGSRC.1<1>:ud        wORIY<0;1,0>:w                    // Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_STMM:ud           // block width and height (8x4)
-    mov (8)     mudMSGHDR_STMM(0)<1>   rMSGSRC.0<8;8,1>:ud               // message header   
-    mov (8)     mudMSGHDR_STMM(1)<1>   udRESP(nDI_STMM_OFFSET,0)         // Move STMM to MRF 
-    send (8)    dNULLREG               mMSGHDR_STMM              udDUMMY_NULL    nDATAPORT_WRITE     nDPMW_MSGDSC+nDPMW_MSG_LEN_STMM+nBI_STMM_HISTORY_OUTPUT:ud      
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-    #include "DI_Hist_Save.asm"
-
-////////////////////////////////////// Save the DN Curr Frame for Next Run ////////////////////////
-    add (4)     pCF_Y_OFFSET<1>:uw          ubSRC_CF_OFFSET<4;4,1>:ub  npDN_YUV:w
-    // check top/bottom field first
-    cmp.e.f0.0 (1)  null<1>:w               ubTFLD_FIRST<0;1,0>:ub     1:w
-    (f0.0) jmpi (1) TOP_FIELD_FIRST
-
-BOTTOM_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-    jmpi (1) SAVE_DN_CURR
-    
-TOP_FIELD_FIRST:
-    $for (0,0; <nY_NUM_OF_ROWS/2; 2,1) {
-        mov (4)     mudMSGHDR_DN(1,%1*4)<1>     udRESP(nDI_CURR_FRAME_LUMA_OFFSET+%2,0)<4;4,1> // 2nd field luma from current frame (line 0,2)
-        mov (4)     mudMSGHDR_DN(1,%1*4+4)<1>   udRESP(nDI_CURR_2ND_FIELD_LUMA_OFFSET,%2*4)<4;4,1> // 1st field luma from current frame (line 1,3)
-    }
-SAVE_DN_CURR:
-    mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-    mov (1)     rMSGSRC.2<1>:ud        nDPW_BLOCK_SIZE_DN:ud        // block width and height (16x4)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    send (8)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nDPMW_MSG_LEN_PL_DN_DI+nBI_DESTINATION_Y:ud
-
-
-/////////////////////////////IMC3 UV Copy 422/////////////////////////////////////////////////////
-               //Read UV through DATAPORT    
-    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w       // Source Y Block origin
-    asr (2)  rMSGSRC.0<1>:d     rMSGSRC.0<2;2,1>:d       1:w   // U/V block origin should be half of Y's
-    mov (1)  rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_UV:ud          // U/V block width and height (8x2)  
-    mov  (8) mudMSGHDR_DN<1>     rMSGSRC<8;8,1>:ud
-    send (4) udBOT_U_IO(0)<1>       mMSGHDR_DN    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nRESLEN_1+nBI_CURRENT_SRC_U:ud
-    send (4) udBOT_V_IO(0)<1>       mMSGHDR_DN    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nRESLEN_1+nBI_CURRENT_SRC_V:ud
-
-               //Write UV through DATAPORT
-               mov (2)     rMSGSRC.0<1>:ud        wORIX<2;2,1>:w               // X origin and Y origin
-               asr  (2)    rMSGSRC.0<1>:d     wORIX<2;2,1>:w    1:w   // U/V block origin should be half of Y's
-    mov (1)     rMSGSRC.2<1>:ud        nDPR_BLOCK_SIZE_UV:ud        // block width and height (8x2)
-    mov (8)     mudMSGHDR_DN(0)<1>     rMSGSRC.0<8;8,1>:ud
-    mov (4)                    mudMSGHDR_DN(1)<1>               udBOT_U_IO(0)<4;4,1>
-    send (4)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nMSGLEN_1+nBI_DESTINATION_U:ud
-    mov (4)                    mudMSGHDR_DN(1)<1>               udBOT_V_IO(0)<4;4,1>
-    send (4)    dNULLREG    mMSGHDR_DN   udDUMMY_NULL    nDATAPORT_WRITE    nDPMW_MSGDSC+nMSGLEN_1+nBI_DESTINATION_V:ud
\ No newline at end of file
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DN_ALG.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/PL_DN_ALG.asm
deleted file mode 100644 (file)
index 0b9aa4c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-#define DI_DISABLE
-
-#include "DNDI.inc"
-
-#undef  nY_NUM_OF_ROWS
-#define nY_NUM_OF_ROWS         8                                 // Number of Y rows per block
-
-#undef   nSMPL_RESP_LEN
-#define  nSMPL_RESP_LEN        nSMPL_RESP_LEN_DN_PL              // Set the Number of GRFs in DNDI response 
-#undef   nDPW_BLOCK_SIZE_DN
-#define  nDPW_BLOCK_SIZE_DN    nBLOCK_WIDTH_16+nBLOCK_HEIGHT_8   // DN Curr Block Size for Write is 16x8
-#undef   nDPW_BLOCK_SIZE_HIST
-#define  nDPW_BLOCK_SIZE_HIST  nBLOCK_WIDTH_4+nBLOCK_HEIGHT_2    // HIST Block Size for Write is 4x2
-
-////////////////////////////////////// Run the DN Algorithm ///////////////////////////////////////
-#include "DNDI_COMMAND.asm"
-
-////////////////////////////////////// Rearrange for Internal Planar //////////////////////////////
-$for (0; <nY_NUM_OF_ROWS; 1) {
-    mov (16)    uwDEST_Y(0,%1*16)<1>   ubRESP(nNODI_LUMA_OFFSET,%1*16)<16;16,1>       // copy line of Y
-}
-
-////////////////////////////////////// Save the History Data for Next Run /////////////////////////
-#include "DNDI_Hist_Save.asm"
-
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_16x8.asm
deleted file mode 100644 (file)
index efc7cd6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- RGB_AVS_IEF_16x8.asm ----------
-
-#include "AVS_IEF.inc"
-
-//------------------------------------------------------------------------------
-// 2 sampler reads for 8x8 ARGB packed
-//------------------------------------------------------------------------------
-
-    // 1st 8x8 setup
-    #include "AVS_SetupFirstBlock.asm"
-
-    mov (1)  rAVS_8x8_HDR.2:ud      nAVS_ALL_CHANNELS:ud   // Enable ARGB channels
-    mov (16) mAVS_8x8_HDR.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE(0)<1>   mAVS_8x8_HDR    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_4CH+nSI_SRC_RGB+nBI_CURRENT_SRC_YUV
-    // Return ARGB in 16 GRFs
-
-    // 2nd 8x8 setup
-    #include "AVS_SetupSecondBlock.asm"
-    mov (16) mAVS_8x8_HDR_2.0:ud      rAVS_8x8_HDR.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-    send (1) uwAVS_RESPONSE_2(0)<1> mAVS_8x8_HDR_2    udDUMMY_NULL    nSMPL_ENGINE    nAVS_MSG_DSC_4CH+nSI_SRC_RGB+nBI_CURRENT_SRC_YUV
-    // Return ARGB in 16 GRFs
-
-        
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unpack_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unpack_16x8.asm
deleted file mode 100644 (file)
index 6e2de97..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- RGB_AVS_IEF_Unpack_16x8.asm ----------
-#include "AVS_IEF.inc"
-
-#ifdef AVS_OUTPUT_16_BIT
-// Move first 8x8 words of B to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,2)<4>       uwAVS_RESPONSE(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,2)<4>       uwAVS_RESPONSE(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,2)<4>       uwAVS_RESPONSE(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,2)<4>       uwAVS_RESPONSE(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,2)<4>       uwAVS_RESPONSE(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,2)<4>       uwAVS_RESPONSE(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,2)<4>      uwAVS_RESPONSE(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,2)<4>      uwAVS_RESPONSE(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,2)<4>      uwAVS_RESPONSE(12,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,2)<4>      uwAVS_RESPONSE(12,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,2)<4>      uwAVS_RESPONSE(12,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,2)<4>      uwAVS_RESPONSE(12,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,2)<4>      uwAVS_RESPONSE(13,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,2)<4>      uwAVS_RESPONSE(13,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,2)<4>      uwAVS_RESPONSE(13,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,2)<4>      uwAVS_RESPONSE(13,12)<4;4,1>                                   
-
-// Move first 8x8 words of G to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,1)<4>       uwAVS_RESPONSE(2,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,1)<4>       uwAVS_RESPONSE(2,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,1)<4>       uwAVS_RESPONSE(2,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,1)<4>       uwAVS_RESPONSE(2,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,1)<4>       uwAVS_RESPONSE(3,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,1)<4>       uwAVS_RESPONSE(3,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,1)<4>      uwAVS_RESPONSE(3,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,1)<4>      uwAVS_RESPONSE(3,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,1)<4>      uwAVS_RESPONSE(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,1)<4>      uwAVS_RESPONSE(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,1)<4>      uwAVS_RESPONSE(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,1)<4>      uwAVS_RESPONSE(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,1)<4>      uwAVS_RESPONSE(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,1)<4>      uwAVS_RESPONSE(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,1)<4>      uwAVS_RESPONSE(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,1)<4>      uwAVS_RESPONSE(11,12)<4;4,1>                                   
-
-// Move first 8x8 words of R to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,0)<4>       uwAVS_RESPONSE(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,0)<4>       uwAVS_RESPONSE(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,0)<4>       uwAVS_RESPONSE(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,0)<4>       uwAVS_RESPONSE(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,0)<4>       uwAVS_RESPONSE(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,0)<4>       uwAVS_RESPONSE(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,0)<4>      uwAVS_RESPONSE(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,0)<4>      uwAVS_RESPONSE(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,0)<4>      uwAVS_RESPONSE(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,0)<4>      uwAVS_RESPONSE(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,0)<4>      uwAVS_RESPONSE(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,0)<4>      uwAVS_RESPONSE(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,0)<4>      uwAVS_RESPONSE(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,0)<4>      uwAVS_RESPONSE(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,0)<4>      uwAVS_RESPONSE(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,0)<4>      uwAVS_RESPONSE(9,12)<4;4,1>                                   
-
-// Move first 8x8 words of A to dest GRF (as packed)
-    mov (4) uwDEST_Y(0,3)<4>       uwAVS_RESPONSE(6,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(1,3)<4>       uwAVS_RESPONSE(6,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(4,3)<4>       uwAVS_RESPONSE(6,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(5,3)<4>       uwAVS_RESPONSE(6,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(8,3)<4>       uwAVS_RESPONSE(7,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(9,3)<4>       uwAVS_RESPONSE(7,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(12,3)<4>      uwAVS_RESPONSE(7,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(13,3)<4>      uwAVS_RESPONSE(7,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(16,3)<4>      uwAVS_RESPONSE(14,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(17,3)<4>      uwAVS_RESPONSE(14,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(20,3)<4>      uwAVS_RESPONSE(14,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(21,3)<4>      uwAVS_RESPONSE(14,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(24,3)<4>      uwAVS_RESPONSE(15,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(25,3)<4>      uwAVS_RESPONSE(15,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(28,3)<4>      uwAVS_RESPONSE(15,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(29,3)<4>      uwAVS_RESPONSE(15,12)<4;4,1>                                   
-
-// Move second 8x8 words of B to dest GRF
-    mov (4) uwDEST_Y(2,2)<4>       uwAVS_RESPONSE_2(4,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,2)<4>       uwAVS_RESPONSE_2(4,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,2)<4>       uwAVS_RESPONSE_2(4,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,2)<4>       uwAVS_RESPONSE_2(4,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,2)<4>      uwAVS_RESPONSE_2(5,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,2)<4>      uwAVS_RESPONSE_2(5,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,2)<4>      uwAVS_RESPONSE_2(5,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,2)<4>      uwAVS_RESPONSE_2(5,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,2)<4>      uwAVS_RESPONSE_2(12,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,2)<4>      uwAVS_RESPONSE_2(12,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,2)<4>      uwAVS_RESPONSE_2(12,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,2)<4>      uwAVS_RESPONSE_2(12,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,2)<4>      uwAVS_RESPONSE_2(13,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,2)<4>      uwAVS_RESPONSE_2(13,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,2)<4>      uwAVS_RESPONSE_2(13,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,2)<4>      uwAVS_RESPONSE_2(13,12)<4;4,1>                                   
-
-// Move second 8x8 words of G to dest GRF
-    mov (4) uwDEST_Y(2,1)<4>       uwAVS_RESPONSE_2(2,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,1)<4>       uwAVS_RESPONSE_2(2,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,1)<4>       uwAVS_RESPONSE_2(2,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,1)<4>       uwAVS_RESPONSE_2(2,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,1)<4>      uwAVS_RESPONSE_2(3,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,1)<4>      uwAVS_RESPONSE_2(3,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,1)<4>      uwAVS_RESPONSE_2(3,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,1)<4>      uwAVS_RESPONSE_2(3,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,1)<4>      uwAVS_RESPONSE_2(10,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,1)<4>      uwAVS_RESPONSE_2(10,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,1)<4>      uwAVS_RESPONSE_2(10,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,1)<4>      uwAVS_RESPONSE_2(10,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,1)<4>      uwAVS_RESPONSE_2(11,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,1)<4>      uwAVS_RESPONSE_2(11,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,1)<4>      uwAVS_RESPONSE_2(11,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,1)<4>      uwAVS_RESPONSE_2(11,12)<4;4,1>                                   
-
-// Move second 8x8 words of R to dest GRF
-    mov (4) uwDEST_Y(2,0)<4>       uwAVS_RESPONSE_2(0,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,0)<4>       uwAVS_RESPONSE_2(0,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,0)<4>       uwAVS_RESPONSE_2(0,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,0)<4>       uwAVS_RESPONSE_2(0,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,0)<4>      uwAVS_RESPONSE_2(1,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,0)<4>      uwAVS_RESPONSE_2(1,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,0)<4>      uwAVS_RESPONSE_2(1,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,0)<4>      uwAVS_RESPONSE_2(1,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,0)<4>      uwAVS_RESPONSE_2(8,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,0)<4>      uwAVS_RESPONSE_2(8,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,0)<4>      uwAVS_RESPONSE_2(8,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,0)<4>      uwAVS_RESPONSE_2(8,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,0)<4>      uwAVS_RESPONSE_2(9,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,0)<4>      uwAVS_RESPONSE_2(9,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,0)<4>      uwAVS_RESPONSE_2(9,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,0)<4>      uwAVS_RESPONSE_2(9,12)<4;4,1>                                   
-
-// Move second 8x8 words of A to dest GRF
-    mov (4) uwDEST_Y(2,3)<4>       uwAVS_RESPONSE_2(6,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(3,3)<4>       uwAVS_RESPONSE_2(6,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(6,3)<4>       uwAVS_RESPONSE_2(6,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(7,3)<4>       uwAVS_RESPONSE_2(6,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(10,3)<4>      uwAVS_RESPONSE_2(7,0)<4;4,1>                                      
-    mov (4) uwDEST_Y(11,3)<4>      uwAVS_RESPONSE_2(7,8)<4;4,1>                                      
-    mov (4) uwDEST_Y(14,3)<4>      uwAVS_RESPONSE_2(7,4)<4;4,1>                                    
-    mov (4) uwDEST_Y(15,3)<4>      uwAVS_RESPONSE_2(7,12)<4;4,1>                                    
-    mov (4) uwDEST_Y(18,3)<4>      uwAVS_RESPONSE_2(14,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(19,3)<4>      uwAVS_RESPONSE_2(14,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(22,3)<4>      uwAVS_RESPONSE_2(14,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(23,3)<4>      uwAVS_RESPONSE_2(14,12)<4;4,1>                                   
-    mov (4) uwDEST_Y(26,3)<4>      uwAVS_RESPONSE_2(15,0)<4;4,1>                                     
-    mov (4) uwDEST_Y(27,3)<4>      uwAVS_RESPONSE_2(15,8)<4;4,1>                                     
-    mov (4) uwDEST_Y(30,3)<4>      uwAVS_RESPONSE_2(15,4)<4;4,1>                                   
-    mov (4) uwDEST_Y(31,3)<4>      uwAVS_RESPONSE_2(15,12)<4;4,1>                                   
-
-#else   /* OUTPUT_8_BIT */
-// Move first 8x8 words of B to dest GRF
-    mov (8) ubDEST_Y(0,2)<4>       ubAVS_RESPONSE(4,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(2,2)<4>       ubAVS_RESPONSE(4,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(4,2)<4>       ubAVS_RESPONSE(5,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(6,2)<4>       ubAVS_RESPONSE(5,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(8,2)<4>       ubAVS_RESPONSE(12,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(10,2)<4>      ubAVS_RESPONSE(12,8+1)<16;4,2>                                   
-    mov (8) ubDEST_Y(12,2)<4>      ubAVS_RESPONSE(13,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(14,2)<4>      ubAVS_RESPONSE(13,8+1)<16;4,2>                                   
-
-// Move first 8x8 words of G to dest GRF
-    mov (8) ubDEST_Y(0,1)<4>       ubAVS_RESPONSE(2,1)<16;4,2>              
-    mov (8) ubDEST_Y(2,1)<4>       ubAVS_RESPONSE(2,8+1)<16;4,2>            
-    mov (8) ubDEST_Y(4,1)<4>       ubAVS_RESPONSE(3,1)<16;4,2>              
-    mov (8) ubDEST_Y(6,1)<4>       ubAVS_RESPONSE(3,8+1)<16;4,2>            
-    mov (8) ubDEST_Y(8,1)<4>       ubAVS_RESPONSE(10,1)<16;4,2>             
-    mov (8) ubDEST_Y(10,1)<4>      ubAVS_RESPONSE(10,8+1)<16;4,2>           
-    mov (8) ubDEST_Y(12,1)<4>      ubAVS_RESPONSE(11,1)<16;4,2>             
-    mov (8) ubDEST_Y(14,1)<4>      ubAVS_RESPONSE(11,8+1)<16;4,2>           
-
-// Move first 8x8 words of R to dest GRF
-    mov (8) ubDEST_Y(0,0)<4>       ubAVS_RESPONSE(0,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(2,0)<4>       ubAVS_RESPONSE(0,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(4,0)<4>       ubAVS_RESPONSE(1,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(6,0)<4>       ubAVS_RESPONSE(1,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(8,0)<4>       ubAVS_RESPONSE(8,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(10,0)<4>      ubAVS_RESPONSE(8,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(12,0)<4>      ubAVS_RESPONSE(9,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(14,0)<4>      ubAVS_RESPONSE(9,8+1)<16;4,2>                                    
-
-// Move first 8x8 words of A to dest GRF
-    mov (8) ubDEST_Y(0,3)<4>       ubAVS_RESPONSE(6,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(2,3)<4>       ubAVS_RESPONSE(6,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(4,3)<4>       ubAVS_RESPONSE(7,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(6,3)<4>       ubAVS_RESPONSE(7,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(8,3)<4>       ubAVS_RESPONSE(14,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(10,3)<4>      ubAVS_RESPONSE(14,8+1)<16;4,2>                                   
-    mov (8) ubDEST_Y(12,3)<4>      ubAVS_RESPONSE(15,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(14,3)<4>      ubAVS_RESPONSE(15,8+1)<16;4,2>                                   
-
-// Move second 8x8 words of B to dest GRF
-    mov (8) ubDEST_Y(1,2)<4>       ubAVS_RESPONSE_2(4,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(3,2)<4>       ubAVS_RESPONSE_2(4,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(5,2)<4>       ubAVS_RESPONSE_2(5,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(7,2)<4>       ubAVS_RESPONSE_2(5,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(9,2)<4>       ubAVS_RESPONSE_2(12,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(11,2)<4>      ubAVS_RESPONSE_2(12,8+1)<16;4,2>                                   
-    mov (8) ubDEST_Y(13,2)<4>      ubAVS_RESPONSE_2(13,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(15,2)<4>      ubAVS_RESPONSE_2(13,8+1)<16;4,2>                                   
-
-// Move second 8x8 words of G to dest GRF
-    mov (8) ubDEST_Y(1,1)<4>       ubAVS_RESPONSE_2(2,1)<16;4,2>              
-    mov (8) ubDEST_Y(3,1)<4>       ubAVS_RESPONSE_2(2,8+1)<16;4,2>            
-    mov (8) ubDEST_Y(5,1)<4>       ubAVS_RESPONSE_2(3,1)<16;4,2>              
-    mov (8) ubDEST_Y(7,1)<4>       ubAVS_RESPONSE_2(3,8+1)<16;4,2>            
-    mov (8) ubDEST_Y(9,1)<4>       ubAVS_RESPONSE_2(10,1)<16;4,2>             
-    mov (8) ubDEST_Y(11,1)<4>      ubAVS_RESPONSE_2(10,8+1)<16;4,2>           
-    mov (8) ubDEST_Y(13,1)<4>      ubAVS_RESPONSE_2(11,1)<16;4,2>             
-    mov (8) ubDEST_Y(15,1)<4>      ubAVS_RESPONSE_2(11,8+1)<16;4,2>           
-
-// Move second 8x8 words of R to dest GRF
-    mov (8) ubDEST_Y(1,0)<4>       ubAVS_RESPONSE_2(0,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(3,0)<4>       ubAVS_RESPONSE_2(0,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(5,0)<4>       ubAVS_RESPONSE_2(1,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(7,0)<4>       ubAVS_RESPONSE_2(1,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(9,0)<4>       ubAVS_RESPONSE_2(8,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(11,0)<4>      ubAVS_RESPONSE_2(8,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(13,0)<4>      ubAVS_RESPONSE_2(9,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(15,0)<4>      ubAVS_RESPONSE_2(9,8+1)<16;4,2>                                    
-
-// Move second 8x8 words of A to dest GRF
-    mov (8) ubDEST_Y(1,3)<4>       ubAVS_RESPONSE_2(6,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(3,3)<4>       ubAVS_RESPONSE_2(6,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(5,3)<4>       ubAVS_RESPONSE_2(7,1)<16;4,2>                                      
-    mov (8) ubDEST_Y(7,3)<4>       ubAVS_RESPONSE_2(7,8+1)<16;4,2>                                    
-    mov (8) ubDEST_Y(9,3)<4>       ubAVS_RESPONSE_2(14,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(11,3)<4>      ubAVS_RESPONSE_2(14,8+1)<16;4,2>                                   
-    mov (8) ubDEST_Y(13,3)<4>      ubAVS_RESPONSE_2(15,1)<16;4,2>                                     
-    mov (8) ubDEST_Y(15,3)<4>      ubAVS_RESPONSE_2(15,8+1)<16;4,2>                                   
-#endif
-//------------------------------------------------------------------------------
-
-    // Set to write bottom region to memory
-    #define SRC_REGION                              REGION_2
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-       
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     8
-        
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unscramble_16x8.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_AVS_IEF_Unscramble_16x8.asm
deleted file mode 100644 (file)
index b81923f..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- RGB_AVS_IEF_Unpack_16x8.asm ----------
-#include "AVS_IEF.inc"
-
-.declare DEST_B                Base=REG(r,10)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_G                Base=REG(r,18)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_R                Base=REG(r,26)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_A                Base=REG(r,34)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-
-
-#ifdef AVS_OUTPUT_16_BIT
-//This portion will need to be changed if unpacking is required for Y416 kernels (in case of blending etc) - vK
-
-//// Move first 8x8 words of B to dest GRF (as packed)
-//    mov (4) uwDEST_Y(0,2)<4>       uwAVS_RESPONSE(4,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(1,2)<4>       uwAVS_RESPONSE(4,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(4,2)<4>       uwAVS_RESPONSE(4,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(5,2)<4>       uwAVS_RESPONSE(4,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(8,2)<4>       uwAVS_RESPONSE(5,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(9,2)<4>       uwAVS_RESPONSE(5,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(12,2)<4>      uwAVS_RESPONSE(5,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(13,2)<4>      uwAVS_RESPONSE(5,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(16,2)<4>      uwAVS_RESPONSE(12,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(17,2)<4>      uwAVS_RESPONSE(12,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(20,2)<4>      uwAVS_RESPONSE(12,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(21,2)<4>      uwAVS_RESPONSE(12,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(24,2)<4>      uwAVS_RESPONSE(13,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(25,2)<4>      uwAVS_RESPONSE(13,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(28,2)<4>      uwAVS_RESPONSE(13,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(29,2)<4>      uwAVS_RESPONSE(13,12)<4;4,1>                                   
-//
-//// Move first 8x8 words of G to dest GRF (as packed)
-//    mov (4) uwDEST_Y(0,1)<4>       uwAVS_RESPONSE(2,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(1,1)<4>       uwAVS_RESPONSE(2,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(4,1)<4>       uwAVS_RESPONSE(2,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(5,1)<4>       uwAVS_RESPONSE(2,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(8,1)<4>       uwAVS_RESPONSE(3,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(9,1)<4>       uwAVS_RESPONSE(3,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(12,1)<4>      uwAVS_RESPONSE(3,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(13,1)<4>      uwAVS_RESPONSE(3,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(16,1)<4>      uwAVS_RESPONSE(10,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(17,1)<4>      uwAVS_RESPONSE(10,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(20,1)<4>      uwAVS_RESPONSE(10,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(21,1)<4>      uwAVS_RESPONSE(10,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(24,1)<4>      uwAVS_RESPONSE(11,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(25,1)<4>      uwAVS_RESPONSE(11,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(28,1)<4>      uwAVS_RESPONSE(11,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(29,1)<4>      uwAVS_RESPONSE(11,12)<4;4,1>                                   
-//
-//// Move first 8x8 words of R to dest GRF (as packed)
-//    mov (4) uwDEST_Y(0,0)<4>       uwAVS_RESPONSE(0,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(1,0)<4>       uwAVS_RESPONSE(0,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(4,0)<4>       uwAVS_RESPONSE(0,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(5,0)<4>       uwAVS_RESPONSE(0,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(8,0)<4>       uwAVS_RESPONSE(1,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(9,0)<4>       uwAVS_RESPONSE(1,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(12,0)<4>      uwAVS_RESPONSE(1,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(13,0)<4>      uwAVS_RESPONSE(1,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(16,0)<4>      uwAVS_RESPONSE(8,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(17,0)<4>      uwAVS_RESPONSE(8,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(20,0)<4>      uwAVS_RESPONSE(8,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(21,0)<4>      uwAVS_RESPONSE(8,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(24,0)<4>      uwAVS_RESPONSE(9,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(25,0)<4>      uwAVS_RESPONSE(9,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(28,0)<4>      uwAVS_RESPONSE(9,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(29,0)<4>      uwAVS_RESPONSE(9,12)<4;4,1>                                   
-//
-//// Move first 8x8 words of A to dest GRF (as packed)
-//    mov (4) uwDEST_Y(0,3)<4>       uwAVS_RESPONSE(6,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(1,3)<4>       uwAVS_RESPONSE(6,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(4,3)<4>       uwAVS_RESPONSE(6,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(5,3)<4>       uwAVS_RESPONSE(6,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(8,3)<4>       uwAVS_RESPONSE(7,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(9,3)<4>       uwAVS_RESPONSE(7,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(12,3)<4>      uwAVS_RESPONSE(7,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(13,3)<4>      uwAVS_RESPONSE(7,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(16,3)<4>      uwAVS_RESPONSE(14,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(17,3)<4>      uwAVS_RESPONSE(14,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(20,3)<4>      uwAVS_RESPONSE(14,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(21,3)<4>      uwAVS_RESPONSE(14,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(24,3)<4>      uwAVS_RESPONSE(15,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(25,3)<4>      uwAVS_RESPONSE(15,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(28,3)<4>      uwAVS_RESPONSE(15,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(29,3)<4>      uwAVS_RESPONSE(15,12)<4;4,1>                                   
-//
-//// Move second 8x8 words of B to dest GRF
-//    mov (4) uwDEST_Y(2,2)<4>       uwAVS_RESPONSE_2(4,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(3,2)<4>       uwAVS_RESPONSE_2(4,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(6,2)<4>       uwAVS_RESPONSE_2(4,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(7,2)<4>       uwAVS_RESPONSE_2(4,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(10,2)<4>      uwAVS_RESPONSE_2(5,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(11,2)<4>      uwAVS_RESPONSE_2(5,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(14,2)<4>      uwAVS_RESPONSE_2(5,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(15,2)<4>      uwAVS_RESPONSE_2(5,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(18,2)<4>      uwAVS_RESPONSE_2(12,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(19,2)<4>      uwAVS_RESPONSE_2(12,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(22,2)<4>      uwAVS_RESPONSE_2(12,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(23,2)<4>      uwAVS_RESPONSE_2(12,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(26,2)<4>      uwAVS_RESPONSE_2(13,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(27,2)<4>      uwAVS_RESPONSE_2(13,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(30,2)<4>      uwAVS_RESPONSE_2(13,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(31,2)<4>      uwAVS_RESPONSE_2(13,12)<4;4,1>                                   
-//
-//// Move second 8x8 words of G to dest GRF
-//    mov (4) uwDEST_Y(2,1)<4>       uwAVS_RESPONSE_2(2,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(3,1)<4>       uwAVS_RESPONSE_2(2,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(6,1)<4>       uwAVS_RESPONSE_2(2,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(7,1)<4>       uwAVS_RESPONSE_2(2,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(10,1)<4>      uwAVS_RESPONSE_2(3,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(11,1)<4>      uwAVS_RESPONSE_2(3,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(14,1)<4>      uwAVS_RESPONSE_2(3,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(15,1)<4>      uwAVS_RESPONSE_2(3,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(18,1)<4>      uwAVS_RESPONSE_2(10,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(19,1)<4>      uwAVS_RESPONSE_2(10,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(22,1)<4>      uwAVS_RESPONSE_2(10,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(23,1)<4>      uwAVS_RESPONSE_2(10,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(26,1)<4>      uwAVS_RESPONSE_2(11,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(27,1)<4>      uwAVS_RESPONSE_2(11,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(30,1)<4>      uwAVS_RESPONSE_2(11,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(31,1)<4>      uwAVS_RESPONSE_2(11,12)<4;4,1>                                   
-//
-//// Move second 8x8 words of R to dest GRF
-//    mov (4) uwDEST_Y(2,0)<4>       uwAVS_RESPONSE_2(0,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(3,0)<4>       uwAVS_RESPONSE_2(0,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(6,0)<4>       uwAVS_RESPONSE_2(0,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(7,0)<4>       uwAVS_RESPONSE_2(0,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(10,0)<4>      uwAVS_RESPONSE_2(1,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(11,0)<4>      uwAVS_RESPONSE_2(1,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(14,0)<4>      uwAVS_RESPONSE_2(1,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(15,0)<4>      uwAVS_RESPONSE_2(1,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(18,0)<4>      uwAVS_RESPONSE_2(8,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(19,0)<4>      uwAVS_RESPONSE_2(8,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(22,0)<4>      uwAVS_RESPONSE_2(8,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(23,0)<4>      uwAVS_RESPONSE_2(8,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(26,0)<4>      uwAVS_RESPONSE_2(9,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(27,0)<4>      uwAVS_RESPONSE_2(9,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(30,0)<4>      uwAVS_RESPONSE_2(9,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(31,0)<4>      uwAVS_RESPONSE_2(9,12)<4;4,1>                                   
-//
-//// Move second 8x8 words of A to dest GRF
-//    mov (4) uwDEST_Y(2,3)<4>       uwAVS_RESPONSE_2(6,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(3,3)<4>       uwAVS_RESPONSE_2(6,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(6,3)<4>       uwAVS_RESPONSE_2(6,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(7,3)<4>       uwAVS_RESPONSE_2(6,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(10,3)<4>      uwAVS_RESPONSE_2(7,0)<4;4,1>                                      
-//    mov (4) uwDEST_Y(11,3)<4>      uwAVS_RESPONSE_2(7,8)<4;4,1>                                      
-//    mov (4) uwDEST_Y(14,3)<4>      uwAVS_RESPONSE_2(7,4)<4;4,1>                                    
-//    mov (4) uwDEST_Y(15,3)<4>      uwAVS_RESPONSE_2(7,12)<4;4,1>                                    
-//    mov (4) uwDEST_Y(18,3)<4>      uwAVS_RESPONSE_2(14,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(19,3)<4>      uwAVS_RESPONSE_2(14,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(22,3)<4>      uwAVS_RESPONSE_2(14,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(23,3)<4>      uwAVS_RESPONSE_2(14,12)<4;4,1>                                   
-//    mov (4) uwDEST_Y(26,3)<4>      uwAVS_RESPONSE_2(15,0)<4;4,1>                                     
-//    mov (4) uwDEST_Y(27,3)<4>      uwAVS_RESPONSE_2(15,8)<4;4,1>                                     
-//    mov (4) uwDEST_Y(30,3)<4>      uwAVS_RESPONSE_2(15,4)<4;4,1>                                   
-//    mov (4) uwDEST_Y(31,3)<4>      uwAVS_RESPONSE_2(15,12)<4;4,1>                                   
-
-#else   /* OUTPUT_8_BIT */
-
-// Move first 8x8 words of B to dest GRF
-    mov (8) DEST_B(0)<1>                               ubAVS_RESPONSE(4,1)<16;4,2>                                      
-    mov (8) DEST_B(1)<1>                               ubAVS_RESPONSE(4,8+1)<16;4,2>                                    
-    mov (8) DEST_B(2)<1>                               ubAVS_RESPONSE(5,1)<16;4,2>                                      
-    mov (8) DEST_B(3)<1>                               ubAVS_RESPONSE(5,8+1)<16;4,2>                                    
-    mov (8) DEST_B(4)<1>                               ubAVS_RESPONSE(12,1)<16;4,2>                                     
-    mov (8) DEST_B(5)<1>                               ubAVS_RESPONSE(12,8+1)<16;4,2>                                   
-    mov (8) DEST_B(6)<1>                               ubAVS_RESPONSE(13,1)<16;4,2>                                     
-    mov (8) DEST_B(7)<1>                               ubAVS_RESPONSE(13,8+1)<16;4,2>                                   
-
-// Move first 8x8 words of G to dest GRF
-    mov (8) DEST_G(0)<1>                               ubAVS_RESPONSE(2,1)<16;4,2>              
-    mov (8) DEST_G(1)<1>                               ubAVS_RESPONSE(2,8+1)<16;4,2>            
-    mov (8) DEST_G(2)<1>                               ubAVS_RESPONSE(3,1)<16;4,2>              
-    mov (8) DEST_G(3)<1>                               ubAVS_RESPONSE(3,8+1)<16;4,2>            
-    mov (8) DEST_G(4)<1>                               ubAVS_RESPONSE(10,1)<16;4,2>             
-    mov (8) DEST_G(5)<1>                               ubAVS_RESPONSE(10,8+1)<16;4,2>           
-    mov (8) DEST_G(6)<1>                               ubAVS_RESPONSE(11,1)<16;4,2>             
-    mov (8) DEST_G(7)<1>                               ubAVS_RESPONSE(11,8+1)<16;4,2>           
-
-// Move first 8x8 words of R to dest GRF
-    mov (8) DEST_R(0)<1>                               ubAVS_RESPONSE(0,1)<16;4,2>                                      
-    mov (8) DEST_R(1)<1>                               ubAVS_RESPONSE(0,8+1)<16;4,2>                                    
-    mov (8) DEST_R(2)<1>                               ubAVS_RESPONSE(1,1)<16;4,2>                                      
-    mov (8) DEST_R(3)<1>                               ubAVS_RESPONSE(1,8+1)<16;4,2>                                    
-    mov (8) DEST_R(4)<1>                               ubAVS_RESPONSE(8,1)<16;4,2>                                      
-    mov (8) DEST_R(5)<1>                               ubAVS_RESPONSE(8,8+1)<16;4,2>                                    
-    mov (8) DEST_R(6)<1>                               ubAVS_RESPONSE(9,1)<16;4,2>                                      
-    mov (8) DEST_R(7)<1>                               ubAVS_RESPONSE(9,8+1)<16;4,2>                                    
-
-// Move first 8x8 words of A to dest GRF
-    mov (8) DEST_A(0)<1>                               ubAVS_RESPONSE(6,1)<16;4,2>                                      
-    mov (8) DEST_A(1)<1>                               ubAVS_RESPONSE(6,8+1)<16;4,2>                                    
-    mov (8) DEST_A(2)<1>                               ubAVS_RESPONSE(7,1)<16;4,2>                                      
-    mov (8) DEST_A(3)<1>                               ubAVS_RESPONSE(7,8+1)<16;4,2>                                    
-    mov (8) DEST_A(4)<1>                               ubAVS_RESPONSE(14,1)<16;4,2>                                     
-    mov (8) DEST_A(5)<1>                               ubAVS_RESPONSE(14,8+1)<16;4,2>                                   
-    mov (8) DEST_A(6)<1>                               ubAVS_RESPONSE(15,1)<16;4,2>                                     
-    mov (8) DEST_A(7)<1>                               ubAVS_RESPONSE(15,8+1)<16;4,2>                                   
-
-// Move second 8x8 words of B to dest GRF
-    mov (8) DEST_B(0,8)<1>                     ubAVS_RESPONSE_2(4,1)<16;4,2>                                      
-    mov (8) DEST_B(1,8)<1>                     ubAVS_RESPONSE_2(4,8+1)<16;4,2>                                    
-    mov (8) DEST_B(2,8)<1>                     ubAVS_RESPONSE_2(5,1)<16;4,2>                                      
-    mov (8) DEST_B(3,8)<1>                     ubAVS_RESPONSE_2(5,8+1)<16;4,2>                                    
-    mov (8) DEST_B(4,8)<1>                     ubAVS_RESPONSE_2(12,1)<16;4,2>                                     
-    mov (8) DEST_B(5,8)<1>                     ubAVS_RESPONSE_2(12,8+1)<16;4,2>                                   
-    mov (8) DEST_B(6,8)<1>                     ubAVS_RESPONSE_2(13,1)<16;4,2>                                     
-    mov (8) DEST_B(7,8)<1>                     ubAVS_RESPONSE_2(13,8+1)<16;4,2>                                   
-
-// Move second 8x8 words of G to dest GRF
-    mov (8) DEST_G(0,8)<1>                     ubAVS_RESPONSE_2(2,1)<16;4,2>              
-    mov (8) DEST_G(1,8)<1>                     ubAVS_RESPONSE_2(2,8+1)<16;4,2>            
-    mov (8) DEST_G(2,8)<1>                     ubAVS_RESPONSE_2(3,1)<16;4,2>              
-    mov (8) DEST_G(3,8)<1>                     ubAVS_RESPONSE_2(3,8+1)<16;4,2>            
-    mov (8) DEST_G(4,8)<1>                     ubAVS_RESPONSE_2(10,1)<16;4,2>             
-    mov (8) DEST_G(5,8)<1>                     ubAVS_RESPONSE_2(10,8+1)<16;4,2>           
-    mov (8) DEST_G(6,8)<1>                     ubAVS_RESPONSE_2(11,1)<16;4,2>             
-    mov (8) DEST_G(7,8)<1>                     ubAVS_RESPONSE_2(11,8+1)<16;4,2>           
-
-// Move second 8x8 words of R to dest GRF
-    mov (8) DEST_R(0,8)<1>                     ubAVS_RESPONSE_2(0,1)<16;4,2>                                      
-    mov (8) DEST_R(1,8)<1>                     ubAVS_RESPONSE_2(0,8+1)<16;4,2>                                    
-    mov (8) DEST_R(2,8)<1>                     ubAVS_RESPONSE_2(1,1)<16;4,2>                                      
-    mov (8) DEST_R(3,8)<1>                     ubAVS_RESPONSE_2(1,8+1)<16;4,2>                                    
-    mov (8) DEST_R(4,8)<1>                     ubAVS_RESPONSE_2(8,1)<16;4,2>                                      
-    mov (8) DEST_R(5,8)<1>                     ubAVS_RESPONSE_2(8,8+1)<16;4,2>                                    
-    mov (8) DEST_R(6,8)<1>                     ubAVS_RESPONSE_2(9,1)<16;4,2>                                      
-    mov (8) DEST_R(7,8)<1>                     ubAVS_RESPONSE_2(9,8+1)<16;4,2>                                    
-
-// Move second 8x8 words of A to dest GRF
-    mov (8) DEST_A(0,8)<1>                     ubAVS_RESPONSE_2(6,1)<16;4,2>                                      
-    mov (8) DEST_A(1,8)<1>                     ubAVS_RESPONSE_2(6,8+1)<16;4,2>                                    
-    mov (8) DEST_A(2,8)<1>                     ubAVS_RESPONSE_2(7,1)<16;4,2>                                      
-    mov (8) DEST_A(3,8)<1>                     ubAVS_RESPONSE_2(7,8+1)<16;4,2>                                    
-    mov (8) DEST_A(4,8)<1>                     ubAVS_RESPONSE_2(14,1)<16;4,2>                                     
-    mov (8) DEST_A(5,8)<1>                     ubAVS_RESPONSE_2(14,8+1)<16;4,2>                                   
-    mov (8) DEST_A(6,8)<1>                     ubAVS_RESPONSE_2(15,1)<16;4,2>                                     
-    mov (8) DEST_A(7,8)<1>                     ubAVS_RESPONSE_2(15,8+1)<16;4,2>                                   
-#endif
-//------------------------------------------------------------------------------
-
-    // Set to write bottom region to memory
-    #define SRC_REGION                              REGION_1
-    // Re-define new # of lines
-    #undef nUV_NUM_OF_ROWS
-    #undef nY_NUM_OF_ROWS
-       
-    #define nY_NUM_OF_ROWS      8
-    #define nUV_NUM_OF_ROWS     8
-        
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_Scaling.asm b/i965_drv_video/shaders/post_processing/Core_Kernels/RGB_Scaling.asm
deleted file mode 100644 (file)
index 7429790..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-//---------- RGB_Scaling.asm ----------
-#include "Scaling.inc"
-
-       // Build 16 elements ramp in float32 and normalized it
-//     mov (8)         SAMPLER_RAMP(0)<1>              0x76543210:v
-//     add     (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-mov (4) SAMPLER_RAMP(0)<1> 0x48403000:vf               //3, 2, 1, 0 in float vector
-mov (4) SAMPLER_RAMP(0,4)<1> 0x5C585450:vf     //7, 6, 5, 4 in float vector
-add    (8)             SAMPLER_RAMP(1)<1>              SAMPLER_RAMP(0) 8.0:f
-
-//Module: PrepareScaleCoord.asm
-
-       // Setup for sampler msg hdr
-    mov (2)            rMSGSRC.0<1>:ud                 0:ud                                            { NoDDClr }     // Unused fields
-    mov (1)            rMSGSRC.2<1>:ud                 0:ud                                            { NoDDChk }     // Write and offset
-
-       // Calculate 16 v based on the step Y and vertical origin
-       mov     (16)    mfMSGPAYLOAD(2)<1>              fSRC_VID_V_ORI<0;1,0>:f
-       mov     (16)    SCALE_COORD_Y<1>:f              fSRC_VID_V_ORI<0;1,0>:f
-
-       // Calculate 16 u based on the step X and hori origin
-//     line (16)       mfMSGPAYLOAD(0)<1>              SCALE_STEP_X<0;1,0>:f           SAMPLER_RAMP(0)         // Assign to mrf directly
-       mov     (16)    acc0:f                                                  fSRC_VID_H_ORI<0;1,0>:f                                                                                 { Compr }
-       mac     (16)    mfMSGPAYLOAD(0)<1>      fVIDEO_STEP_X<0;1,0>:f  SAMPLER_RAMP(0)                 { Compr }                       
-
-       //Setup the constants for line instruction
-       mov     (1)             SCALE_LINE_P255<1>:f            255.0:f                         { NoDDClr }     //{ NoDDClr, NoDDChk }
-       mov     (1)             SCALE_LINE_P0_5<1>:f            0.5:f                           { NoDDChk }
-
-       
-//------------------------------------------------------------------------------
-
-$for (0; <nY_NUM_OF_ROWS; 1) {
-
-       // Read 16 sampled pixels and store them in float32 in 8 GRFs in the order of BGRA (VYUA).
-  mov (8)      MSGHDR_SCALE.0:ud      rMSGSRC.0<8;8,1>:ud    // Copy msg header and payload mirrors to MRFs
-       send (16)       SCALE_RESPONSE_YW(0)<1>         MSGHDR_SCALE    udDUMMY_NULL    nSMPL_ENGINE SMPLR_MSG_DSC+nSI_SRC_SIMD16_RGB+nBI_CURRENT_SRC_RGB
-
-       // Calculate 16 v for next line
-       add (16)        mfMSGPAYLOAD(2)<1>              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-       add (16)        SCALE_COORD_Y<1>:f              SCALE_COORD_Y<8;8,1>:f          fVIDEO_STEP_Y<0;1,0>:f  // Assign to mrf directly
-
-       // Scale back to [0, 255], convert f to ud
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(0)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(0)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(2)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(2)<1>       acc0:f                                                                                                          { Compr }
-
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(4)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(4)<1>       acc0:f                                                                                                          { Compr }
-
-//#if defined(SAVE_ARGB)       //Only needed if Alpha value is written to the destination
-       line (16)       acc0:f          SCALE_LINE_P255<0;1,0>:f        SCALE_RESPONSE_YF(6)    { Compr }                       // Process B, V
-       mov  (16) SCALE_RESPONSE_YD(6)<1>       acc0:f                                                                                                          { Compr }
-//#endif
-
-       mov      (16)   DEST_R(%1)<1>                           SCALE_RESPONSE_YB(0)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_G(%1)<1>                           SCALE_RESPONSE_YB(2)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_B(%1)<1>                           SCALE_RESPONSE_YB(4)                                                                                    //possible error due to truncation - vK
-       mov      (16)   DEST_A(%1)<1>                           SCALE_RESPONSE_YB(6)                                                                                    //possible error due to truncation - vK
-}
diff --git a/i965_drv_video/shaders/post_processing/Core_Kernels/Scaling.inc b/i965_drv_video/shaders/post_processing/Core_Kernels/Scaling.inc
deleted file mode 100644 (file)
index bf66d4c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * All Video Processing kernels 
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-
-// File name: Scaling.inc
-
-#ifndef _SCALING_INC_
-#define _SCALING_INC_
-
-// Local variables----------------------------------------------------------------------------------
-#define MSGHDR_SCALE           m1              // Message Payload Header (Uses m2, m3, m4, m5 implicitly)
-
-//--------------------------------------------------------------------------------------------------
-//r10.0 thru r33.0; Primary surface read from sampler (16x8)
-#define DEST_Y                 uwTOP_Y
-#define DEST_U                 uwTOP_U
-#define DEST_V                 uwTOP_V
-
-//r10.0 thru r41.0
-.declare DEST_B                Base=REG(r,10)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_G                Base=REG(r,18)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_R                Base=REG(r,26)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-.declare DEST_A                Base=REG(r,34)  ElementSize=2 SrcRegion=REGION(8,1) DstRegion=<1> Type=uw
-
-//r56.0 thru r79.0
-.declare       SCALE_RESPONSE_YF       Base=REG(r,nBOT_Y)      ElementSize=4 SrcRegion=REGION(8,1) Type=f
-.declare       SCALE_RESPONSE_UF       Base=REG(r,nBOT_U)      ElementSize=4 SrcRegion=REGION(8,1) Type=f
-.declare       SCALE_RESPONSE_VF       Base=REG(r,nBOT_V)      ElementSize=4 SrcRegion=REGION(8,1) Type=f
-
-.declare       SCALE_RESPONSE_YW       Base=REG(r,nBOT_Y)      ElementSize=2 SrcRegion=REGION(16,1) Type=uw
-.declare       SCALE_RESPONSE_UW       Base=REG(r,nBOT_U)      ElementSize=2 SrcRegion=REGION(16,1) Type=uw
-.declare       SCALE_RESPONSE_VW       Base=REG(r,nBOT_V)      ElementSize=2 SrcRegion=REGION(16,1) Type=uw
-
-.declare       SCALE_RESPONSE_YD       Base=REG(r,nBOT_Y)      ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare       SCALE_RESPONSE_UD       Base=REG(r,nBOT_U)      ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-.declare       SCALE_RESPONSE_VD       Base=REG(r,nBOT_V)      ElementSize=4 SrcRegion=REGION(8,1) Type=ud
-
-.declare       SCALE_RESPONSE_YB       Base=REG(r,nBOT_Y)      ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-.declare       SCALE_RESPONSE_UB       Base=REG(r,nBOT_U)      ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-.declare       SCALE_RESPONSE_VB       Base=REG(r,nBOT_V)      ElementSize=1 SrcRegion=REGION(8,4) Type=ub
-
-.declare       SAMPLER_RAMP    Base=REG(r,42) ElementSize=4 SrcRegion=<8;8,1> Type=f   // 2 GRFs, 16 elements
-
-//#define      SCALE_STEP_X    REG2(r,43,0)
-//#define      SCALE_COORD_X   REG2(r,43,3)
-
-#define SCALE_LINE_P255                        REG2(r,43,4)    // = 255.0      Used in 'line' inst to multiply 255, add 0.5, and round to int.
-#define SCALE_LINE_P0_5                        REG2(r,43,7)    // = 0.5
-
-//r44.0 thru r45.0
-#define SCALE_COORD_Y          REG(r,44)       //2GRF
-
-
-// Send Message [DevILK]                                Message Descriptor
-//  MBZ MsgL=5 MsgR=8                            H MBZ   SIMD     MsgType   SmplrIndx BindTab
-//  000 0 101 0 1000                             1  0     10     0000         0000    00000000
-//    0     A    8                                     A             0             0     0     0
-//     MsgL=1+2*2(u,v)=5 MsgR=8
-#define SMPLR_MSG_DSC          0x0A8A0000      // ILK Sampler Message Descriptor
-
-// Re-define new number of lines
-#undef nY_NUM_OF_ROWS
-#undef nUV_NUM_OF_ROWS
-
-#define nY_NUM_OF_ROWS      8
-#define nUV_NUM_OF_ROWS     8
-
-
-#endif         //_SCALING_INC_
diff --git a/i965_drv_video/shaders/post_processing/Makefile.am b/i965_drv_video/shaders/post_processing/Makefile.am
deleted file mode 100644 (file)
index e5af86b..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-
-INTEL_G4I = 
-
-INTEL_G4A = null.g4a
-
-INTEL_G4B = null.g4b
-
-INTEL_G4B_GEN5 = null.g4b.gen5
-
-INTEL_G6A = null.g6a
-
-INTEL_G6B = null.g6b
-
-INTEL_PP_G4B_GEN5 =            \
-       nv12_avs_nv12.g4b.gen5  \
-       nv12_dndi_nv12.g4b.gen5 \
-       nv12_load_save_nv12.g4b.gen5    \
-       nv12_scaling_nv12.g4b.gen5
-
-INTEL_PP_G6B =                 \
-       nv12_avs_nv12.g6b       \
-       nv12_dndi_nv12.g6b      \
-       nv12_load_save_nv12.g6b \
-       nv12_scaling_nv12.g6b
-
-INTEL_PP_ASM =                         \
-       Common/AYUV_Load_16x8.asm       \
-       Common/IMC3_Load_8x4.asm        \
-       Common/IMC3_Load_8x5.asm        \
-       Common/IMC3_Load_9x5.asm        \
-       Common/Init_All_Regs.asm        \
-       Common/Multiple_Loop.asm        \
-       Common/Multiple_Loop_Head.asm   \
-       Common/NV11_Load_4x8.asm        \
-       Common/NV11_Load_5x8.asm        \
-       Common/NV12_Load_8x4.asm        \
-       Common/NV12_Load_8x5.asm        \
-       Common/NV12_Load_9x5.asm        \
-       Common/P208_Load_8x8.asm        \
-       Common/P208_Load_9x8.asm        \
-       Common/PA_Load_8x8.asm  \
-       Common/PA_Load_9x8.asm  \
-       Common/PL16x8_PL8x4.asm \
-       Common/PL16x8_PL8x8.asm \
-       Common/PL4x8_Save_NV11.asm      \
-       Common/PL5x8_PL16x8.asm \
-       Common/PL5x8_PL8x8.asm  \
-       Common/PL8x4_Save_IMC3.asm      \
-       Common/PL8x4_Save_NV12.asm      \
-       Common/PL8x5_PL8x8.asm  \
-       Common/PL8x8_PL8x4.asm  \
-       Common/PL8x8_Save_P208.asm      \
-       Common/PL8x8_Save_PA.asm        \
-       Common/PL9x5_PL16x8.asm \
-       Common/PL9x8_PL16x8.asm \
-       Common/readSampler16x1.asm      \
-       Common/RGB16x8_Save_RGB16.asm   \
-       Common/RGB16x8_Save_RGB.asm     \
-       Common/RGB16x8_Save_Y416.asm    \
-       Common/RGB_Pack.asm     \
-       Common/SetupVPKernel.asm        \
-       Core_Kernels/AVS_SetupFirstBlock.asm    \
-       Core_Kernels/AVS_SetupSecondBlock.asm   \
-       Core_Kernels/DI_Hist_Save.asm   \
-       Core_Kernels/DI_SAVE_PA.asm     \
-       Core_Kernels/DNDI_COMMAND.asm   \
-       Core_Kernels/DNDI_Hist_Save.asm \
-       Core_Kernels/PA_AVS_IEF_16x8.asm        \
-       Core_Kernels/PA_AVS_IEF_8x4.asm \
-       Core_Kernels/PA_AVS_IEF_8x8.asm \
-       Core_Kernels/PA_AVS_IEF_Sample.asm      \
-       Core_Kernels/PA_AVS_IEF_Unpack_16x8.asm \
-       Core_Kernels/PA_AVS_IEF_Unpack_8x4.asm  \
-       Core_Kernels/PA_AVS_IEF_Unpack_8x8.asm  \
-       Core_Kernels/PA_DN_ALG.asm      \
-       Core_Kernels/PA_DNDI_ALG.asm    \
-       Core_Kernels/PA_Scaling.asm     \
-       Core_Kernels/PL2_AVS_IEF_16x8.asm       \
-       Core_Kernels/PL2_AVS_IEF_8x4.asm        \
-       Core_Kernels/PL2_AVS_IEF_8x8.asm        \
-       Core_Kernels/PL2_AVS_IEF_Unpack_16x8.asm        \
-       Core_Kernels/PL2_AVS_IEF_Unpack_8x4.asm \
-       Core_Kernels/PL2_AVS_IEF_Unpack_8x8.asm \
-       Core_Kernels/PL2_Scaling.asm    \
-       Core_Kernels/PL3_AVS_IEF_16x8.asm       \
-       Core_Kernels/PL3_AVS_IEF_8x4.asm        \
-       Core_Kernels/PL3_AVS_IEF_8x8.asm        \
-       Core_Kernels/PL3_AVS_IEF_Unpack_16x8.asm        \
-       Core_Kernels/PL3_AVS_IEF_Unpack_8x4.asm \
-       Core_Kernels/PL3_AVS_IEF_Unpack_8x8.asm \
-       Core_Kernels/PL3_Scaling.asm    \
-       Core_Kernels/PL_DN_ALG.asm      \
-       Core_Kernels/PL_DNDI_ALG.asm    \
-       Core_Kernels/PL_DNDI_ALG_UVCopy_NV11.asm        \
-       Core_Kernels/PL_DNDI_ALG_UVCopy_NV12.asm        \
-       Core_Kernels/PL_DNDI_ALG_UVCopy_P208.asm        \
-       Core_Kernels/PL_DNDI_ALG_UVCopy_PL3.asm \
-       Core_Kernels/RGB_AVS_IEF_16x8.asm       \
-       Core_Kernels/RGB_AVS_IEF_Unpack_16x8.asm        \
-       Core_Kernels/RGB_AVS_IEF_Unscramble_16x8.asm    \
-       Core_Kernels/RGB_Scaling.asm
-
-EXTRA_DIST = $(INTEL_G4I)      \
-            $(INTEL_G4A)       \
-            $(INTEL_G4B)       \
-            $(INTEL_G4B_GEN5)
-
-if HAVE_GEN4ASM
-
-SUFFIXES = .g4a .g4b .g6a .g6b
-.g4a.g4b:
-       m4 $*.g4a > $*.g4m && intel-gen4asm -o $@ $*.g4m && intel-gen4asm -g 5 -o $@.gen5 $*.g4m && rm $*.g4m
-
-.g6a.g6b:
-       m4 $< > $*.g6m && intel-gen4asm -g 6 -o $@ $*.g6m && rm $*.g6m
-
-$(INTEL_G4B): $(INTEL_G4I)
-
-$(INTEL_PP_G4B_GEN5): $(INTEL_PP_ASM)
-       @_PP_TARGET=$@; \
-       cpp -D DEV_ILK -I Common/ -I Core_Kernels $${_PP_TARGET/.g4b.gen5/.asm} > _pp0.asm; \
-       ../gpp.py _pp0.asm _pp1.asm;    \
-       intel-gen4asm -a -o $@ -g 5 _pp1.asm; \
-       rm _pp0.asm _pp1.asm
-
-$(INTEL_PP_G6B): $(INTEL_PP_ASM)
-       @_PP_TARGET=$@; \
-       cpp -D GT -I Common/ -I Core_Kernels $${_PP_TARGET/.g6b/.asm} > _pp0.asm; \
-       ../gpp.py _pp0.asm _pp1.asm;    \
-       intel-gen4asm -a -o $@ -g 6 _pp1.asm; \
-       rm _pp0.asm _pp1.asm
-
-BUILT_SOURCES= $(INTEL_G4B) $(INTEL_G6B) $(INTEL_PP_G4B_GEN5) $(INTEL_PP_G6B)
-
-clean-local:
-       -rm -f $(INTEL_G4B)
-       -rm -f $(INTEL_G4B_GEN5)
-       -rm -f $(INTEL_PP_G4B_GEN5)
-       -rm -f $(INTEL_G6B)
-       -rm -f $(INTEL_PP_G6B)
-
-endif    
diff --git a/i965_drv_video/shaders/post_processing/null.g4a b/i965_drv_video/shaders/post_processing/null.g4a
deleted file mode 100644 (file)
index cde124a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Just for test */
-
-send(16) 0 acc0<1>UW g0<8,8,1>UW thread_spawner(0, 0, 0) mlen 1 rlen 0 {align1 EOT};
diff --git a/i965_drv_video/shaders/post_processing/null.g4b b/i965_drv_video/shaders/post_processing/null.g4b
deleted file mode 100644 (file)
index d8f28e7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x87100000 },
diff --git a/i965_drv_video/shaders/post_processing/null.g4b.gen5 b/i965_drv_video/shaders/post_processing/null.g4b.gen5
deleted file mode 100644 (file)
index 2bd0ba6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   { 0x00800031, 0x24001d28, 0x748d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/null.g6a b/i965_drv_video/shaders/post_processing/null.g6a
deleted file mode 100644 (file)
index cde124a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Just for test */
-
-send(16) 0 acc0<1>UW g0<8,8,1>UW thread_spawner(0, 0, 0) mlen 1 rlen 0 {align1 EOT};
diff --git a/i965_drv_video/shaders/post_processing/null.g6b b/i965_drv_video/shaders/post_processing/null.g6b
deleted file mode 100644 (file)
index e52415c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-   { 0x07800031, 0x24001cc8, 0x00000000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_avs_nv12.asm b/i965_drv_video/shaders/post_processing/nv12_avs_nv12.asm
deleted file mode 100644 (file)
index 80665e0..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// Module name: NV12_AVS_NV12
-.kernel NV12_AVS_NV12
-.code
-
-#define INC_SCALING
-        
-#include "SetupVPKernel.asm"
-#include "Multiple_Loop_Head.asm"
-#include "PL2_AVS_IEF_16x8.asm"
-#include "PL8x4_Save_NV12.asm"
-#include "Multiple_Loop.asm"
-
-END_THREAD  // End of Thread
-
-.end_code  
-
-.end_kernel
-
-// end of nv12_avs_nv12.asm
diff --git a/i965_drv_video/shaders/post_processing/nv12_avs_nv12.g4b.gen5 b/i965_drv_video/shaders/post_processing/nv12_avs_nv12.g4b.gen5
deleted file mode 100644 (file)
index 1fa4261..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x01000005, 0x20002d2c, 0x00000088, 0x80008000 },
-   { 0x00010001, 0x20c003fd, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x212003bd, 0x000000c0, 0x00000000 },
-   { 0x00000001, 0x212403bd, 0x000000bc, 0x00000000 },
-   { 0x00000001, 0x213403bd, 0x00000038, 0x00000000 },
-   { 0x00200001, 0x612803bd, 0x004500a4, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000d000 },
-   { 0x00802001, 0x20000022, 0x008d0100, 0x00000000 },
-   { 0x00000031, 0x25401c09, 0x208d0000, 0x044bb401 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000a000 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x25c01c09, 0x208d0000, 0x048bb802 },
-   { 0x00000001, 0x240803bc, 0x000000a4, 0x00000000 },
-   { 0x00000048, 0x24087fbc, 0x000000bc, 0x41000000 },
-   { 0x00000048, 0x21287fbd, 0x000000c0, 0x41e00000 },
-   { 0x00000001, 0x240403bc, 0x000000bc, 0x00000000 },
-   { 0x00000048, 0x21247fbd, 0x000000c0, 0x41000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000d000 },
-   { 0x00802001, 0x20000022, 0x008d0100, 0x00000000 },
-   { 0x00000031, 0x27401c09, 0x208d0000, 0x044bb401 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000a000 },
-   { 0x00802001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x27c01c09, 0x208d0000, 0x048bb802 },
-   { 0x00600001, 0x21400229, 0x00aa0541, 0x00000000 },
-   { 0x00600001, 0x21600229, 0x00aa0549, 0x00000000 },
-   { 0x00600001, 0x21800229, 0x00aa0561, 0x00000000 },
-   { 0x00600001, 0x21a00229, 0x00aa0569, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x00aa0581, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x00aa0589, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x00aa05a1, 0x00000000 },
-   { 0x00600001, 0x22200229, 0x00aa05a9, 0x00000000 },
-   { 0x00600001, 0x23400229, 0x00aa05c1, 0x00000000 },
-   { 0x00600001, 0x23600229, 0x00aa05c9, 0x00000000 },
-   { 0x00600001, 0x23800229, 0x00aa05e1, 0x00000000 },
-   { 0x00600001, 0x23a00229, 0x00aa05e9, 0x00000000 },
-   { 0x00600001, 0x23c00229, 0x00aa0641, 0x00000000 },
-   { 0x00600001, 0x23e00229, 0x00aa0649, 0x00000000 },
-   { 0x00600001, 0x24000229, 0x00aa0661, 0x00000000 },
-   { 0x00600001, 0x24200229, 0x00aa0669, 0x00000000 },
-   { 0x00600001, 0x22400229, 0x00aa0601, 0x00000000 },
-   { 0x00600001, 0x22600229, 0x00aa0609, 0x00000000 },
-   { 0x00600001, 0x22800229, 0x00aa0621, 0x00000000 },
-   { 0x00600001, 0x22a00229, 0x00aa0629, 0x00000000 },
-   { 0x00600001, 0x22c00229, 0x00aa0681, 0x00000000 },
-   { 0x00600001, 0x22e00229, 0x00aa0689, 0x00000000 },
-   { 0x00600001, 0x23000229, 0x00aa06a1, 0x00000000 },
-   { 0x00600001, 0x23200229, 0x00aa06a9, 0x00000000 },
-   { 0x00600001, 0x21500229, 0x00aa0741, 0x00000000 },
-   { 0x00600001, 0x21700229, 0x00aa0749, 0x00000000 },
-   { 0x00600001, 0x21900229, 0x00aa0761, 0x00000000 },
-   { 0x00600001, 0x21b00229, 0x00aa0769, 0x00000000 },
-   { 0x00600001, 0x21d00229, 0x00aa0781, 0x00000000 },
-   { 0x00600001, 0x21f00229, 0x00aa0789, 0x00000000 },
-   { 0x00600001, 0x22100229, 0x00aa07a1, 0x00000000 },
-   { 0x00600001, 0x22300229, 0x00aa07a9, 0x00000000 },
-   { 0x00600001, 0x23500229, 0x00aa07c1, 0x00000000 },
-   { 0x00600001, 0x23700229, 0x00aa07c9, 0x00000000 },
-   { 0x00600001, 0x23900229, 0x00aa07e1, 0x00000000 },
-   { 0x00600001, 0x23b00229, 0x00aa07e9, 0x00000000 },
-   { 0x00600001, 0x23d00229, 0x00aa0841, 0x00000000 },
-   { 0x00600001, 0x23f00229, 0x00aa0849, 0x00000000 },
-   { 0x00600001, 0x24100229, 0x00aa0861, 0x00000000 },
-   { 0x00600001, 0x24300229, 0x00aa0869, 0x00000000 },
-   { 0x00600001, 0x22500229, 0x00aa0801, 0x00000000 },
-   { 0x00600001, 0x22700229, 0x00aa0809, 0x00000000 },
-   { 0x00600001, 0x22900229, 0x00aa0821, 0x00000000 },
-   { 0x00600001, 0x22b00229, 0x00aa0829, 0x00000000 },
-   { 0x00600001, 0x22d00229, 0x00aa0881, 0x00000000 },
-   { 0x00600001, 0x22f00229, 0x00aa0889, 0x00000000 },
-   { 0x00600001, 0x23100229, 0x00aa08a1, 0x00000000 },
-   { 0x00600001, 0x23300229, 0x00aa08a9, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x28000c01, 0x408d0000, 0x0228a008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x0a082007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
-   { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffede },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000001, 0x20a403bd, 0x00000094, 0x00000000 },
-   { 0x00000041, 0x24407fbd, 0x00000038, 0x41000000 },
-   { 0x00000040, 0x20a877bd, 0x00000440, 0x000000a8 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffed2 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_avs_nv12.g6b b/i965_drv_video/shaders/post_processing/nv12_avs_nv12.g6b
deleted file mode 100644 (file)
index 7e1dfc3..0000000
+++ /dev/null
@@ -1,235 +0,0 @@
-   { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x01000005, 0x20002d2c, 0x00000088, 0x80008000 },
-   { 0x00010001, 0x20c003fd, 0x00000000, 0x00000000 },
-   { 0x00000001, 0x212003bd, 0x000000c0, 0x00000000 },
-   { 0x00000001, 0x212403bd, 0x000000bc, 0x00000000 },
-   { 0x00000001, 0x213403bd, 0x00000038, 0x00000000 },
-   { 0x00200001, 0x612803bd, 0x004500a4, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000d000 },
-   { 0x00800001, 0x20000022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x25401cc9, 0x00000000, 0x044bb401 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000a000 },
-   { 0x00800001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x25c01cc9, 0x00000040, 0x048bb802 },
-   { 0x00000001, 0x240803bc, 0x000000a4, 0x00000000 },
-   { 0x00000048, 0x24087fbc, 0x000000bc, 0x41000000 },
-   { 0x00000048, 0x21287fbd, 0x000000c0, 0x41e00000 },
-   { 0x00000001, 0x240403bc, 0x000000bc, 0x00000000 },
-   { 0x00000048, 0x21247fbd, 0x000000c0, 0x41000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000d000 },
-   { 0x00800001, 0x20000022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x27401cc9, 0x00000000, 0x044bb401 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0000a000 },
-   { 0x00800001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x02000031, 0x27c01cc9, 0x00000040, 0x048bb802 },
-   { 0x00600001, 0x21400229, 0x00aa0541, 0x00000000 },
-   { 0x00600001, 0x21600229, 0x00aa0549, 0x00000000 },
-   { 0x00600001, 0x21800229, 0x00aa0561, 0x00000000 },
-   { 0x00600001, 0x21a00229, 0x00aa0569, 0x00000000 },
-   { 0x00600001, 0x21c00229, 0x00aa0581, 0x00000000 },
-   { 0x00600001, 0x21e00229, 0x00aa0589, 0x00000000 },
-   { 0x00600001, 0x22000229, 0x00aa05a1, 0x00000000 },
-   { 0x00600001, 0x22200229, 0x00aa05a9, 0x00000000 },
-   { 0x00600001, 0x23400229, 0x00aa05c1, 0x00000000 },
-   { 0x00600001, 0x23600229, 0x00aa05c9, 0x00000000 },
-   { 0x00600001, 0x23800229, 0x00aa05e1, 0x00000000 },
-   { 0x00600001, 0x23a00229, 0x00aa05e9, 0x00000000 },
-   { 0x00600001, 0x23c00229, 0x00aa0641, 0x00000000 },
-   { 0x00600001, 0x23e00229, 0x00aa0649, 0x00000000 },
-   { 0x00600001, 0x24000229, 0x00aa0661, 0x00000000 },
-   { 0x00600001, 0x24200229, 0x00aa0669, 0x00000000 },
-   { 0x00600001, 0x22400229, 0x00aa0601, 0x00000000 },
-   { 0x00600001, 0x22600229, 0x00aa0609, 0x00000000 },
-   { 0x00600001, 0x22800229, 0x00aa0621, 0x00000000 },
-   { 0x00600001, 0x22a00229, 0x00aa0629, 0x00000000 },
-   { 0x00600001, 0x22c00229, 0x00aa0681, 0x00000000 },
-   { 0x00600001, 0x22e00229, 0x00aa0689, 0x00000000 },
-   { 0x00600001, 0x23000229, 0x00aa06a1, 0x00000000 },
-   { 0x00600001, 0x23200229, 0x00aa06a9, 0x00000000 },
-   { 0x00600001, 0x21500229, 0x00aa0741, 0x00000000 },
-   { 0x00600001, 0x21700229, 0x00aa0749, 0x00000000 },
-   { 0x00600001, 0x21900229, 0x00aa0761, 0x00000000 },
-   { 0x00600001, 0x21b00229, 0x00aa0769, 0x00000000 },
-   { 0x00600001, 0x21d00229, 0x00aa0781, 0x00000000 },
-   { 0x00600001, 0x21f00229, 0x00aa0789, 0x00000000 },
-   { 0x00600001, 0x22100229, 0x00aa07a1, 0x00000000 },
-   { 0x00600001, 0x22300229, 0x00aa07a9, 0x00000000 },
-   { 0x00600001, 0x23500229, 0x00aa07c1, 0x00000000 },
-   { 0x00600001, 0x23700229, 0x00aa07c9, 0x00000000 },
-   { 0x00600001, 0x23900229, 0x00aa07e1, 0x00000000 },
-   { 0x00600001, 0x23b00229, 0x00aa07e9, 0x00000000 },
-   { 0x00600001, 0x23d00229, 0x00aa0841, 0x00000000 },
-   { 0x00600001, 0x23f00229, 0x00aa0849, 0x00000000 },
-   { 0x00600001, 0x24100229, 0x00aa0861, 0x00000000 },
-   { 0x00600001, 0x24300229, 0x00aa0869, 0x00000000 },
-   { 0x00600001, 0x22500229, 0x00aa0801, 0x00000000 },
-   { 0x00600001, 0x22700229, 0x00aa0809, 0x00000000 },
-   { 0x00600001, 0x22900229, 0x00aa0821, 0x00000000 },
-   { 0x00600001, 0x22b00229, 0x00aa0829, 0x00000000 },
-   { 0x00600001, 0x22d00229, 0x00aa0881, 0x00000000 },
-   { 0x00600001, 0x22f00229, 0x00aa0889, 0x00000000 },
-   { 0x00600001, 0x23100229, 0x00aa08a1, 0x00000000 },
-   { 0x00600001, 0x23300229, 0x00aa08a9, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x04600031, 0x27000cc1, 0x00000020, 0x02498007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x28000cc1, 0x00000020, 0x02298008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x0a094007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x06094008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
-   { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffede },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000001, 0x20a403bd, 0x00000094, 0x00000000 },
-   { 0x00000041, 0x24407fbd, 0x00000038, 0x41000000 },
-   { 0x00000040, 0x20a877bd, 0x00000440, 0x000000a8 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffed2 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.asm b/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.asm
deleted file mode 100644 (file)
index 3ea9cea..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// Module name: NV12_DNDI_NV12
-.kernel NV12_DNDI_NV12
-.code
-
-#define INC_DNDI
-        
-#include "SetupVPKernel.asm"
-#include "Multiple_Loop_Head.asm"
-#include "PL_DNDI_ALG_UVCopy_NV12.asm"
-#include "Multiple_Loop.asm"
-
-END_THREAD  // End of Thread
-
-.end_code  
-
-.end_kernel
-
-// end of nv12_dndi_nv12.asm
diff --git a/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g4b.gen5 b/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g4b.gen5
deleted file mode 100644 (file)
index 6c0474d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x204801aa, 0x000000a0, 0x00000000 },
-   { 0x00000001, 0x205801aa, 0x000000a2, 0x00000000 },
-   { 0x01600031, 0x24400c01, 0x208d0000, 0x04cb8004 },
-   { 0x00800001, 0x21400229, 0x00b10440, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00b10450, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00b10460, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00b10470, 0x00000000 },
-   { 0x00600001, 0x22400229, 0x00ae0481, 0x00000000 },
-   { 0x00600001, 0x23400229, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x22500229, 0x00ae0491, 0x00000000 },
-   { 0x00600001, 0x23500229, 0x00ae0490, 0x00000000 },
-   { 0x00600001, 0x22600229, 0x00ae04a1, 0x00000000 },
-   { 0x00600001, 0x23600229, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x22700229, 0x00ae04b1, 0x00000000 },
-   { 0x00600001, 0x23700229, 0x00ae04b0, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00b104d0, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x22200229, 0x00b104f0, 0x00000000 },
-   { 0x00600001, 0x22800229, 0x00ae0501, 0x00000000 },
-   { 0x00600001, 0x23800229, 0x00ae0500, 0x00000000 },
-   { 0x00600001, 0x22900229, 0x00ae0511, 0x00000000 },
-   { 0x00600001, 0x23900229, 0x00ae0510, 0x00000000 },
-   { 0x00600001, 0x22a00229, 0x00ae0521, 0x00000000 },
-   { 0x00600001, 0x23a00229, 0x00ae0520, 0x00000000 },
-   { 0x00600001, 0x22b00229, 0x00ae0531, 0x00000000 },
-   { 0x00600001, 0x23b00229, 0x00ae0530, 0x00000000 },
-   { 0x00000008, 0x21003da1, 0x000000a0, 0x00010001 },
-   { 0x00000001, 0x210401a1, 0x000000a2, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x00030007 },
-   { 0x00600001, 0x21600022, 0x008d0100, 0x00000000 },
-   { 0x00600001, 0x21800022, 0x008d0540, 0x00000000 },
-   { 0x0b600031, 0x20000c04, 0x508d0000, 0x04082014 },
-   { 0x00200008, 0x21003da1, 0x004500a0, 0x00020002 },
-   { 0x00000040, 0x21002421, 0x00000100, 0x00000034 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x00000003 },
-   { 0x00600001, 0x21a00022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x21c00022, 0x00000560, 0x00000000 },
-   { 0x0d600031, 0x20000c04, 0x508d0000, 0x04082014 },
-   { 0x00400040, 0x22083e28, 0x00690024, 0x07000700 },
-   { 0x01000010, 0x20003e2c, 0x0000003b, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00400001, 0x20400022, 0x00690580, 0x00000000 },
-   { 0x00400001, 0x20500022, 0x006904d0, 0x00000000 },
-   { 0x00400001, 0x20600022, 0x00690590, 0x00000000 },
-   { 0x00400001, 0x20700022, 0x006904f0, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00400001, 0x20400022, 0x006904c0, 0x00000000 },
-   { 0x00400001, 0x20500022, 0x00690580, 0x00000000 },
-   { 0x00400001, 0x20600022, 0x006904e0, 0x00000000 },
-   { 0x00400001, 0x20700022, 0x00690590, 0x00000000 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x06082007 },
-   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x28000c01, 0x408d0000, 0x0218a002 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00600001, 0x20400022, 0x008d0800, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x04082008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xffffff70 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff6a },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g6b b/i965_drv_video/shaders/post_processing/nv12_dndi_nv12.g6b
deleted file mode 100644 (file)
index cb99eff..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-   { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x204801aa, 0x000000a0, 0x00000000 },
-   { 0x00000001, 0x205801aa, 0x000000a2, 0x00000000 },
-   { 0x02600031, 0x24400cc1, 0x00000020, 0x04cb8004 },
-   { 0x00800001, 0x21400229, 0x00b10440, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00b10450, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00b10460, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00b10470, 0x00000000 },
-   { 0x00600001, 0x22400229, 0x00ae0481, 0x00000000 },
-   { 0x00600001, 0x23400229, 0x00ae0480, 0x00000000 },
-   { 0x00600001, 0x22500229, 0x00ae0491, 0x00000000 },
-   { 0x00600001, 0x23500229, 0x00ae0490, 0x00000000 },
-   { 0x00600001, 0x22600229, 0x00ae04a1, 0x00000000 },
-   { 0x00600001, 0x23600229, 0x00ae04a0, 0x00000000 },
-   { 0x00600001, 0x22700229, 0x00ae04b1, 0x00000000 },
-   { 0x00600001, 0x23700229, 0x00ae04b0, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00b104c0, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00b104d0, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00b104e0, 0x00000000 },
-   { 0x00800001, 0x22200229, 0x00b104f0, 0x00000000 },
-   { 0x00600001, 0x22800229, 0x00ae0501, 0x00000000 },
-   { 0x00600001, 0x23800229, 0x00ae0500, 0x00000000 },
-   { 0x00600001, 0x22900229, 0x00ae0511, 0x00000000 },
-   { 0x00600001, 0x23900229, 0x00ae0510, 0x00000000 },
-   { 0x00600001, 0x22a00229, 0x00ae0521, 0x00000000 },
-   { 0x00600001, 0x23a00229, 0x00ae0520, 0x00000000 },
-   { 0x00600001, 0x22b00229, 0x00ae0531, 0x00000000 },
-   { 0x00600001, 0x23b00229, 0x00ae0530, 0x00000000 },
-   { 0x00000008, 0x21003da1, 0x000000a0, 0x00010001 },
-   { 0x00000001, 0x210401a1, 0x000000a2, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x00030007 },
-   { 0x00600001, 0x21600022, 0x008d0100, 0x00000000 },
-   { 0x00600001, 0x21800022, 0x008d0540, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000160, 0x04094014 },
-   { 0x00200008, 0x21003da1, 0x004500a0, 0x00020002 },
-   { 0x00000040, 0x21002421, 0x00000100, 0x00000034 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x00000003 },
-   { 0x00600001, 0x21a00022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x21c00022, 0x00000560, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x000001a0, 0x04094014 },
-   { 0x00400040, 0x22083e28, 0x00690024, 0x07000700 },
-   { 0x01000010, 0x20003e2c, 0x0000003b, 0x00010001 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000a },
-   { 0x00400001, 0x20400022, 0x00690580, 0x00000000 },
-   { 0x00400001, 0x20500022, 0x006904d0, 0x00000000 },
-   { 0x00400001, 0x20600022, 0x00690590, 0x00000000 },
-   { 0x00400001, 0x20700022, 0x006904f0, 0x00000000 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00400001, 0x20400022, 0x006904c0, 0x00000000 },
-   { 0x00400001, 0x20500022, 0x00690580, 0x00000000 },
-   { 0x00400001, 0x20600022, 0x006904e0, 0x00000000 },
-   { 0x00400001, 0x20700022, 0x00690590, 0x00000000 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x06094007 },
-   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x28000cc1, 0x00000020, 0x02198002 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0001000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00600001, 0x20400022, 0x008d0800, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x04094008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xffffff70 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff6a },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.asm b/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.asm
deleted file mode 100644 (file)
index f234f83..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// Module name: NV12_LOAD_SAVE_NV12
-.kernel NV12_LOAD_SAVE_NV12
-.code
-
-#include "SetupVPKernel.asm"
-#include "Multiple_Loop_Head.asm"
-#include "NV12_Load_8x4.asm"        
-#include "PL8x4_Save_NV12.asm"
-#include "Multiple_Loop.asm"
-
-END_THREAD  // End of Thread
-
-.end_code  
-
-.end_kernel
-
-// end of nv12_load_save_nv12.asm
diff --git a/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g4b.gen5 b/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g4b.gen5
deleted file mode 100644 (file)
index d511d4f..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a001 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x02600031, 0x28000c01, 0x408d0000, 0x0228a002 },
-   { 0x00800001, 0x22200229, 0x00b10770, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00b10760, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00b10750, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00b10740, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00b10730, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00b10720, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00b10710, 0x00000000 },
-   { 0x00800001, 0x21400229, 0x00b10700, 0x00000000 },
-   { 0x00800001, 0x22600229, 0x00d20820, 0x00000000 },
-   { 0x00800001, 0x23600229, 0x00d20821, 0x00000000 },
-   { 0x00800001, 0x22400229, 0x00d20800, 0x00000000 },
-   { 0x00800001, 0x23400229, 0x00d20801, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x28000c01, 0x408d0000, 0x0228a008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x0a082007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xffffff48 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff42 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g6b b/i965_drv_video/shaders/post_processing/nv12_load_save_nv12.g6b
deleted file mode 100644 (file)
index 6e76bd9..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-   { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x27000cc1, 0x00000020, 0x02498001 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20400022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x28000cc1, 0x00000040, 0x02298002 },
-   { 0x00800001, 0x22200229, 0x00b10770, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00b10760, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00b10750, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00b10740, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00b10730, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00b10720, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00b10710, 0x00000000 },
-   { 0x00800001, 0x21400229, 0x00b10700, 0x00000000 },
-   { 0x00800001, 0x22600229, 0x00d20820, 0x00000000 },
-   { 0x00800001, 0x23600229, 0x00d20821, 0x00000000 },
-   { 0x00800001, 0x22400229, 0x00d20800, 0x00000000 },
-   { 0x00800001, 0x23400229, 0x00d20801, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x04600031, 0x27000cc1, 0x00000020, 0x02498007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x28000cc1, 0x00000020, 0x02298008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x0a094007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x06094008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xffffff48 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xffffff42 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.asm b/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.asm
deleted file mode 100644 (file)
index d93d879..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// Module name: NV12_SCALING_NV12
-.kernel NV12_SCALING_NV12
-.code
-
-#define INC_SCALING
-        
-#include "SetupVPKernel.asm"
-#include "Multiple_Loop_Head.asm"
-#include "PL2_Scaling.asm"
-#include "PL16x8_PL8x4.asm"        
-#include "PL8x4_Save_NV12.asm"
-#include "Multiple_Loop.asm"
-
-END_THREAD  // End of Thread
-
-.end_code  
-
-.end_kernel
-
-// end of nv12_scaling_nv12.asm
diff --git a/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g4b.gen5 b/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g4b.gen5
deleted file mode 100644 (file)
index 476b441..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00400001, 0x254002fd, 0x00000000, 0x48403000 },
-   { 0x00400001, 0x255002fd, 0x00000000, 0x5c585450 },
-   { 0x00600040, 0x25607fbd, 0x008d0540, 0x41000000 },
-   { 0x00200401, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x00000000 },
-   { 0x00802001, 0x208003be, 0x000000a8, 0x00000000 },
-   { 0x00802001, 0x258003bd, 0x000000a8, 0x00000000 },
-   { 0x00802001, 0x240003bc, 0x000000a4, 0x00000000 },
-   { 0x00802048, 0x204077be, 0x000000bc, 0x008d0540 },
-   { 0x00000401, 0x257003fd, 0x00000000, 0x437f0000 },
-   { 0x00000801, 0x257c03fd, 0x00000000, 0x3f000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21400229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22400229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23400229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22600229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23600229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22800229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23800229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22a00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23a00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22c00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23c00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22e00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23e00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x23000229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x24000229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01800031, 0x27001c09, 0x208d0000, 0x0a8a0101 },
-   { 0x01800031, 0x28001c09, 0x208d0000, 0x0a8a0202 },
-   { 0x00802040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00802040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00802001, 0x27000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00802001, 0x28000381, 0x00b10400, 0x00000000 },
-   { 0x00802059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00802001, 0x28400381, 0x00b10400, 0x00000000 },
-   { 0x00800001, 0x22200229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x23200229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 },
-   { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 },
-   { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 },
-   { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 },
-   { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 },
-   { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 },
-   { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x01600031, 0x28000c01, 0x408d0000, 0x0228a008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x0a082007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
-   { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffe66 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000001, 0x20a403bd, 0x00000094, 0x00000000 },
-   { 0x00000041, 0x24407fbd, 0x00000038, 0x41000000 },
-   { 0x00000040, 0x20a877bd, 0x00000440, 0x000000a8 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffe5a },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
diff --git a/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g6b b/i965_drv_video/shaders/post_processing/nv12_scaling_nv12.g6b
deleted file mode 100644 (file)
index 4537832..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-   { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29000061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29200061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29800061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
-   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
-   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
-   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
-   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
-   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
-   { 0x00400001, 0x254002fd, 0x00000000, 0x48403000 },
-   { 0x00400001, 0x255002fd, 0x00000000, 0x5c585450 },
-   { 0x00600040, 0x25607fbd, 0x008d0540, 0x41000000 },
-   { 0x00200401, 0x21000061, 0x00000000, 0x00000000 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x208003be, 0x000000a8, 0x00000000 },
-   { 0x00800001, 0x258003bd, 0x000000a8, 0x00000000 },
-   { 0x00800001, 0x240003bc, 0x000000a4, 0x00000000 },
-   { 0x00800048, 0x204077be, 0x000000bc, 0x008d0540 },
-   { 0x00000401, 0x257003fd, 0x00000000, 0x437f0000 },
-   { 0x00000801, 0x257c03fd, 0x00000000, 0x3f000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21400229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22400229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23400229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21600229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22600229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23600229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21800229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22800229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23800229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21a00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22a00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23a00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21c00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22c00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23c00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x21e00229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x22e00229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x23e00229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x22000229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x23000229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x24000229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x02800031, 0x27001cc9, 0x00000020, 0x0a8a0101 },
-   { 0x02800031, 0x28001cc9, 0x00000020, 0x0a8a0202 },
-   { 0x00800040, 0x208077be, 0x008d0580, 0x00000038 },
-   { 0x00800040, 0x258077bd, 0x008d0580, 0x00000038 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0700 },
-   { 0x00800001, 0x27000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0800 },
-   { 0x00800001, 0x28000381, 0x008d0400, 0x00000000 },
-   { 0x00800059, 0x240077bc, 0x00000570, 0x008d0840 },
-   { 0x00800001, 0x28400381, 0x008d0400, 0x00000000 },
-   { 0x00800001, 0x22200229, 0x00cf0700, 0x00000000 },
-   { 0x00800001, 0x23200229, 0x00cf0800, 0x00000000 },
-   { 0x00800001, 0x24200229, 0x00cf0840, 0x00000000 },
-   { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 },
-   { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 },
-   { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 },
-   { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 },
-   { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 },
-   { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 },
-   { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 },
-   { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
-   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
-   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
-   { 0x04600031, 0x27000cc1, 0x00000020, 0x02498007 },
-   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
-   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x04600031, 0x28000cc1, 0x00000020, 0x02298008 },
-   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
-   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
-   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
-   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
-   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
-   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
-   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
-   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
-   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
-   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
-   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
-   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
-   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
-   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
-   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
-   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
-   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
-   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
-   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
-   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
-   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
-   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
-   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
-   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
-   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
-   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
-   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
-   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
-   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
-   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
-   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
-   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x0a094007 },
-   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
-   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
-   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
-   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
-   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
-   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
-   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
-   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
-   { 0x05600031, 0x20000cc4, 0x00000020, 0x06094008 },
-   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
-   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
-   { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
-   { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
-   { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffe66 },
-   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
-   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
-   { 0x00000001, 0x20a403bd, 0x00000094, 0x00000000 },
-   { 0x00000041, 0x24407fbd, 0x00000038, 0x41000000 },
-   { 0x00000040, 0x20a877bd, 0x00000440, 0x000000a8 },
-   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffe5a },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
-   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
-   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
diff --git a/i965_drv_video/shaders/render/Makefile.am b/i965_drv_video/shaders/render/Makefile.am
deleted file mode 100644 (file)
index a571ea2..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-
-INTEL_G4I =                    \
-       exa_wm.g4i              \
-       exa_wm_affine.g4i
-
-INTEL_G4A =                            \
-       exa_sf.g4a                      \
-       exa_wm_xy.g4a                   \
-       exa_wm_src_affine.g4a           \
-       exa_wm_src_sample_argb.g4a      \
-       exa_wm_src_sample_planar.g4a    \
-       exa_wm_yuv_rgb.g4a              \
-       exa_wm_write.g4a
-
-INTEL_G4B =                            \
-       exa_sf.g4b                      \
-       exa_wm_xy.g4b                   \
-       exa_wm_src_affine.g4b           \
-       exa_wm_src_sample_argb.g4b      \
-       exa_wm_src_sample_planar.g4b    \
-       exa_wm_yuv_rgb.g4b              \
-       exa_wm_write.g4b
-
-INTEL_G4B_GEN5 =                               \
-       exa_sf.g4b.gen5                         \
-       exa_wm_xy.g4b.gen5                      \
-       exa_wm_src_affine.g4b.gen5              \
-       exa_wm_src_sample_argb.g4b.gen5 \
-       exa_wm_src_sample_planar.g4b.gen5       \
-       exa_wm_yuv_rgb.g4b.gen5                 \
-       exa_wm_write.g4b.gen5
-
-EXTRA_DIST = $(INTEL_G4I)      \
-            $(INTEL_G4A)       \
-            $(INTEL_G4B)       \
-            $(INTEL_G4B_GEN5)
-
-INTEL_G6A =                            \
-       exa_wm_src_affine.g6a           \
-       exa_wm_src_sample_argb.g6a      \
-       exa_wm_src_sample_planar.g6a    \
-       exa_wm_write.g6a                \
-       exa_wm_yuv_rgb.g6a
-
-INTEL_G6B =                            \
-       exa_wm_src_affine.g6b           \
-       exa_wm_src_sample_argb.g6b      \
-       exa_wm_src_sample_planar.g6b    \
-       exa_wm_write.g6b                \
-       exa_wm_yuv_rgb.g6b
-
-INTEL_G7A =                            \
-       exa_wm_src_affine.g7a           \
-       exa_wm_src_sample_argb.g7a      \
-       exa_wm_src_sample_planar.g7a    \
-       exa_wm_write.g7a                \
-       exa_wm_yuv_rgb.g7a
-
-INTEL_G7B =                            \
-       exa_wm_src_affine.g7b           \
-       exa_wm_src_sample_argb.g7b      \
-       exa_wm_src_sample_planar.g7b    \
-       exa_wm_write.g7b                \
-       exa_wm_yuv_rgb.g7b
-
-if HAVE_GEN4ASM
-
-SUFFIXES = .g4a .g4b .g6a .g6b .g7a .g7b
-.g4a.g4b:
-       m4 $*.g4a > $*.g4m && intel-gen4asm -o $@ $*.g4m && intel-gen4asm -g 5 -o $@.gen5 $*.g4m && rm $*.g4m
-
-.g6a.g6b:
-       m4 -I$(srcdir) -s $< > $*.g6m && intel-gen4asm -g 6 -o $@ $*.g6m && rm $*.g6m
-
-.g7a.g7b:
-       m4 -I$(srcdir) -s $< > $*.g7m && intel-gen4asm -g 7 -o $@ $*.g7m && rm $*.g7m
-
-$(INTEL_G4B): $(INTEL_G4I)
-$(INTEL_G6B): $(INTEL_G4I)
-$(INTEL_G7B): $(INTEL_G4I)
-
-BUILT_SOURCES= $(INTEL_G4B) $(INTEL_G6B) $(INTEL_G7B)
-
-clean-local:
-       -rm -f $(INTEL_G4B)
-       -rm -f $(INTEL_G4B_GEN5)
-       -rm -f $(INTEL_G6B)
-       -rm -f $(INTEL_G7B)
-endif    
diff --git a/i965_drv_video/shaders/render/exa_sf.g4a b/i965_drv_video/shaders/render/exa_sf.g4a
deleted file mode 100644 (file)
index 3e660ac..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Keith Packard <keithp@keithp.com>
- *    Eric Anholt <eric@anholt.net>
- *
- */
-
-/*
- * Inputs (note all sub-register addresses are bytes, not float indices)
- *
- * Note that the vertices will have been reordered:
- *
- * V0 is topmost (leftmost among topmost) (upper left)
- * V1 is next clockwise (lower right)
- * V2 is remaining (lower left)
- *
- *  V0 ...................... XX
- *  |                          .
- *  |                          .
- *  |                          .
- *  V2------------------------V1
- *
- *  G0     thread state -- just pass along
- *
- *  G1 and G2 are fixed by SF spec
- *
- *  G1.0    reserved
- *  G1.4    Provoking vertex
- *  G1.8    Determinant
- *  G1.12   X1 - X0
- *  G1.16   X2 - X0
- *  G1.20   Y1 - Y0
- *  G1.24   Y2 - Y0
- *  G1.30   reserved
- *
- *  G2.0    Z0
- *  G2.4    1/W0
- *  G2.8    Z1
- *  G2.12   1/W1
- *  G2.16   Z2
- *  G2.20   1/W2
- *  G2.24   reserved
- *  G2.30   reserved
- *
- *  G3 is V0 Vertex Attribute Data from URB (upper left)
- *
- *  G3.0    u0
- *  G3.4    v0
- *
- *  G4 is V1 Vertex Attribute Data from URB (lower right)
- *
- *  G4.0    u1
- *  G4.4    v1
- *
- *  G5 is V2 Vertex Attribute Data from URB (lower left)
- *
- */
-
-/* Compute inverses of the input deltas */
-send (4) 0 g6<1>F g1.12<4,4,1>F math inv mlen 1 rlen 1 { align1 };
-
-/* texture location at V0 */
-mov (4) m3<1>F g3<4,4,1>F { align1 };
-
-/* compute V1 - V2 (motion in X) for texture coordinates */
-add (4) g7<1>F g4<4,4,1>F -g5<4,4,1>F { align1 };
-
-/* multiply by 1/dx */
-mul (4) m1<1>F g7<4,4,1>F g6.0<0,1,0>F { align1 };
-
-/* Compute V2 - V0 (motion in Y) for texture coordinates */
-add (4) g7<1>F g5<4,4,1>F -g3<4,4,1>F { align1 };
-
-/* multiply by 1/dy */
-mul (4) m2<1>F g7<4,4,1>F g6.8<0,1,0>F {align1 };
-
-/* and we're done */
-send (8) 0 null g0<8,8,1>F urb 0 transpose used complete mlen 4 rlen 0 { align1 EOT };
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
diff --git a/i965_drv_video/shaders/render/exa_sf.g4b b/i965_drv_video/shaders/render/exa_sf.g4b
deleted file mode 100644 (file)
index 223c9c9..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00400031, 0x20c01fbd, 0x0069002c, 0x01110001 },
-   { 0x00400001, 0x206003be, 0x00690060, 0x00000000 },
-   { 0x00400040, 0x20e077bd, 0x00690080, 0x006940a0 },
-   { 0x00400041, 0x202077be, 0x006900e0, 0x000000c0 },
-   { 0x00400040, 0x20e077bd, 0x006900a0, 0x00694060 },
-   { 0x00400041, 0x204077be, 0x006900e0, 0x000000c8 },
-   { 0x00600031, 0x20001fbc, 0x008d0000, 0x8640c800 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_sf.g4b.gen5 b/i965_drv_video/shaders/render/exa_sf.g4b.gen5
deleted file mode 100644 (file)
index a838f47..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x00400031, 0x20c01fbd, 0x1069002c, 0x02100001 },
-   { 0x00400001, 0x206003be, 0x00690060, 0x00000000 },
-   { 0x00400040, 0x20e077bd, 0x00690080, 0x006940a0 },
-   { 0x00400041, 0x202077be, 0x006900e0, 0x000000c0 },
-   { 0x00400040, 0x20e077bd, 0x006900a0, 0x00694060 },
-   { 0x00400041, 0x204077be, 0x006900e0, 0x000000c8 },
-   { 0x00600031, 0x20001fbc, 0x648d0000, 0x8808c800 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_wm.g4i b/i965_drv_video/shaders/render/exa_wm.g4i
deleted file mode 100644 (file)
index 8163de5..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-/*
- * Input parameters
- */
-
-/* Destination X/Y */
-define(`dst_x_uw',  `g1.8<2,4,0>UW')
-define(`dst_y_uw',  `g1.10<2,4,0>UW')
-define(`screen_x0', `g1.0<0,1,0>F')
-define(`screen_y0', `g1.4<0,1,0>F')
-
-/* UV flag */
-define(`interleaved_uv', `g2.0<0,1,0>UW')
-
-/* Source transformation parameters */
-define(`src_du_dx', `g3.0<0,1,0>F')
-define(`src_du_dy', `g3.4<0,1,0>F')
-define(`src_uo',    `g3.12<0,1,0>F')
-define(`src_dv_dx', `g3.16<0,1,0>F')
-define(`src_dv_dy', `g3.20<0,1,0>F')
-define(`src_vo',    `g3.28<0,1,0>F')
-define(`src_dw_dx', `g4.0<0,1,0>F')
-define(`src_dw_dy', `g4.4<0,1,0>F')
-define(`src_wo',    `g4.12<0,1,0>F')
-
-define(`mask_du_dx', `g5.0<0,1,0>F')
-define(`mask_du_dy', `g5.4<0,1,0>F')
-define(`mask_uo',    `g5.12<0,1,0>F')
-define(`mask_dv_dx', `g5.16<0,1,0>F')
-define(`mask_dv_dy', `g5.20<0,1,0>F')
-define(`mask_vo',    `g5.28<0,1,0>F')
-define(`mask_dw_dx', `g6.0<0,1,0>F')
-define(`mask_dw_dy', `g6.4<0,1,0>F')
-define(`mask_wo',    `g6.12<0,1,0>F')
-
-/*
- * Local variables. Pairs must be aligned on even reg boundry
- */
-
-/* this holds the X dest coordinates */
-define(`dst_x',            `g8')
-define(`dst_x_0',   `dst_x')
-define(`dst_x_1',   `g9')
-
-/* this holds the Y dest coordinates */
-define(`dst_y',            `g10')
-define(`dst_y_0',   `dst_y')
-define(`dst_y_1',   `g11')
-
-/* When computing x * dn/dx, use this */
-define(`temp_x',    `g30')
-define(`temp_x_0',  `temp_x')
-define(`temp_x_1',  `g31')
-
-/* When computing y * dn/dy, use this */
-define(`temp_y',    `g28')
-define(`temp_y_0',  temp_y)
-define(`temp_y_1',  `g29')
-
-/* when loading x/y, use these to hold them in UW format */
-define(`temp_x_uw', temp_x)
-define(`temp_y_uw', temp_y)
-
-/* compute source and mask u/v to this pair to send to sampler */
-define(`src_msg',   `m1')
-define(`src_msg_ind',`1')
-define(`src_u',            `m2')
-define(`src_v',            `m4')
-define(`src_w',            `g12')
-define(`src_w_0',   `src_w')
-define(`src_w_1',   `g13')
-
-define(`mask_msg',  `m7')
-define(`mask_msg_ind',`7')
-define(`mask_u',    `m8')
-define(`mask_v',    `m10')
-define(`mask_w',    `src_w')
-define(`mask_w_0',  `src_w_0')
-define(`mask_w_1',  `src_w_1')
-
-/* sample src to these registers */
-define(`src_sample_base',      `g14')
-
-define(`src_sample_r',         `g14')
-define(`src_sample_r_01',      `g14')
-define(`src_sample_r_23',      `g15')
-
-define(`src_sample_g',         `g16')
-define(`src_sample_g_01',      `g16')
-define(`src_sample_g_23',      `g17')
-
-define(`src_sample_b',         `g18')
-define(`src_sample_b_01',      `g18')
-define(`src_sample_b_23',      `g19')
-
-define(`src_sample_a',         `g20')
-define(`src_sample_a_01',      `g20')
-define(`src_sample_a_23',      `g21')
-
-/* sample mask to these registers */
-define(`mask_sample_base',     `g22')
-    
-define(`mask_sample_r',                `g22')
-define(`mask_sample_r_01',     `g22')
-define(`mask_sample_r_23',     `g23')
-    
-define(`mask_sample_g',                `g24')
-define(`mask_sample_g_01',     `g24')
-define(`mask_sample_g_23',     `g25')
-    
-define(`mask_sample_b',                `g26')
-define(`mask_sample_b_01',     `g26')
-define(`mask_sample_b_23',     `g27')
-    
-define(`mask_sample_a',                `g28')
-define(`mask_sample_a_01',     `g28')
-define(`mask_sample_a_23',     `g29')
-
-/* data port SIMD16 send registers */
-
-define(`data_port_msg_0',      `m0')
-define(`data_port_msg_0_ind',  `0')
-define(`data_port_msg_1',      `m1')
-define(`data_port_r_01',       `m2')
-define(`data_port_g_01',       `m3')
-define(`data_port_b_01',       `m4')
-define(`data_port_a_01',       `m5')
-
-define(`data_port_r_23',       `m6')
-define(`data_port_g_23',       `m7')
-define(`data_port_b_23',       `m8')
-define(`data_port_a_23',       `m9')
-
diff --git a/i965_drv_video/shaders/render/exa_wm_affine.g4i b/i965_drv_video/shaders/render/exa_wm_affine.g4i
deleted file mode 100644 (file)
index e72656b..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/*
- * Fragment to compute src u/v values under an affine transform
- */
-
-/********** Compute u *************/
-
-mul (16)       temp_x<1>F      dst_x<8,8,1>F   du_dx           { compr align1 };
-mul (16)       temp_y<1>F      dst_y<8,8,1>F   du_dy           { compr align1 };
-add (16)       temp_x<1>F      temp_x<8,8,1>F  temp_y<8,8,1>F  { compr align1 };
-add (16)       u<1>F           temp_x<8,8,1>F  uo              { compr align1 };
-
-/********** Compute v *************/
-
-mul (16)       temp_x<1>F      dst_x<8,8,1>F   dv_dx           { compr align1 };
-mul (16)       temp_y<1>F      dst_y<8,8,1>F   dv_dy           { compr align1 };
-add (16)       temp_x<1>F      temp_x<8,8,1>F  temp_y<8,8,1>F  { compr align1 };
-add (16)       v<1>F           temp_x<8,8,1>F  vo              { compr align1 };
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g4a b/i965_drv_video/shaders/render/exa_wm_src_affine.g4a
deleted file mode 100644 (file)
index 3194b5a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/*
- * Fragment to compute src u/v values under an affine transform
- */
-
-include(`exa_wm.g4i')
-
-define(`du_dx',        `src_du_dx')
-define(`du_dy',        `src_du_dy')
-define(`uo',   `src_uo')
-
-define(`dv_dx',        `src_dv_dx')
-define(`dv_dy',        `src_dv_dy')
-define(`vo',   `src_vo')
-
-define(`u',    `src_u')
-define(`v',    `src_v')
-
-include(`exa_wm_affine.g4i')
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g4b b/i965_drv_video/shaders/render/exa_wm_src_affine.g4b
deleted file mode 100644 (file)
index d30da87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-   { 0x00802041, 0x23c077bd, 0x008d0100, 0x00000060 },
-   { 0x00802041, 0x238077bd, 0x008d0140, 0x00000064 },
-   { 0x00802040, 0x23c077bd, 0x008d03c0, 0x008d0380 },
-   { 0x00802040, 0x204077be, 0x008d03c0, 0x0000006c },
-   { 0x00802041, 0x23c077bd, 0x008d0100, 0x00000070 },
-   { 0x00802041, 0x238077bd, 0x008d0140, 0x00000074 },
-   { 0x00802040, 0x23c077bd, 0x008d03c0, 0x008d0380 },
-   { 0x00802040, 0x208077be, 0x008d03c0, 0x0000007c },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_src_affine.g4b.gen5
deleted file mode 100644 (file)
index d30da87..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-   { 0x00802041, 0x23c077bd, 0x008d0100, 0x00000060 },
-   { 0x00802041, 0x238077bd, 0x008d0140, 0x00000064 },
-   { 0x00802040, 0x23c077bd, 0x008d03c0, 0x008d0380 },
-   { 0x00802040, 0x204077be, 0x008d03c0, 0x0000006c },
-   { 0x00802041, 0x23c077bd, 0x008d0100, 0x00000070 },
-   { 0x00802041, 0x238077bd, 0x008d0140, 0x00000074 },
-   { 0x00802040, 0x23c077bd, 0x008d03c0, 0x008d0380 },
-   { 0x00802040, 0x208077be, 0x008d03c0, 0x0000007c },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g6a b/i965_drv_video/shaders/render/exa_wm_src_affine.g6a
deleted file mode 100644 (file)
index 568aef3..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-/*
- * Fragment to compute src u/v values
- */
-include(`exa_wm.g4i')
-
-define(`ul',    `src_u')
-define(`uh',    `m3')
-define(`vl',    `src_v')
-define(`vh',    `m5')
-
-define(`bl',    `g2.0<8,8,1>F')
-define(`bh',    `g4.0<8,8,1>F')
-
-define(`a0_a_x',`g7.0<0,1,0>F')
-define(`a0_a_y',`g7.16<0,1,0>F')
-
-/* U */
-pln (8) ul<1>F a0_a_x bl { align1 }; /* pixel 0-7 */
-pln (8) uh<1>F a0_a_x bh { align1 }; /* pixel 8-15 */
-
-/* V */
-pln (8) vl<1>F a0_a_y bl { align1 }; /* pixel 0-7 */
-pln (8) vh<1>F a0_a_y bh { align1 }; /* pixel 8-15 */
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g6b b/i965_drv_video/shaders/render/exa_wm_src_affine.g6b
deleted file mode 100644 (file)
index 5d0ffcc..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-   { 0x0060005a, 0x204077be, 0x000000e0, 0x008d0040 },
-   { 0x0060005a, 0x206077be, 0x000000e0, 0x008d0080 },
-   { 0x0060005a, 0x208077be, 0x000000f0, 0x008d0040 },
-   { 0x0060005a, 0x20a077be, 0x000000f0, 0x008d0080 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g7a b/i965_drv_video/shaders/render/exa_wm_src_affine.g7a
deleted file mode 100644 (file)
index a786bc0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-/*
- * Fragment to compute src u/v values
- */
-include(`exa_wm.g4i')
-
-define(`ul',    `g66')
-define(`uh',    `g67')
-define(`vl',    `g68')
-define(`vh',    `g69')
-
-define(`bl',    `g2.0<8,8,1>F')
-define(`bh',    `g4.0<8,8,1>F')
-
-define(`a0_a_x',`g7.0<0,1,0>F')
-define(`a0_a_y',`g7.16<0,1,0>F')
-
-/* U */
-pln (8) ul<1>F a0_a_x bl { align1 }; /* pixel 0-7 */
-pln (8) uh<1>F a0_a_x bh { align1 }; /* pixel 8-15 */
-
-/* V */
-pln (8) vl<1>F a0_a_y bl { align1 }; /* pixel 0-7 */
-pln (8) vh<1>F a0_a_y bh { align1 }; /* pixel 8-15 */
diff --git a/i965_drv_video/shaders/render/exa_wm_src_affine.g7b b/i965_drv_video/shaders/render/exa_wm_src_affine.g7b
deleted file mode 100644 (file)
index 5dbbf1b..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-   { 0x0060005a, 0x284077bd, 0x000000e0, 0x008d0040 },
-   { 0x0060005a, 0x286077bd, 0x000000e0, 0x008d0080 },
-   { 0x0060005a, 0x288077bd, 0x000000f0, 0x008d0040 },
-   { 0x0060005a, 0x28a077bd, 0x000000f0, 0x008d0080 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4a b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4a
deleted file mode 100644 (file)
index c20f53f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface */
-
-include(`exa_wm.g4i')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-
-/* load argb */
-mov (1) g0.8<1>UD      0x00000000UD { align1 mask_disable };
-
-/* src_msg will be copied with g0, as it contains send desc */
-/* emit sampler 'send' cmd */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_base<1>UW    /* readback */
-       g0<8,8,1>UW             /* copy to msg start reg*/
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 8 { align1 };   /* required message len 5, readback len 8 */
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b
deleted file mode 100644 (file)
index c5b9274..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-   { 0x00000201, 0x20080061, 0x00000000, 0x00000000 },
-   { 0x01800031, 0x21c01d29, 0x008d0000, 0x02580001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g4b.gen5
deleted file mode 100644 (file)
index f8cb41e..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-   { 0x00000201, 0x20080061, 0x00000000, 0x00000000 },
-   { 0x01800031, 0x21c01d29, 0x208d0000, 0x0a8a0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6a b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6a
deleted file mode 100644 (file)
index 67bb888..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface */
-
-include(`exa_wm.g4i')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-
-/* load argb */
-mov (1) g0.8<1>UD      0x00000000UD { align1 mask_disable };
-mov (8) src_msg<1>UD   g0<8,8,1>UD  { align1 mask_disable };
-
-/* src_msg will be copied with g0, as it contains send desc */
-/* emit sampler 'send' cmd */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_base<1>UW    /* readback */
-       null
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 8 { align1 };   /* required message len 5, readback len 8 */
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6b b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g6b
deleted file mode 100644 (file)
index 2846491..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-   { 0x00000201, 0x20080061, 0x00000000, 0x00000000 },
-   { 0x00600201, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x21c01cc9, 0x00000020, 0x0a8a0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7a b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7a
deleted file mode 100644 (file)
index 978b76f..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface */
-
-include(`exa_wm.g4i')
-
-/* Ivybridge uses GRFs in SEND instruction */
-define(`src_msg_gen7',   `g65')
-define(`src_msg_ind_gen7',`65')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-
-/* load argb */
-mov (1) g0.8<1>UD               0x00000000UD { align1 mask_disable };
-mov (8) src_msg_gen7<1>UD       g0<8,8,1>UD  { align1 mask_disable };
-
-/* src_msg will be copied with g0, as it contains send desc */
-/* emit sampler 'send' cmd */
-send (16) src_msg_ind_gen7     /* msg reg index */
-       src_sample_base<1>UW    /* readback */
-       null
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 8 { align1 };   /* required message len 5, readback len 8 */
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7b b/i965_drv_video/shaders/render/exa_wm_src_sample_argb.g7b
deleted file mode 100644 (file)
index e9b12e6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-   { 0x00000201, 0x20080061, 0x00000000, 0x00000000 },
-   { 0x00600201, 0x28200021, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x21c01ca9, 0x00000820, 0x0a8c0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4a b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4a
deleted file mode 100644 (file)
index 8cbb289..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface in planar format */
-
-include(`exa_wm.g4i')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-
-and.nz (1) null interleaved_uv 0x01UW {align1};
-(f0) jmpi INTERLEAVED_UV;
-
-/* load r */
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-
-/* src_msg will be copied with g0, as it contains send desc */
-/* emit sampler 'send' cmd */
-
-/* sample U (Cr) */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_g<1>UW       /* readback */
-       g0<8,8,1>UW             /* copy to msg start reg*/
-       sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-       
-/* sample V (Cb) */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_b<1>UW       /* readback */
-       g0<8,8,1>UW             /* copy to msg start reg*/
-       sampler (5,4,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-
-jmpi SAMPLE_Y;
-
-INTERLEAVED_UV:
-/* load r */
-mov (1) g0.8<1>UD      0x0000c000UD { align1 mask_disable };
-
-/* sample UV (CrCb) */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_g<1>UW       /* readback */
-       g0<8,8,1>UW             /* copy to msg start reg*/
-       sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 4 { align1 };   /* required message len 5, readback len 8 */
-
-/* load r */
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-
-SAMPLE_Y:
-/* sample Y */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_r<1>UW       /* readback */
-       g0<8,8,1>UW             /* copy to msg start reg*/
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-       
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b
deleted file mode 100644 (file)
index 94f2f3b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-   { 0x02000005, 0x20002d3c, 0x00000040, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000004 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x01800031, 0x22001d29, 0x008d0000, 0x02520203 },
-   { 0x01800031, 0x22401d29, 0x008d0000, 0x02520405 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000003 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000c000 },
-   { 0x01800031, 0x22001d29, 0x008d0000, 0x02540203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x01800031, 0x21c01d29, 0x008d0000, 0x02520001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g4b.gen5
deleted file mode 100644 (file)
index c645723..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-   { 0x02000005, 0x20002d3c, 0x00000040, 0x00010001 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x00000008 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x01800031, 0x22001d29, 0x208d0000, 0x0a2a0203 },
-   { 0x01800031, 0x22401d29, 0x208d0000, 0x0a2a0405 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000c000 },
-   { 0x01800031, 0x22001d29, 0x208d0000, 0x0a4a0203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x01800031, 0x21c01d29, 0x208d0000, 0x0a2a0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6a b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6a
deleted file mode 100644 (file)
index 9f907fc..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface in planar format */
-
-include(`exa_wm.g4i')
-/* UV flag */
-define(`nv12', `g6.0<0,1,0>UW')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-cmp.g.f0.0 (1) null nv12 0x0UW {align1};
-(f0.0) jmpi INTERLEAVED_UV;
-
-/* load r */
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-mov (8) src_msg<1>UD   g0<8,8,1>UD  { align1 mask_disable };
-
-/* src_msg will be copied with g0, as it contains send desc */
-/* emit sampler 'send' cmd */
-
-/* sample U (Cr) */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_g<1>UW       /* readback */
-       null
-       sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-
-/* sample V (Cb) */
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-mov (8) src_msg<1>UD   g0<8,8,1>UD  { align1 mask_disable };
-
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_b<1>UW       /* readback */
-       null
-       sampler (5,4,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-
-jmpi SAMPLE_Y;
-
-INTERLEAVED_UV:
-mov (1) g0.8<1>UD       0x0000c000UD { align1 mask_disable };
-mov (8) src_msg<1>UD    g0<8,8,1>UD  { align1 mask_disable };
-
-/* sample UV (CrCb) */
-send (16) src_msg_ind           /* msg reg index */
-        src_sample_g<1>UW       /* readback */                                                                                                                         
-        null
-        sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                                /* here(src->dst) we should use src_sampler and src_surface */
-        mlen 5 rlen 4 { align1 };   /* required message len 5, readback len 8 */
-
-SAMPLE_Y:
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-mov (8) src_msg<1>UD   g0<8,8,1>UD  { align1 mask_disable };
-
-/* sample Y */
-send (16) src_msg_ind          /* msg reg index */
-       src_sample_r<1>UW       /* readback */
-       null
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-       
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6b b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g6b
deleted file mode 100644 (file)
index e9368b6..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x03000010, 0x20002d3c, 0x000000c0, 0x00000000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22001cc9, 0x00000020, 0x0a2a0203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22401cc9, 0x00000020, 0x0a2a0405 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000c000 },
-   { 0x00600201, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22001cc9, 0x00000020, 0x0a4a0203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x20200022, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x21c01cc9, 0x00000020, 0x0a2a0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7a b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7a
deleted file mode 100644 (file)
index 23d880f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-/* Sample the src surface in planar format */
-
-include(`exa_wm.g4i')
-
-/* Ivybridge uses GRFs in SEND instruction */
-define(`src_msg_gen7',   `g65')
-define(`src_msg_ind_gen7',`65')
-/* UV flag */
-define(`nv12', `g6.0<0,1,0>UW')
-
-/* prepare sampler read back gX register, which would be written back to output */
-
-/* use simd16 sampler, param 0 is u, param 1 is v. */
-/* 'payload' loading, assuming tex coord start from g4 */
-cmp.g.f0.0 (1) null nv12 0x0UW {align1};
-(f0.0) jmpi INTERLEAVED_UV;
-
-/* load r */
-mov (1) g0.8<1>UD               0x0000e000UD { align1 mask_disable };
-mov (8) src_msg_gen7<1>UD       g0<8,8,1>UD  { align1 mask_disable };
-
-/* emit sampler 'send' cmd */
-
-/* sample U (Cr) */
-send (16) src_msg_ind_gen7             /* msg reg index */
-       src_sample_g<1>UW       /* readback */
-       null
-       sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-
-/* sample V (Cb) */
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-mov (8) src_msg_gen7<1>UD      g0<8,8,1>UD  { align1 mask_disable };
-
-send (16) src_msg_ind_gen7             /* msg reg index */
-       src_sample_b<1>UW       /* readback */
-       null
-       sampler (5,4,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-
-jmpi SAMPLE_Y;
-
-INTERLEAVED_UV:
-mov (1) g0.8<1>UD       0x0000c000UD { align1 mask_disable };
-mov (8) src_msg_gen7<1>UD    g0<8,8,1>UD  { align1 mask_disable };
-
-/* sample UV (CrCb) */
-send (16) src_msg_ind_gen7           /* msg reg index */
-        src_sample_g<1>UW       /* readback */                                                                                                                         
-        null
-        sampler (3,2,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                                /* here(src->dst) we should use src_sampler and src_surface */
-        mlen 5 rlen 4 { align1 };   /* required message len 5, readback len 8 */
-
-SAMPLE_Y:
-mov (1) g0.8<1>UD      0x0000e000UD { align1 mask_disable };
-mov (8) src_msg_gen7<1>UD      g0<8,8,1>UD  { align1 mask_disable };
-
-/* sample Y */
-send (16) src_msg_ind_gen7             /* msg reg index */
-       src_sample_r<1>UW       /* readback */
-       null
-       sampler (1,0,F)         /* sampler message description, (binding_table,sampler_index,datatype)
-                               /* here(src->dst) we should use src_sampler and src_surface */
-       mlen 5 rlen 2 { align1 };   /* required message len 5, readback len 8 */
-       
diff --git a/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7b b/i965_drv_video/shaders/render/exa_wm_src_sample_planar.g7b
deleted file mode 100644 (file)
index 617ecf2..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-   { 0x03000010, 0x20002d3c, 0x000000c0, 0x00000000 },
-   { 0x00010020, 0x34001c00, 0x00001400, 0x0000000e },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x28200021, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22001ca9, 0x00000820, 0x0a2c0203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x28200021, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22401ca9, 0x00000820, 0x0a2c0405 },
-   { 0x00000020, 0x34001c00, 0x00001400, 0x00000006 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000c000 },
-   { 0x00600201, 0x28200021, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x22001ca9, 0x00000820, 0x0a4c0203 },
-   { 0x00000201, 0x20080061, 0x00000000, 0x0000e000 },
-   { 0x00600201, 0x28200021, 0x008d0000, 0x00000000 },
-   { 0x02800031, 0x21c01ca9, 0x00000820, 0x0a2c0001 },
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g4a b/i965_drv_video/shaders/render/exa_wm_write.g4a
deleted file mode 100644 (file)
index 2cb3d89..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-
-include(`exa_wm.g4i')
-
-/*
- * Prepare data in m2-m5 for subspan(1,0), m6-m9 for subspan(3,2),
- *
- * Note that the SIMD16 write message takes data for the first
- * two sub-spans followed by the data for the second two sub-spans
- * instead of having the two sub-spans interleaved by channel. Weird.
- */
-
-mov (8) data_port_r_01<1>F     g14<8,8,1>F { align1 };
-mov (8) data_port_g_01<1>F     g16<8,8,1>F { align1 };
-mov (8) data_port_b_01<1>F     g18<8,8,1>F { align1 };
-mov (8) data_port_a_01<1>F     src_sample_a_01<8,8,1>F { align1 };
-
-mov (8) data_port_r_23<1>F     src_sample_r_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_g_23<1>F     src_sample_g_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_b_23<1>F     src_sample_b_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_a_23<1>F     src_sample_a_23<8,8,1>F { sechalf align1 };
-
-
-mov (8) data_port_r_01<1>F     src_sample_r_01<8,8,1>F { align1 };
-mov (8) data_port_g_01<1>F     src_sample_g_01<8,8,1>F { align1 };
-mov (8) data_port_b_01<1>F     src_sample_b_01<8,8,1>F { align1 };
-mov (8) data_port_a_01<1>F     src_sample_a_01<8,8,1>F { align1 };
-
-mov (8) data_port_r_23<1>F     src_sample_r_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_g_23<1>F     src_sample_g_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_b_23<1>F     src_sample_b_23<8,8,1>F { sechalf align1 };
-mov (8) data_port_a_23<1>F     src_sample_a_23<8,8,1>F { sechalf align1 };
-
-/* m0, m1 are all direct passed by PS thread payload */
-mov (8) data_port_msg_1<1>UD   g1<8,8,1>UD             { mask_disable align1 };
-
-/* write */
-send (16) 
-       data_port_msg_0_ind 
-       acc0<1>UW 
-       g0<8,8,1>UW 
-       write (
-              0,  /* binding_table */
-              8,  /* pixel scordboard clear, msg type simd16 single source */
-              4,  /* render target write */
-              0   /* no write commit message */
-       ) 
-       mlen 10
-       rlen 0
-       { align1 EOT };
-
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g4b b/i965_drv_video/shaders/render/exa_wm_write.g4b
deleted file mode 100644 (file)
index b7dcd16..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-   { 0x00600001, 0x204003be, 0x008d01c0, 0x00000000 },
-   { 0x00600001, 0x206003be, 0x008d0200, 0x00000000 },
-   { 0x00600001, 0x208003be, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x20a003be, 0x008d0280, 0x00000000 },
-   { 0x00601001, 0x20c003be, 0x008d01e0, 0x00000000 },
-   { 0x00601001, 0x20e003be, 0x008d0220, 0x00000000 },
-   { 0x00601001, 0x210003be, 0x008d0260, 0x00000000 },
-   { 0x00601001, 0x212003be, 0x008d02a0, 0x00000000 },
-   { 0x00600001, 0x204003be, 0x008d01c0, 0x00000000 },
-   { 0x00600001, 0x206003be, 0x008d0200, 0x00000000 },
-   { 0x00600001, 0x208003be, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x20a003be, 0x008d0280, 0x00000000 },
-   { 0x00601001, 0x20c003be, 0x008d01e0, 0x00000000 },
-   { 0x00601001, 0x20e003be, 0x008d0220, 0x00000000 },
-   { 0x00601001, 0x210003be, 0x008d0260, 0x00000000 },
-   { 0x00601001, 0x212003be, 0x008d02a0, 0x00000000 },
-   { 0x00600201, 0x20200022, 0x008d0020, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x008d0000, 0x85a04800 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_write.g4b.gen5
deleted file mode 100644 (file)
index 14c1dae..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-   { 0x00600001, 0x204003be, 0x008d01c0, 0x00000000 },
-   { 0x00600001, 0x206003be, 0x008d0200, 0x00000000 },
-   { 0x00600001, 0x208003be, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x20a003be, 0x008d0280, 0x00000000 },
-   { 0x00601001, 0x20c003be, 0x008d01e0, 0x00000000 },
-   { 0x00601001, 0x20e003be, 0x008d0220, 0x00000000 },
-   { 0x00601001, 0x210003be, 0x008d0260, 0x00000000 },
-   { 0x00601001, 0x212003be, 0x008d02a0, 0x00000000 },
-   { 0x00600001, 0x204003be, 0x008d01c0, 0x00000000 },
-   { 0x00600001, 0x206003be, 0x008d0200, 0x00000000 },
-   { 0x00600001, 0x208003be, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x20a003be, 0x008d0280, 0x00000000 },
-   { 0x00601001, 0x20c003be, 0x008d01e0, 0x00000000 },
-   { 0x00601001, 0x20e003be, 0x008d0220, 0x00000000 },
-   { 0x00601001, 0x210003be, 0x008d0260, 0x00000000 },
-   { 0x00601001, 0x212003be, 0x008d02a0, 0x00000000 },
-   { 0x00600201, 0x20200022, 0x008d0020, 0x00000000 },
-   { 0x00800031, 0x24001d28, 0x548d0000, 0x94084800 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g6a b/i965_drv_video/shaders/render/exa_wm_write.g6a
deleted file mode 100644 (file)
index c0f3cc1..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-include(`exa_wm.g4i')
-
-/*
- * Prepare data in m2-m3 for Red channel, m4-m5 for Green channel,
- * m6-m7 for Blue and m8-m9 for Alpha channel
- */
-define(`slot_r_00',     `m2')
-define(`slot_r_01',     `m3')
-define(`slot_g_00',     `m4')
-define(`slot_g_01',     `m5')
-define(`slot_b_00',     `m6')
-define(`slot_b_01',     `m7')
-define(`slot_a_00',     `m8')
-define(`slot_a_01',     `m9')
-define(`data_port_msg_2_ind',  `2')
-
-mov (8) slot_r_00<1>F     src_sample_r_01<8,8,1>F { align1 };
-mov (8) slot_r_01<1>F     src_sample_r_23<8,8,1>F { align1 };
-
-mov (8) slot_g_00<1>F     src_sample_g_01<8,8,1>F { align1 };
-mov (8) slot_g_01<1>F     src_sample_g_23<8,8,1>F { align1 };
-
-mov (8) slot_b_00<1>F     src_sample_b_01<8,8,1>F { align1 };
-mov (8) slot_b_01<1>F     src_sample_b_23<8,8,1>F { align1 };
-
-mov (8) slot_a_00<1>F     src_sample_a_01<8,8,1>F { align1 };
-mov (8) slot_a_01<1>F     src_sample_a_23<8,8,1>F { align1 };
-
-/* write */
-send (16) 
-       data_port_msg_2_ind 
-       acc0<1>UW 
-       null
-       write (
-              0,  /* binding_table */
-              16,  /* pixel scordboard clear, msg type simd16 single source */
-              12,  /* render target write */
-              0,   /* no write commit message */
-              0  /* headerless render target write */
-       ) 
-       mlen 8
-       rlen 0
-       { align1 EOT };
-
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g6b b/i965_drv_video/shaders/render/exa_wm_write.g6b
deleted file mode 100644 (file)
index 3cb6bff..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-   { 0x00600001, 0x204003be, 0x008d01c0, 0x00000000 },
-   { 0x00600001, 0x206003be, 0x008d01e0, 0x00000000 },
-   { 0x00600001, 0x208003be, 0x008d0200, 0x00000000 },
-   { 0x00600001, 0x20a003be, 0x008d0220, 0x00000000 },
-   { 0x00600001, 0x20c003be, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x20e003be, 0x008d0260, 0x00000000 },
-   { 0x00600001, 0x210003be, 0x008d0280, 0x00000000 },
-   { 0x00600001, 0x212003be, 0x008d02a0, 0x00000000 },
-   { 0x05800031, 0x24001cc8, 0x00000040, 0x90019000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g7a b/i965_drv_video/shaders/render/exa_wm_write.g7a
deleted file mode 100644 (file)
index a2fb447..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright © 2010 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- */
-
-include(`exa_wm.g4i')
-
-/* header */
-define(`data_port_msg_2_0',     `g64')
-define(`data_port_msg_2_1',     `g65')
-define(`data_port_msg_2_ind',   `64')
-
-mov (8) data_port_msg_2_0<1>UD g0<8,8,1>UD {align1 mask_disable};
-mov (8) data_port_msg_2_1<1>UD g1<8,8,1>UD {align1 mask_disable};
-
-/*
- * Prepare data in g66-g67 for Red channel, g68-g69 for Green channel,
- * g70-g71 for Blue and g72-g73 for Alpha channel
- */
-define(`slot_r_00',     `g66')
-define(`slot_r_01',     `g67')
-define(`slot_g_00',     `g68')
-define(`slot_g_01',     `g69')
-define(`slot_b_00',     `g70')
-define(`slot_b_01',     `g71')
-define(`slot_a_00',     `g72')
-define(`slot_a_01',     `g73')
-
-mov (8) slot_r_00<1>F     src_sample_r_01<1>F { align1 mask_disable };
-mov (8) slot_r_01<1>F     src_sample_r_23<1>F { align1 mask_disable };
-
-mov (8) slot_g_00<1>F     src_sample_g_01<1>F { align1 mask_disable };
-mov (8) slot_g_01<1>F     src_sample_g_23<1>F { align1 mask_disable };
-
-mov (8) slot_b_00<1>F     src_sample_b_01<1>F { align1 mask_disable };
-mov (8) slot_b_01<1>F     src_sample_b_23<1>F { align1 mask_disable };
-
-mov (8) slot_a_00<1>F     src_sample_a_01<1>F { align1 mask_disable };
-mov (8) slot_a_01<1>F     src_sample_a_23<1>F { align1 mask_disable };
-
-send (16) 
-       data_port_msg_2_ind 
-       null<1>UW 
-       null
-       write (
-              0,   /* binding table index */
-              16,  /* last render target(1) + slots 15:0(0) + msg type simd16 single source(000) */
-              12,  /* render target write */
-              0,   /* ignore for Ivybridge */
-              1    /* header present */
-       ) 
-       mlen 10
-       rlen 0
-       { align1 EOT };
-
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-nop;
-
diff --git a/i965_drv_video/shaders/render/exa_wm_write.g7b b/i965_drv_video/shaders/render/exa_wm_write.g7b
deleted file mode 100644 (file)
index 05e1801..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-   { 0x00600201, 0x28000021, 0x008d0000, 0x00000000 },
-   { 0x00600201, 0x28200021, 0x008d0020, 0x00000000 },
-   { 0x00600201, 0x284003bd, 0x002001c0, 0x00000000 },
-   { 0x00600201, 0x286003bd, 0x002001e0, 0x00000000 },
-   { 0x00600201, 0x288003bd, 0x00200200, 0x00000000 },
-   { 0x00600201, 0x28a003bd, 0x00200220, 0x00000000 },
-   { 0x00600201, 0x28c003bd, 0x00200240, 0x00000000 },
-   { 0x00600201, 0x28e003bd, 0x00200260, 0x00000000 },
-   { 0x00600201, 0x290003bd, 0x00200280, 0x00000000 },
-   { 0x00600201, 0x292003bd, 0x002002a0, 0x00000000 },
-   { 0x05800031, 0x20001ca8, 0x00000800, 0x940b1000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
-   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
diff --git a/i965_drv_video/shaders/render/exa_wm_xy.g4a b/i965_drv_video/shaders/render/exa_wm_xy.g4a
deleted file mode 100644 (file)
index e99f5ac..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Wang Zhenyu <zhenyu.z.wang@intel.com>
- *    Keith Packard <keithp@keithp.com>
- */
-/*
- * Register assignments:
- *
- *  x              g6/g7
- *  y              g8/g9
- *
- *  temp x         g10/g11
- *  temp y         g12/g13
- *
- *  src w          g14/g15
- *  src u          m1/m2
- *  src v          m3/m4
- */
-/* Fragment to compute per-pixel XY values */
-
-include(`exa_wm.g4i')
-    
-    /* Load X and Y coordinates and compute per-pixel coordinates */
-add (16)       temp_x_uw<1>UW  dst_x_uw                0x10101010V     { align1 };
-add (16)       temp_y_uw<1>UW  dst_y_uw                0x11001100V     { align1 };
-
-    /* subtract screen-space origin of vertex 0 */
-add (16)       dst_x<1>F       temp_x_uw<8,8,1>UW      -screen_x0      { compr align1 };
-add (16)       dst_y<1>F       temp_y_uw<8,8,1>UW      -screen_y0      { compr align1 };
diff --git a/i965_drv_video/shaders/render/exa_wm_xy.g4b b/i965_drv_video/shaders/render/exa_wm_xy.g4b
deleted file mode 100644 (file)
index 327fc29..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-   { 0x00800040, 0x23c06d29, 0x00480028, 0x10101010 },
-   { 0x00800040, 0x23806d29, 0x0048002a, 0x11001100 },
-   { 0x00802040, 0x2100753d, 0x008d03c0, 0x00004020 },
-   { 0x00802040, 0x2140753d, 0x008d0380, 0x00004024 },
diff --git a/i965_drv_video/shaders/render/exa_wm_xy.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_xy.g4b.gen5
deleted file mode 100644 (file)
index 327fc29..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-   { 0x00800040, 0x23c06d29, 0x00480028, 0x10101010 },
-   { 0x00800040, 0x23806d29, 0x0048002a, 0x11001100 },
-   { 0x00802040, 0x2100753d, 0x008d03c0, 0x00004020 },
-   { 0x00802040, 0x2140753d, 0x008d0380, 0x00004024 },
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4a b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4a
deleted file mode 100644 (file)
index 5b9e625..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Keith Packard <keithp@keithp.com>
- *    Eric Anholt <eric@anholt.net>
- *
- */
-
-include(`exa_wm.g4i')
-
-define(`YCbCr_base',   `src_sample_base')
-
-define(`Cr',           `src_sample_b')
-define(`Cr_01',                `src_sample_b_01')
-define(`Cr_23',                `src_sample_b_23')
-
-define(`Y',            `src_sample_r')
-define(`Y_01',         `src_sample_r_01')
-define(`Y_23',         `src_sample_r_23')
-
-define(`Cb',           `src_sample_g')
-define(`Cb_01',                `src_sample_g_01')
-define(`Cb_23',                `src_sample_g_23')
-
-define(`Crn',          `mask_sample_g')
-define(`Crn_01',       `mask_sample_g_01')
-define(`Crn_23',       `mask_sample_g_23')
-
-define(`Yn',           `mask_sample_r')
-define(`Yn_01',                `mask_sample_r_01')
-define(`Yn_23',                `mask_sample_r_23')
-
-define(`Cbn',          `mask_sample_b')
-define(`Cbn_01',       `mask_sample_b_01')
-define(`Cbn_23',       `mask_sample_b_23')
-
-    /* color space conversion function:
-     * R = Clamp ( 1.164(Y-16/255) + 1.596(Cr-128/255), 0, 1)
-     * G = Clamp ( 1.164(Y-16/255) - 0.813(Cr-128/255) - 0.392(Cb-128/255), 0, 1)
-     * B = Clamp ( 1.164(Y-16/255) + 2.017(Cb-128/255), 0, 1)
-     */
-
-    /* Normalize Y, Cb and Cr:
-     *
-     * Yn = (Y - 16/255) * 1.164
-     * Crn = Cr - 128 / 255
-     * Cbn = Cb - 128 / 255
-     */
-add (16)    Yn<1>F             Y<8,8,1>F       -0.0627451F { compr align1 };
-mul (16)    Yn<1>F             Yn<8,8,1>F      1.164F      { compr align1 };
-
-add (16)    Crn<1>F            Cr<8,8,1>F      -0.501961F  { compr align1 };
-
-add (16)    Cbn<1>F            Cb<8,8,1>F      -0.501961F  { compr align1 };
-
-    /* 
-     * R = Y + Cr * 1.596
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_r<1>F   Crn<8,8,1>F     1.596F      { compr align1 };
-     
-    /*
-     * G = Crn * -0.813 + Cbn * -0.392 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac (16)    acc0<1>F           Crn<8,8,1>F     -0.813F     { compr align1 };
-mac.sat(16) src_sample_g<1>F   Cbn<8,8,1>F     -0.392F     { compr align1 };
-
-    /*
-     * B = Cbn * 2.017 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_b<1>F   Cbn<8,8,1>F     2.017F      { compr align1 };
-
-    /*
-     * A = 1.0
-     */
-//mov (16)    src_sample_a<1>F 1.0F                        { compr align1 };
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b
deleted file mode 100644 (file)
index 6a76da4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-   { 0x00802040, 0x22c07fbd, 0x008d01c0, 0xbd808081 },
-   { 0x00802041, 0x22c07fbd, 0x008d02c0, 0x3f94fdf4 },
-   { 0x00802040, 0x23007fbd, 0x008d0240, 0xbf008084 },
-   { 0x00802040, 0x23407fbd, 0x008d0200, 0xbf008084 },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80802048, 0x21c07fbd, 0x008d0300, 0x3fcc49ba },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x00802048, 0x24007fbc, 0x008d0300, 0xbf5020c5 },
-   { 0x80802048, 0x22007fbd, 0x008d0340, 0xbec8b439 },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80802048, 0x22407fbd, 0x008d0340, 0x40011687 },
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b.gen5 b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g4b.gen5
deleted file mode 100644 (file)
index 6a76da4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-   { 0x00802040, 0x22c07fbd, 0x008d01c0, 0xbd808081 },
-   { 0x00802041, 0x22c07fbd, 0x008d02c0, 0x3f94fdf4 },
-   { 0x00802040, 0x23007fbd, 0x008d0240, 0xbf008084 },
-   { 0x00802040, 0x23407fbd, 0x008d0200, 0xbf008084 },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80802048, 0x21c07fbd, 0x008d0300, 0x3fcc49ba },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x00802048, 0x24007fbc, 0x008d0300, 0xbf5020c5 },
-   { 0x80802048, 0x22007fbd, 0x008d0340, 0xbec8b439 },
-   { 0x00802001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80802048, 0x22407fbd, 0x008d0340, 0x40011687 },
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6a b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6a
deleted file mode 100644 (file)
index 5b9e625..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Keith Packard <keithp@keithp.com>
- *    Eric Anholt <eric@anholt.net>
- *
- */
-
-include(`exa_wm.g4i')
-
-define(`YCbCr_base',   `src_sample_base')
-
-define(`Cr',           `src_sample_b')
-define(`Cr_01',                `src_sample_b_01')
-define(`Cr_23',                `src_sample_b_23')
-
-define(`Y',            `src_sample_r')
-define(`Y_01',         `src_sample_r_01')
-define(`Y_23',         `src_sample_r_23')
-
-define(`Cb',           `src_sample_g')
-define(`Cb_01',                `src_sample_g_01')
-define(`Cb_23',                `src_sample_g_23')
-
-define(`Crn',          `mask_sample_g')
-define(`Crn_01',       `mask_sample_g_01')
-define(`Crn_23',       `mask_sample_g_23')
-
-define(`Yn',           `mask_sample_r')
-define(`Yn_01',                `mask_sample_r_01')
-define(`Yn_23',                `mask_sample_r_23')
-
-define(`Cbn',          `mask_sample_b')
-define(`Cbn_01',       `mask_sample_b_01')
-define(`Cbn_23',       `mask_sample_b_23')
-
-    /* color space conversion function:
-     * R = Clamp ( 1.164(Y-16/255) + 1.596(Cr-128/255), 0, 1)
-     * G = Clamp ( 1.164(Y-16/255) - 0.813(Cr-128/255) - 0.392(Cb-128/255), 0, 1)
-     * B = Clamp ( 1.164(Y-16/255) + 2.017(Cb-128/255), 0, 1)
-     */
-
-    /* Normalize Y, Cb and Cr:
-     *
-     * Yn = (Y - 16/255) * 1.164
-     * Crn = Cr - 128 / 255
-     * Cbn = Cb - 128 / 255
-     */
-add (16)    Yn<1>F             Y<8,8,1>F       -0.0627451F { compr align1 };
-mul (16)    Yn<1>F             Yn<8,8,1>F      1.164F      { compr align1 };
-
-add (16)    Crn<1>F            Cr<8,8,1>F      -0.501961F  { compr align1 };
-
-add (16)    Cbn<1>F            Cb<8,8,1>F      -0.501961F  { compr align1 };
-
-    /* 
-     * R = Y + Cr * 1.596
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_r<1>F   Crn<8,8,1>F     1.596F      { compr align1 };
-     
-    /*
-     * G = Crn * -0.813 + Cbn * -0.392 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac (16)    acc0<1>F           Crn<8,8,1>F     -0.813F     { compr align1 };
-mac.sat(16) src_sample_g<1>F   Cbn<8,8,1>F     -0.392F     { compr align1 };
-
-    /*
-     * B = Cbn * 2.017 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_b<1>F   Cbn<8,8,1>F     2.017F      { compr align1 };
-
-    /*
-     * A = 1.0
-     */
-//mov (16)    src_sample_a<1>F 1.0F                        { compr align1 };
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6b b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g6b
deleted file mode 100644 (file)
index 21fa6fb..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-   { 0x00800040, 0x22c07fbd, 0x008d01c0, 0xbd808081 },
-   { 0x00800041, 0x22c07fbd, 0x008d02c0, 0x3f94fdf4 },
-   { 0x00800040, 0x23007fbd, 0x008d0240, 0xbf008084 },
-   { 0x00800040, 0x23407fbd, 0x008d0200, 0xbf008084 },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80800048, 0x21c07fbd, 0x008d0300, 0x3fcc49ba },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x00800048, 0x24007fbc, 0x008d0300, 0xbf5020c5 },
-   { 0x80800048, 0x22007fbd, 0x008d0340, 0xbec8b439 },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80800048, 0x22407fbd, 0x008d0340, 0x40011687 },
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7a b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7a
deleted file mode 100644 (file)
index 5b9e625..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright © 2006 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- *
- * Authors:
- *    Keith Packard <keithp@keithp.com>
- *    Eric Anholt <eric@anholt.net>
- *
- */
-
-include(`exa_wm.g4i')
-
-define(`YCbCr_base',   `src_sample_base')
-
-define(`Cr',           `src_sample_b')
-define(`Cr_01',                `src_sample_b_01')
-define(`Cr_23',                `src_sample_b_23')
-
-define(`Y',            `src_sample_r')
-define(`Y_01',         `src_sample_r_01')
-define(`Y_23',         `src_sample_r_23')
-
-define(`Cb',           `src_sample_g')
-define(`Cb_01',                `src_sample_g_01')
-define(`Cb_23',                `src_sample_g_23')
-
-define(`Crn',          `mask_sample_g')
-define(`Crn_01',       `mask_sample_g_01')
-define(`Crn_23',       `mask_sample_g_23')
-
-define(`Yn',           `mask_sample_r')
-define(`Yn_01',                `mask_sample_r_01')
-define(`Yn_23',                `mask_sample_r_23')
-
-define(`Cbn',          `mask_sample_b')
-define(`Cbn_01',       `mask_sample_b_01')
-define(`Cbn_23',       `mask_sample_b_23')
-
-    /* color space conversion function:
-     * R = Clamp ( 1.164(Y-16/255) + 1.596(Cr-128/255), 0, 1)
-     * G = Clamp ( 1.164(Y-16/255) - 0.813(Cr-128/255) - 0.392(Cb-128/255), 0, 1)
-     * B = Clamp ( 1.164(Y-16/255) + 2.017(Cb-128/255), 0, 1)
-     */
-
-    /* Normalize Y, Cb and Cr:
-     *
-     * Yn = (Y - 16/255) * 1.164
-     * Crn = Cr - 128 / 255
-     * Cbn = Cb - 128 / 255
-     */
-add (16)    Yn<1>F             Y<8,8,1>F       -0.0627451F { compr align1 };
-mul (16)    Yn<1>F             Yn<8,8,1>F      1.164F      { compr align1 };
-
-add (16)    Crn<1>F            Cr<8,8,1>F      -0.501961F  { compr align1 };
-
-add (16)    Cbn<1>F            Cb<8,8,1>F      -0.501961F  { compr align1 };
-
-    /* 
-     * R = Y + Cr * 1.596
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_r<1>F   Crn<8,8,1>F     1.596F      { compr align1 };
-     
-    /*
-     * G = Crn * -0.813 + Cbn * -0.392 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac (16)    acc0<1>F           Crn<8,8,1>F     -0.813F     { compr align1 };
-mac.sat(16) src_sample_g<1>F   Cbn<8,8,1>F     -0.392F     { compr align1 };
-
-    /*
-     * B = Cbn * 2.017 + Y
-     */
-mov (16)    acc0<1>F           Yn<8,8,1>F                  { compr align1 };
-mac.sat(16) src_sample_b<1>F   Cbn<8,8,1>F     2.017F      { compr align1 };
-
-    /*
-     * A = 1.0
-     */
-//mov (16)    src_sample_a<1>F 1.0F                        { compr align1 };
diff --git a/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7b b/i965_drv_video/shaders/render/exa_wm_yuv_rgb.g7b
deleted file mode 100644 (file)
index 21fa6fb..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-   { 0x00800040, 0x22c07fbd, 0x008d01c0, 0xbd808081 },
-   { 0x00800041, 0x22c07fbd, 0x008d02c0, 0x3f94fdf4 },
-   { 0x00800040, 0x23007fbd, 0x008d0240, 0xbf008084 },
-   { 0x00800040, 0x23407fbd, 0x008d0200, 0xbf008084 },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80800048, 0x21c07fbd, 0x008d0300, 0x3fcc49ba },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x00800048, 0x24007fbc, 0x008d0300, 0xbf5020c5 },
-   { 0x80800048, 0x22007fbd, 0x008d0340, 0xbec8b439 },
-   { 0x00800001, 0x240003bc, 0x008d02c0, 0x00000000 },
-   { 0x80800048, 0x22407fbd, 0x008d0340, 0x40011687 },
diff --git a/i965_drv_video/shaders/vld/Makefile b/i965_drv_video/shaders/vld/Makefile
deleted file mode 100644 (file)
index c0bda3a..0000000
+++ /dev/null
@@ -1,384 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# i965_drv_video/shaders/vld/Makefile.  Generated from Makefile.in by configure.
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-pkgdatadir = $(datadir)/libva
-pkglibdir = $(libdir)/libva
-pkgincludedir = $(includedir)/libva
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = x86_64-unknown-linux-gnu
-host_triplet = x86_64-unknown-linux-gnu
-subdir = i965_drv_video/shaders/vld
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = aclocal -I /opt/X11R7/share/aclocal
-AMTAR = ${SHELL} /root/libva/missing --run tar
-AR = ar
-AUTOCONF = ${SHELL} /root/libva/missing --run autoconf
-AUTOHEADER = ${SHELL} /root/libva/missing --run autoheader
-AUTOMAKE = ${SHELL} /root/libva/missing --run automake-1.10
-AWK = gawk
-CC = gcc
-CCDEPMODE = depmode=gcc3
-CFLAGS = -g -O2
-CPP = gcc -E
-CPPFLAGS = 
-CXX = g++
-CXXCPP = g++ -E
-CXXDEPMODE = depmode=gcc3
-CXXFLAGS = -g -O2
-CYGPATH_W = echo
-DEFS = -DHAVE_CONFIG_H
-DEPDIR = .deps
-DRM_CFLAGS = -I/opt/X11R7/include -I/opt/X11R7/include/drm  
-DRM_LIBS = -L/opt/X11R7/lib -ldrm  
-ECHO = echo
-ECHO_C = 
-ECHO_N = -n
-ECHO_T = 
-EGREP = /bin/grep -E
-EXEEXT = 
-F77 = gfortran
-FFLAGS = -g -O2
-GREP = /bin/grep
-INSTALL = /usr/bin/install -c
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
-LDFLAGS = 
-LIBOBJS = 
-LIBS = 
-LIBTOOL = $(SHELL) $(top_builddir)/libtool
-LN_S = ln -s
-LTLIBOBJS = 
-MAKEINFO = ${SHELL} /root/libva/missing --run makeinfo
-MKDIR_P = /bin/mkdir -p
-OBJEXT = o
-PACKAGE = libva
-PACKAGE_BUGREPORT = waldo.bastian@intel.com
-PACKAGE_NAME = libva
-PACKAGE_STRING = libva 0.29
-PACKAGE_TARNAME = libva
-PACKAGE_VERSION = 0.29
-PATH_SEPARATOR = :
-PKG_CONFIG = /usr/bin/pkg-config
-RANLIB = ranlib
-SED = /bin/sed
-SET_MAKE = 
-SHELL = /bin/sh
-STRIP = strip
-VERSION = 0.29
-abs_builddir = /root/libva/i965_drv_video/shaders/vld
-abs_srcdir = /root/libva/i965_drv_video/shaders/vld
-abs_top_builddir = /root/libva
-abs_top_srcdir = /root/libva
-ac_ct_CC = gcc
-ac_ct_CXX = g++
-ac_ct_F77 = gfortran
-am__include = include
-am__leading_dot = .
-am__quote = 
-am__tar = ${AMTAR} chof - "$$tardir"
-am__untar = ${AMTAR} xf -
-bindir = ${exec_prefix}/bin
-build = x86_64-unknown-linux-gnu
-build_alias = 
-build_cpu = x86_64
-build_os = linux-gnu
-build_vendor = unknown
-builddir = .
-datadir = ${datarootdir}
-datarootdir = ${prefix}/share
-docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
-dvidir = ${docdir}
-exec_prefix = ${prefix}
-gen4asm = no
-host = x86_64-unknown-linux-gnu
-host_alias = 
-host_cpu = x86_64
-host_os = linux-gnu
-host_vendor = unknown
-htmldir = ${docdir}
-includedir = ${prefix}/include
-infodir = ${datarootdir}/info
-install_sh = $(SHELL) /root/libva/install-sh
-libdir = ${exec_prefix}/lib
-libexecdir = ${exec_prefix}/libexec
-localedir = ${datarootdir}/locale
-localstatedir = ${prefix}/var
-mandir = ${datarootdir}/man
-mkdir_p = /bin/mkdir -p
-oldincludedir = /usr/include
-pdfdir = ${docdir}
-pkgconfigdir = ${exec_prefix}/lib/pkgconfig
-prefix = /opt/X11R7
-program_transform_name = s,x,x,
-psdir = ${docdir}
-sbindir = ${exec_prefix}/sbin
-sharedstatedir = ${prefix}/com
-srcdir = .
-sysconfdir = ${prefix}/etc
-target_alias = 
-top_builddir = ../../..
-top_srcdir = ../../..
-INTEL_G4I = addidct.g4i               \
-           do_iq_intra.g4i           \
-           do_iq_non_intra.g4i       \
-           idct.g4i                  \
-           iq_intra.g4i              \
-           iq_non_intra.g4i          \
-           motion_field_uv.g4i       \
-           motion_field_y.g4i        \
-           motion_frame_uv.g4i       \
-           motion_frame_y.g4i        \
-           read_field_x0y0_uv.g4i    \
-           read_field_x0y0_y.g4i     \
-           read_field_x0y1_y.g4i     \
-           read_field_x1y0_y.g4i     \
-           read_field_x1y1_y.g4i     \
-           read_frame_x0y0_uv.g4i    \
-           read_frame_x0y0_y.g4i     \
-           read_frame_x0y1_y.g4i     \
-           read_frame_x1y0_y.g4i     \
-           read_frame_x1y1_y.g4i
-
-INTEL_G4A = ipicture.g4a       \
-           lib.g4a             \
-           frame_forward.g4a   \
-           frame_backward.g4a  \
-           frame_f_b.g4a       \
-           field_forward.g4a   \
-           field_backward.g4a  \
-           field_f_b.g4a       
-
-INTEL_G4B = ipicture.g4b       \
-           lib.g4b             \
-           frame_forward.g4b   \
-           frame_backward.g4b  \
-           frame_f_b.g4b       \
-           field_forward.g4b   \
-           field_backward.g4b  \
-           field_f_b.g4b
-
-EXTRA_DIST = $(INTEL_G4I)      \
-            $(INTEL_G4A)       \
-            $(INTEL_G4B)    
-
-#SUFFIXES = .g4a .g4b
-#BUILT_SOURCES = $(INTEL_G4B)
-all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .g4a .g4b
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  i965_drv_video/shaders/vld/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  i965_drv_video/shaders/vld/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile
-installdirs:
-install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-       -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-       clean-local distclean distclean-generic distclean-libtool \
-       distdir dvi dvi-am html html-am info info-am install \
-       install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       uninstall uninstall-am
-
-#.g4a.g4b:
-#      m4 $*.g4a > $*.g4m && intel-gen4asm -o $@ $*.g4m && rm $*.g4m
-
-#$(INTEL_G4B): $(INTEL_G4I)
-
-#clean-local:
-#      -rm -f $(INTEL_G4B)
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/i965_drv_video/shaders/vme/Makefile.am b/i965_drv_video/shaders/vme/Makefile.am
deleted file mode 100644 (file)
index e1097a7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-VME_CORE  = intra_frame.asm inter_frame.asm
-
-INTEL_G6B = intra_frame.g6b inter_frame.g6b
-INTEL_G6A = intra_frame.g6a inter_frame.g6a
-INTEL_INC = gen6_vme_header.inc
-
-INTEL_G7B = intra_frame.g7b inter_frame.g7b
-INTEL_G7A = intra_frame.g7a inter_frame.g7a
-INTEL_INC_GEN7 = gen7_vme_header.inc
-
-EXTRA_DIST = $(INTEL_G6B)      \
-       $(INTEL_G6A)            \
-       $(INTEL_INC)            \
-       $(INTEL_G7B)            \
-       $(INTEL_G7A)            \
-       $(INTEL_INC_GEN7)
-
-if HAVE_GEN4ASM
-
-SUFFIXES = .g6a .g6b .g7a .g7b
-.g6a.g6b:
-       m4 $*.g6a > $*.g6m && intel-gen4asm -g 6 -o $@ $*.g6m && rm $*.g6m
-
-.g7a.g7b:
-       m4 $*.g7a > $*.g7m && intel-gen4asm -g 7 -o $@ $*.g7m && rm $*.g7m
-
-$(INTEL_G6B): $(INTEL_INC) $(VME_CORE)
-
-$(INTEL_G7B): $(INTEL_INC_GEN7) $(VME_CORE)
-
-BUILT_SOURCES= $(INTEL_G6B) $(INTEL_G7B)
-
-clean-local:
-       -rm -f $(INTEL_G6B)
-       -rm -f $(INTEL_G7B)
-
-endif    
diff --git a/i965_drv_video/shaders/vme/gen6_vme_header.inc b/i965_drv_video/shaders/vme/gen6_vme_header.inc
deleted file mode 100644 (file)
index b73e11c..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-// Modual name: ME_header.inc
-//
-// Global symbols define
-//
-
-/*
- * Constant
- */
-define(`VME_MESSAGE_TYPE_INTER',        `1')
-define(`VME_MESSAGE_TYPE_INTRA',        `2')
-define(`VME_MESSAGE_TYPE_MIXED',        `3')
-        
-define(`BLOCK_32X1',                    `0x0000001F')
-define(`BLOCK_4X16',                    `0x000F0003')
-        
-define(`LUMA_INTRA_16x16_DISABLE',      `0x1')
-define(`LUMA_INTRA_8x8_DISABLE',        `0x2')
-define(`LUMA_INTRA_4x4_DISABLE',        `0x4')
-
-define(`INTRA_PRED_AVAIL_FLAG_AE',      `0x60')
-define(`INTRA_PRED_AVAIL_FLAG_B',       `0x10')
-define(`INTRA_PRED_AVAIL_FLAG_C',       `0x8')
-define(`INTRA_PRED_AVAIL_FLAG_D',       `0x4')
-
-define(`BIND_IDX_VME',                  `0')
-define(`BIND_IDX_VME_REF0',             `1')
-define(`BIND_IDX_VME_REF1',             `2')
-define(`BIND_IDX_OUTPUT',               `3')
-define(`BIND_IDX_INEP',                 `4')
-
-define(`SUB_PEL_MODE_INTEGER',          `0x00000000')
-define(`SUB_PEL_MODE_HALF',             `0x00001000')
-define(`SUB_PEL_MODE_QUARTER',          `0x00003000')
-
-define(`INTER_SAD_NONE',                `0x00000000')
-define(`INTER_SAD_HAAR',                `0x00200000')
-
-define(`INTRA_SAD_NONE',                `0x00000000')
-define(`INTRA_SAD_HAAR',                `0x00800000')
-
-define(`INTER_PART_MASK',               `0x7E000000')
-
-define(`REF_REGION_SIZE',               `0x2020:UW')
-
-define(`BI_SUB_MB_PART_MASK',           `0x0c000000')
-define(`MAX_NUM_MV',                    `0x00000020')
-define(`SEARCH_PATH_LEN',               `0x00003F3F')
-define(`INTRA_PREDICTORE_MODE',         `0x11111111:UD')
-
-define(`OBW_CACHE_TYPE',                `5')
-
-define(`OBW_MESSAGE_TYPE',              `8')
-
-define(`OBW_BIND_IDX',                  `BIND_IDX_OUTPUT')
-
-define(`OBW_CONTROL_0',                 `0')    /* 1 OWord, low 128 bits */
-define(`OBW_CONTROL_1',                 `1')    /* 1 OWord, high 128 bits */
-define(`OBW_CONTROL_2',                 `2')    /* 2 OWords */
-define(`OBW_CONTROL_3',                 `3')    /* 4 OWords */
-
-define(`OBW_WRITE_COMMIT_CATEGORY',     `1')    /* write commit on Sandybrige */
-
-define(`OBW_HEADER_PRESENT',            `1')
-
-/* GRF registers
- * r0 header
- * r1~r4 constant buffer (reserved)
- * r5 inline data
- * r6~r11 reserved        
- * r12 write back of VME message
- * r13 write back of Oword Block Write        
- */
-/*
- * GRF 0 -- header       
- */        
-define(`thread_id_ub',          `r0.20<0,1,0>:UB')  /* thread id in payload */
-
-/*
- * GRF 1~4 -- Constant Buffer (reserved)
- */
-        
-/*
- * GRF 5 -- inline data
- */        
-define(`inline_reg0',           `r5')
-define(`w_in_mb_uw',            `inline_reg0.2')
-define(`orig_xy_ub',            `inline_reg0.0')
-define(`orig_x_ub',             `inline_reg0.0')    /* in macroblock */    
-define(`orig_y_ub',             `inline_reg0.1')
-
-/*
- * GRF 6~11 -- reserved
- */
-
-/*
- * GRF 12~15 -- write back for VME message 
- */
-define(`vme_wb',                `r12')
-define(`vme_wb0',               `r12')
-define(`vme_wb1',               `r13')
-define(`vme_wb2',               `r14')
-define(`vme_wb3',               `r15')
-        
-/*
- * GRF 16 -- write back for Oword Block Write message with write commit bit
- */        
-define(`obw_wb',                `r16')
-define(`obw_wb_length',         `1')
-
-/*
- * GRF 18~21 -- Intra Neighbor Edge Pixels
- */
-define(`INEP_ROW',              `r18')
-define(`INEP_COL0',             `r20')
-define(`INEP_COL1',             `r21')
-        
-/*
- * temporary registers
- */
-define(`tmp_reg0',              `r32')
-define(`tmp_reg1',              `r33')
-define(`intra_part_mask_ub',    `tmp_reg1.28')        
-define(`mb_intra_struct_ub',    `tmp_reg1.29')
-define(`tmp_reg2',              `r34')
-define(`tmp_x_w',               `tmp_reg2.0')
-define(`tmp_reg3',              `r35')
-
-/*
- * MRF registers
- */        
-define(`msg_ind',               `0')
-define(`msg_reg0',              `m0')               /* m0 */
-define(`msg_reg1',              `m1')               /* m1 */
-define(`msg_reg2',              `m2')               /* m2 */
-define(`msg_reg3',              `m3')               /* m3 */
-define(`msg_reg4',              `m4')               /* m4 */
-
-/*
- * VME message payload
- */
-define(`vme_msg_length',        `4')
-define(`vme_intra_wb_length',   `1')
-define(`vme_inter_wb_length',   `4')
-define(`vme_msg_ind',           `msg_ind')
-define(`vme_msg_0',             `msg_reg0')
-define(`vme_msg_1',             `msg_reg1')
-define(`vme_msg_2',             `msg_reg2')
-define(`vme_msg_3',             `vme_msg_2')
-define(`vme_msg_4',             `msg_reg3')
-
-
diff --git a/i965_drv_video/shaders/vme/gen7_vme_header.inc b/i965_drv_video/shaders/vme/gen7_vme_header.inc
deleted file mode 100644 (file)
index 9cec738..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-// Modual name: ME_header.inc
-//
-// Global symbols define
-//
-
-/*
- * Constant
- */
-define(`VME_MESSAGE_TYPE_INTER',        `1')
-define(`VME_MESSAGE_TYPE_INTRA',        `2')
-define(`VME_MESSAGE_TYPE_MIXED',        `3')
-        
-define(`BLOCK_32X1',                    `0x0000001F')
-define(`BLOCK_4X16',                    `0x000F0003')
-        
-define(`LUMA_INTRA_16x16_DISABLE',      `0x1')
-define(`LUMA_INTRA_8x8_DISABLE',        `0x2')
-define(`LUMA_INTRA_4x4_DISABLE',        `0x4')
-
-define(`INTRA_PRED_AVAIL_FLAG_AE',      `0x60')
-define(`INTRA_PRED_AVAIL_FLAG_B',       `0x10')
-define(`INTRA_PRED_AVAIL_FLAG_C',       `0x8')
-define(`INTRA_PRED_AVAIL_FLAG_D',       `0x4')
-
-define(`BIND_IDX_VME',                  `1')
-define(`BIND_IDX_VME_REF0',             `2')
-define(`BIND_IDX_VME_REF1',             `3')
-define(`BIND_IDX_OUTPUT',               `0')
-define(`BIND_IDX_INEP',                 `4')
-
-define(`SUB_PEL_MODE_INTEGER',          `0x00000000')
-define(`SUB_PEL_MODE_HALF',             `0x00001000')
-define(`SUB_PEL_MODE_QUARTER',          `0x00003000')
-
-define(`INTER_SAD_NONE',                `0x00000000')
-define(`INTER_SAD_HAAR',                `0x00200000')
-
-define(`INTRA_SAD_NONE',                `0x00000000')
-define(`INTRA_SAD_HAAR',                `0x00800000')
-
-define(`INTER_PART_MASK',               `0x7E000000')
-
-define(`REF_REGION_SIZE',               `0x2020:UW')
-
-define(`BI_SUB_MB_PART_MASK',           `0x0c000000')
-define(`MAX_NUM_MV',                    `0x00000020')
-define(`SEARCH_PATH_LEN',               `0x00003F3F')
-        
-define(`INTRA_PREDICTORE_MODE',         `0x11111111:UD')
-
-define(`OBW_CACHE_TYPE',                `10')
-
-define(`OBW_MESSAGE_TYPE',              `8')
-
-define(`OBW_BIND_IDX',                  `BIND_IDX_OUTPUT')
-
-define(`OBW_CONTROL_0',                 `0')    /* 1 OWord, low 128 bits */
-define(`OBW_CONTROL_1',                 `1')    /* 1 OWord, high 128 bits */
-define(`OBW_CONTROL_2',                 `2')    /* 2 OWords */
-define(`OBW_CONTROL_3',                 `3')    /* 4 OWords */
-
-define(`OBW_WRITE_COMMIT_CATEGORY',     `0')    /* category on Ivybridge */
-
-define(`OBW_HEADER_PRESENT',            `1')
-
-/* GRF registers
- * r0 header
- * r1~r4 constant buffer (reserved)
- * r5 inline data
- * r6~r11 reserved        
- * r12 write back of VME message
- * r13 write back of Oword Block Write        
- */
-/*
- * GRF 0 -- header       
- */        
-define(`thread_id_ub',          `r0.20<0,1,0>:UB')  /* thread id in payload */
-
-/*
- * GRF 1~4 -- Constant Buffer (reserved)
- */
-        
-/*
- * GRF 5 -- inline data
- */        
-define(`inline_reg0',           `r5')
-define(`w_in_mb_uw',            `inline_reg0.2')
-define(`orig_xy_ub',            `inline_reg0.0')
-define(`orig_x_ub',             `inline_reg0.0')    /* in macroblock */    
-define(`orig_y_ub',             `inline_reg0.1')
-
-/*
- * GRF 6~11 -- reserved
- */
-
-/*
- * GRF 12~15 -- write back for VME message 
- */
-define(`vme_wb',                `r12')
-define(`vme_wb0',               `r12')
-define(`vme_wb1',               `r13')
-define(`vme_wb2',               `r14')
-define(`vme_wb3',               `r15')
-        
-/*
- * GRF 16 -- reserved
- */        
-/*
- * write commit is removed on Ivybridge
- */
-define(`obw_wb',                `null<1>:W')
-define(`obw_wb_length',         `0')
-/*
- * GRF 18~21 -- Intra Neighbor Edge Pixels
- */
-define(`INEP_ROW',              `r18')
-define(`INEP_COL0',             `r20')
-define(`INEP_COL1',             `r21')
-        
-/*
- * temporary registers
- */
-define(`tmp_reg0',              `r32')
-define(`tmp_reg1',              `r33')
-define(`intra_part_mask_ub',    `tmp_reg1.28')        
-define(`mb_intra_struct_ub',    `tmp_reg1.29')
-define(`tmp_reg2',              `r34')
-define(`tmp_x_w',               `tmp_reg2.0')
-define(`tmp_reg3',              `r35')
-
-/*
- * Message Payload registers
- */
-define(`msg_ind',               `64')
-define(`msg_reg0',              `g64')
-define(`msg_reg1',              `g65')
-define(`msg_reg2',              `g66')
-define(`msg_reg3',              `g67')
-define(`msg_reg4',              `g68')
-
-/*
- * VME message payload
- */
-define(`vme_msg_length',        `5')
-define(`vme_intra_wb_length',   `1')
-define(`vme_inter_wb_length',   `6')
-define(`vme_msg_ind',           `msg_ind')
-define(`vme_msg_0',             `msg_reg0')
-define(`vme_msg_1',             `msg_reg1')
-define(`vme_msg_2',             `msg_reg2')
-define(`vme_msg_3',             `msg_reg3')
-define(`vme_msg_4',             `msg_reg4')
-
-
-
-
diff --git a/i965_drv_video/shaders/vme/inter_frame.asm b/i965_drv_video/shaders/vme/inter_frame.asm
deleted file mode 100644 (file)
index b42ecd9..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-// Modual name: IntraFrame.asm
-//
-// Make intra predition estimation for Intra frame
-//
-
-//
-//  Now, begin source code....
-//
-
-/*
- * __START
- */
-__INTER_START:
-mov  (16) tmp_reg0.0<1>:UD      0x0:UD {align1};
-mov  (16) tmp_reg2.0<1>:UD      0x0:UD {align1};
-
-/*
- * VME message
- */
-/* m0 */        
-mul  (2) tmp_reg0.8<1>:UW       orig_xy_ub<2,2,1>:UB 16:UW {align1};    /* Source =  (x, y) * 16 */
-mul  (2) tmp_reg0.0<1>:UW       orig_xy_ub<2,2,1>:UB 16:UW {align1};   
-add  (2) tmp_reg0.0<1>:W        tmp_reg0.0<2,2,1>:W -8:W {align1};             /* Reference = (x-8,y-8)-(x+24,y+24) */
-mov  (1) tmp_reg0.12<1>:UD      INTER_PART_MASK + INTER_SAD_HAAR + SUB_PEL_MODE_QUARTER:UD {align1};    /* 16x16 Source, 1/4 pixel, harr */
-
-mov  (1) tmp_reg0.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (1) tmp_reg0.22<1>:UW      REF_REGION_SIZE {align1};               /* Reference Width&Height, 32x32 */
-mov  (8) vme_msg_0.0<1>:UD      tmp_reg0.0<8,8,1>:UD {align1};
-        
-/* m1 */
-mov  (1) tmp_reg1.4<1>:UD       MAX_NUM_MV:UD {align1};                                   /* Default value MAX 32 MVs */
-mov  (1) tmp_reg1.8<1>:UD       SEARCH_PATH_LEN:UD {align1};
-
-mov  (8) vme_msg_1<1>:UD        tmp_reg1.0<8,8,1>:UD {align1};
-        
-/* m2 */        
-mov  (8) vme_msg_2<1>:UD        0x0:UD {align1};
-
-/* m3 */        
-mov  (8) vme_msg_3<1>:UD        0x0:UD {align1};
-
-/* m4 */        
-mov  (8) vme_msg_4<1>:UD        0x0:UD {align1};
-
-send (8)
-        vme_msg_ind
-        vme_wb
-        null
-        vme(
-                BIND_IDX_VME,
-                0,
-                0,
-                VME_MESSAGE_TYPE_INTER
-        )
-        mlen vme_msg_length
-        rlen vme_inter_wb_length
-        {align1};
-        
-/*
- * Oword Block Write message
- */
-mul  (1) tmp_reg3.8<1>:UD       w_in_mb_uw<0,1,0>:UW orig_y_ub<0,1,0>:UB {align1};
-add  (1) tmp_reg3.8<1>:UD       tmp_reg3.8<0,1,0>:UD orig_x_ub<0,1,0>:UB {align1};
-mul  (1) tmp_reg3.8<1>:UD       tmp_reg3.8<0,1,0>:UD 0x4:UD {align1};
-mov  (1) tmp_reg3.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (8) msg_reg0.0<1>:UD       tmp_reg3.0<8,8,1>:UD {align1};
-
-mov  (2) tmp_reg3.0<1>:UW       vme_wb1.0<2,2,1>:UB  {align1};
-add  (2) tmp_reg3.0<1>:W        tmp_reg3.0<2,2,1>:W -32:W {align1}; 
-        
-mov  (8) msg_reg1.0<1>:UD       tmp_reg3.0<8,8,0>:UD   {align1};
-
-mov  (8) msg_reg2.0<1>:UD       tmp_reg3.0<8,8,0>:UD   {align1};
-
-/* bind index 3, write 4 oword, msg type: 8(OWord Block Write) */
-send (16)
-        msg_ind
-        obw_wb
-        null
-        data_port(
-                OBW_CACHE_TYPE,
-                OBW_MESSAGE_TYPE,
-                OBW_CONTROL_3,
-                OBW_BIND_IDX,
-                OBW_WRITE_COMMIT_CATEGORY,
-                OBW_HEADER_PRESENT
-        )
-        mlen 3
-        rlen obw_wb_length
-        {align1};
-        
-/*
- * kill thread
- */        
-mov  (8) msg_reg0<1>:UD         r0<8,8,1>:UD {align1};
-send (16) msg_ind acc0<1>UW null thread_spawner(0, 0, 1) mlen 1 rlen 0 {align1 EOT};
diff --git a/i965_drv_video/shaders/vme/inter_frame.g6a b/i965_drv_video/shaders/vme/inter_frame.g6a
deleted file mode 100644 (file)
index d89588f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-include(`gen6_vme_header.inc')
-include(`inter_frame.asm')
diff --git a/i965_drv_video/shaders/vme/inter_frame.g6b b/i965_drv_video/shaders/vme/inter_frame.g6b
deleted file mode 100644 (file)
index 02dd806..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-   { 0x00800001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00200041, 0x24082e29, 0x004500a0, 0x00100010 },
-   { 0x00200041, 0x24002e29, 0x004500a0, 0x00100010 },
-   { 0x00200040, 0x24003dad, 0x00450400, 0xfff8fff8 },
-   { 0x00000001, 0x240c0061, 0x00000000, 0x7e203000 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00000001, 0x24160169, 0x00000000, 0x20202020 },
-   { 0x00600001, 0x20000022, 0x008d0400, 0x00000000 },
-   { 0x00000001, 0x24240061, 0x00000000, 0x00000020 },
-   { 0x00000001, 0x24280061, 0x00000000, 0x00003f3f },
-   { 0x00600001, 0x20200022, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x20400062, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400062, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20600062, 0x00000000, 0x00000000 },
-   { 0x08600031, 0x21801cdd, 0x00000000, 0x08482000 },
-   { 0x00000041, 0x24684521, 0x000000a2, 0x000000a1 },
-   { 0x00000040, 0x24684421, 0x00000468, 0x000000a0 },
-   { 0x00000041, 0x24680c21, 0x00000468, 0x00000004 },
-   { 0x00000001, 0x24740231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d0460, 0x00000000 },
-   { 0x00200001, 0x24600229, 0x004501a0, 0x00000000 },
-   { 0x00200040, 0x24603dad, 0x00450460, 0xffe0ffe0 },
-   { 0x00600001, 0x20200022, 0x008c0460, 0x00000000 },
-   { 0x00600001, 0x20400022, 0x008c0460, 0x00000000 },
-   { 0x05800031, 0x22001cdd, 0x00000000, 0x061b0303 },
-   { 0x00600001, 0x20000022, 0x008d0000, 0x00000000 },
-   { 0x07800031, 0x24001cc8, 0x00000000, 0x82000010 },
diff --git a/i965_drv_video/shaders/vme/inter_frame.g7a b/i965_drv_video/shaders/vme/inter_frame.g7a
deleted file mode 100644 (file)
index cb51f52..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-include(`gen7_vme_header.inc')
-include(`inter_frame.asm')
diff --git a/i965_drv_video/shaders/vme/inter_frame.g7b b/i965_drv_video/shaders/vme/inter_frame.g7b
deleted file mode 100644 (file)
index 3d4fbb4..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-   { 0x00800001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00200041, 0x24082e29, 0x004500a0, 0x00100010 },
-   { 0x00200041, 0x24002e29, 0x004500a0, 0x00100010 },
-   { 0x00200040, 0x24003dad, 0x00450400, 0xfff8fff8 },
-   { 0x00000001, 0x240c0061, 0x00000000, 0x7e203000 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00000001, 0x24160169, 0x00000000, 0x20202020 },
-   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
-   { 0x00000001, 0x24240061, 0x00000000, 0x00000020 },
-   { 0x00000001, 0x24280061, 0x00000000, 0x00003f3f },
-   { 0x00600001, 0x28200021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
-   { 0x08600031, 0x21801cbd, 0x00000800, 0x0a682001 },
-   { 0x00000041, 0x24684521, 0x000000a2, 0x000000a1 },
-   { 0x00000040, 0x24684421, 0x00000468, 0x000000a0 },
-   { 0x00000041, 0x24680c21, 0x00000468, 0x00000004 },
-   { 0x00000001, 0x24740231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00200001, 0x24600229, 0x004501a0, 0x00000000 },
-   { 0x00200040, 0x24603dad, 0x00450460, 0xffe0ffe0 },
-   { 0x00600001, 0x28200021, 0x008c0460, 0x00000000 },
-   { 0x00600001, 0x28400021, 0x008c0460, 0x00000000 },
-   { 0x0a800031, 0x20001cac, 0x00000800, 0x060a0300 },
-   { 0x00600001, 0x28000021, 0x008d0000, 0x00000000 },
-   { 0x07800031, 0x24001ca8, 0x00000800, 0x82000010 },
diff --git a/i965_drv_video/shaders/vme/intra_frame.asm b/i965_drv_video/shaders/vme/intra_frame.asm
deleted file mode 100644 (file)
index 809b5f3..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright © <2010>, Intel Corporation.
- *
- * This program is licensed under the terms and conditions of the
- * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
- * http://www.opensource.org/licenses/eclipse-1.0.php.
- *
- */
-// Modual name: IntraFrame.asm
-//
-// Make intra predition estimation for Intra frame
-//
-
-//
-//  Now, begin source code....
-//
-
-/*
- * __START
- */
-__INTRA_START:
-mov  (16) tmp_reg0.0<1>:UD      0x0:UD {align1};
-mov  (16) tmp_reg2.0<1>:UD      0x0:UD {align1};
-       
-/*
- * Media Read Message -- fetch neighbor edge pixels 
- */
-/* ROW */
-mul  (2) tmp_reg0.0<1>:D        orig_xy_ub<2,2,1>:UB 16:UW {align1};    /* (x, y) * 16 */
-add  (1) tmp_reg0.0<1>:D        tmp_reg0.0<0,1,0>:D -8:W {align1};     /* X offset */
-add  (1) tmp_reg0.4<1>:D        tmp_reg0.4<0,1,0>:D -1:W {align1};     /* Y offset */ 
-mov  (1) tmp_reg0.8<1>:UD       BLOCK_32X1 {align1};
-mov  (1) tmp_reg0.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (8) msg_reg0.0<1>:UD       tmp_reg0.0<8,8,1>:UD {align1};        
-send (8) msg_ind INEP_ROW<1>:UB null read(BIND_IDX_INEP, 0, 0, 4) mlen 1 rlen 1 {align1};
-
-/* COL */
-mul  (2) tmp_reg0.0<1>:D        orig_xy_ub<2,2,1>:UB 16:UW {align1};    /* (x, y) * 16 */
-add  (1) tmp_reg0.0<1>:D        tmp_reg0.0<0,1,0>:D -4:W {align1};     /* X offset */
-mov  (1) tmp_reg0.8<1>:UD       BLOCK_4X16 {align1};
-mov  (1) tmp_reg0.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (8) msg_reg0.0<1>:UD       tmp_reg0.0<8,8,1>:UD {align1};                
-send (8) msg_ind INEP_COL0<1>:UB null read(BIND_IDX_INEP, 0, 0, 4) mlen 1 rlen 2 {align1};
-        
-/*
- * VME message
- */
-/* m0 */        
-mul  (2) tmp_reg0.8<1>:UW       orig_xy_ub<2,2,1>:UB 16:UW {align1};    /* (x, y) * 16 */
-mov  (1) tmp_reg0.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (8) vme_msg_0.0<1>:UD      tmp_reg0.0<8,8,1>:UD {align1};
-
-/* m1 */
-mov  (1) intra_part_mask_ub<1>:UB LUMA_INTRA_8x8_DISABLE + LUMA_INTRA_4x4_DISABLE {align1};
-
-cmp.nz.f0.0 (1) null<1>:UW orig_x_ub<0,1,0>:UB 0:UW {align1};                                                   /* X != 0 */
-(f0.0) add (1) mb_intra_struct_ub<1>:UB mb_intra_struct_ub<0,1,0>:UB INTRA_PRED_AVAIL_FLAG_AE {align1};         /* A */
-
-cmp.nz.f0.0 (1) null<1>:UW orig_y_ub<0,1,0>:UB 0:UW {align1};                                                   /* Y != 0 */
-(f0.0) add (1) mb_intra_struct_ub<1>:UB mb_intra_struct_ub<0,1,0>:UB INTRA_PRED_AVAIL_FLAG_B {align1};          /* B */
-
-mul.nz.f0.0 (1) null<1>:UW orig_x_ub<0,1,0>:UB orig_y_ub<0,1,0>:UB {align1};                                    /* X * Y != 0 */
-(f0.0) add (1) mb_intra_struct_ub<1>:UB mb_intra_struct_ub<0,1,0>:UB INTRA_PRED_AVAIL_FLAG_D {align1};          /* D */
-
-add  (1) tmp_x_w<1>:W orig_x_ub<0,1,0>:UB 1:UW {align1};                                                        /* X + 1 */
-add  (1) tmp_x_w<1>:W w_in_mb_uw<0,1,0>:UW -tmp_x_w<0,1,0>:W {align1};                                          /* width - (X + 1) */
-mul.nz.f0.0 (1) null<1>:UD tmp_x_w<0,1,0>:W orig_y_ub<0,1,0>:UB {align1};                                       /* (width - (X + 1)) * Y != 0 */
-(f0.0) add (1) mb_intra_struct_ub<1>:UB mb_intra_struct_ub<0,1,0>:UB INTRA_PRED_AVAIL_FLAG_C {align1};          /* C */
-
-mov  (8) vme_msg_1<1>:UD        tmp_reg1.0<8,8,1>:UD {align1};
-
-/* m2 */        
-mov (8) vme_msg_2<1>:UD         0x0:UD {align1};
-        
-/* m3 */        
-mov  (8) vme_msg_3<1>:UD         INEP_ROW.0<8,8,1>:UD {align1};
-
-/* m4 */        
-mov  (8) vme_msg_4<1>:UD         0x0 {align1};
-mov (16) vme_msg_4.0<1>:UB       INEP_COL0.3<32,8,4>:UB {align1};
-mov  (1) vme_msg_4.16<1>:UD      INTRA_PREDICTORE_MODE {align1};
-        
-send (8)
-        vme_msg_ind
-        vme_wb
-        null
-        vme(
-                BIND_IDX_VME,
-                0,
-                0,
-                VME_MESSAGE_TYPE_INTRA
-        )
-        mlen vme_msg_length
-        rlen vme_intra_wb_length
-        {align1};
-
-/*
- * Oword Block Write message
- */
-mul  (1) tmp_reg3.8<1>:UD       w_in_mb_uw<0,1,0>:UW orig_y_ub<0,1,0>:UB {align1};
-add  (1) tmp_reg3.8<1>:UD       tmp_reg3.8<0,1,0>:UD orig_x_ub<0,1,0>:UB {align1};
-mov  (1) tmp_reg3.20<1>:UB      thread_id_ub {align1};                  /* dispatch id */
-mov  (8) msg_reg0.0<1>:UD       tmp_reg3<8,8,1>:UD {align1};
-        
-mov  (1) msg_reg1.0<1>:UD       vme_wb.0<0,1,0>:UD      {align1};
-mov  (1) msg_reg1.4<1>:UD       vme_wb.16<0,1,0>:UD     {align1};
-mov  (1) msg_reg1.8<1>:UD       vme_wb.20<0,1,0>:UD     {align1};
-mov  (1) msg_reg1.12<1>:UD      vme_wb.24<0,1,0>:UD     {align1};
-/* bind index 3, write 1 oword, msg type: 8(OWord Block Write) */
-send (16)
-        msg_ind
-        obw_wb
-        null
-        data_port(
-                OBW_CACHE_TYPE,
-                OBW_MESSAGE_TYPE,
-                OBW_CONTROL_0,
-                OBW_BIND_IDX,
-                OBW_WRITE_COMMIT_CATEGORY,
-                OBW_HEADER_PRESENT
-        )
-        mlen 2
-        rlen obw_wb_length
-        {align1};
-
-/*
- * kill thread
- */        
-mov  (8) msg_reg0<1>:UD         r0<8,8,1>:UD {align1};
-send (16) msg_ind acc0<1>UW null thread_spawner(0, 0, 1) mlen 1 rlen 0 {align1 EOT};
diff --git a/i965_drv_video/shaders/vme/intra_frame.g6a b/i965_drv_video/shaders/vme/intra_frame.g6a
deleted file mode 100644 (file)
index d39118c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-include(`gen6_vme_header.inc')
-include(`intra_frame.asm')
-
diff --git a/i965_drv_video/shaders/vme/intra_frame.g6b b/i965_drv_video/shaders/vme/intra_frame.g6b
deleted file mode 100644 (file)
index 90ee252..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-   { 0x00800001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00200041, 0x24002e25, 0x004500a0, 0x00100010 },
-   { 0x00000040, 0x24003ca5, 0x00000400, 0xfff8fff8 },
-   { 0x00000040, 0x24043ca5, 0x00000404, 0xffffffff },
-   { 0x00000001, 0x240800e1, 0x00000000, 0x0000001f },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d0400, 0x00000000 },
-   { 0x04600031, 0x22401cd1, 0x00000000, 0x02188004 },
-   { 0x00200041, 0x24002e25, 0x004500a0, 0x00100010 },
-   { 0x00000040, 0x24003ca5, 0x00000400, 0xfffcfffc },
-   { 0x00000001, 0x240800e1, 0x00000000, 0x000f0003 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d0400, 0x00000000 },
-   { 0x04600031, 0x22801cd1, 0x00000000, 0x02288004 },
-   { 0x00200041, 0x24082e29, 0x004500a0, 0x00100010 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d0400, 0x00000000 },
-   { 0x00000001, 0x243c00f1, 0x00000000, 0x00000006 },
-   { 0x02000010, 0x20002e28, 0x000000a0, 0x00000000 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000060 },
-   { 0x02000010, 0x20002e28, 0x000000a1, 0x00000000 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000010 },
-   { 0x02000041, 0x20004628, 0x000000a0, 0x000000a1 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000004 },
-   { 0x00000040, 0x24402e2d, 0x000000a0, 0x00010001 },
-   { 0x00000040, 0x2440352d, 0x000000a2, 0x00004440 },
-   { 0x02000041, 0x200045a0, 0x00000440, 0x000000a1 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000008 },
-   { 0x00600001, 0x20200022, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x20400062, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x20400022, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x206000e2, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x20600232, 0x00cf0283, 0x00000000 },
-   { 0x00000001, 0x20700062, 0x00000000, 0x11111111 },
-   { 0x08600031, 0x21801cdd, 0x00000000, 0x08184000 },
-   { 0x00000041, 0x24684521, 0x000000a2, 0x000000a1 },
-   { 0x00000040, 0x24684421, 0x00000468, 0x000000a0 },
-   { 0x00000001, 0x24740231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x20000022, 0x008d0460, 0x00000000 },
-   { 0x00000001, 0x20200022, 0x00000180, 0x00000000 },
-   { 0x00000001, 0x20240022, 0x00000190, 0x00000000 },
-   { 0x00000001, 0x20280022, 0x00000194, 0x00000000 },
-   { 0x00000001, 0x202c0022, 0x00000198, 0x00000000 },
-   { 0x05800031, 0x22001cdd, 0x00000000, 0x041b0003 },
-   { 0x00600001, 0x20000022, 0x008d0000, 0x00000000 },
-   { 0x07800031, 0x24001cc8, 0x00000000, 0x82000010 },
diff --git a/i965_drv_video/shaders/vme/intra_frame.g7a b/i965_drv_video/shaders/vme/intra_frame.g7a
deleted file mode 100644 (file)
index c43e739..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-include(`gen7_vme_header.inc')
-include(`intra_frame.asm')
diff --git a/i965_drv_video/shaders/vme/intra_frame.g7b b/i965_drv_video/shaders/vme/intra_frame.g7b
deleted file mode 100644 (file)
index cc063d8..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-   { 0x00800001, 0x24000061, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
-   { 0x00200041, 0x24002e25, 0x004500a0, 0x00100010 },
-   { 0x00000040, 0x24003ca5, 0x00000400, 0xfff8fff8 },
-   { 0x00000040, 0x24043ca5, 0x00000404, 0xffffffff },
-   { 0x00000001, 0x240800e1, 0x00000000, 0x0000001f },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
-   { 0x04600031, 0x22401cb1, 0x00000800, 0x02190004 },
-   { 0x00200041, 0x24002e25, 0x004500a0, 0x00100010 },
-   { 0x00000040, 0x24003ca5, 0x00000400, 0xfffcfffc },
-   { 0x00000001, 0x240800e1, 0x00000000, 0x000f0003 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
-   { 0x04600031, 0x22801cb1, 0x00000800, 0x02290004 },
-   { 0x00200041, 0x24082e29, 0x004500a0, 0x00100010 },
-   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
-   { 0x00000001, 0x243c00f1, 0x00000000, 0x00000006 },
-   { 0x02000010, 0x20002e28, 0x000000a0, 0x00000000 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000060 },
-   { 0x02000010, 0x20002e28, 0x000000a1, 0x00000000 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000010 },
-   { 0x02000041, 0x20004628, 0x000000a0, 0x000000a1 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000004 },
-   { 0x00000040, 0x24402e2d, 0x000000a0, 0x00010001 },
-   { 0x00000040, 0x2440352d, 0x000000a2, 0x00004440 },
-   { 0x02000041, 0x200045a0, 0x00000440, 0x000000a1 },
-   { 0x00010040, 0x243d1e31, 0x0000043d, 0x00000008 },
-   { 0x00600001, 0x28200021, 0x008d0420, 0x00000000 },
-   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
-   { 0x00600001, 0x28600021, 0x008d0240, 0x00000000 },
-   { 0x00600001, 0x288000e1, 0x00000000, 0x00000000 },
-   { 0x00800001, 0x28800231, 0x00cf0283, 0x00000000 },
-   { 0x00000001, 0x28900061, 0x00000000, 0x11111111 },
-   { 0x08600031, 0x21801cbd, 0x00000800, 0x0a184001 },
-   { 0x00000041, 0x24684521, 0x000000a2, 0x000000a1 },
-   { 0x00000040, 0x24684421, 0x00000468, 0x000000a0 },
-   { 0x00000001, 0x24740231, 0x00000014, 0x00000000 },
-   { 0x00600001, 0x28000021, 0x008d0460, 0x00000000 },
-   { 0x00000001, 0x28200021, 0x00000180, 0x00000000 },
-   { 0x00000001, 0x28240021, 0x00000190, 0x00000000 },
-   { 0x00000001, 0x28280021, 0x00000194, 0x00000000 },
-   { 0x00000001, 0x282c0021, 0x00000198, 0x00000000 },
-   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0000 },
-   { 0x00600001, 0x28000021, 0x008d0000, 0x00000000 },
-   { 0x07800031, 0x24001ca8, 0x00000800, 0x82000010 },