[Libva] [Libva-intel-driver][PATCH] Use Media Read message if possible on Gen8+

Eoff, Ullysses A ullysses.a.eoff at intel.com
Fri Oct 14 21:54:14 UTC 2016




----
U. Artie Eoff
Software Engineer
Visualization - Intel Open Source Technology Center
Hillsboro, Oregon, USA

> -----Original Message-----
> From: Kelley, Sean V
> Sent: Friday, October 14, 2016 2:48 PM
> To: Eoff, Ullysses A <ullysses.a.eoff at intel.com>; seanvk at posteo.de; Zhao, Yakui <yakui.zhao at intel.com>; Xiang, Haihao
> <haihao.xiang at intel.com>
> Cc: libva at lists.freedesktop.org
> Subject: Re: [Libva] [Libva-intel-driver][PATCH] Use Media Read message if possible on Gen8+
> 
> 
> 
> On 10/14/16, 2:12 PM, "Libva on behalf of Eoff, Ullysses A" <libva-bounces at lists.freedesktop.org on behalf of
> ullysses.a.eoff at intel.com> wrote:
> 
>     > -----Original Message-----
>     > From: Sean V Kelley [mailto:seanvk at posteo.de]
>     > Sent: Friday, October 14, 2016 1:45 PM
>     > To: Eoff, Ullysses A <ullysses.a.eoff at intel.com>; Zhao, Yakui <yakui.zhao at intel.com>; Xiang, Haihao <haihao.xiang at intel.com>
>     > Cc: libva at lists.freedesktop.org
>     > Subject: Re: [Libva] [Libva-intel-driver][PATCH] Use Media Read message if possible on Gen8+
>     >
>     > On Fri, 2016-10-14 at 19:58 +0000, Eoff, Ullysses A wrote:
>     > > > -----Original Message-----
>     > > > From: Libva [mailto:libva-bounces at lists.freedesktop.org] On Behalf
>     > > > Of Sean V Kelley
>     > > > Sent: Friday, October 14, 2016 11:44 AM
>     > > > To: Zhao, Yakui <yakui.zhao at intel.com>; Xiang, Haihao <haihao.xiang
>     > > > @intel.com>
>     > > > Cc: libva at lists.freedesktop.org
>     > > > Subject: Re: [Libva] [Libva-intel-driver][PATCH] Use Media Read
>     > > > message if possible on Gen8+
>     > > >
>     > > > On Fri, 2016-10-14 at 08:37 +0800, Zhao Yakui wrote:
>     > > > > On 10/13/2016 03:07 AM, Xiang, Haihao wrote:
>     > > > > > AVS can't gurantee bit-match for a large surface. This fixes
>     > > > > > the
>     > > > > > failure reported by gtest case
>     > > > > > Common/JPEGEncodeInputTest.Full/95.
>     > > > > >
>     > > > > > before:
>     > > > > > [  FAILED  ] Common/JPEGEncodeInputTest.Full/95, where
>     > > > > > GetParam() =
>     > > > > > (Fixed Size 7680x4320, 0x501176 pointing to "I420") (9239 ms)
>     > > > > > [----------] 1 test from Common/JPEGEncodeInputTest (9239 ms
>     > > > > > total)
>     > > > > >
>     > > > > > [----------] Global test environment tear-down
>     > > > > > [==========] 1 test from 1 test case ran. (9361 ms total)
>     > > > > > [  PASSED  ] 0 tests.
>     > > > > > [  FAILED  ] 1 test, listed below:
>     > > > > > [  FAILED  ] Common/JPEGEncodeInputTest.Full/95, where
>     > > > > > GetParam() =
>     > > > > > (Fixed Size 7680x4320, 0x501176 pointing to "I420")
>     > > > > >
>     > > > > > after:
>     > > > > > [       OK ] Common/JPEGEncodeInputTest.Full/95 (15250 ms)
>     > > > > > [----------] 1 test from Common/JPEGEncodeInputTest (15250 ms
>     > > > > > total)
>     > > > > >
>     > > > > > [----------] Global test environment tear-down
>     > > > > > [==========] 1 test from 1 test case ran. (15365 ms total)
>     > > > > > [  PASSED  ] 1 test.
>     > > > > >
>     > > > > > Signed-off-by: Xiang, Haihao<haihao.xiang at intel.com>
>     > > > >
>     > > > > This looks good to me.
>     > > > >
>     > > > > Add: Reviewed-by: Zhao Yakui <yakui.zhao at intel.com>
>     > > >
>     > > >
>     > > > Getting a core dump although the test is now passing.  We'll need
>     > > > to
>     > > > debug further.
>     > > >
>     > >
>     > > I don't get any core dump on my SKL...  And the test passes for me
>     > > with
>     > > this patch.  Are you running the test in isolation or with the entire
>     > > suite?
>     > > If with the entire suite, does the core dump occur during this test
>     > > case or
>     > > another?
>     > >
>     > > I've noticed that I occasionally get a "bus error" with the
>     > > Big/JPEGEncodeInputTest.* test cases (i.e. 8192x8192) even without
>     > > this patch.  Perhaps this is what you're encountering?
>     >
>     > I'm consistently seeing this on a SKL system.  It is also quite slow
>     > for execution.  Actually tested this on my Arch sytem with Kernel 4.7
>     > and the older LTS 4.4.  Same bus error and slow execution performance.
>     >
>     > We need to isolate the root cause here because I suspect this is what
>     > Haihao has also been seeing.
>     >
>     > Takes nearly a minute on one system and far less time on an Ubuntu
>     > system with the same kernel and essentially the same SKL SKU.
>     >
> 
>     Yes, I agree we need to isolate this issue.  I can file a bug for this but
>     was hoping to find time to generate a coredump output file.
> 
>     The slow execution is caused by the byte comparison loop between the
>     input and the output YUV data... for larger resolutions it takes a long time
>     and uses a lot of memory.  I don't like having long running tests, especially
>     at this level of testing...  so the only way to speed up this test is to optimize
>     the comparison routine.   Perhaps checksums would be better, but would
>     require a new library dependency.  We could also consider disabling this
>     test case (8192x8192) too.
> 
>     Nonetheless, none of these issues are related to this patch since they
>     pre-existed.  Thus, this patch LGTM.
> 
> I would prefer to hold off on the merge and use this patch as a test case.  I much rather the test fail quickly than what it is doing now
> with the test in place.
> 

Oh, so you're seeing the sigbus for the test case that this patch addresses?
(Common/JPEGEncodeInputTest.Full/95 > (Fixed Size 7680x4320, 0x501176 pointing to "I420"))

I only see it with the "Big/JPEGEncodeInputTest.Full*" test cases.

> So no merge yet.
> 
> Thanks,
> 
> Sean
> 
>     U. Artie
> 
>     > Sean
>     >
>     >
>     >
>     > >
>     > > U. Artie
>     > >
>     > > > Sean
>     > > >
>     > > > >
>     > > > > Thanks
>     > > > >    Yakui
>     > > > >
>     > > > > > ---
>     > > > > >   src/gen8_post_processing.c                         | 56
>     > > > > > +++++++++++++++++-
>     > > > > >   src/shaders/post_processing/gen8/Makefile.am       |  2 +
>     > > > > >   .../gen8/PL2_media_read_buf0123.g8a                | 65
>     > > > > > +++++++++++++++++++++
>     > > > > >   .../gen8/PL3_media_read_buf0123.g8a                | 68
>     > > > > > ++++++++++++++++++++++
>     > > > > >   src/shaders/post_processing/gen8/pl2_to_pl2.asm    |  2 +
>     > > > > >   src/shaders/post_processing/gen8/pl2_to_pl2.g8b    | 44
>     > > > > > ++++++++++++++
>     > > > > >   src/shaders/post_processing/gen8/pl2_to_pl3.asm    |  2 +
>     > > > > >   src/shaders/post_processing/gen8/pl2_to_pl3.g8b    | 44
>     > > > > > ++++++++++++++
>     > > > > >   src/shaders/post_processing/gen8/pl3_to_pl2.asm    |  2 +
>     > > > > >   src/shaders/post_processing/gen8/pl3_to_pl2.g8b    | 47
>     > > > > > +++++++++++++++
>     > > > > >   src/shaders/post_processing/gen8/pl3_to_pl3.asm    |  4 +-
>     > > > > >   src/shaders/post_processing/gen8/pl3_to_pl3.g8b    | 47
>     > > > > > +++++++++++++++
>     > > > > >   src/shaders/post_processing/gen9/pl2_to_pl2.g9b    | 44
>     > > > > > ++++++++++++++
>     > > > > >   src/shaders/post_processing/gen9/pl2_to_pl3.g9b    | 44
>     > > > > > ++++++++++++++
>     > > > > >   src/shaders/post_processing/gen9/pl3_to_pl2.g9b    | 47
>     > > > > > +++++++++++++++
>     > > > > >   src/shaders/post_processing/gen9/pl3_to_pl3.g9b    | 47
>     > > > > > +++++++++++++++
>     > > > > >   16 files changed, 563 insertions(+), 2 deletions(-)
>     > > > > >   create mode 100644
>     > > > > > src/shaders/post_processing/gen8/PL2_media_read_buf0123.g8a
>     > > > > >   create mode 100644
>     > > > > > src/shaders/post_processing/gen8/PL3_media_read_buf0123.g8a
>     > > > > >
>     > > > > > diff --git a/src/gen8_post_processing.c
>     > > > > > b/src/gen8_post_processing.c
>     > > > > > index 375bbe0..687cedc 100644
>     > > > > > --- a/src/gen8_post_processing.c
>     > > > > > +++ b/src/gen8_post_processing.c
>     > > > > > @@ -630,6 +630,31 @@
>     > > > > > gen8_pp_set_media_rw_message_surface(VADriverContextP ctx,
>     > > > > > struct
>     > > > > > i965_post_proc
>     > > > > >                                          SURFACE_FORMAT_R8_UNOR
>     > > > > > M,
>     > > > > > 0,
>     > > > > >                                          base_index + 2);
>     > > > > >           }
>     > > > > > +
>     > > > > > +        gen8_pp_set_surface_state(ctx, pp_context,
>     > > > > > +                                  bo, 0,
>     > > > > > +                                  ALIGN(width[0], 4) / 4,
>     > > > > > height[0], pitch[0],
>     > > > > > +                                  I965_SURFACEFORMAT_R8_UINT,
>     > > > > > +                                  base_index + 3, 1);
>     > > > > > +
>     > > > > > +        if (fourcc_info->num_planes == 2) {
>     > > > > > +            gen8_pp_set_surface_state(ctx, pp_context,
>     > > > > > +                                      bo, offset[1],
>     > > > > > +                                      ALIGN(width[1], 2) / 2,
>     > > > > > height[1], pitch[1],
>     > > > > > +                                      I965_SURFACEFORMAT_R8G8_
>     > > > > > SINT
>     > > > > > ,
>     > > > > > +                                      base_index + 4, 1);
>     > > > > > +        } else if (fourcc_info->num_planes == 3) {
>     > > > > > +            gen8_pp_set_surface_state(ctx, pp_context,
>     > > > > > +                                      bo, offset[1],
>     > > > > > +                                      ALIGN(width[1], 4) / 4,
>     > > > > > height[1], pitch[1],
>     > > > > > +                                      I965_SURFACEFORMAT_R8_SI
>     > > > > > NT,
>     > > > > > +                                      base_index + 4, 1);
>     > > > > > +            gen8_pp_set_surface_state(ctx, pp_context,
>     > > > > > +                                      bo, offset[2],
>     > > > > > +                                      ALIGN(width[2], 4) / 4,
>     > > > > > height[2], pitch[2],
>     > > > > > +                                      I965_SURFACEFORMAT_R8_SI
>     > > > > > NT,
>     > > > > > +                                      base_index + 5, 1);
>     > > > > > +        }
>     > > > > >       }
>     > > > > >   }
>     > > > > >
>     > > > > > @@ -788,6 +813,33 @@
>     > > > > > gen8_pp_get_8tap_filter_mode(VADriverContextP
>     > > > > > ctx,
>     > > > > >           return 3;
>     > > > > >   }
>     > > > > >
>     > > > > > +static int
>     > > > > > +gen8_pp_kernel_use_media_read_msg(VADriverContextP ctx,
>     > > > > > +                                  const struct i965_surface
>     > > > > > *src_surface,
>     > > > > > +                                  const VARectangle *src_rect,
>     > > > > > +                                  const struct i965_surface
>     > > > > > *dst_surface,
>     > > > > > +                                  const VARectangle *dst_rect)
>     > > > > > +{
>     > > > > > +    int src_fourcc = pp_get_surface_fourcc(ctx, src_surface);
>     > > > > > +    int dst_fourcc = pp_get_surface_fourcc(ctx, dst_surface);
>     > > > > > +    const i965_fourcc_info *src_fourcc_info =
>     > > > > > get_fourcc_info(src_fourcc);
>     > > > > > +    const i965_fourcc_info *dst_fourcc_info =
>     > > > > > get_fourcc_info(dst_fourcc);
>     > > > > > +
>     > > > > > +    if (!src_fourcc_info ||
>     > > > > > +        src_fourcc_info->subsampling != SUBSAMPLE_YUV420 ||
>     > > > > > +        !dst_fourcc_info ||
>     > > > > > +        dst_fourcc_info->subsampling != SUBSAMPLE_YUV420)
>     > > > > > +        return 0;
>     > > > > > +
>     > > > > > +    if (src_rect->x == dst_rect->x&&
>     > > > > > +        src_rect->y == dst_rect->y&&
>     > > > > > +        src_rect->width == dst_rect->width&&
>     > > > > > +        src_rect->height == dst_rect->height)
>     > > > > > +        return 1;
>     > > > > > +
>     > > > > > +    return 0;
>     > > > > > +}
>     > > > > > +
>     > > > > >   VAStatus
>     > > > > >   gen8_pp_plx_avs_initialize(VADriverContextP ctx, struct
>     > > > > > i965_post_processing_context *pp_context,
>     > > > > >                              const struct i965_surface
>     > > > > > *src_surface,
>     > > > > > @@ -1082,7 +1134,9 @@
>     > > > > > gen8_pp_plx_avs_initialize(VADriverContextP
>     > > > > > ctx, struct i965_post_processing_con
>     > > > > >       dw = MAX(dw, dst_rect->width + dst_left_edge_extend);
>     > > > > >
>     > > > > >       pp_static_parameter->grf1.pointer_to_inline_parameter =
>     > > > > > 7;
>     > > > > > -    pp_static_parameter->grf2.avs_wa_enable = 0; /* It is not
>     > > > > > required on GEN8+ */
>     > > > > > +    pp_static_parameter->grf2.avs_wa_enable =
>     > > > > > gen8_pp_kernel_use_media_read_msg(ctx,
>     > > > > > +
>     > > > > >               src_surface, src_rect,
>     > > > > > +
>     > > > > >               dst_surface, dst_rect); /* reuse this flag for
>     > > > > > media
>     > > > > > block reading on gen8+ */
>     > > > > >       pp_static_parameter->grf2.alpha = 255;
>     > > > > >
>     > > > > >       pp_static_parameter-
>     > > > > > > grf3.sampler_load_horizontal_scaling_step_ratio = (float)
>     > > > > >
>     > > > > > pp_avs_context->src_w / dw;
>     > > > > > diff --git a/src/shaders/post_processing/gen8/Makefile.am
>     > > > > > b/src/shaders/post_processing/gen8/Makefile.am
>     > > > > > index 475beb9..48a077e 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/Makefile.am
>     > > > > > +++ b/src/shaders/post_processing/gen8/Makefile.am
>     > > > > > @@ -23,10 +23,12 @@ INTEL_PP_G8A = \
>     > > > > >   	PL2_AVS_Buf_1.g8a		\
>     > > > > >   	PL2_AVS_Buf_2.g8a		\
>     > > > > >   	PL2_AVS_Buf_3.g8a		\
>     > > > > > +	PL2_media_read_buf0123.g8a	\
>     > > > > >   	PL3_AVS_Buf_0.g8a		\
>     > > > > >   	PL3_AVS_Buf_1.g8a		\
>     > > > > >   	PL3_AVS_Buf_2.g8a		\
>     > > > > >   	PL3_AVS_Buf_3.g8a		\
>     > > > > > +	PL3_media_read_buf0123.g8a	\
>     > > > > >   	PA_AVS_Buf_0.g8a		\
>     > > > > >   	PA_AVS_Buf_1.g8a		\
>     > > > > >   	PA_AVS_Buf_2.g8a		\
>     > > > > > diff --git
>     > > > > > a/src/shaders/post_processing/gen8/PL2_media_read_buf0123.g8a
>     > > > > > b/src/shaders/post_processing/gen8/PL2_media_read_buf0123.g8a
>     > > > > > new file mode 100644
>     > > > > > index 0000000..5a46019
>     > > > > > --- /dev/null
>     > > > > > +++
>     > > > > > b/src/shaders/post_processing/gen8/PL2_media_read_buf0123.g8a
>     > > > > > @@ -0,0 +1,65 @@
>     > > > > > +
>     > > > > > +    and.nz.f0.0  (1)     null<1>:uw     r2.3:uw    0x2:uw
>     > > > > > +    (-f0.0)jmpi  (1)     __SKIP_MEDIA_READ
>     > > > > > +
>     > > > > > +    mov  (8) r28<1>:ud      r27<8;8,1>:ud
>     > > > > > +    mov  (2) r28.0<1>:d     r9.0<2;2,1>:w
>     > > > > > 	//ORI Y (LUMA) = ORI
>     > > > > > +    mov  (1)
>     > > > > > r28.2<1>:ud    0xF000F:ud
>     > > > > > // Y
>     > > > > > Block width and height (16x16)
>     > > > > > +
>     > > > > > +    send (1) r29<1>:d    r28   	0xc
>     > > > > > 0x2890003:ud
>     > > > > > +
>     > > > > > +    /* Save data in uwBuffer, it is not an efficient way, but
>     > > > > > we
>     > > > > > can re-use Save_AVS_NV12.g8a and Save_AVS_PL3.g8a */
>     > > > > > +    shl  (16) uwBUFFER_0(0)<1>   r29.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_0(1)<1>   r29.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_0(2)<1>   r30.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_0(3)<1>   r30.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_1(0)<1>   r31.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_1(1)<1>   r31.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_1(2)<1>   r32.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_1(3)<1>   r32.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_2(0)<1>   r33.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_2(1)<1>   r33.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_2(2)<1>   r34.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_2(3)<1>   r34.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_3(0)<1>   r35.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_3(1)<1>   r35.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_3(2)<1>   r36.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_3(3)<1>   r36.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    mov  (8) r37<1>:ud      r27<8;8,1>:ud
>     > > > > > +    mov  (1) r37.0<1>:d     r9.0<0;1,0>:w
>     > > > > > +    shr  (1) r37.1<1>:d     r9.1<0;1,0>:w               1:w
>     > > > > > +    mov  (1) r37.2<1>:ud    0x7000F:ud
>     > > > > >       // U Block width and height (8x8)
>     > > > > > +
>     > > > > > +    send (1) r38<1>:d    r37   	0xc
>     > > > > > 0x2490004:ud
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_0(4)<2>   r38.0<16;8,2>:ub         8:w
>     > > > > > +    shl  (8) uwBUFFER_0(6)<2>   r38.16<16;8,2>:ub        8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_1(4)<2>   r39.0<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_1(6)<2>   r39.16<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_2(4)<2>   r40.0<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_2(6)<2>   r40.16<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_3(4)<2>   r41.0<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_3(6)<2>   r41.16<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_0(8)<2>   r38.1<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_0(10)<2>  r38.17<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_1(8)<2>   r39.1<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_1(10)<2>  r39.17<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_2(8)<2>   r40.1<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_2(10)<2>  r40.17<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_3(8)<2>   r41.1<16;8,2>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_3(10)<2>  r41.17<16;8,2>:ub         8:w
>     > > > > > +
>     > > > > > +    jmpi (1) __SAVE_BUF0123
>     > > > > > +
>     > > > > > +__SKIP_MEDIA_READ:
>     > > > > > \ No newline at end of file
>     > > > > > diff --git
>     > > > > > a/src/shaders/post_processing/gen8/PL3_media_read_buf0123.g8a
>     > > > > > b/src/shaders/post_processing/gen8/PL3_media_read_buf0123.g8a
>     > > > > > new file mode 100644
>     > > > > > index 0000000..3018d5c
>     > > > > > --- /dev/null
>     > > > > > +++
>     > > > > > b/src/shaders/post_processing/gen8/PL3_media_read_buf0123.g8a
>     > > > > > @@ -0,0 +1,68 @@
>     > > > > > +
>     > > > > > +    and.nz.f0.0  (1)     null<1>:uw     r2.3:uw    0x2:uw
>     > > > > > +    (-f0.0)jmpi  (1)     __SKIP_MEDIA_READ
>     > > > > > +
>     > > > > > +    mov  (8) r28<1>:ud      r27<8;8,1>:ud
>     > > > > > +    mov  (2) r28.0<1>:d     r9.0<2;2,1>:w
>     > > > > > 	//ORI Y (LUMA) = ORI
>     > > > > > +    mov  (1)
>     > > > > > r28.2<1>:ud    0xF000F:ud
>     > > > > > // Y
>     > > > > > Block width and height (16x16)
>     > > > > > +
>     > > > > > +    send (1) r29<1>:d    r28   	0xc
>     > > > > > 0x2890003:ud
>     > > > > > +
>     > > > > > +    /* Save data in uwBuffer, it is not an efficient way, but
>     > > > > > we
>     > > > > > can re-use Save_AVS_NV12.g8a and Save_AVS_PL3.g8a */
>     > > > > > +    shl  (16) uwBUFFER_0(0)<1>   r29.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_0(1)<1>   r29.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_0(2)<1>   r30.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_0(3)<1>   r30.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_1(0)<1>   r31.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_1(1)<1>   r31.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_1(2)<1>   r32.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_1(3)<1>   r32.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_2(0)<1>   r33.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_2(1)<1>   r33.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_2(2)<1>   r34.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_2(3)<1>   r34.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    shl  (16) uwBUFFER_3(0)<1>   r35.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_3(1)<1>   r35.16<16;16,1>:ub      8:w
>     > > > > > +    shl  (16) uwBUFFER_3(2)<1>   r36.0<16;16,1>:ub       8:w
>     > > > > > +    shl  (16) uwBUFFER_3(3)<1>   r36.16<16;16,1>:ub      8:w
>     > > > > > +
>     > > > > > +    mov  (8) r37<1>:ud      r27<8;8,1>:ud
>     > > > > > +    shr  (2) r37.0<1>:d     r9.0<2;2,1>:w               1:w
>     > > > > > 	//H/V ORI U 	= H/V ORI/2
>     > > > > > +    mov  (1) r37.2<1>:ud    0x70007:ud
>     > > > > >       // U Block width and height (8x8)
>     > > > > > +    send (1) r38<1>:d    r37   	0xc
>     > > > > > 0x2290004:ud
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_0(4)<2>   r38.0<8;8,1>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_0(6)<2>   r38.8<8;8,1>:ub          8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_1(4)<2>   r38.16<8;8,1>:ub         8:w
>     > > > > > +    shl  (8) uwBUFFER_1(6)<2>   r38.24<8;8,1>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_2(4)<2>   r39.0<8;8,1>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_2(6)<2>   r39.8<8;8,1>:ub          8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_3(4)<2>   r39.16<8;8,1>:ub         8:w
>     > > > > > +    shl  (8) uwBUFFER_3(6)<2>   r39.24<8;8,1>:ub         8:w
>     > > > > > +
>     > > > > > +    mov  (8) r46<1>:ud      r27<8;8,1>:ud
>     > > > > > +    shr  (2) r46.0<1>:d     r9.0<2;2,1>:w               1:w
>     > > > > > 	//H/V ORI V 	= H/V ORI/2
>     > > > > > +    mov  (1) r46.2<1>:ud    0x70007:ud
>     > > > > >       // V Block width and height (8x8)
>     > > > > > +    send (1) r47<1>:d    r46   	0xc
>     > > > > > 0x2290005:ud
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_0(8)<2>   r47.0<8;8,1>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_0(10)<2>  r47.8<8;8,1>:ub          8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_1(8)<2>   r47.16<8;8,1>:ub         8:w
>     > > > > > +    shl  (8) uwBUFFER_1(10)<2>  r47.24<8;8,1>:ub         8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_2(8)<2>   r48.0<8;8,1>:ub          8:w
>     > > > > > +    shl  (8) uwBUFFER_2(10)<2>  r48.8<8;8,1>:ub          8:w
>     > > > > > +
>     > > > > > +    shl  (8) uwBUFFER_3(8)<2>   r48.16<8;8,1>:ub         8:w
>     > > > > > +    shl  (8) uwBUFFER_3(10)<2>  r48.24<8;8,1>:ub         8:w
>     > > > > > +
>     > > > > > +    jmpi (1) __SAVE_BUF0123
>     > > > > > +
>     > > > > > +__SKIP_MEDIA_READ:
>     > > > > > \ No newline at end of file
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl2_to_pl2.asm
>     > > > > > b/src/shaders/post_processing/gen8/pl2_to_pl2.asm
>     > > > > > index 0281854..a5999ac 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl2_to_pl2.asm
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl2_to_pl2.asm
>     > > > > > @@ -5,10 +5,12 @@
>     > > > > >   #include "VP_Setup.g8a"
>     > > > > >   #include "Set_Layer_0.g8a"
>     > > > > >   #include "Set_AVS_Buf_0123_PL2.g8a"
>     > > > > > +#include "PL2_media_read_buf0123.g8a"
>     > > > > >   #include "PL2_AVS_Buf_0.g8a"
>     > > > > >   #include "PL2_AVS_Buf_1.g8a"
>     > > > > >   #include "PL2_AVS_Buf_2.g8a"
>     > > > > >   #include "PL2_AVS_Buf_3.g8a"
>     > > > > > +__SAVE_BUF0123:
>     > > > > >   #include "Save_AVS_NV12.g8a"
>     > > > > >   #include "EOT.g8a"
>     > > > > >
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl2_to_pl2.g8b
>     > > > > > b/src/shaders/post_processing/gen8/pl2_to_pl2.g8b
>     > > > > > index 5da39ee..2c3d015 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl2_to_pl2.g8b
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl2_to_pl2.g8b
>     > > > > > @@ -69,6 +69,50 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002a0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x24a01a28, 0x00000120, 0x00000000 },
>     > > > > > +   { 0x00000008, 0x24a41a28, 0x1e000122, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x0007000f },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02490004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1eae04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1eae04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1eae04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1eae04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1eae0500, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1eae0510, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1eae0520, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1eae0530, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1eae04c1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1eae04d1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1eae04e1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1eae04f1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1eae0501, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1eae0511, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1eae0521, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1eae0531, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000280 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl2_to_pl3.asm
>     > > > > > b/src/shaders/post_processing/gen8/pl2_to_pl3.asm
>     > > > > > index 042a834..b42163c 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl2_to_pl3.asm
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl2_to_pl3.asm
>     > > > > > @@ -5,10 +5,12 @@
>     > > > > >   #include "VP_Setup.g8a"
>     > > > > >   #include "Set_Layer_0.g8a"
>     > > > > >   #include "Set_AVS_Buf_0123_PL2.g8a"
>     > > > > > +#include "PL2_media_read_buf0123.g8a"
>     > > > > >   #include "PL2_AVS_Buf_0.g8a"
>     > > > > >   #include "PL2_AVS_Buf_1.g8a"
>     > > > > >   #include "PL2_AVS_Buf_2.g8a"
>     > > > > >   #include "PL2_AVS_Buf_3.g8a"
>     > > > > > +__SAVE_BUF0123:
>     > > > > >   #include "Save_AVS_PL3.g8a"
>     > > > > >   #include "EOT.g8a"
>     > > > > >
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl2_to_pl3.g8b
>     > > > > > b/src/shaders/post_processing/gen8/pl2_to_pl3.g8b
>     > > > > > index ebfcb71..72f81a2 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl2_to_pl3.g8b
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl2_to_pl3.g8b
>     > > > > > @@ -69,6 +69,50 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002a0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x24a01a28, 0x00000120, 0x00000000 },
>     > > > > > +   { 0x00000008, 0x24a41a28, 0x1e000122, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x0007000f },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02490004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1eae04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1eae04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1eae04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1eae04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1eae0500, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1eae0510, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1eae0520, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1eae0530, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1eae04c1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1eae04d1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1eae04e1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1eae04f1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1eae0501, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1eae0511, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1eae0521, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1eae0531, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000280 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl3_to_pl2.asm
>     > > > > > b/src/shaders/post_processing/gen8/pl3_to_pl2.asm
>     > > > > > index 713cb97..d68f72d 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl3_to_pl2.asm
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl3_to_pl2.asm
>     > > > > > @@ -5,10 +5,12 @@
>     > > > > >   #include "VP_Setup.g8a"
>     > > > > >   #include "Set_Layer_0.g8a"
>     > > > > >   #include "Set_AVS_Buf_0123_PL3.g8a"
>     > > > > > +#include "PL3_media_read_buf0123.g8a"
>     > > > > >   #include "PL3_AVS_Buf_0.g8a"
>     > > > > >   #include "PL3_AVS_Buf_1.g8a"
>     > > > > >   #include "PL3_AVS_Buf_2.g8a"
>     > > > > >   #include "PL3_AVS_Buf_3.g8a"
>     > > > > > +__SAVE_BUF0123:
>     > > > > >   #include "Save_AVS_NV12.g8a"
>     > > > > >   #include "EOT.g8a"
>     > > > > >
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl3_to_pl2.g8b
>     > > > > > b/src/shaders/post_processing/gen8/pl3_to_pl2.g8b
>     > > > > > index 79923ee..b2f2a56 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl3_to_pl2.g8b
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl3_to_pl2.g8b
>     > > > > > @@ -69,6 +69,53 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002d0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x24a01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02290004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1e8d04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1e8d04c8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1e8d04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1e8d04d8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1e8d04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1e8d04e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1e8d04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1e8d04f8, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x25c00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x25c01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x25c80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x25e02228, 0x060005c0, 0x02290005 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1e8d05e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1e8d05e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1e8d05f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1e8d05f8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1e8d0600, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1e8d0608, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1e8d0610, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1e8d0618, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000380 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl3_to_pl3.asm
>     > > > > > b/src/shaders/post_processing/gen8/pl3_to_pl3.asm
>     > > > > > index f6a2a76..b91bb46 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl3_to_pl3.asm
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl3_to_pl3.asm
>     > > > > > @@ -5,11 +5,13 @@
>     > > > > >   #include "VP_Setup.g8a"
>     > > > > >   #include "Set_Layer_0.g8a"
>     > > > > >   #include "Set_AVS_Buf_0123_PL3.g8a"
>     > > > > > +#include "PL3_media_read_buf0123.g8a"
>     > > > > >   #include "PL3_AVS_Buf_0.g8a"
>     > > > > >   #include "PL3_AVS_Buf_1.g8a"
>     > > > > >   #include "PL3_AVS_Buf_2.g8a"
>     > > > > >   #include "PL3_AVS_Buf_3.g8a"
>     > > > > > -#include "Save_AVS_PL3.g8a"
>     > > > > > +__SAVE_BUF0123:
>     > > > > > +#include "Save_AVS_PL3.g8a"
>     > > > > >   #include "EOT.g8a"
>     > > > > >
>     > > > > >   .end_code
>     > > > > > diff --git a/src/shaders/post_processing/gen8/pl3_to_pl3.g8b
>     > > > > > b/src/shaders/post_processing/gen8/pl3_to_pl3.g8b
>     > > > > > index 800fe68..593b81d 100644
>     > > > > > --- a/src/shaders/post_processing/gen8/pl3_to_pl3.g8b
>     > > > > > +++ b/src/shaders/post_processing/gen8/pl3_to_pl3.g8b
>     > > > > > @@ -69,6 +69,53 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002d0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x24a01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02290004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1e8d04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1e8d04c8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1e8d04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1e8d04d8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1e8d04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1e8d04e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1e8d04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1e8d04f8, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x25c00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x25c01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x25c80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x25e02228, 0x060005c0, 0x02290005 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1e8d05e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1e8d05e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1e8d05f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1e8d05f8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1e8d0600, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1e8d0608, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1e8d0610, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1e8d0618, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000380 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen9/pl2_to_pl2.g9b
>     > > > > > b/src/shaders/post_processing/gen9/pl2_to_pl2.g9b
>     > > > > > index 8d91b32..aa1b270 100644
>     > > > > > --- a/src/shaders/post_processing/gen9/pl2_to_pl2.g9b
>     > > > > > +++ b/src/shaders/post_processing/gen9/pl2_to_pl2.g9b
>     > > > > > @@ -69,6 +69,50 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002a0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x24a01a28, 0x00000120, 0x00000000 },
>     > > > > > +   { 0x00000008, 0x24a41a28, 0x1e000122, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x0007000f },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02490004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1eae04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1eae04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1eae04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1eae04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1eae0500, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1eae0510, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1eae0520, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1eae0530, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1eae04c1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1eae04d1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1eae04e1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1eae04f1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1eae0501, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1eae0511, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1eae0521, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1eae0531, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000280 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen9/pl2_to_pl3.g9b
>     > > > > > b/src/shaders/post_processing/gen9/pl2_to_pl3.g9b
>     > > > > > index c4ba9aa..148f939 100644
>     > > > > > --- a/src/shaders/post_processing/gen9/pl2_to_pl3.g9b
>     > > > > > +++ b/src/shaders/post_processing/gen9/pl2_to_pl3.g9b
>     > > > > > @@ -69,6 +69,50 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002a0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x24a01a28, 0x00000120, 0x00000000 },
>     > > > > > +   { 0x00000008, 0x24a41a28, 0x1e000122, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x0007000f },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02490004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1eae04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1eae04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1eae04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1eae04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1eae0500, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1eae0510, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1eae0520, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1eae0530, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1eae04c1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1eae04d1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1eae04e1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1eae04f1, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1eae0501, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1eae0511, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1eae0521, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1eae0531, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000280 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen9/pl3_to_pl2.g9b
>     > > > > > b/src/shaders/post_processing/gen9/pl3_to_pl2.g9b
>     > > > > > index 3c18796..4184a12 100644
>     > > > > > --- a/src/shaders/post_processing/gen9/pl3_to_pl2.g9b
>     > > > > > +++ b/src/shaders/post_processing/gen9/pl3_to_pl2.g9b
>     > > > > > @@ -69,6 +69,53 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002d0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x24a01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02290004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1e8d04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1e8d04c8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1e8d04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1e8d04d8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1e8d04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1e8d04e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1e8d04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1e8d04f8, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x25c00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x25c01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x25c80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x25e02228, 0x060005c0, 0x02290005 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1e8d05e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1e8d05e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1e8d05f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1e8d05f8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1e8d0600, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1e8d0608, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1e8d0610, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1e8d0618, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000380 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > > > diff --git a/src/shaders/post_processing/gen9/pl3_to_pl3.g9b
>     > > > > > b/src/shaders/post_processing/gen9/pl3_to_pl3.g9b
>     > > > > > index 471d2d7..50f391d 100644
>     > > > > > --- a/src/shaders/post_processing/gen9/pl3_to_pl3.g9b
>     > > > > > +++ b/src/shaders/post_processing/gen9/pl3_to_pl3.g9b
>     > > > > > @@ -69,6 +69,53 @@
>     > > > > >      { 0x00400040, 0x24001860, 0x16690400, 0x00400040 },
>     > > > > >      { 0x00400209, 0x22401868, 0x16690400, 0x00050005 },
>     > > > > >      { 0x00000401, 0x22500608, 0x00000000, 0x01000100 },
>     > > > > > +   { 0x02000005, 0x20001240, 0x16000046, 0x00020002 },
>     > > > > > +   { 0x00110020, 0x34000004, 0x0e001400, 0x000002d0 },
>     > > > > > +   { 0x00600001, 0x23800208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200001, 0x23801a28, 0x00450120, 0x00000000 },
>     > > > > > +   { 0x00000001, 0x23880608, 0x00000000, 0x000f000f },
>     > > > > > +   { 0x0c000031, 0x23a02228, 0x06000380, 0x02890003 },
>     > > > > > +   { 0x00800009, 0x28002248, 0x1eb103a0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28202248, 0x1eb103b0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28402248, 0x1eb103c0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x28602248, 0x1eb103d0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a002248, 0x1eb103e0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a202248, 0x1eb103f0, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a402248, 0x1eb10400, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2a602248, 0x1eb10410, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c002248, 0x1eb10420, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c202248, 0x1eb10430, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c402248, 0x1eb10440, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2c602248, 0x1eb10450, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e002248, 0x1eb10460, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e202248, 0x1eb10470, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e402248, 0x1eb10480, 0x00080008 },
>     > > > > > +   { 0x00800009, 0x2e602248, 0x1eb10490, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x24a00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x24a01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x24a80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x24c02228, 0x060004a0, 0x02290004 },
>     > > > > > +   { 0x00600009, 0x48802248, 0x1e8d04c0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x48c02248, 0x1e8d04c8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4a802248, 0x1e8d04d0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ac02248, 0x1e8d04d8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4c802248, 0x1e8d04e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4cc02248, 0x1e8d04e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4e802248, 0x1e8d04f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4ec02248, 0x1e8d04f8, 0x00080008 },
>     > > > > > +   { 0x00600001, 0x25c00208, 0x008d0360, 0x00000000 },
>     > > > > > +   { 0x00200008, 0x25c01a28, 0x1e450120, 0x00010001 },
>     > > > > > +   { 0x00000001, 0x25c80608, 0x00000000, 0x00070007 },
>     > > > > > +   { 0x0c000031, 0x25e02228, 0x060005c0, 0x02290005 },
>     > > > > > +   { 0x00600009, 0x49002248, 0x1e8d05e0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x49402248, 0x1e8d05e8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b002248, 0x1e8d05f0, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4b402248, 0x1e8d05f8, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d002248, 0x1e8d0600, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4d402248, 0x1e8d0608, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f002248, 0x1e8d0610, 0x00080008 },
>     > > > > > +   { 0x00600009, 0x4f402248, 0x1e8d0618, 0x00080008 },
>     > > > > > +   { 0x00000020, 0x34000004, 0x0e001400, 0x00000380 },
>     > > > > >      { 0x00000001, 0x22d00608, 0x00000000, 0x00400040 },
>     > > > > >      { 0x00000001, 0x220c0208, 0x0000000c, 0x00000000 },
>     > > > > >      { 0x00000040, 0x22000200, 0x060002f4, 0x044eb000 },
>     > > > >
>     > > > > _______________________________________________
>     > > > > Libva mailing list
>     > > > > Libva at lists.freedesktop.org
>     > > > > https://lists.freedesktop.org/mailman/listinfo/libva
>     _______________________________________________
>     Libva mailing list
>     Libva at lists.freedesktop.org
>     https://lists.freedesktop.org/mailman/listinfo/libva
> 



More information about the Libva mailing list