Shader for MPEG-2 encoding
authorXiang, Haihao <haihao.xiang@intel.com>
Mon, 3 Dec 2012 05:18:11 +0000 (13:18 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 14 Dec 2012 08:00:01 +0000 (16:00 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
src/gen75_vme.c
src/shaders/vme/Makefile.am
src/shaders/vme/mpeg2_inter_frame_haswell.g75a [new file with mode: 0644]
src/shaders/vme/mpeg2_inter_frame_haswell.g75b [new file with mode: 0644]
src/shaders/vme/mpeg2_inter_frame_haswell.gen75.asm [new file with mode: 0644]
src/shaders/vme/vme75_mpeg2.inc [new file with mode: 0644]

index 1bbcc37..3a9adb2 100644 (file)
@@ -103,7 +103,7 @@ static const uint32_t gen75_vme_mpeg2_intra_frame[][4] = {
 };
 
 static const uint32_t gen75_vme_mpeg2_inter_frame[][4] = {
-#include "shaders/vme/inter_frame_haswell.g75b"
+#include "shaders/vme/mpeg2_inter_frame_haswell.g75b"
 };
 
 static const uint32_t gen75_vme_mpeg2_batchbuffer[][4] = {
index 426b62f..ca74e40 100644 (file)
@@ -11,9 +11,9 @@ INTEL_G7A     = batchbuffer.g7a intra_frame.g7a inter_frame.g7a
 INTEL_GEN7_INC = batchbuffer.inc vme.inc
 INTEL_GEN7_ASM = $(INTEL_G7A:%.g7a=%.gen7.asm)
 
-INTEL_G75B     = batchbuffer.g75b intra_frame_haswell.g75b inter_frame_haswell.g75b
-INTEL_G75A     = batchbuffer.g75a intra_frame_haswell.g75a inter_frame_haswell.g75a
-INTEL_GEN75_INC        = batchbuffer.inc vme75.inc
+INTEL_G75B     = batchbuffer.g75b intra_frame_haswell.g75b inter_frame_haswell.g75b mpeg2_inter_frame_haswell.g75b
+INTEL_G75A     = batchbuffer.g75a intra_frame_haswell.g75a inter_frame_haswell.g75a mpeg2_inter_frame_haswell.g75a
+INTEL_GEN75_INC        = batchbuffer.inc vme75.inc vme75_mpeg2.inc
 INTEL_GEN75_ASM        = $(INTEL_G75A:%.g75a=%.gen75.asm)
 
 TARGETS  =
diff --git a/src/shaders/vme/mpeg2_inter_frame_haswell.g75a b/src/shaders/vme/mpeg2_inter_frame_haswell.g75a
new file mode 100644 (file)
index 0000000..662c76f
--- /dev/null
@@ -0,0 +1,3 @@
+#include "vme75.inc"
+#include "vme75_mpeg2.inc"
+#include "inter_frame_haswell.asm"
diff --git a/src/shaders/vme/mpeg2_inter_frame_haswell.g75b b/src/shaders/vme/mpeg2_inter_frame_haswell.g75b
new file mode 100644 (file)
index 0000000..7746de0
--- /dev/null
@@ -0,0 +1,151 @@
+   { 0x00800001, 0x24000061, 0x00000000, 0x00000000 },
+   { 0x00800001, 0x24400061, 0x00000000, 0x00000000 },
+   { 0x00800001, 0x24800061, 0x00000000, 0x00000000 },
+   { 0x00800001, 0x24c00061, 0x00000000, 0x00000000 },
+   { 0x00200009, 0x24002e25, 0x004500a0, 0x00040004 },
+   { 0x00000040, 0x24003ca5, 0x00000400, 0xfff8fff8 },
+   { 0x00000040, 0x24043ca5, 0x00000404, 0xffffffff },
+   { 0x00000001, 0x240800e1, 0x00000000, 0x0000001f },
+   { 0x00000001, 0x24140231, 0x00000014, 0x00000000 },
+   { 0x00200009, 0x24202e25, 0x004500a0, 0x00040004 },
+   { 0x00000040, 0x24203ca5, 0x00000420, 0xfffcfffc },
+   { 0x00000001, 0x242800e1, 0x00000000, 0x000f0003 },
+   { 0x00000001, 0x24340231, 0x00000014, 0x00000000 },
+   { 0x00200009, 0x24482e29, 0x004500a0, 0x00040004 },
+   { 0x00000001, 0x24540231, 0x00000014, 0x00000000 },
+   { 0x00000041, 0x24884521, 0x000000a2, 0x000000a1 },
+   { 0x00000040, 0x24884421, 0x00000488, 0x000000a0 },
+   { 0x00000041, 0x24880c21, 0x00000488, 0x00000018 },
+   { 0x00000001, 0x24940231, 0x00000014, 0x00000000 },
+   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
+   { 0x04600031, 0x23801cb1, 0x00000800, 0x02190004 },
+   { 0x00600001, 0x28000021, 0x008d0420, 0x00000000 },
+   { 0x04600031, 0x23a01cb1, 0x00000800, 0x02290004 },
+   { 0x00200009, 0x24002e25, 0x004500a0, 0x00030003 },
+   { 0x00000041, 0x24003ca5, 0x00000400, 0x00020002 },
+   { 0x00000040, 0x24003ca5, 0x00000400, 0xfff8fff8 },
+   { 0x00000040, 0x24043ca5, 0x00000404, 0xffffffff },
+   { 0x00600001, 0x28000021, 0x008d0400, 0x00000000 },
+   { 0x04600031, 0x26001cb1, 0x00000800, 0x02190006 },
+   { 0x00200009, 0x24202e25, 0x004500a0, 0x00030003 },
+   { 0x00000041, 0x24203ca5, 0x00000420, 0x00020002 },
+   { 0x00000040, 0x24203ca5, 0x00000420, 0xfffcfffc },
+   { 0x00000001, 0x242800e1, 0x00000000, 0x00070003 },
+   { 0x00600001, 0x28000021, 0x008d0420, 0x00000000 },
+   { 0x04600031, 0x26201cb1, 0x00000800, 0x02190006 },
+   { 0x00600001, 0x25600021, 0x008d0020, 0x00000000 },
+   { 0x00600001, 0x28400021, 0x008d0560, 0x00000000 },
+   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
+   { 0x00000001, 0x23800061, 0x00000000, 0x00000000 },
+   { 0x00000005, 0x23840c21, 0x00000384, 0xff000000 },
+   { 0x00600001, 0x28800021, 0x008d0380, 0x00000000 },
+   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
+   { 0x00800001, 0x28a00231, 0x00cf03a3, 0x00000000 },
+   { 0x00000001, 0x28b00061, 0x00000000, 0x11111111 },
+   { 0x00000001, 0x28bc0061, 0x00000000, 0x00010101 },
+   { 0x00000001, 0x28b40129, 0x00000606, 0x00000000 },
+   { 0x00400001, 0x28d00021, 0x00690608, 0x00000000 },
+   { 0x00600001, 0x28c00129, 0x00ae0622, 0x00000000 },
+   { 0x00600001, 0x28000021, 0x008d0440, 0x00000000 },
+   { 0x00000001, 0x24000169, 0x00000000, 0x00010001 },
+   { 0x00000001, 0x28850231, 0x00000400, 0x00000000 },
+   { 0x00000001, 0x247c0169, 0x00000000, 0x00000000 },
+   { 0x01000005, 0x20002e28, 0x000000a4, 0x00010001 },
+   { 0x00010001, 0x247c00f1, 0x00000000, 0x00000002 },
+   { 0x00000001, 0x247d0231, 0x000000a5, 0x00000000 },
+   { 0x00000001, 0x24000169, 0x00000000, 0x00200020 },
+   { 0x00000001, 0x247e0231, 0x00000400, 0x00000000 },
+   { 0x00000001, 0x244c0061, 0x00000000, 0x00800000 },
+   { 0x00600001, 0x28000021, 0x008d0440, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
+   { 0x0d600031, 0x21801ca1, 0x00000800, 0x0e782000 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00000001, 0x28200021, 0x00000180, 0x00000000 },
+   { 0x00000001, 0x28240021, 0x00000190, 0x00000000 },
+   { 0x00000001, 0x28280021, 0x00000194, 0x00000000 },
+   { 0x00000001, 0x282c0021, 0x00000198, 0x00000000 },
+   { 0x00000001, 0x28300129, 0x0000018c, 0x00000000 },
+   { 0x00000001, 0x28340021, 0x00000188, 0x00000000 },
+   { 0x00000001, 0x28380021, 0x0000019c, 0x00000000 },
+   { 0x00000001, 0x283c0021, 0x00000488, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0203 },
+   { 0x00000001, 0x244c0061, 0x00000000, 0x7e200000 },
+   { 0x00000001, 0x24560169, 0x00000000, 0x28302830 },
+   { 0x00000001, 0x24400021, 0x00000448, 0x00000000 },
+   { 0x00000040, 0x24403dad, 0x00000440, 0xfff0fff0 },
+   { 0x00000040, 0x24423dad, 0x00000442, 0xfff4fff4 },
+   { 0x00000001, 0x244001ed, 0x00000000, 0xfff0fff0 },
+   { 0x00000001, 0x244201ed, 0x00000000, 0xfff4fff4 },
+   { 0x00000001, 0x24440021, 0x00000440, 0x00000000 },
+   { 0x00600001, 0x28000021, 0x008d0440, 0x00000000 },
+   { 0x00000001, 0x24600061, 0x00000000, 0x00000002 },
+   { 0x00000001, 0x24640231, 0x0000009c, 0x00000000 },
+   { 0x00000001, 0x24680061, 0x00000000, 0x30003030 },
+   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
+   { 0x00600001, 0x28400021, 0x008d0560, 0x00000000 },
+   { 0x00000001, 0x28600061, 0x00000000, 0x01010101 },
+   { 0x00000001, 0x28640061, 0x00000000, 0x10010101 },
+   { 0x00000001, 0x28680061, 0x00000000, 0x0f0f0f0f },
+   { 0x00000001, 0x286c0061, 0x00000000, 0x100f0f0f },
+   { 0x00000001, 0x28700061, 0x00000000, 0x01010101 },
+   { 0x00000001, 0x28740061, 0x00000000, 0x10010101 },
+   { 0x00000001, 0x28780061, 0x00000000, 0x0f0f0f0f },
+   { 0x00000001, 0x287c0061, 0x00000000, 0x100f0f0f },
+   { 0x00000001, 0x28800061, 0x00000000, 0x01010101 },
+   { 0x00000001, 0x28840061, 0x00000000, 0x10010101 },
+   { 0x00000001, 0x28880061, 0x00000000, 0x0f0f0f0f },
+   { 0x00000001, 0x288c0061, 0x00000000, 0x000f0f0f },
+   { 0x00400001, 0x28900061, 0x00000000, 0x00000000 },
+   { 0x08600031, 0x21801ca1, 0x00000800, 0x0a784000 },
+   { 0x00000001, 0x25740061, 0x00000000, 0x00000000 },
+   { 0x00000001, 0x25750231, 0x00000199, 0x00000000 },
+   { 0x00000001, 0x25760231, 0x0000019a, 0x00000000 },
+   { 0x00000005, 0x24002d29, 0x00000180, 0x00030003 },
+   { 0x00000001, 0x25740231, 0x00000400, 0x00000000 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000002 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00000001, 0x28200021, 0x00000180, 0x00000000 },
+   { 0x00000001, 0x28240021, 0x00000198, 0x00000000 },
+   { 0x00000001, 0x28280021, 0x00000188, 0x00000000 },
+   { 0x00000001, 0x282c0021, 0x00000488, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0003 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000001 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d01a0, 0x00000000 },
+   { 0x00600001, 0x28400021, 0x008d01c0, 0x00000000 },
+   { 0x00600001, 0x28600021, 0x008d01e0, 0x00000000 },
+   { 0x00600001, 0x28800021, 0x008d0200, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x0a0a0403 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000008 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d0240, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0203 },
+   { 0x00600001, 0x28600021, 0x008d01a0, 0x00000000 },
+   { 0x00600001, 0x28800021, 0x008d01c0, 0x00000000 },
+   { 0x00600001, 0x28a00021, 0x008d01e0, 0x00000000 },
+   { 0x00600001, 0x28c00021, 0x008d0200, 0x00000000 },
+   { 0x00000001, 0x244c0061, 0x00000000, 0x00243000 },
+   { 0x00600001, 0x28000021, 0x008d0440, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d0460, 0x00000000 },
+   { 0x00600001, 0x28400021, 0x008d0560, 0x00000000 },
+   { 0x0d600031, 0x21801ca1, 0x00000800, 0x0e786000 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000002 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00000001, 0x28200021, 0x00000180, 0x00000000 },
+   { 0x00000001, 0x28240021, 0x00000198, 0x00000000 },
+   { 0x00000001, 0x28280021, 0x00000188, 0x00000000 },
+   { 0x00000001, 0x282c0021, 0x00000574, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0003 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000001 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d01a0, 0x00000000 },
+   { 0x00600001, 0x28400021, 0x008d01c0, 0x00000000 },
+   { 0x00600001, 0x28600021, 0x008d01e0, 0x00000000 },
+   { 0x00600001, 0x28800021, 0x008d0200, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x0a0a0403 },
+   { 0x00000040, 0x24880c21, 0x00000488, 0x00000008 },
+   { 0x00600001, 0x28000021, 0x008d0480, 0x00000000 },
+   { 0x00600001, 0x28200021, 0x008d0240, 0x00000000 },
+   { 0x0a800031, 0x20001cac, 0x00000800, 0x040a0203 },
+   { 0x00600001, 0x2e000021, 0x008d0000, 0x00000000 },
+   { 0x07800031, 0x24001ca8, 0x00000e00, 0x82000010 },
diff --git a/src/shaders/vme/mpeg2_inter_frame_haswell.gen75.asm b/src/shaders/vme/mpeg2_inter_frame_haswell.gen75.asm
new file mode 100644 (file)
index 0000000..964eb37
--- /dev/null
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__INTRA_START:
+mov (16) r32.0<1>:UD 0x0:UD {align1};
+mov (16) r34.0<1>:UD 0x0:UD {align1};
+mov (16) r36.0<1>:UD 0x0:UD {align1} ;
+mov (16) r38.0<1>:UD 0x0:UD {align1} ;
+shl (2) r32.0<1>:D r5.0<2,2,1>:UB 4:UW {align1};
+add (1) r32.0<1>:D r32.0<0,1,0>:D -8:W {align1};
+add (1) r32.4<1>:D r32.4<0,1,0>:D -1:W {align1};
+mov (1) r32.8<1>:UD 0x0000001F {align1};
+mov (1) r32.20<1>:UB r0.20<0,1,0>:UB {align1};
+shl (2) r33.0<1>:D r5.0<2,2,1>:UB 4:UW {align1};
+add (1) r33.0<1>:D r33.0<0,1,0>:D -4:W {align1};
+mov (1) r33.8<1>:UD 0x000F0003 {align1};
+mov (1) r33.20<1>:UB r0.20<0,1,0>:UB {align1};
+shl (2) r34.8<1>:UW r5.0<2,2,1>:UB 4:UW {align1};
+mov (1) r34.20<1>:UB r0.20<0,1,0>:UB {align1};
+mul (1) r36.8<1>:UD r5.2<0,1,0>:UW r5.1<0,1,0>:UB {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD r5.0<0,1,0>:UB {align1};
+mul (1) r36.8<1>:UD r36.8<0,1,0>:UD 24:UD {align1};
+mov (1) r36.20<1>:UB r0.20<0,1,0>:UB {align1};
+mov (8) r64.0<1>:UD r32.0<8,8,1>:UD {align1};
+send (8) 64 r28<1>:UB null read(4, 0, 0, 4) mlen 1 rlen 1 {align1};
+mov (8) r64.0<1>:UD r33.0<8,8,1>:UD {align1};
+send (8) 64 r29<1>:UB null read(4, 0, 0, 4) mlen 1 rlen 2 {align1};
+shl (2) r32.0<1>:D r5.0<2,2,1>:UB 3:UW {align1};
+mul (1) r32.0<1>:D r32.0<0,1,0>:D 2:W {align1};
+add (1) r32.0<1>:D r32.0<0,1,0>:D -8:W {align1};
+add (1) r32.4<1>:D r32.4<0,1,0>:D -1:W {align1};
+mov (8) r64.0<1>:UD r32.0<8,8,1>:UD {align1};
+send (8) 64 r48<1>:UB null read(6, 0, 0, 4) mlen 1 rlen 1 {align1};
+shl (2) r33.0<1>:D r5.0<2,2,1>:UB 3:UW {align1};
+mul (1) r33.0<1>:D r33.0<0,1,0>:D 2:W {align1};
+add (1) r33.0<1>:D r33.0<0,1,0>:D -4:W {align1};
+mov (1) r33.8<1>:UD 0x00070003 {align1};
+mov (8) r64.0<1>:UD r33.0<8,8,1>:UD {align1};
+send (8) 64 r49<1>:UB null read(6, 0, 0, 4) mlen 1 rlen 1 {align1};
+mov (8) r43<1>:UD r1.0<8,8,1>:UD {align1};
+mov (8) r66<1>:UD r43.0<8,8,1>:UD {align1};
+mov (8) r67<1>:UD 0x0:UD {align1};
+mov (1) r28.0<1>:UD 0x0:UD {align1};
+and (1) r28.4<1>:UD r28.4<0,1,0>:UD 0xFF000000:UD {align1};
+mov (8) r68<1>:UD r28.0<8,8,1>:UD {align1};
+mov (8) r69<1>:UD 0x0:UD {align1};
+mov (16) r69.0<1>:UB r29.3<32,8,4>:UB {align1};
+mov (1) r69.16<1>:UD 0x11111111:UD {align1};
+mov (1) r69.28<1>:UD 0x010101:UD {align1};
+mov (1) r69.20<1>:UW r48.6<0,1,0>:UW {align1};
+mov (4) r70.16<1>:UD r48.8<4,4,1>:UD {align1};
+mov (8) r70.0<1>:UW r49.2<16,8,2>:UW {align1};
+mov (8) r64.0<1>:UD r34.0<8,8,1>:UD {align1};
+mov (1) r32.0<1>:UW 0x1:UW {align1};
+mov (1) r68.5<1>:UB r32.0<0,1,0>:UB {align1};
+mov (1) r35.28<1>:UW 0x0:UW {align1} ;
+and.z.f0.0 (1) null<1>:UW r5.4<0,1,0>:UB 1:UW {align1};
+(f0.0) mov (1) r35.28<1>:UB 0x2 {align1};
+mov (1) r35.29<1>:UB r5.5<0,1,0>:UB {align1};
+mov (1) r32.0<1>:UW 0x0020:UW {align1};
+mov (1) r35.30<1>:UB r32.0<0,1,0>:UB {align1};
+mov (1) r34.12<1>:UD 0x00800000:UD {align1};
+mov (8) r64.0<1>:UD r34.0<8,8,1>:UD {align1};
+mov (8) r65<1>:UD r35.0<8,8,1>:UD {align1};
+send (8)
+        64
+        r12<1>:UD
+        null
+        cre(
+                0,
+                1
+        )
+        mlen 7
+        rlen 7
+        {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (1) r65.0<1>:UD r12.0<0,1,0>:UD {align1};
+mov (1) r65.4<1>:UD r12.16<0,1,0>:UD {align1};
+mov (1) r65.8<1>:UD r12.20<0,1,0>:UD {align1};
+mov (1) r65.12<1>:UD r12.24<0,1,0>:UD {align1};
+mov (1) r65.16<1>:UW r12.12<0,1,0>:UW {align1};
+mov (1) r65.20<1>:UD r12.8<0,1,0>:UD {align1};
+mov (1) r65.24<1>:UD r12.28<0,1,0>:UD {align1};
+mov (1) r65.28<1>:UD r36.8<0,1,0>:UD {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                2,
+                3,
+                0,
+                1
+        )
+        mlen 2
+        rlen 0
+        {align1};
+mov (1) r34.12<1>:UD 0x00000000 + 0x7e000000 + 0x00200000:UD {align1};
+mov (1) r34.22<1>:UW 0x2830:UW {align1};
+mov (1) r34.0<1>:UD r34.8<0,1,0>:UD {align1};
+add (1) r34.0<1>:W r34.0<0,1,0>:W -16:W {align1};
+add (1) r34.2<1>:W r34.2<0,1,0>:W -12:W {align1};
+mov (1) r34.0<1>:W -16:W {align1};
+mov (1) r34.2<1>:W -12:W {align1};
+mov (1) r34.4<1>:UD r34.0<0,1,0>:UD {align1};
+mov (8) r64.0<1>:UD r34.0<8,8,1>:UD {align1};
+mov (1) r35.0<1>:UD 0x00000002:ud {align1} ;
+mov (1) r35.4<1>:UB r4.28<0,1,0>:UB {align1};
+mov (1) r35.8<1>:UD 0x30000000 + 0x00003030:UD {align1};
+mov (8) r65.0<1>:UD r35.0<8,8,1>:UD {align1};
+mov (8) r66<1>:UD r43.0<8,8,1>:UD {align1};
+mov (1) r67.0<1>:UD 0x01010101:UD {align1};
+mov (1) r67.4<1>:UD 0x10010101:UD {align1};
+mov (1) r67.8<1>:UD 0x0F0F0F0F:UD {align1};
+mov (1) r67.12<1>:UD 0x100F0F0F:UD {align1};
+mov (1) r67.16<1>:UD 0x01010101:UD {align1};
+mov (1) r67.20<1>:UD 0x10010101:UD {align1};
+mov (1) r67.24<1>:UD 0x0F0F0F0F:UD {align1};
+mov (1) r67.28<1>:UD 0x100F0F0F:UD {align1};
+mov (1) r68.0<1>:UD 0x01010101:UD {align1};
+mov (1) r68.4<1>:UD 0x10010101:UD {align1};
+mov (1) r68.8<1>:UD 0x0F0F0F0F:UD {align1};
+mov (1) r68.12<1>:UD 0x000F0F0F:UD {align1};
+mov (4) r68.16<1>:UD 0x0:UD {align1};
+send (8)
+        64
+        r12<1>:UD
+        null
+        vme(
+                0,
+                0,
+                0,
+                2
+        )
+        mlen 5
+        rlen 7 {align1};
+mov (1) r43.20<1>:UD 0x0:UD {align1};
+mov (1) r43.21<1>:UB r12.25<0,1,0>:UB {align1};
+mov (1) r43.22<1>:UB r12.26<0,1,0>:UB {align1};
+and (1) r32.0<1>:UW r12.0<0,1,0>:UW 0x03:UW {align1};
+mov (1) r43.20<1>:UB r32.0<0,1,0>:UB {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x02:UD {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (1) r65.0<1>:UD r12.0<0,1,0>:UD {align1};
+mov (1) r65.4<1>:UD r12.24<0,1,0>:UD {align1};
+mov (1) r65.8<1>:UD r12.8<0,1,0>:UD {align1};
+mov (1) r65.12<1>:UD r36.8<0,1,0>:UD {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                0,
+                3,
+                0,
+                1
+        )
+        mlen 2
+        rlen 0
+        {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x01:UD {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (8) r65.0<1>:UD r13.0<8,8,1>:UD {align1};
+mov (8) r66.0<1>:ud r14.0<8,8,1>:ud {align1};
+mov (8) r67.0<1>:ud r15.0<8,8,1>:ud {align1};
+mov (8) r68.0<1>:ud r16.0<8,8,1>:ud {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                4,
+                3,
+                0,
+                1
+        )
+        mlen 5
+        rlen 0
+        {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x08:UD {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (8) r65.0<1>:UD r18.0<8,8,1>:UD {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                2,
+                3,
+                0,
+                1
+        )
+        mlen 2
+        rlen 0
+        {align1};
+mov (8) r67.0<1>:UD r13.0<8,8,1>:UD {align1};
+mov (8) r68.0<1>:ud r14.0<8,8,1>:ud {align1};
+mov (8) r69.0<1>:ud r15.0<8,8,1>:ud {align1};
+mov (8) r70.0<1>:ud r16.0<8,8,1>:ud {align1};
+mov (1) r34.12<1>:UD 0x00200000 + 0x00003000 + 0x00040000:UD {align1};
+mov (8) r64.0<1>:UD r34.0<8,8,1>:UD {align1};
+mov (8) r65.0<1>:UD r35.0<8,8,1>:UD {align1};
+mov (8) r66.0<1>:UD r43.0<8,8,1>:UD {align1};
+send (8)
+        64
+        r12<1>:UD
+        null
+        cre(
+                0,
+                3
+        )
+        mlen 7
+        rlen 7
+        {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x02:UD {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (1) r65.0<1>:UD r12.0<0,1,0>:UD {align1};
+mov (1) r65.4<1>:UD r12.24<0,1,0>:UD {align1};
+mov (1) r65.8<1>:UD r12.8<0,1,0>:UD {align1};
+mov (1) r65.12<1>:UD r43.20<0,1,0>:UD {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                0,
+                3,
+                0,
+                1
+        )
+        mlen 2
+        rlen 0
+        {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x01:UD {align1};
+mov (8) r64.0<1>:UD r36.0<8,8,1>:UD {align1};
+mov (8) r65.0<1>:UD r13.0<8,8,1>:UD {align1};
+mov (8) r66.0<1>:ud r14.0<8,8,1>:ud {align1};
+mov (8) r67.0<1>:ud r15.0<8,8,1>:ud {align1};
+mov (8) r68.0<1>:ud r16.0<8,8,1>:ud {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                4,
+                3,
+                0,
+                1
+        )
+        mlen 5
+        rlen 0
+        {align1};
+add (1) r36.8<1>:UD r36.8<0,1,0>:UD 0x08:UD {align1};
+mov (8) r64.0<1>:UD r36<8,8,1>:UD {align1};
+mov (8) r65.0<1>:UD r18.0<8,8,1>:UD {align1};
+send (16)
+        64
+        null<1>:W
+        null
+        data_port(
+                10,
+                8,
+                2,
+                3,
+                0,
+                1
+        )
+        mlen 2
+        rlen 0
+        {align1};
+__EXIT:
+mov (8) r112<1>:UD r0<8,8,1>:UD {align1};
+send (16) 112 acc0<1>UW null thread_spawner(0, 0, 1) mlen 1 rlen 0 {align1 EOT};
diff --git a/src/shaders/vme/vme75_mpeg2.inc b/src/shaders/vme/vme75_mpeg2.inc
new file mode 100644 (file)
index 0000000..9b877ac
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * 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(`INTER_PART_MASK',               `0x7e000000')