Date: Thursday, February 15, 2018 @ 14:45:16 Author: lcarlier Revision: 317096
upgpkg: mesa 17.3.4-1 upstream update 17.3.4 Modified: mesa/trunk/PKGBUILD Deleted: mesa/trunk/0001-radeon-vcn-add-and-manage-render-picture-list.patch mesa/trunk/0002-radeon-uvd-add-and-manage-render-picture-list.patch mesa/trunk/winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch ------------------------------------------------------------------+ 0001-radeon-vcn-add-and-manage-render-picture-list.patch | 95 --------- 0002-radeon-uvd-add-and-manage-render-picture-list.patch | 96 ---------- PKGBUILD | 21 -- winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch | 14 - 4 files changed, 5 insertions(+), 221 deletions(-) Deleted: 0001-radeon-vcn-add-and-manage-render-picture-list.patch =================================================================== --- 0001-radeon-vcn-add-and-manage-render-picture-list.patch 2018-02-15 13:26:57 UTC (rev 317095) +++ 0001-radeon-vcn-add-and-manage-render-picture-list.patch 2018-02-15 14:45:16 UTC (rev 317096) @@ -1,95 +0,0 @@ -From: Boyuan Zhang <boyuan.zhang at amd.com> - -Create a list in decoder to store all render picture buffer pointers that -currently being used in reference picture lists. - -During get message buffer call, check each pointer in render_pic_list[] -within given pic->ref[] list, remove pointer that no longer being used by -pic->ref[]. Then add current render surface pointer to the render_pic_list[] -and assign the associated index to result.curr_idx. - -As a result, result.curr_idx will have the correct index to represent the -current render picture, instead of the previous increamenting values. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104745 - -Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com> -Reviewed-by: Christian König <christian.koenig at amd.com> -Cc: mesa-stable at lists.freedesktop.org -(cherry picked from commit f2bfd1cbb7e72945ca192845a1ad28426c7aea89) ---- - src/gallium/drivers/radeon/radeon_vcn_dec.c | 28 ++++++++++++++++++++++++---- - 1 file changed, 24 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c b/src/gallium/drivers/radeon/radeon_vcn_dec.c -index 2ece4a3..8010010 100644 ---- a/src/gallium/drivers/radeon/radeon_vcn_dec.c -+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c -@@ -78,6 +78,7 @@ struct radeon_decoder { - - unsigned bs_size; - unsigned cur_buffer; -+ void *render_pic_list[16]; - }; - - static rvcn_dec_message_avc_t get_h264_msg(struct radeon_decoder *dec, -@@ -186,7 +187,7 @@ static rvcn_dec_message_hevc_t get_h265_msg(struct radeon_decoder *dec, - struct pipe_h265_picture_desc *pic) - { - rvcn_dec_message_hevc_t result; -- unsigned i; -+ unsigned i, j; - - memset(&result, 0, sizeof(result)); - result.sps_info_flags = 0; -@@ -273,11 +274,28 @@ static rvcn_dec_message_hevc_t get_h265_msg(struct radeon_decoder *dec, - result.row_height_minus1[i] = pic->pps->row_height_minus1[i]; - - result.num_delta_pocs_ref_rps_idx = pic->NumDeltaPocsOfRefRpsIdx; -- result.curr_idx = pic->CurrPicOrderCntVal; - result.curr_poc = pic->CurrPicOrderCntVal; - -+ for (i = 0 ; i < 16 ; i++) { -+ for (j = 0; (pic->ref[j] != NULL) && (j < 16) ; j++) { -+ if (dec->render_pic_list[i] == pic->ref[j]) -+ break; -+ if (j == 15) -+ dec->render_pic_list[i] = NULL; -+ else if (pic->ref[j+1] == NULL) -+ dec->render_pic_list[i] = NULL; -+ } -+ } -+ for (i = 0 ; i < 16 ; i++) { -+ if (dec->render_pic_list[i] == NULL) { -+ dec->render_pic_list[i] = target; -+ result.curr_idx = i; -+ break; -+ } -+ } -+ - vl_video_buffer_set_associated_data(target, &dec->base, -- (void *)(uintptr_t)pic->CurrPicOrderCntVal, -+ (void *)(uintptr_t)result.curr_idx, - &radeon_dec_destroy_associated_data); - - for (i = 0; i < 16; ++i) { -@@ -320,7 +338,7 @@ static rvcn_dec_message_hevc_t get_h265_msg(struct radeon_decoder *dec, - memcpy(dec->it + 864, pic->pps->sps->ScalingList32x32, 2 * 64); - - for (i = 0 ; i < 2 ; i++) { -- for (int j = 0 ; j < 15 ; j++) -+ for (j = 0 ; j < 15 ; j++) - result.direct_reflist[i][j] = pic->RefPicList[i][j]; - } - -@@ -1236,6 +1254,8 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context, - goto error; - } - -+ for (i = 0; i < 16; i++) -+ dec->render_pic_list[i] = NULL; - bs_buf_size = width * height * (512 / (16 * 16)); - for (i = 0; i < NUM_BUFFERS; ++i) { - unsigned msg_fb_it_size = FB_BUFFER_OFFSET + FB_BUFFER_SIZE; --- -2.7.4 Deleted: 0002-radeon-uvd-add-and-manage-render-picture-list.patch =================================================================== --- 0002-radeon-uvd-add-and-manage-render-picture-list.patch 2018-02-15 13:26:57 UTC (rev 317095) +++ 0002-radeon-uvd-add-and-manage-render-picture-list.patch 2018-02-15 14:45:16 UTC (rev 317096) @@ -1,96 +0,0 @@ -From: Boyuan Zhang <boyuan.zhang at amd.com> - -Create a list in decoder to store all render picture buffer pointers that -currently being used in reference picture lists. - -During get message buffer call, check each pointer in render_pic_list[] -within given pic->ref[] list, remove pointer that no longer being used by -pic->ref[]. Then add current render surface pointer to the render_pic_list[] -and assign the associated index to result.curr_idx. - -As a result, result.curr_idx will have the correct index to represent the -current render picture, instead of the previous increamenting values. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104745 - -Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com> -Reviewed-by: Christian König <christian.koenig at amd.com> -Cc: mesa-stable at lists.freedesktop.org -(cherry picked from commit 2ec48039b8aa1f6a5e16f3f12483b88981d0f5d3) ---- - src/gallium/drivers/radeon/radeon_uvd.c | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c -index 032ed7c..87e7858 100644 ---- a/src/gallium/drivers/radeon/radeon_uvd.c -+++ b/src/gallium/drivers/radeon/radeon_uvd.c -@@ -97,6 +97,8 @@ struct ruvd_decoder { - unsigned cmd; - unsigned cntl; - } reg; -+ -+ void *render_pic_list[16]; - }; - - /* flush IB to the hardware */ -@@ -596,7 +598,7 @@ static struct ruvd_h265 get_h265_msg(struct ruvd_decoder *dec, struct pipe_video - struct pipe_h265_picture_desc *pic) - { - struct ruvd_h265 result; -- unsigned i; -+ unsigned i, j; - - memset(&result, 0, sizeof(result)); - -@@ -676,11 +678,28 @@ static struct ruvd_h265 get_h265_msg(struct ruvd_decoder *dec, struct pipe_video - result.row_height_minus1[i] = pic->pps->row_height_minus1[i]; - - result.num_delta_pocs_ref_rps_idx = pic->NumDeltaPocsOfRefRpsIdx; -- result.curr_idx = pic->CurrPicOrderCntVal; - result.curr_poc = pic->CurrPicOrderCntVal; - -+ for (i = 0 ; i < 16 ; i++) { -+ for (j = 0; (pic->ref[j] != NULL) && (j < 16) ; j++) { -+ if (dec->render_pic_list[i] == pic->ref[j]) -+ break; -+ if (j == 15) -+ dec->render_pic_list[i] = NULL; -+ else if (pic->ref[j+1] == NULL) -+ dec->render_pic_list[i] = NULL; -+ } -+ } -+ for (i = 0 ; i < 16 ; i++) { -+ if (dec->render_pic_list[i] == NULL) { -+ dec->render_pic_list[i] = target; -+ result.curr_idx = i; -+ break; -+ } -+ } -+ - vl_video_buffer_set_associated_data(target, &dec->base, -- (void *)(uintptr_t)pic->CurrPicOrderCntVal, -+ (void *)(uintptr_t)result.curr_idx, - &ruvd_destroy_associated_data); - - for (i = 0; i < 16; ++i) { -@@ -723,7 +742,7 @@ static struct ruvd_h265 get_h265_msg(struct ruvd_decoder *dec, struct pipe_video - memcpy(dec->it + 864, pic->pps->sps->ScalingList32x32, 2 * 64); - - for (i = 0 ; i < 2 ; i++) { -- for (int j = 0 ; j < 15 ; j++) -+ for (j = 0 ; j < 15 ; j++) - result.direct_reflist[i][j] = pic->RefPicList[i][j]; - } - -@@ -1407,6 +1426,8 @@ struct pipe_video_codec *si_common_uvd_create_decoder(struct pipe_context *conte - goto error; - } - -+ for (i = 0; i < 16; i++) -+ dec->render_pic_list[i] = NULL; - dec->fb_size = (info.family == CHIP_TONGA) ? FB_BUFFER_SIZE_TONGA : - FB_BUFFER_SIZE; - bs_buf_size = width * height * (512 / (16 * 16)); --- -2.7.4 Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-02-15 13:26:57 UTC (rev 317095) +++ PKGBUILD 2018-02-15 14:45:16 UTC (rev 317096) @@ -4,8 +4,8 @@ pkgbase=mesa pkgname=('opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa') -pkgver=17.3.3 -pkgrel=2 +pkgver=17.3.4 +pkgrel=1 arch=('x86_64') makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto' 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' @@ -14,17 +14,11 @@ license=('custom') source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} LICENSE - 0001-glvnd-fix-gl-dot-pc.patch - 0001-radeon-vcn-add-and-manage-render-picture-list.patch - 0002-radeon-uvd-add-and-manage-render-picture-list.patch - winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch) -sha256sums=('41bac5de0ef6adc1f41a1ec0f80c19e361298ce02fa81b5f9ba4fdca33a9379b' + 0001-glvnd-fix-gl-dot-pc.patch) +sha256sums=('71f995e233bc5df1a0dd46c980d1720106e7f82f02d61c1ca50854b5e02590d0' 'SKIP' '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2' - '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966' - '96ed41a77b397577c27bee4ecb1faad82aa3eeeb09252ce2256ff9fff6545bd4' - '9bd66588f8f0d21ea3207b7c75c491a273db16d12f9fde0c66f69bdf6f66dff1' - 'a4f56b8812c35bb36600255dab0de8030402860165cadc4f3118a4c12333120f') + '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.veli...@gmail.com> validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # Andres Gomez <ta...@igalia.com> validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasua...@igalia.com>" @@ -36,11 +30,6 @@ # non-upstreamed ones patch -Np1 -i ../0001-glvnd-fix-gl-dot-pc.patch - # fix FS#57199 - [mesa-vdpau] [linux-firmware] AMD polaris firmware update breaks VDPAU without Mesa patch - patch -Np1 -i ../0001-radeon-vcn-add-and-manage-render-picture-list.patch - patch -Np1 -i ../0002-radeon-uvd-add-and-manage-render-picture-list.patch - # fix FS#56881 - [xorg-server-xwayland] cannot run firefox/chromium ? - patch -Np1 -i ../winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch autoreconf -fiv } Deleted: winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch =================================================================== --- winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch 2018-02-15 13:26:57 UTC (rev 317095) +++ winsys-radeon-Compute-is_displayable-in-surf_drm_to_winsys.patch 2018-02-15 14:45:16 UTC (rev 317096) @@ -1,14 +0,0 @@ -diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_surface.c b/src/gallium/winsys/radeon/drm/radeon_drm_surface.c -index 5ee01ff90f9..77fb7757c20 100644 ---- a/src/gallium/winsys/radeon/drm/radeon_drm_surface.c -+++ b/src/gallium/winsys/radeon/drm/radeon_drm_surface.c -@@ -215,6 +215,9 @@ static void surf_drm_to_winsys(struct radeon_drm_winsys *ws, - } - - set_micro_tile_mode(surf_ws, &ws->info); -+ surf_ws->is_displayable = surf_ws->is_linear || -+ surf_ws->micro_tile_mode == RADEON_MICRO_MODE_DISPLAY || -+ surf_ws->micro_tile_mode == RADEON_MICRO_MODE_ROTATED; - } - - static int radeon_winsys_surface_init(struct radeon_winsys *rws,