i965_drv_video: shaders for post processing on SandyBridge
authorXiang, Haihao <haihao.xiang@intel.com>
Thu, 10 Mar 2011 05:56:31 +0000 (13:56 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Thu, 10 Mar 2011 05:56:31 +0000 (13:56 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
13 files changed:
shaders/post_processing/Common/Multiple_Loop.asm
shaders/post_processing/Core_Kernels/PL2_AVS_IEF_Unpack_16x8.asm
shaders/post_processing/Makefile.am
shaders/post_processing/null.g6a [new file with mode: 0644]
shaders/post_processing/null.g6b [new file with mode: 0644]
shaders/post_processing/nv12_avs_nv12.g4b.gen5
shaders/post_processing/nv12_avs_nv12.g6b [new file with mode: 0644]
shaders/post_processing/nv12_dndi_nv12.g4b.gen5
shaders/post_processing/nv12_dndi_nv12.g6b [new file with mode: 0644]
shaders/post_processing/nv12_load_save_nv12.g4b.gen5
shaders/post_processing/nv12_load_save_nv12.g6b [new file with mode: 0644]
shaders/post_processing/nv12_scaling_nv12.g4b.gen5
shaders/post_processing/nv12_scaling_nv12.g6b [new file with mode: 0644]

index 8a9fd96..324e134 100644 (file)
@@ -39,7 +39,7 @@ VIDEO_PROCESSING_LOOP:
 
        // Reached multi-block width?
        add                     (1)     wORIX:w         wORIX:w         16:w
-       cmp.l.f0.1      (1)     null:w          acc0.0:w        wFRAME_ENDX:w   // acc0.0 has wORIX
+       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
index 6c994c1..6e67557 100644 (file)
     } 
 
     // Move 1st 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(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(8,1)<16;4,2>      
-    mov (8) uwDEST_U(5)<1>           ubAVS_RESPONSE(8,8+1)<16;4,2>    
-    mov (8) uwDEST_U(6)<1>           ubAVS_RESPONSE(9,1)<16;4,2>      
-    mov (8) uwDEST_U(7)<1>           ubAVS_RESPONSE(9,8+1)<16;4,2>    
+    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_V(0)<1>           ubAVS_RESPONSE(6,1)<16;4,2>      
-    mov (8) uwDEST_V(1)<1>           ubAVS_RESPONSE(6,8+1)<16;4,2>    
-    mov (8) uwDEST_V(2)<1>           ubAVS_RESPONSE(7,1)<16;4,2>      
-    mov (8) uwDEST_V(3)<1>           ubAVS_RESPONSE(7,8+1)<16;4,2>    
-    mov (8) uwDEST_V(4)<1>           ubAVS_RESPONSE(10,1)<16;4,2>     
-    mov (8) uwDEST_V(5)<1>           ubAVS_RESPONSE(10,8+1)<16;4,2>   
-    mov (8) uwDEST_V(6)<1>           ubAVS_RESPONSE(11,1)<16;4,2>     
-    mov (8) uwDEST_V(7)<1>           ubAVS_RESPONSE(11,8+1)<16;4,2>   
+    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) {
     } 
 
     // Move 2st 8x8 words of U to dest GRF  (Copy high byte in a word)
-    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(8,1)<16;4,2>      
-    mov (8) uwDEST_U(5,8)<1>         ubAVS_RESPONSE_2(8,8+1)<16;4,2>    
-    mov (8) uwDEST_U(6,8)<1>         ubAVS_RESPONSE_2(9,1)<16;4,2>      
-    mov (8) uwDEST_U(7,8)<1>         ubAVS_RESPONSE_2(9,8+1)<16;4,2>    
+    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_V(0,8)<1>         ubAVS_RESPONSE_2(6,1)<16;4,2>      
-    mov (8) uwDEST_V(1,8)<1>         ubAVS_RESPONSE_2(6,8+1)<16;4,2>    
-    mov (8) uwDEST_V(2,8)<1>         ubAVS_RESPONSE_2(7,1)<16;4,2>      
-    mov (8) uwDEST_V(3,8)<1>         ubAVS_RESPONSE_2(7,8+1)<16;4,2>    
-    mov (8) uwDEST_V(4,8)<1>         ubAVS_RESPONSE_2(10,1)<16;4,2>     
-    mov (8) uwDEST_V(5,8)<1>         ubAVS_RESPONSE_2(10,8+1)<16;4,2>   
-    mov (8) uwDEST_V(6,8)<1>         ubAVS_RESPONSE_2(11,1)<16;4,2>     
-    mov (8) uwDEST_V(7,8)<1>         ubAVS_RESPONSE_2(11,8+1)<16;4,2>   
+    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
index 85c3081..e5af86b 100644 (file)
@@ -7,12 +7,22 @@ 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        \
@@ -97,10 +107,13 @@ EXTRA_DIST = $(INTEL_G4I)  \
 
 if HAVE_GEN4ASM
 
-SUFFIXES = .g4a .g4b
+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)
@@ -110,10 +123,20 @@ $(INTEL_PP_G4B_GEN5): $(INTEL_PP_ASM)
        intel-gen4asm -a -o $@ -g 5 _pp1.asm; \
        rm _pp0.asm _pp1.asm
 
-BUILT_SOURCES= $(INTEL_G4B) $(INTEL_PP_G4B_GEN5)
+$(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/shaders/post_processing/null.g6a b/shaders/post_processing/null.g6a
new file mode 100644 (file)
index 0000000..cde124a
--- /dev/null
@@ -0,0 +1,3 @@
+/* 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/shaders/post_processing/null.g6b b/shaders/post_processing/null.g6b
new file mode 100644 (file)
index 0000000..e52415c
--- /dev/null
@@ -0,0 +1 @@
+   { 0x07800031, 0x24001cc8, 0x00000000, 0x82000000 },
index b2a9e85..1fa4261 100644 (file)
    { 0x00600001, 0x21e00229, 0x00aa0589, 0x00000000 },
    { 0x00600001, 0x22000229, 0x00aa05a1, 0x00000000 },
    { 0x00600001, 0x22200229, 0x00aa05a9, 0x00000000 },
-   { 0x00600001, 0x22400229, 0x00aa05c1, 0x00000000 },
-   { 0x00600001, 0x22600229, 0x00aa05c9, 0x00000000 },
-   { 0x00600001, 0x22800229, 0x00aa05e1, 0x00000000 },
-   { 0x00600001, 0x22a00229, 0x00aa05e9, 0x00000000 },
-   { 0x00600001, 0x22c00229, 0x00aa0641, 0x00000000 },
-   { 0x00600001, 0x22e00229, 0x00aa0649, 0x00000000 },
-   { 0x00600001, 0x23000229, 0x00aa0661, 0x00000000 },
-   { 0x00600001, 0x23200229, 0x00aa0669, 0x00000000 },
-   { 0x00600001, 0x23400229, 0x00aa0601, 0x00000000 },
-   { 0x00600001, 0x23600229, 0x00aa0609, 0x00000000 },
-   { 0x00600001, 0x23800229, 0x00aa0621, 0x00000000 },
-   { 0x00600001, 0x23a00229, 0x00aa0629, 0x00000000 },
-   { 0x00600001, 0x23c00229, 0x00aa0681, 0x00000000 },
-   { 0x00600001, 0x23e00229, 0x00aa0689, 0x00000000 },
-   { 0x00600001, 0x24000229, 0x00aa06a1, 0x00000000 },
-   { 0x00600001, 0x24200229, 0x00aa06a9, 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, 0x21f00229, 0x00aa0789, 0x00000000 },
    { 0x00600001, 0x22100229, 0x00aa07a1, 0x00000000 },
    { 0x00600001, 0x22300229, 0x00aa07a9, 0x00000000 },
-   { 0x00600001, 0x22500229, 0x00aa07c1, 0x00000000 },
-   { 0x00600001, 0x22700229, 0x00aa07c9, 0x00000000 },
-   { 0x00600001, 0x22900229, 0x00aa07e1, 0x00000000 },
-   { 0x00600001, 0x22b00229, 0x00aa07e9, 0x00000000 },
-   { 0x00600001, 0x22d00229, 0x00aa0841, 0x00000000 },
-   { 0x00600001, 0x22f00229, 0x00aa0849, 0x00000000 },
-   { 0x00600001, 0x23100229, 0x00aa0861, 0x00000000 },
-   { 0x00600001, 0x23300229, 0x00aa0869, 0x00000000 },
-   { 0x00600001, 0x23500229, 0x00aa0801, 0x00000000 },
-   { 0x00600001, 0x23700229, 0x00aa0809, 0x00000000 },
-   { 0x00600001, 0x23900229, 0x00aa0821, 0x00000000 },
-   { 0x00600001, 0x23b00229, 0x00aa0829, 0x00000000 },
-   { 0x00600001, 0x23d00229, 0x00aa0881, 0x00000000 },
-   { 0x00600001, 0x23f00229, 0x00aa0889, 0x00000000 },
-   { 0x00600001, 0x24100229, 0x00aa08a1, 0x00000000 },
-   { 0x00600001, 0x24300229, 0x00aa08a9, 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 },
@@ -90,7 +90,7 @@
    { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
    { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
    { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x028d00b8, 0x00000000 },
+   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
    { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
    { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
    { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
    { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
    { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
    { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x2000358c, 0x02210400, 0x00000084 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
    { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
    { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
    { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
diff --git a/shaders/post_processing/nv12_avs_nv12.g6b b/shaders/post_processing/nv12_avs_nv12.g6b
new file mode 100644 (file)
index 0000000..7e1dfc3
--- /dev/null
@@ -0,0 +1,235 @@
+   { 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 },
index 1f60f3f..6c0474d 100644 (file)
@@ -73,7 +73,7 @@
    { 0x01600031, 0x20000c04, 0x508d0000, 0x04082008 },
    { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
    { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x2000358c, 0x02210400, 0x00000084 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
    { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
    { 0x00010220, 0x34001c00, 0x02001400, 0xffffff70 },
    { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
diff --git a/shaders/post_processing/nv12_dndi_nv12.g6b b/shaders/post_processing/nv12_dndi_nv12.g6b
new file mode 100644 (file)
index 0000000..cb99eff
--- /dev/null
@@ -0,0 +1,159 @@
+   { 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 },
index 9802ff2..d511d4f 100644 (file)
@@ -39,7 +39,7 @@
    { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
    { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
    { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x028d00b8, 0x00000000 },
+   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
    { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
    { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
    { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
@@ -93,7 +93,7 @@
    { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
    { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
    { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x2000358c, 0x02210400, 0x00000084 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
    { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
    { 0x00010220, 0x34001c00, 0x02001400, 0xffffff48 },
    { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
diff --git a/shaders/post_processing/nv12_load_save_nv12.g6b b/shaders/post_processing/nv12_load_save_nv12.g6b
new file mode 100644 (file)
index 0000000..6e76bd9
--- /dev/null
@@ -0,0 +1,179 @@
+   { 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 },
index 6e99720..476b441 100644 (file)
    { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
    { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
    { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
-   { 0x00610001, 0x24400129, 0x028d00b8, 0x00000000 },
+   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
    { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
    { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
    { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
    { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
    { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
    { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
-   { 0x05000010, 0x2000358c, 0x02210400, 0x00000084 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
    { 0x00000041, 0x24407fbd, 0x000000bc, 0x41800000 },
    { 0x00000040, 0x20a477bd, 0x00000440, 0x000000a4 },
    { 0x00010220, 0x34001c00, 0x00001400, 0x0000000e },
diff --git a/shaders/post_processing/nv12_scaling_nv12.g6b b/shaders/post_processing/nv12_scaling_nv12.g6b
new file mode 100644 (file)
index 0000000..4537832
--- /dev/null
@@ -0,0 +1,295 @@
+   { 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 },