reverted: --- xserver-xorg-video-amdgpu-19.1.0/.pc/.quilt_patches +++ xserver-xorg-video-amdgpu-19.1.0.orig/.pc/.quilt_patches @@ -1 +0,0 @@ -debian/patches reverted: --- xserver-xorg-video-amdgpu-19.1.0/.pc/.quilt_series +++ xserver-xorg-video-amdgpu-19.1.0.orig/.pc/.quilt_series @@ -1 +0,0 @@ -series reverted: --- xserver-xorg-video-amdgpu-19.1.0/.pc/.version +++ xserver-xorg-video-amdgpu-19.1.0.orig/.pc/.version @@ -1 +0,0 @@ -2 reverted: --- xserver-xorg-video-amdgpu-19.1.0/.pc/applied-patches +++ xserver-xorg-video-amdgpu-19.1.0.orig/.pc/applied-patches @@ -1 +0,0 @@ -git_gcc10_build.patch reverted: --- xserver-xorg-video-amdgpu-19.1.0/.pc/git_gcc10_build.patch/src/drmmode_display.h +++ xserver-xorg-video-amdgpu-19.1.0.orig/.pc/git_gcc10_build.patch/src/drmmode_display.h @@ -1,295 +0,0 @@ -/* - * Copyright © 2007 Red Hat, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Authors: - * Dave Airlie - * - */ -#ifndef DRMMODE_DISPLAY_H -#define DRMMODE_DISPLAY_H - -#include "xf86drmMode.h" -#ifdef HAVE_LIBUDEV -#include "libudev.h" -#endif - -#include "amdgpu_drm_queue.h" -#include "amdgpu_probe.h" -#include "amdgpu.h" - -/* - * Enum of non-legacy color management properties, according to DRM. Note that - * the values should be incremental (with the exception of the INVALID member), - * as defined by C99. The ordering also matters. Some logics (such as iterators - * and bitmasks) depend on these facts. - */ -enum drmmode_cm_prop { - CM_DEGAMMA_LUT, - CM_CTM, - CM_GAMMA_LUT, - CM_DEGAMMA_LUT_SIZE, - CM_GAMMA_LUT_SIZE, - CM_NUM_PROPS, - CM_INVALID_PROP = -1, -}; - -typedef struct { - ScrnInfoPtr scrn; -#ifdef HAVE_LIBUDEV - struct udev_monitor *uevent_monitor; - InputHandlerProc uevent_handler; -#endif - drmEventContext event_context; - int count_crtcs; - - Bool delete_dp_12_displays; - - Bool dri2_flipping; - Bool present_flipping; - uint32_t vrr_prop_id; - - /* Cache for DRM property type IDs for CRTC color management */ - uint32_t cm_prop_ids[CM_NUM_PROPS]; - /* Lookup table sizes */ - uint32_t degamma_lut_size; - uint32_t gamma_lut_size; -} drmmode_rec, *drmmode_ptr; - -typedef struct { - void *event_data; - int flip_count; - unsigned int fe_frame; - uint64_t fe_usec; - xf86CrtcPtr fe_crtc; - amdgpu_drm_handler_proc handler; - amdgpu_drm_abort_proc abort; - struct drmmode_fb *fb[0]; -} drmmode_flipdata_rec, *drmmode_flipdata_ptr; - -struct drmmode_fb { - int refcnt; - uint32_t handle; -}; - -enum drmmode_scanout_status { - DRMMODE_SCANOUT_OK, - DRMMODE_SCANOUT_FLIP_FAILED = 1u << 0, - DRMMODE_SCANOUT_VBLANK_FAILED = 1u << 1, -}; - -struct drmmode_scanout { - struct amdgpu_buffer *bo; - PixmapPtr pixmap; - int width, height; -}; - -typedef struct { - drmmode_ptr drmmode; - drmModeCrtcPtr mode_crtc; - int hw_id; - - CursorPtr cursor; - int cursor_x; - int cursor_y; - int cursor_xhot; - int cursor_yhot; - unsigned cursor_id; - struct amdgpu_buffer *cursor_buffer[2]; - - struct drmmode_scanout rotate; - struct drmmode_scanout scanout[2]; - DamagePtr scanout_damage; - Bool ignore_damage; - RegionRec scanout_last_region; - unsigned scanout_id; - uintptr_t scanout_update_pending; - Bool tear_free; - enum drmmode_scanout_status scanout_status; - Bool vrr_enabled; - - PixmapPtr prime_scanout_pixmap; - - int dpms_mode; - CARD64 dpms_last_ust; - uint32_t dpms_last_seq; - int dpms_last_fps; - uint32_t interpolated_vblanks; - - /* Modeset needed for DPMS on */ - Bool need_modeset; - /* For keeping track of nested calls to drm_wait_pending_flip / - * drm_queue_handle_deferred - */ - int wait_flip_nesting_level; - /* A flip to this FB is pending for this CRTC */ - struct drmmode_fb *flip_pending; - /* The FB currently being scanned out by this CRTC, if any */ - struct drmmode_fb *fb; - - struct drm_color_lut *degamma_lut; - struct drm_color_ctm *ctm; - struct drm_color_lut *gamma_lut; -} drmmode_crtc_private_rec, *drmmode_crtc_private_ptr; - -typedef struct { - drmModePropertyPtr mode_prop; - uint64_t value; - int num_atoms; /* if range prop, num_atoms == 1; if enum prop, num_atoms == num_enums + 1 */ - Atom *atoms; -} drmmode_prop_rec, *drmmode_prop_ptr; - -typedef struct { - drmmode_ptr drmmode; - int output_id; - drmModeConnectorPtr mode_output; - drmModeEncoderPtr *mode_encoders; - drmModePropertyBlobPtr edid_blob; -#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1, 17, 99, 901, 0) - drmModePropertyBlobPtr tile_blob; -#endif - int dpms_enum_id; - int num_props; - drmmode_prop_ptr props; - int enc_mask; - int enc_clone_mask; - int tear_free; -} drmmode_output_private_rec, *drmmode_output_private_ptr; - -typedef struct { - uint32_t lessee_id; -} drmmode_lease_private_rec, *drmmode_lease_private_ptr; - - -enum drmmode_flip_sync { - FLIP_VSYNC, - FLIP_ASYNC, -}; - - -/** - * Return TRUE if kernel supports non-legacy color management. - */ -static inline Bool -drmmode_cm_enabled(drmmode_ptr drmmode) -{ - return drmmode->cm_prop_ids[CM_GAMMA_LUT_SIZE] != 0; -} - -/* Can the page flip ioctl be used for this CRTC? */ -static inline Bool -drmmode_crtc_can_flip(xf86CrtcPtr crtc) -{ - drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; - - return crtc->enabled && - drmmode_crtc->dpms_mode == DPMSModeOn && - !drmmode_crtc->rotate.bo && - (drmmode_crtc->tear_free || - !drmmode_crtc->scanout[drmmode_crtc->scanout_id].bo); -} - - -static inline void -drmmode_fb_reference_loc(int drm_fd, struct drmmode_fb **old, struct drmmode_fb *new, - const char *caller, unsigned line) -{ - if (new) { - if (new->refcnt <= 0) { - FatalError("New FB's refcnt was %d at %s:%u", - new->refcnt, caller, line); - } - - new->refcnt++; - } - - if (*old) { - if ((*old)->refcnt <= 0) { - FatalError("Old FB's refcnt was %d at %s:%u", - (*old)->refcnt, caller, line); - } - - if (--(*old)->refcnt == 0) { - drmModeRmFB(drm_fd, (*old)->handle); - free(*old); - } - } - - *old = new; -} - -#define drmmode_fb_reference(fd, old, new) \ - drmmode_fb_reference_loc(fd, old, new, __func__, __LINE__) - - -extern int drmmode_page_flip_target_absolute(AMDGPUEntPtr pAMDGPUEnt, - drmmode_crtc_private_ptr drmmode_crtc, - int fb_id, uint32_t flags, - uintptr_t drm_queue_seq, - uint32_t target_msc); -extern int drmmode_page_flip_target_relative(AMDGPUEntPtr pAMDGPUEnt, - drmmode_crtc_private_ptr drmmode_crtc, - int fb_id, uint32_t flags, - uintptr_t drm_queue_seq, - uint32_t target_msc); -extern Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp); -extern void drmmode_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode); -extern void drmmode_fini(ScrnInfoPtr pScrn, drmmode_ptr drmmode); -void drmmode_adjust_frame(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int x, int y); -extern Bool drmmode_set_desired_modes(ScrnInfoPtr pScrn, drmmode_ptr drmmode, - Bool set_hw); -extern void drmmode_copy_fb(ScrnInfoPtr pScrn, drmmode_ptr drmmode); -extern Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn); - -extern void drmmode_crtc_scanout_destroy(drmmode_ptr drmmode, - struct drmmode_scanout *scanout); -void drmmode_crtc_scanout_free(xf86CrtcPtr crtc); -PixmapPtr drmmode_crtc_scanout_create(xf86CrtcPtr crtc, - struct drmmode_scanout *scanout, - int width, int height); - -extern void drmmode_uevent_init(ScrnInfoPtr scrn, drmmode_ptr drmmode); -extern void drmmode_uevent_fini(ScrnInfoPtr scrn, drmmode_ptr drmmode); - -Bool drmmode_set_mode(xf86CrtcPtr crtc, struct drmmode_fb *fb, - DisplayModePtr mode, int x, int y); - -extern int drmmode_get_crtc_id(xf86CrtcPtr crtc); -extern int drmmode_get_pitch_align(ScrnInfoPtr scrn, int bpe); -Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client, - PixmapPtr new_front, uint64_t id, void *data, - xf86CrtcPtr ref_crtc, amdgpu_drm_handler_proc handler, - amdgpu_drm_abort_proc abort, - enum drmmode_flip_sync flip_sync, - uint32_t target_msc); -int drmmode_crtc_get_ust_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc); -int drmmode_get_current_ust(int drm_fd, CARD64 * ust); -void drmmode_crtc_set_vrr(xf86CrtcPtr crtc, Bool enabled); - -Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type, - uint32_t target_seq, unsigned long signal, - uint64_t *ust, uint32_t *result_seq); - - -miPointerSpriteFuncRec drmmode_sprite_funcs; - - -#endif reverted: --- xserver-xorg-video-amdgpu-19.1.0/ChangeLog +++ xserver-xorg-video-amdgpu-19.1.0.orig/ChangeLog @@ -1,3 +1,363 @@ +commit b467d2569a003da05ad222b0dc095bee5eec450a +Author: Michel Dänzer +Date: Fri Oct 11 17:10:10 2019 +0200 + + Bump version for the 19.1.0 release + +commit a1b7263277c033e109629829c370c0e95978e061 +Author: Michel Dänzer +Date: Thu Sep 26 15:56:59 2019 +0200 + + Don't unreference FBs of pixmaps from different screens in LeaveVT + + FindClientResourcesByType finds pixmaps from all screens, but trying to + process ones from other screens here makes no sense and likely results + in a crash or memory corruption. + + Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black + framebuffer in LeaveVT") + (Ported from radeon commit 2faaecc69b127248718e759c6c98c84d56dd1b6b) + +commit 5b8bc9fc505c551dcd9b0ed5ab835a49fa4f9fda +Author: Michel Dänzer +Date: Wed Sep 18 12:55:45 2019 +0200 + + Don't set up black scanout buffer if LeaveVT is called from CloseScreen + + Avoids a crash described in + https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/43#note_223718 + + Reviewed-by: Alex Deucher + +commit e6fce59a071220967fcd4e2c9e4a262c72870761 +Author: Michel Dänzer +Date: Wed Jul 24 16:05:05 2019 +0200 + + present: Don't check pixmap pitch in check_flip with non-DC >= 3.34 + + The current non-DC kernel driver also handles flipping between different + pitches correctly. + + Reviewed-by: Nicholas Kazlauskas + +commit 5bb2580b266468f87843b5585ae64e056b63bb88 +Author: Michel Dänzer +Date: Wed Jul 24 15:55:19 2019 +0200 + + present: Don't check pixmap pitch in check_flip with current DC + + Current DC handles flipping between different pitches correctly. + + Reviewed-by: Nicholas Kazlauskas + +commit ac66086613cbd0974b421cd5eda872adc15242ed +Author: Michel Dänzer +Date: Wed Jul 24 15:45:21 2019 +0200 + + present: Also check pixmap pitch in check_flip with current xserver + + The corresponding check in the xserver Present code was removed again, + because flipping between different pitches can work in some cases. + + Reviewed-by: Nicholas Kazlauskas + +commit 98f172eb2d2353e19edd8167f22215ce596811f8 +Author: Michel Dänzer +Date: Mon Jul 29 18:54:24 2019 +0200 + + gitlab-ci: Use templates from wayland/ci-templates + + These are already used by xserver, Mesa and some other projects. + + Current Debian testing brings e.g. GCC 8.3.0 and clang 7.0.1. + +commit 87f41ace4920fd2069794211683659eb25b025a6 +Author: Michel Dänzer +Date: Fri Jul 5 12:43:53 2019 +0200 + + Don't disable page flipping completely with SW cursor + + Even with SW cursor, page flipping can be used while no X cursor is + visible. + + Occurred to me in the context of xorg/xserver#828. + +commit 7d3fef72e0c871e1677e9e544f4cae5e238b5c52 +Author: Michel Dänzer +Date: Thu May 9 17:39:49 2019 +0200 + + present: Check that we can get a KMS FB for flipping + + This can legitimately fail if the pixmap's storage is shared from + another device, e.g. when using PRIME render offloading. + +commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010 +Author: Michel Dänzer +Date: Thu Jun 6 11:02:15 2019 +0200 + + Remove dri2_drawable_crtc parameter consider_disabled + + All callers were passing TRUE. + + Reviewed-and-tested-by: Flora Cui + +commit 3109f088fdbd89c2ee8078625d4f073852492656 +Author: Michel Dänzer +Date: Thu Jun 6 11:22:09 2019 +0200 + + dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL + + This way, the MSC will continue ticking at the rate of (the last mode + which was enabled for) that CRTC, instead of the client running + unthrottled. + + Reviewed-and-tested-by: Flora Cui + +commit fb06fb814700a47464abd756e1111dcc76d0d776 +Author: Flora Cui +Date: Wed May 29 14:18:50 2019 +0800 + + dri2: reply to client for WaitMSC request in any case + + otherwise client would wait for reply forever and desktop appears hang. + + Signed-off-by: Flora Cui + Acked-by: Feifei Xu + Reviewed-by: Michel Dänzer + +commit 4b17533fcb30842caf0035ba593b7d986520cc85 +Author: Michel Dänzer +Date: Tue Apr 30 17:50:15 2019 +0200 + + dri3: Always flush glamor before sharing pixmap storage with clients + + Even if glamor_gbm_bo_from_pixmap / glamor_fd_from_pixmap themselves + don't trigger any drawing, there could already be unflushed drawing to + the pixmap whose storage we share with a client. + +commit bf61e6d7ac1a5754b1026d7f80acf25ef622c491 +Author: Michel Dänzer +Date: Thu Apr 18 19:21:40 2019 +0200 + + Retry get_fb_ptr in get_fb + + If get_fb_ptr returns NULL, try again after pixmap_get_handle, it should + work then. + + Fixes spurious Present page flipping failures using "normal" pixmaps + which aren't shared with direct rendering clients, e.g. with a + compositor using the RENDER extension. + + Bugzilla: https://bugs.freedesktop.org/110417 + Reviewed-by: Alex Deucher + +commit bd4ffd4ebbdf1c43ab9e1ef9ba8b812fd2dde4a4 +Author: Michel Dänzer +Date: Tue Mar 19 18:44:31 2019 +0100 + + Bump version for the 19.0.1 release + +commit 6ee857726166f495abcd68e4ff60e3a09593d079 +Author: Dave Airlie +Date: Mon Mar 23 11:33:23 2015 +1000 + + modesetting: add tile property support + + This adds tiling support to the driver, it retrieves the tile info from + the kernel and translates it into the server format and exposes the + property. + + (Ported from xserver commits 8fb8bbb3062f1a06621ab7030a9e89d5e8367b35 + and 6abdb54a11dac4e8854ff94ecdcb90a14321ab31) + Reviewed-by: Alex Deucher + +commit 9534bf3bb33d14cd3a5af08e36ef42b309647fc7 +Author: Michel Dänzer +Date: Wed Mar 6 12:05:14 2019 +0100 + + Bump version for the 19.0.0 release + +commit a2b32e72fdaff3007a79b84929997d8176c2d512 +Author: Michel Dänzer +Date: Fri Mar 1 17:42:08 2019 +0100 + + present: Don't check tiling parameters with DC & DRM minor version >= 31 + + Current DC handles any changes of tiling parameters for flips. + + v2: + * Just check all tiling bits if DRM minor < 31 or DC is disabled. + + Reviewed-by: Nicholas Kazlauskas + +commit 2798244be78df3ef3a7841597577506bfbe50156 +Author: Michel Dänzer +Date: Fri Mar 1 17:47:24 2019 +0100 + + Make drmmode_cm_enabled an inline function + + So that it can be used outside of drmmode_display.c as well. + + Reviewed-by: Nicholas Kazlauskas + +commit 72653455e4f652ca6c7c290c7f1e8a889b77f5ce +Author: Michel Dänzer +Date: Fri Mar 1 17:35:48 2019 +0100 + + Revert "Remove set but unused amdgpu_dri2::pKernelDRMVersion" + + This reverts commit 720a61000aeb139005bd8125908cec66a6e69554. + + We're going to make use of it now. + + Reviewed-by: Nicholas Kazlauskas + +commit 28cd209ebf20561e65d14fa2e8bbfaedf6965948 +Author: Michel Dänzer +Date: Wed Feb 27 17:35:26 2019 +0100 + + Revert "gitlab-ci: Only run docker-image stage if relevant source files change" + + This reverts commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e. + + Some scenarios have come to light where this failed to ensure the docker + image exists: + + * If the master branch of a forked repository is used for an MR which + doesn't modify .gitlab-ci.yml, the docker-image job may not run. + * If the docker-image job of the first pipeline in a forked repository + is cancelled or fails for any reason, and .gitlab-ci.yml isn't + modified for the next pipeline run. + +commit 09be74a3d1dd9604336d9a27f98d132b262dcbaf +Author: Michel Dänzer +Date: Thu Feb 28 17:31:55 2019 +0100 + + dri2: Call drm_queue_handle_deferred in dri2_deferred_event + + drm_queue_handler just puts the event on the signalled list; without + calling drm_queue_handle_deferred, actual processing of the event may be + delayed indefinitely, e.g. until another event arrives from the kernel. + + This could result in DRI2 clients hanging during DPMS off. + + Fixes: 739181c8d3334 "Add amdgpu_drm_handle_event wrapper for + drmHandleEvent" + Reviewed-by: Aaron Liu + Tested-by: Aaron Liu + +commit a636f42b496b0604ca00a144690ece61d1a88a27 +Author: Michel Dänzer +Date: Wed Feb 27 18:43:27 2019 +0100 + + present: Check that flip and screen pixmap pitches match + + If they don't, flipping will result in corrupted display. + + Test case: + + * Run Xorg at 1920x1080 with no window manager + * glxgears -geometry 2048x1080 + + The Present extension code in xserver 1.21 will check for this. + + Tested-by: Jax Lin + +commit bd090f389f19f1f4a3f662ffdd891345a3899539 +Author: Michel Dänzer +Date: Tue Feb 12 17:57:17 2019 +0100 + + Call amdgpu_present_set_screen_vrr from amdgpu_vrr_property_update + + If the window is currently flipping. + + This might make a difference when the property gets disabled: Variable + refresh will now be disabled immediately in that case, instead of only + when the window can no longer use page flipping at all. + + Reviewed-by: Nicholas Kazlauskas + +commit d9be5d712d469595e1e610f7294bc670ca3b1985 +Author: Michel Dänzer +Date: Tue Feb 12 12:26:25 2019 +0100 + + Make use of property request wrappers for VRR property + + Instead of scanning for PropertyNotify events. Reasons: + + * Works even if no client listens to PropertyNotify events for the + window. + * No overhead on delivery of unrelated events, and no overhead at all + if Option "VariableRefresh" is disabled. + + v2: + * Use shorter variable name amdgpu_vrr_atom. + * Call MakeAtom regardless of info->instance_id, for robustness vs VRR + being enabled in some but not all AMDGPU screens. + + Reviewed-by: Nicholas Kazlauskas + +commit ef8fbe33b7d97f7fb5518db9c0e4d2dcbf2fab6f +Author: Michel Dänzer +Date: Thu Jan 17 18:41:11 2019 +0100 + + Wrap change/delete window property request handlers + + Preparation for the following change. + + v2: + * Add comments explaining what the wrappers are wrapping. + * Use global amdgpu_property_vectors_wrapped to keep track of whether + the vectors need to be (un)wrapped, for robustness against VRR being + enabled in some but not all AMDGPU screens. + + Reviewed-by: Nicholas Kazlauskas + +commit 09a45ff8fe3ac07bafa3a0822b1598c41f9ca200 +Author: Michel Dänzer +Date: Tue Feb 12 13:01:04 2019 +0100 + + Don't enable the VRR support code for GPU screens + + Windows aren't associated with GPU screens, and amdgpu_present_flip is + never called for them, so VRR can never actually be enabled for them. + + Reviewed-by: Nicholas Kazlauskas + +commit 2a3d00dc7ed2b4fca698e2d699e1b94da6d0ddb8 +Author: Michel Dänzer +Date: Tue Feb 12 18:12:23 2019 +0100 + + Don't register a window private if VRR is disabled + + It's not used in that case. + + Reviewed-by: Nicholas Kazlauskas + +commit 5f91be77e059d0c4a4268ec10cbd9aa1052f53eb +Author: Michel Dänzer +Date: Mon Feb 11 18:32:07 2019 +0100 + + gitlab-ci: Don't rely on $CI_PROJECT_NAME + + The name of a forked repository can be changed later, in which case this + would fail to refer to the main repository. + + Pointed out by Eric Engestrom in + https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 . + +commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e +Author: Michel Dänzer +Date: Thu Feb 7 17:35:13 2019 +0100 + + gitlab-ci: Only run docker-image stage if relevant source files change + + Otherwise there's normally no need to run it. It will also run when a + new branch is created, which ensures that the docker image always exists + (e.g. in a newly forked repository). + + Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143 + commit 9045fb310f88780e250e60b80431ca153330e61b Author: Michel Dänzer Date: Thu Jan 24 18:31:40 2019 +0100 @@ -5876,7 +6236,7 @@ Must be enabled with + Option "DRI3" - Option "DRI3" in xorg.conf. diff -u xserver-xorg-video-amdgpu-19.1.0/debian/changelog xserver-xorg-video-amdgpu-19.1.0/debian/changelog --- xserver-xorg-video-amdgpu-19.1.0/debian/changelog +++ xserver-xorg-video-amdgpu-19.1.0/debian/changelog @@ -1,9 +1,10 @@ -xserver-xorg-video-amdgpu (19.1.0-1ubuntu1) groovy; urgency=medium +xserver-xorg-video-amdgpu (19.1.0-2) unstable; urgency=medium - * debian/patches/git_gcc10_build.patch: - - backport an upstream commit to fix the build with gcc10 + * Team upload. + * Cherry-pick upstream build fix for GCC 10 (closes: #957997). + Thanks, Matthias Klose! - -- Sebastien Bacher Wed, 05 Aug 2020 15:42:13 +0200 + -- Julien Cristau Thu, 17 Sep 2020 15:25:15 +0200 xserver-xorg-video-amdgpu (19.1.0-1) unstable; urgency=medium reverted: --- xserver-xorg-video-amdgpu-19.1.0/debian/patches/dri3-always-flush-glamor.diff +++ xserver-xorg-video-amdgpu-19.1.0.orig/debian/patches/dri3-always-flush-glamor.diff @@ -1,49 +0,0 @@ -commit 4b17533fcb30842caf0035ba593b7d986520cc85 -Author: Michel Dänzer -Date: Tue Apr 30 17:50:15 2019 +0200 - - dri3: Always flush glamor before sharing pixmap storage with clients - - Even if glamor_gbm_bo_from_pixmap / glamor_fd_from_pixmap themselves - don't trigger any drawing, there could already be unflushed drawing to - the pixmap whose storage we share with a client. - -diff --git a/src/amdgpu_dri3.c b/src/amdgpu_dri3.c -index 7f1745e..ed1e2f9 100644 ---- a/src/amdgpu_dri3.c -+++ b/src/amdgpu_dri3.c -@@ -221,29 +221,13 @@ static int amdgpu_dri3_fd_from_pixmap(ScreenPtr screen, - AMDGPUInfoPtr info = AMDGPUPTR(scrn); - - if (info->use_glamor) { -- Bool need_flush = TRUE; -- int ret = -1; --#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,19,99,904,0) -- struct gbm_bo *gbm_bo = glamor_gbm_bo_from_pixmap(screen, pixmap); -+ int ret = glamor_fd_from_pixmap(screen, pixmap, stride, size); - -- if (gbm_bo) { -- ret = gbm_bo_get_fd(gbm_bo); -- gbm_bo_destroy(gbm_bo); -- -- if (ret >= 0) -- need_flush = FALSE; -- } --#endif -- -- if (ret < 0) -- ret = glamor_fd_from_pixmap(screen, pixmap, stride, size); -- -- /* glamor might have needed to reallocate the pixmap storage and -- * copy the pixmap contents to the new storage. The copy -- * operation needs to be flushed to the kernel driver before the -- * client starts using the pixmap storage for direct rendering. -+ /* Any pending drawing operations need to be flushed to the -+ * kernel driver before the client starts using the pixmap -+ * storage for direct rendering. - */ -- if (ret >= 0 && need_flush) -+ if (ret >= 0) - amdgpu_glamor_flush(scrn); - - return ret; reverted: --- xserver-xorg-video-amdgpu-19.1.0/debian/patches/git_gcc10_build.patch +++ xserver-xorg-video-amdgpu-19.1.0.orig/debian/patches/git_gcc10_build.patch @@ -1,26 +0,0 @@ -From edcbe5f52ddfceee3d66d69bbcebbceac06b6d0d Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 4 Feb 2020 16:38:06 -0500 -Subject: [PATCH] Fix link failure with gcc 10 - -Without the 'extern' this looks like a definition not just a -declaration, in every file that includes the header. gcc 10 is stricter -about this kind of multiple definition. ---- - src/drmmode_display.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/drmmode_display.h b/src/drmmode_display.h -index 803ac3c..9c0f25a 100644 ---- a/src/drmmode_display.h -+++ b/src/drmmode_display.h -@@ -289,7 +289,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type, - uint64_t *ust, uint32_t *result_seq); - - --miPointerSpriteFuncRec drmmode_sprite_funcs; -+extern miPointerSpriteFuncRec drmmode_sprite_funcs; - - - #endif - diff -u xserver-xorg-video-amdgpu-19.1.0/debian/patches/series xserver-xorg-video-amdgpu-19.1.0/debian/patches/series --- xserver-xorg-video-amdgpu-19.1.0/debian/patches/series +++ xserver-xorg-video-amdgpu-19.1.0/debian/patches/series @@ -1 +1 @@ -git_gcc10_build.patch +#placeholder