[Libva] [Libva-intel-driver][PATCH] Use Media Read message if possible on Gen8+
Zhao Yakui
yakui.zhao at intel.com
Mon Oct 17 01:12:59 UTC 2016
On 10/15/2016 03:58 AM, 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 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 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?
Hi, Sean/Artie
Is it possible that you can send out the dmesg log when the
bus_error is triggered?
I try the test several times on one KBL machine(similar to SKL) and
unfortunately there is no "sig_bus error".
Thanks
Yakui
>
> 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_UNORM,
>>>> 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_SINT,
>>>> + 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_SINT,
>>>> + 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
More information about the Libva
mailing list