1commit 7025aefcdf9673665588cf291c5d71beb39cce89 2Author: Shashank Sharma <shashank.sharma@amd.com> 3Date: Wed Feb 22 18:00:23 2023 +0100 4 5 Bump version for the 23.0.0 release 6 7 This release includes some bug fixes. 8 9 Signed-off-by: Shashank Sharma <shashank.sharma@amd.com> 10 11commit 6ee320917093ad0f7d68e516d3224d3c04ca13ee 12Author: Shashank Sharma <shashank.sharma@amd.com> 13Date: Mon Nov 28 13:08:36 2022 +0100 14 15 config: Add hotplug driver name 16 17 This patch adds the PCI-hotplug handler driver name in the 18 DDX config file with respect to Xorg commit:82bf391c 19 20 Cc: Alexander Deucher <alexander.deucher@amd.com> 21 Signed-off-by: Shashank Sharma <shashank.sharma@amd.com> 22 23commit 2ec854d48e0e44fc60c3955663f700cbefea3553 24Author: Mario Kleiner <mario.kleiner.de@gmail.com> 25Date: Fri Nov 11 02:18:07 2022 +0100 26 27 Fix primary output handling in amdgpu_crtc_covering_box(). 28 29 Commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389 30 tries to reintroduce the RandR primary output as a tie breaker 31 in amdgpu_crtc_covering_box(), but that function wrongly 32 assigns a void* devPrivate, which is actually a xf86CrtcPtr, 33 to the RRCrtcPtr primary_crtc, a pointer target type mismatch! 34 35 This causes a later pointer comparison of primary_crtc with 36 RRCrtcPtr crtc to always fail, so that the user selected 37 primary output can not ever successfully act as a tie-breaker 38 when multiple candidate crtcs cover the same box area, 39 defeating the whole purpose of that commit! Not sure how 40 this failure could have ever evaded any basic testing. 41 42 Fix this trivially by assigning the right variable. 43 44 Successfully tested on a multi-display setup, verifying 45 that the primary output now works as tie breaker as 46 intended. 47 48 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 49 Fixes: e39a3ee07c9d ("Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage") 50 51commit 9c959fac3af28d191105f63236096ad456dca614 52Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> 53Date: Thu Sep 29 16:42:09 2022 +0200 54 55 Use DRM_CAP_CURSOR_WIDTH/HEIGHT if possible 56 57 There's no need to hardcode the cursor size if the kernel can 58 report the value it wants. 59 60commit 4e011b91fa3ef58b85327d3429889efd934b3531 61Author: Alan Coopersmith <alan.coopersmith@oracle.com> 62Date: Tue Aug 2 15:03:19 2022 -0700 63 64 gitlab CI: enable gitlab's builtin static analysis 65 66 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> 67 68commit dc81177ef342bf8c2aa5a6fd6687c7a09b4f9709 69Author: tiancyin <tianci.yin@amd.com> 70Date: Wed Aug 10 16:46:15 2022 +0800 71 72 Fix screen corruption on secondary GPU 73 74 [why] 75 On RHEL9+, xorg-server.pc shows that the Xorg no longer depends on dri, 76 and dri.pc provides "/opt/amdgpu/include" path for pkg-config, this 77 cause pkg-config no longer output "-I/opt/amdgpu/include", consequently 78 the configure can't find gbm.h and HAVE_GBM_BO_USE_LINEAR is not 79 declared, that cause the corruption. 80 81 [how] 82 Since the gbm.pc also provides the "/opt/amdgpu/include" path, in module 83 dependence checking, GBM_CFLAGS get this path, so just explicitly add 84 GBM_CFLAGS into CPPFLAGS can fix this issue. 85 86 Signed-off-by: tiancyin <tianci.yin@amd.com> 87 88commit a3a012b649eb9b3066abefe163a72854514792fa 89Author: Kai-Heng Feng <kai.heng.feng@canonical.com> 90Date: Mon Aug 8 10:49:11 2022 +0800 91 92 Initialize present extension for GPU screen 93 94 Some laptops have the external outputs routed to dGPU, when the external 95 output over dGPU is the only display in reverse prime mode, we need 96 present extension so fake CRTC won't be used. 97 98commit f3f57a58342c286808220bdbe6dc6bb7098763b9 99Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com> 100Date: Fri Jun 11 14:54:35 2021 +0200 101 102 Do not consider disabled crtc anymore when looking for xf86crtc covering drawable. 103 104 This is commit is removing obsolete switch done in 105 106 xf86-video-ati at sha 61d0aec40e2521488c2fe43e7a6823e5c87d94d7: video: add option to include disabled CRTCs in best CRTC search 107 This is not required anymore as with commit done in 108 xorg-server at sha 5c5c1b77982a9af7279a90bc3c2be48adaa9c778: present: Add Present extension 109 That in case of lack of crtc is using fake_crtc with render 1Hz frequency 110 111 When consider_disabled is removed then amdgpu_pick_best_crtc is doing the same what rr_crtc_covering_box is doing 112 so it can be reimplemented to reuse that function. 113 114 Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com> 115 Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com> 116 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 117 118commit e39a3ee07c9dea73b0452b71b1ef633b6cd6f389 119Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com> 120Date: Mon Jun 21 11:41:40 2021 +0200 121 122 Prefer crtc of primary output for synchronization when screen has to crtcs with the same coverage 123 124 This is adjusting randr_crtc_covering_drawable to cover scenario fixed in 125 9151f3b1c2ebcc34e63195888ba696f2183ba5e2 126 127 Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com> 128 Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com> 129 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 130 131commit 92fb43b8e96bbda77e03b7313ccbba75a304a1b1 132Author: Lukasz Spintzyk <lukasz.spintzyk@displaylink.com> 133Date: Fri Jun 11 08:52:58 2021 +0200 134 135 Use randr_crtc_covering_drawable used in modesetting 136 137 Use implementation from modesetting driver that is fixing issue: 138 https://gitlab.freedesktop.org/xorg/xserver/-/issues/1028 139 140 Instead of returning primary crtc as fallback we can now find and return crtc that belongs to secondary outputs. 141 142 v2: 143 restore original naming scheme for amdgpu_crtc_is_enabled, amdgpu_box_intersect, amdgpu_box_area functions 144 145 Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com> 146 Signed-off-by: Emilia Majewska <emilia.majewska@synaptics.com> 147 Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com> 148 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 149 150commit 57740ae2357ca7b973f78be31327365aaa60ed41 151Author: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com> 152Date: Tue Jun 22 07:36:42 2021 +0200 153 154 amdgpu: fixup driver for new X server ABI 155 156 Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com> 157 Signed-off-by: Shashank Sharma <contactshashanksharma@gmail.com> 158 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 159 160commit 89b3eb9fffe2ead4257eee6d65accbac135aedc9 161Author: Alan Coopersmith <alan.coopersmith@oracle.com> 162Date: Sat Feb 19 12:07:46 2022 -0800 163 164 Update URLs to reflect gitlab migration 165 166 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> 167 168commit 533bd30ceaa373788b3d0bfd4d486f0f1c624d0c 169Author: Shashank Sharma <shashank.sharma@amd.com> 170Date: Tue Feb 22 16:25:01 2022 +0100 171 172 Bump version for the 22.0.0 release 173 174 This release includes some bug fixes and one minor feature. 175 176 Signed-off-by: Shashank Sharma <shashank.sharma@amd.com> 177 178commit 402bfdead7d512726c01359c03fcd37b4efdc975 179Author: Alan Coopersmith <alan.coopersmith@oracle.com> 180Date: Mon Jan 17 14:20:53 2022 -0800 181 182 Build xz tarballs instead of bzip2 183 184 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> 185 186commit c21bcdd1cbdc340a80d1ebfbf02376e2dad9c67c 187Author: Jesse Zhang <jesse.zhang@amd.com> 188Date: Wed Feb 16 16:11:44 2022 +0100 189 190 glamor: unset AMDGPU_CREATE_PIXMAP_SCANOUT on shared pixmap 191 192 While running multi-display test(for both APUs and DGPUs), if 193 the screen setting mode is changed from "single mode" to "share mode", 194 the screen shows tiled distortion, due to wrongly created pixmap. 195 This is a regression. 196 197 Fixes: 0732f81a2c67 ("glamor: Make pixmap scanout compatible if its dimensions are") 198 Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/48 199 200 Acked-by: Shashank Sharma <shashank.sharma@amd.com> 201 Signed-off-by: Jesse Zhang <jesse.zhang@amd.com> 202 Signed-off-by: Shashank Sharma <shashank.sharma@amd.com> 203 204commit 8bc148f0c14f6a6df1c3643a774e00a00c7942c6 205Author: Alan Coopersmith <alan.coopersmith@oracle.com> 206Date: Mon Jan 17 14:25:12 2022 -0800 207 208 Fix spelling/wording issues 209 210 Found by using: 211 codespell --builtin clear,rare,usage,informal,code,names 212 213 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> 214 215commit 65c127366a22c03d2ffcdcdf91eec28cac733e83 216Author: Mario Kleiner <mario.kleiner.de@gmail.com> 217Date: Tue Jan 25 03:44:47 2022 +0100 218 219 Add option for non-vsynced flips for "secondary" outputs. 220 221 This is a straightforward port of a patch with the same name 222 "modesetting: Add option for non-vsynced flips for "secondary" 223 outputs." from X-Server master / X-Server 21.1. See server MR 742. 224 The description below is therefore identical to that X-Server commit: 225 226 Whenever an unredirected fullscreen window uses pageflipping for a 227 DRI3/Present PresentPixmap() operation and the X-Screen has more than 228 one active output, multiple crtc's need to execute pageflips. Only 229 after the last flip has completed can the PresentPixmap operation 230 as a whole complete. 231 232 If a sync_flip is requested for the present, then the current 233 implementation will synchronize each pageflip to the vblank of 234 its associated crtc. This provides tear-free image presentation 235 across all outputs, but introduces a different artifact, if not 236 all outputs run at the same refresh rate with perfect synchrony: 237 The slowest output throttles the presentation rate, and present 238 completion is delayed to flip completion of the "latest" output 239 to complete. This means degraded performance, e.g., a dual-display 240 setup with a 144 Hz monitor and a 60 Hz monitor will always be 241 throttled to at most 60 fps. It also means non-constant present 242 rate if refresh cycles drift against each other, creating complex 243 "beat patterns", tremors, stutters and periodic slowdowns - quite 244 irritating! 245 246 Such a scenario will be especially annoying if one uses multiple 247 outputs in "mirror mode" aka "clone mode". One output will usually 248 be the "production output" with the highest quality and fastest 249 display attached, whereas a secondary mirror output just has a 250 cheaper display for monitoring attached. Users care about perfect 251 and perfectly timed tear-free presentation on the "production output", 252 but cares less about quality on the secondary "mirror output". They 253 are willing to trade quality on secondary outputs away in exchange 254 for better presentation timing on the "production output". 255 256 One example use case for such production + monitoring displays are 257 neuroscience / medical science applications where one high quality 258 display device is used to present visual animations to test subjects 259 or patients in a fMRI scanner room (production display), whereas 260 an operator monitors the same visual animations from a control room 261 on a lower quality display. Presentation timing needs to be perfect, 262 and animations high-speed and tear-free for the production display, 263 whereas quality and timing don't matter for the monitoring display. 264 265 This commit gives users the option to choose such a trade-off as 266 opt-in: 267 268 It adds a new boolean option "AsyncFlipSecondaries" to the device section 269 of xorg.conf. If this option is specified as true, then DRI3 pageflip 270 behaviour changes as follows: 271 272 1. The "reference crtc" for a windows PresentPixmap operation does a 273 vblank synced flip, or a DRM_MODE_PAGE_FLIP_ASYNC non-synchronized 274 flip, as requested by the caller, just as in the past. Typically 275 flips will be requested to be vblank synchronized for tear-free 276 presentation. The "reference crtc" is the one chosen by the caller 277 to drive presentation timing (as specified by PresentPixmap()'s 278 "target_msc", "divisor", "remainder" parameters and implemented by 279 vblank events) and to deliver Present completion timestamps (msc 280 and ust) extracted from its pageflip completion event. 281 282 2. All other crtc's, which also page-flip in a multi-display configuration, 283 will try to flip with DRM_MODE_PAGE_FLIP_ASYNC, ie. immediately and 284 not synchronized to vblank. This allows the PresentPixmap operation 285 to complete with little delay compared to a single-display present, 286 especially if the different crtc's run at different video refresh 287 rates or their refresh cycles are not perfectly synchronized, but 288 drift against each other. The downside is potential tearing artifacts 289 on all outputs apart from the one of the "reference crtc". 290 291 Successfully tested on a AMD gpu with single-display and dual-display 292 setups, and with single-X-Screen as well as dual-X-Screen "ZaphodHeads" 293 configurations. 294 295 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 296 297commit 69365526d0a477e0d7842571a72266631c77742d 298Author: Dor Askayo <dor.askayo@gmail.com> 299Date: Sat Aug 21 19:11:05 2021 +0300 300 301 glamor: Set AMDGPU_CREATE_PIXMAP_SCANOUT on DRI2 and shared pixmaps 302 303 The scanout usage flag wasn't applied for DRI2 and shared pixmaps 304 in 0732f81a2c67, resulting in GPU artifacts in some scenarios. 305 306 Fixes: 0732f81a2c67 ("glamor: Make pixmap scanout compatible if its 307 dimensions are") 308 Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/41 309 Signed-off-by: Dor Askayo <dor.askayo@gmail.com> 310 Signed-off-by: Michel Dänzer <mdaenzer@redhat.com> 311 Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> 312 313commit 0d68a91dce88eeacd15bf1159ddc6200a01b1f2e 314Author: Alex Deucher <alexander.deucher@amd.com> 315Date: Thu Jul 29 13:20:16 2021 -0400 316 317 Bump version for the 21.0.0 release 318 319 Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> 320 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 321 322commit aedbf47ffc9459c3654b66d8abf6d4f8515c4815 323Author: Michel Dänzer <mdaenzer@redhat.com> 324Date: Mon Apr 26 15:00:54 2021 +0200 325 326 Include xf86drm.h instead of sarea.h 327 328 Fixes build against current xorg-x11-server-devel from Fedora 329 34/35/rawhide. 330 331 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 332 333commit 6ed48634443e15a45f48e3a4ddf91e46041ad38f 334Author: Michel Dänzer <mdaenzer@redhat.com> 335Date: Tue Feb 2 12:45:54 2021 +0100 336 337 Drop dri.h includes 338 339 Not needed anymore. 340 341 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 342 343commit 6234a1b2652f469071c0c9b0d8b0f4a8079efe74 344Author: Likun Gao <Likun.Gao@amd.com> 345Date: Fri Oct 30 12:23:20 2020 +0800 346 347 Fix drmmode_crtc_scanout_create logic 348 349 If crtc scanout create successfully, the function of 350 drmmode_crtc_scanout_create should return TURE. 351 This will fix the regression caused by commit: "Make 352 drmmode_crtc_scanout_create/destroy static" (442efe73), as it will 353 result to some function (such as drmmode_set_scanout_pixmap) go to wrong 354 code path and result to NULL pointer. 355 Fixes: 442efe73 ("Make drmmode_crtc_scanout_create/destroy static") 356 357 Signed-off-by: Likun Gao <Likun.Gao@amd.com> 358 Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> 359 360commit 6bd3dc6bd8af238868154f24a37ff13cc9aa2705 361Author: Michel Dänzer <mdaenzer@redhat.com> 362Date: Fri Aug 28 10:50:50 2020 +0200 363 364 Check for AMDGPU_CREATE_PIXMAP_SCANOUT in amdgpu_glamor_create_pixmap 365 366 We must not call glamor_create_pixmap or fbCreatePixmap when it's set. 367 368 Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/21 369 370commit 2202cdfb0ac79591b6d3a51634e3b9f507970d55 371Author: Michel Dänzer <mdaenzer@redhat.com> 372Date: Fri Jul 10 11:24:02 2020 +0200 373 374 Replace a few more instances of "master" 375 376 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 377 378commit 0d1d479ecca424120ae1b0f16f9009aec64e5164 379Author: Michel Dänzer <mdaenzer@redhat.com> 380Date: Fri Jul 10 11:13:21 2020 +0200 381 382 Fix build against ABI_VIDEODRV_VERSION 25.2 383 384 Use primary/secondary instead of master/slave where applicable. 385 386 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 387 388commit 442efe73dd579dc36445a3b232937abbed9d2fbb 389Author: Michel Dänzer <mdaenzer@redhat.com> 390Date: Wed Apr 22 16:47:33 2020 +0200 391 392 Make drmmode_crtc_scanout_create/destroy static 393 394 And the latter inline. 395 396commit 99f3c82e940e35642757ccd6dc5267004e1122f6 397Author: Michel Dänzer <mdaenzer@redhat.com> 398Date: Tue Apr 21 19:02:41 2020 +0200 399 400 Drop struct drmmode_scanout altogether in favour of PixmapPtrs 401 402commit cfce4b3e6b05b1be14b7ce716dbfb9a15e7e21f4 403Author: Michel Dänzer <mdaenzer@redhat.com> 404Date: Tue Apr 21 18:48:06 2020 +0200 405 406 Drop bo/width/height members from struct drmmode_scanout 407 408 The pixmap is all we really need. 409 410commit 680b9a2976f9eb8010c8160c425c2194fb5429d1 411Author: Niclas Zeising <zeising@daemonic.se> 412Date: Wed Apr 15 10:34:32 2020 +0200 413 414 Fix return value check of drmIoctl() 415 416 When the drmModeSetCursor2() call was replaced with bare drmIoctl() call in 417 b344e155, a bug was introduced. With the use of drmModeSetCursor2(), 418 the return value from drmIoctl() (which calls ioctl()) were mangled, if 419 they were negative, they were replaced by -errno by a wrapper function 420 in xf86drMode.c in libdrm. After replacing drmModeSetCursor2() with the 421 call to drmIoctl(), this mangling no longer happens, and we need to 422 explicitly check if the call to drmIoctl() fails, which is indicated by 423 returning -1, and then why it failed, by checking errno. 424 If the error indicated by errno is EINVAL, then we can't use the 425 DRM_IOCTL_MODE_CURSOR2 ioctl(), and need to fall back to the 426 DRM_IOCTL_MODE_CURSOR ioctl(). 427 428 This bug can manifest itself by an invisible hw cursor on systems where the 429 DRM_IOCTL_MODE_CURSOR2 is not implemented by the graphics driver. 430 431 Signed-off-by: Niclas Zeising <zeising@daemonic.se> 432 433commit e923642bae6077f71a8f251fe885342757737224 434Author: Peter Hutterer <peter.hutterer@who-t.net> 435Date: Fri May 8 11:14:32 2020 +1000 436 437 gitlab CI: update to use the latest CI templates 438 439 Repository was moved there from wayland/ci-templates, and let's update to the 440 most recent version.. 441 442 No real functional changes, we're just making use of the various CI template 443 bits and bobs now, specifically the FDO_* variables and the 444 .fdo.container-build and .fdo.distribution-image templates. 445 446 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> 447 448commit 0732f81a2c67354ddfa7a495bee6b0997c6ef244 449Author: Michel Dänzer <mdaenzer@redhat.com> 450Date: Tue Apr 21 10:54:47 2020 +0200 451 452 glamor: Make pixmap scanout compatible if its dimensions are 453 454 Namely, if its dimensions match those of the screen pixmap (enough that 455 it could stand in for it). When that's the case, the pixmap may end up 456 being scanned out directly due to page flipping via the Present 457 extension, e.g. with xfwm4 --vblank=xpresent . 458 459 v2: 460 * Use AMDGPU_CREATE_PIXMAP_SCANOUT instead of second-guessing in 461 amdgpu_alloc_pixmap_bo, fixes corruption when resizing from smaller 462 to larger virtual size via RandR. 463 464 Closes: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/10 465 466commit cb27a5b1120266e4baaa3eb784ff041977ded43f 467Author: Michel Dänzer <mdaenzer@redhat.com> 468Date: Fri Nov 29 16:37:32 2019 +0100 469 470 Handle NULL fb_ptr in pixmap_get_fb 471 472 This can happen when HW acceleration is disabled. 473 474 Fixes https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/188 475 (ported from radeon commit 4d84cf438e7f1bebf0053035ef0292e9fed257d1) 476 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 477 478commit e2cd67abb4aa8b5c942b46dd66dac091b9fad7ad 479Author: Michel Dänzer <mdaenzer@redhat.com> 480Date: Mon Mar 16 17:43:54 2020 +0100 481 482 Bail from amdgpu_pixmap_get_handle with ShadowFB 483 484 There's no pixmap private in that case. The callers handle this 485 gracefully. 486 487 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 488 489commit 42a3148ae14c6fd0d2e2e9013971188ca721d8f8 490Author: Emil Velikov <emil.velikov@collabora.com> 491Date: Sat Dec 10 18:53:37 2016 +0000 492 493 Factor out common code to amdgpu_probe() 494 495 Keep the distinct pci/platform screen management in the separate probe 496 entry point and fold the rest into a single function. 497 498 v2: Rebase 499 500 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 501 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 502 Acked-by: Alex Deucher <alexander.deucher@amd.com> 503 504commit eeaaf370854b63966f0b5adbd00d2e6809b773c1 505Author: Emil Velikov <emil.velikov@collabora.com> 506Date: Sat Mar 31 15:00:16 2018 +0100 507 508 Introduce amdgpu_device_setup helper 509 510 It folds the device specifics (open fd, device init) into a single 511 place. 512 513 v2: 514 - Rebase 515 - Pass pAMDGPUEnt to amdgpu_device_setup (Michel) 516 517 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 518 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 519 Acked-by: Alex Deucher <alexander.deucher@amd.com> 520 521commit 1c9742e304f4d198628cdc9487049cde472c7285 522Author: Emil Velikov <emil.velikov@collabora.com> 523Date: Sat Mar 31 14:27:52 2018 +0100 524 525 Kill off drmOpen/Close/drmSetInterfaceVersion in favour of drmDevices 526 527 The former has very subtle semantics (see the implementation in libdrm 528 for details) which were required in the UMS days. 529 530 With drmDevices around, we have enough information to build our 531 heuristics and avoid drmOpen all together. 532 533 In the odd case drmGetDevices2() can take a few extra cycles, so use a 534 reasonably sized local array. 535 536 v2: 537 - Rebase 538 - Rework now that amdgpu_kernel_mode_enabled() is staying 539 - Keep amdgpu_bus_id() 540 - Use local drmDevice array. 541 542 v3: 543 - Correct error handling (Michel) 544 - Preserve the "am I master" check (Michel) 545 - Always initialise the fd variable 546 547 v4: 548 - Don't print "-1" on drmGetDevices2 failure (Michel) 549 - Use uppercase DRM (Michel) 550 551 v5: 552 - Rebase on top of amdgpu_bus_id() rework 553 - Pass both pci and platform dev to amdgpu_kernel_open_fd() (Michel) 554 - Indent local_drmIsMaster() with tabs (Michel) 555 556 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 557 Acked-by: Alex Deucher <alexander.deucher@amd.com> 558 559commit 2dd730784e632056c75a0fd62b33206b5fc01602 560Author: Emil Velikov <emil.velikov@collabora.com> 561Date: Tue Jul 16 22:04:57 2019 +0100 562 563 Use the device_id straight from gpu_info 564 565 This way we can remove the PciInfo and Chipset from the AMDGPUInfoRec. 566 567 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 568 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 569 Acked-by: Alex Deucher <alexander.deucher@amd.com> 570 571commit 655b3c55b9a6233091d4dc5d2e80a0373aa3e2d6 572Author: Emil Velikov <emil.velikov@collabora.com> 573Date: Wed Jul 17 00:04:39 2019 +0100 574 575 Reuse the existing busid string 576 577 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 578 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 579 Acked-by: Alex Deucher <alexander.deucher@amd.com> 580 581commit b357a8474074d911d1c03572d4d9db3ee420633a 582Author: Emil Velikov <emil.velikov@collabora.com> 583Date: Wed Jul 17 00:01:51 2019 +0100 584 585 Store the busid string in AMDGPUEnt 586 587 This way we can reuse it, instead of redoing it later on. 588 589 v2: Pass the AMDGPUEnt as argument. 590 v3: free() the string at AMDGPUFreeRec (Michel) 591 v4: Inline amdgpu_bus_id, move at top of mdgpu_kernel_open_fd (Michel) 592 593 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 594 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (v3) 595 Acked-by: Alex Deucher <alexander.deucher@amd.com> 596 597commit 2c0c154a838060eb683599faf9cbfa3e66dd42c8 598Author: Emil Velikov <emil.velikov@collabora.com> 599Date: Tue Jul 16 23:39:30 2019 +0100 600 601 Remove NULL check after a "cannot fail" function 602 603 XNFasprintf cannot fail - aka busid cannot be NULL. 604 605 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 606 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 607 Acked-by: Alex Deucher <alexander.deucher@amd.com> 608 609commit 16ae0d06c6711a36c814618e06bf2be53079af81 610Author: Emil Velikov <emil.velikov@collabora.com> 611Date: Tue Jul 16 23:37:05 2019 +0100 612 613 Fixup the amdgpu_bus_id() string format 614 615 The func is a u, instead of a signed int. 616 617 v2: Drop the precision - s/1u/u/ (Michel) 618 619 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 620 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 621 Acked-by: Alex Deucher <alexander.deucher@amd.com> 622 623commit abbe23fae70b7f3bc7033d7603d331570677d431 624Author: Emil Velikov <emil.velikov@collabora.com> 625Date: Sat Dec 10 14:30:16 2016 +0000 626 627 Remove drmCheckModesettingSupported and kernel module loading, on Linux 628 629 The former of these is a UMS artefact which gives incorrect and 630 misleading promise whether KMS is supported. Not to mention that 631 AMDGPU is a only KMS driver. 632 633 In a similar fashion xf86LoadKernelModule() is a relic of the times, 634 where platforms had no scheme of detecting and loading the appropriate 635 kernel module. 636 637 Notes: 638 - Since there is no reply from Robert the code is still around, behind 639 a FreeBSD guard. 640 - If FreeBSD still needs this they should look and fix it ASAP, as: 641 - wayland itself or compositors do _not_ load kernel modules 642 - the kernel module should be loaded early to control the clocks/fan, 643 hence temperature of the card 644 645 v2: Keep the code as FreeBSD only, add 'Notes' in the commit message. 646 647 Cc: Robert Millan <rmh@freebsd.org> 648 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 649 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 650 Acked-by: Alex Deucher <alexander.deucher@amd.com> 651 652commit 0b3bc7addf9b5989bfad7c2c31979a15f5ba701d 653Author: Emil Velikov <emil.velikov@collabora.com> 654Date: Sat Dec 10 14:28:19 2016 +0000 655 656 Use ODEV_ATTRIB_PATH where possible for the device node. 657 658 Use the device node path, if the server knows it. 659 660 Note: 661 ODEV_ATTRIB_PATH was introduced with xserver 1.13 - the minimum version 662 required to build amdgpu. Yet it's defined in xf86platformBus.h. With 663 the header included only when XSERVER_PLATFORM_BUS is set. 664 665 Keep things obvious and use a ODEV_ATTRIB_PATH guard. 666 667 v2: Rebase, add commit message 668 669 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 670 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 671 Acked-by: Alex Deucher <alexander.deucher@amd.com> 672 673commit edcbe5f52ddfceee3d66d69bbcebbceac06b6d0d 674Author: Adam Jackson <ajax@redhat.com> 675Date: Tue Feb 4 16:38:06 2020 -0500 676 677 Fix link failure with gcc 10 678 679 Without the 'extern' this looks like a definition not just a 680 declaration, in every file that includes the header. gcc 10 is stricter 681 about this kind of multiple definition. 682 683commit fd66f5c0bea2b7c22a47bfd5eb1f22d32d166d9c 684Author: Adam Jackson <ajax@redhat.com> 685Date: Wed Oct 30 12:33:09 2019 -0400 686 687 kms: Handle changes to SourceValidate call chain in xserver 19 688 689 xserver 19 expects the SourceValidate hook to always be filled in with 690 something valid. For earlier servers it's harmless to simply fill this 691 in with a do-nothing function instead of NULL. 692 693 Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> 694 695commit b467d2569a003da05ad222b0dc095bee5eec450a 696Author: Michel Dänzer <mdaenzer@redhat.com> 697Date: Fri Oct 11 17:10:10 2019 +0200 698 699 Bump version for the 19.1.0 release 700 701commit a1b7263277c033e109629829c370c0e95978e061 702Author: Michel Dänzer <mdaenzer@redhat.com> 703Date: Thu Sep 26 15:56:59 2019 +0200 704 705 Don't unreference FBs of pixmaps from different screens in LeaveVT 706 707 FindClientResourcesByType finds pixmaps from all screens, but trying to 708 process ones from other screens here makes no sense and likely results 709 in a crash or memory corruption. 710 711 Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black 712 framebuffer in LeaveVT") 713 (Ported from radeon commit 2faaecc69b127248718e759c6c98c84d56dd1b6b) 714 715commit 5b8bc9fc505c551dcd9b0ed5ab835a49fa4f9fda 716Author: Michel Dänzer <mdaenzer@redhat.com> 717Date: Wed Sep 18 12:55:45 2019 +0200 718 719 Don't set up black scanout buffer if LeaveVT is called from CloseScreen 720 721 Avoids a crash described in 722 https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/43#note_223718 723 724 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 725 726commit e6fce59a071220967fcd4e2c9e4a262c72870761 727Author: Michel Dänzer <michel.daenzer@amd.com> 728Date: Wed Jul 24 16:05:05 2019 +0200 729 730 present: Don't check pixmap pitch in check_flip with non-DC >= 3.34 731 732 The current non-DC kernel driver also handles flipping between different 733 pitches correctly. 734 735 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 736 737commit 5bb2580b266468f87843b5585ae64e056b63bb88 738Author: Michel Dänzer <michel.daenzer@amd.com> 739Date: Wed Jul 24 15:55:19 2019 +0200 740 741 present: Don't check pixmap pitch in check_flip with current DC 742 743 Current DC handles flipping between different pitches correctly. 744 745 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 746 747commit ac66086613cbd0974b421cd5eda872adc15242ed 748Author: Michel Dänzer <michel.daenzer@amd.com> 749Date: Wed Jul 24 15:45:21 2019 +0200 750 751 present: Also check pixmap pitch in check_flip with current xserver 752 753 The corresponding check in the xserver Present code was removed again, 754 because flipping between different pitches can work in some cases. 755 756 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 757 758commit 98f172eb2d2353e19edd8167f22215ce596811f8 759Author: Michel Dänzer <michel.daenzer@amd.com> 760Date: Mon Jul 29 18:54:24 2019 +0200 761 762 gitlab-ci: Use templates from wayland/ci-templates 763 764 These are already used by xserver, Mesa and some other projects. 765 766 Current Debian testing brings e.g. GCC 8.3.0 and clang 7.0.1. 767 768commit 87f41ace4920fd2069794211683659eb25b025a6 769Author: Michel Dänzer <michel.daenzer@amd.com> 770Date: Fri Jul 5 12:43:53 2019 +0200 771 772 Don't disable page flipping completely with SW cursor 773 774 Even with SW cursor, page flipping can be used while no X cursor is 775 visible. 776 777 Occurred to me in the context of xorg/xserver#828. 778 779commit 7d3fef72e0c871e1677e9e544f4cae5e238b5c52 780Author: Michel Dänzer <michel.daenzer@amd.com> 781Date: Thu May 9 17:39:49 2019 +0200 782 783 present: Check that we can get a KMS FB for flipping 784 785 This can legitimately fail if the pixmap's storage is shared from 786 another device, e.g. when using PRIME render offloading. 787 788commit ea19a5207054bb159fc7fb6d88e0ceb10c3da010 789Author: Michel Dänzer <michel.daenzer@amd.com> 790Date: Thu Jun 6 11:02:15 2019 +0200 791 792 Remove dri2_drawable_crtc parameter consider_disabled 793 794 All callers were passing TRUE. 795 796 Reviewed-and-tested-by: Flora Cui <flora.cui@amd.com> 797 798commit 3109f088fdbd89c2ee8078625d4f073852492656 799Author: Michel Dänzer <michel.daenzer@amd.com> 800Date: Thu Jun 6 11:22:09 2019 +0200 801 802 dri2: Re-use previous CRTC when possible if pick_best_crtc returns NULL 803 804 This way, the MSC will continue ticking at the rate of (the last mode 805 which was enabled for) that CRTC, instead of the client running 806 unthrottled. 807 808 Reviewed-and-tested-by: Flora Cui <flora.cui@amd.com> 809 810commit fb06fb814700a47464abd756e1111dcc76d0d776 811Author: Flora Cui <flora.cui@amd.com> 812Date: Wed May 29 14:18:50 2019 +0800 813 814 dri2: reply to client for WaitMSC request in any case 815 816 otherwise client would wait for reply forever and desktop appears hang. 817 818 Signed-off-by: Flora Cui <flora.cui@amd.com> 819 Acked-by: Feifei Xu <Feifei.Xu@amd.com> 820 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 821 822commit 4b17533fcb30842caf0035ba593b7d986520cc85 823Author: Michel Dänzer <michel.daenzer@amd.com> 824Date: Tue Apr 30 17:50:15 2019 +0200 825 826 dri3: Always flush glamor before sharing pixmap storage with clients 827 828 Even if glamor_gbm_bo_from_pixmap / glamor_fd_from_pixmap themselves 829 don't trigger any drawing, there could already be unflushed drawing to 830 the pixmap whose storage we share with a client. 831 832commit bf61e6d7ac1a5754b1026d7f80acf25ef622c491 833Author: Michel Dänzer <michel.daenzer@amd.com> 834Date: Thu Apr 18 19:21:40 2019 +0200 835 836 Retry get_fb_ptr in get_fb 837 838 If get_fb_ptr returns NULL, try again after pixmap_get_handle, it should 839 work then. 840 841 Fixes spurious Present page flipping failures using "normal" pixmaps 842 which aren't shared with direct rendering clients, e.g. with a 843 compositor using the RENDER extension. 844 845 Bugzilla: https://bugs.freedesktop.org/110417 846 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 847 848commit bd4ffd4ebbdf1c43ab9e1ef9ba8b812fd2dde4a4 849Author: Michel Dänzer <michel.daenzer@amd.com> 850Date: Tue Mar 19 18:44:31 2019 +0100 851 852 Bump version for the 19.0.1 release 853 854commit 6ee857726166f495abcd68e4ff60e3a09593d079 855Author: Dave Airlie <airlied@redhat.com> 856Date: Mon Mar 23 11:33:23 2015 +1000 857 858 modesetting: add tile property support 859 860 This adds tiling support to the driver, it retrieves the tile info from 861 the kernel and translates it into the server format and exposes the 862 property. 863 864 (Ported from xserver commits 8fb8bbb3062f1a06621ab7030a9e89d5e8367b35 865 and 6abdb54a11dac4e8854ff94ecdcb90a14321ab31) 866 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 867 868commit 9534bf3bb33d14cd3a5af08e36ef42b309647fc7 869Author: Michel Dänzer <michel.daenzer@amd.com> 870Date: Wed Mar 6 12:05:14 2019 +0100 871 872 Bump version for the 19.0.0 release 873 874commit a2b32e72fdaff3007a79b84929997d8176c2d512 875Author: Michel Dänzer <michel.daenzer@amd.com> 876Date: Fri Mar 1 17:42:08 2019 +0100 877 878 present: Don't check tiling parameters with DC & DRM minor version >= 31 879 880 Current DC handles any changes of tiling parameters for flips. 881 882 v2: 883 * Just check all tiling bits if DRM minor < 31 or DC is disabled. 884 885 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 886 887commit 2798244be78df3ef3a7841597577506bfbe50156 888Author: Michel Dänzer <michel.daenzer@amd.com> 889Date: Fri Mar 1 17:47:24 2019 +0100 890 891 Make drmmode_cm_enabled an inline function 892 893 So that it can be used outside of drmmode_display.c as well. 894 895 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 896 897commit 72653455e4f652ca6c7c290c7f1e8a889b77f5ce 898Author: Michel Dänzer <michel.daenzer@amd.com> 899Date: Fri Mar 1 17:35:48 2019 +0100 900 901 Revert "Remove set but unused amdgpu_dri2::pKernelDRMVersion" 902 903 This reverts commit 720a61000aeb139005bd8125908cec66a6e69554. 904 905 We're going to make use of it now. 906 907 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 908 909commit 28cd209ebf20561e65d14fa2e8bbfaedf6965948 910Author: Michel Dänzer <michel.daenzer@amd.com> 911Date: Wed Feb 27 17:35:26 2019 +0100 912 913 Revert "gitlab-ci: Only run docker-image stage if relevant source files change" 914 915 This reverts commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e. 916 917 Some scenarios have come to light where this failed to ensure the docker 918 image exists: 919 920 * If the master branch of a forked repository is used for an MR which 921 doesn't modify .gitlab-ci.yml, the docker-image job may not run. 922 * If the docker-image job of the first pipeline in a forked repository 923 is cancelled or fails for any reason, and .gitlab-ci.yml isn't 924 modified for the next pipeline run. 925 926commit 09be74a3d1dd9604336d9a27f98d132b262dcbaf 927Author: Michel Dänzer <michel.daenzer@amd.com> 928Date: Thu Feb 28 17:31:55 2019 +0100 929 930 dri2: Call drm_queue_handle_deferred in dri2_deferred_event 931 932 drm_queue_handler just puts the event on the signalled list; without 933 calling drm_queue_handle_deferred, actual processing of the event may be 934 delayed indefinitely, e.g. until another event arrives from the kernel. 935 936 This could result in DRI2 clients hanging during DPMS off. 937 938 Fixes: 739181c8d3334 "Add amdgpu_drm_handle_event wrapper for 939 drmHandleEvent" 940 Reviewed-by: Aaron Liu <aaron.liu@amd.com> 941 Tested-by: Aaron Liu <aaron.liu@amd.com> 942 943commit a636f42b496b0604ca00a144690ece61d1a88a27 944Author: Michel Dänzer <michel.daenzer@amd.com> 945Date: Wed Feb 27 18:43:27 2019 +0100 946 947 present: Check that flip and screen pixmap pitches match 948 949 If they don't, flipping will result in corrupted display. 950 951 Test case: 952 953 * Run Xorg at 1920x1080 with no window manager 954 * glxgears -geometry 2048x1080 955 956 The Present extension code in xserver 1.21 will check for this. 957 958 Tested-by: Jax Lin <jax.lin@amd.com> 959 960commit bd090f389f19f1f4a3f662ffdd891345a3899539 961Author: Michel Dänzer <michel.daenzer@amd.com> 962Date: Tue Feb 12 17:57:17 2019 +0100 963 964 Call amdgpu_present_set_screen_vrr from amdgpu_vrr_property_update 965 966 If the window is currently flipping. 967 968 This might make a difference when the property gets disabled: Variable 969 refresh will now be disabled immediately in that case, instead of only 970 when the window can no longer use page flipping at all. 971 972 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 973 974commit d9be5d712d469595e1e610f7294bc670ca3b1985 975Author: Michel Dänzer <michel.daenzer@amd.com> 976Date: Tue Feb 12 12:26:25 2019 +0100 977 978 Make use of property request wrappers for VRR property 979 980 Instead of scanning for PropertyNotify events. Reasons: 981 982 * Works even if no client listens to PropertyNotify events for the 983 window. 984 * No overhead on delivery of unrelated events, and no overhead at all 985 if Option "VariableRefresh" is disabled. 986 987 v2: 988 * Use shorter variable name amdgpu_vrr_atom. 989 * Call MakeAtom regardless of info->instance_id, for robustness vs VRR 990 being enabled in some but not all AMDGPU screens. 991 992 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 993 994commit ef8fbe33b7d97f7fb5518db9c0e4d2dcbf2fab6f 995Author: Michel Dänzer <michel.daenzer@amd.com> 996Date: Thu Jan 17 18:41:11 2019 +0100 997 998 Wrap change/delete window property request handlers 999 1000 Preparation for the following change. 1001 1002 v2: 1003 * Add comments explaining what the wrappers are wrapping. 1004 * Use global amdgpu_property_vectors_wrapped to keep track of whether 1005 the vectors need to be (un)wrapped, for robustness against VRR being 1006 enabled in some but not all AMDGPU screens. 1007 1008 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1009 1010commit 09a45ff8fe3ac07bafa3a0822b1598c41f9ca200 1011Author: Michel Dänzer <michel.daenzer@amd.com> 1012Date: Tue Feb 12 13:01:04 2019 +0100 1013 1014 Don't enable the VRR support code for GPU screens 1015 1016 Windows aren't associated with GPU screens, and amdgpu_present_flip is 1017 never called for them, so VRR can never actually be enabled for them. 1018 1019 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1020 1021commit 2a3d00dc7ed2b4fca698e2d699e1b94da6d0ddb8 1022Author: Michel Dänzer <michel.daenzer@amd.com> 1023Date: Tue Feb 12 18:12:23 2019 +0100 1024 1025 Don't register a window private if VRR is disabled 1026 1027 It's not used in that case. 1028 1029 Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1030 1031commit 5f91be77e059d0c4a4268ec10cbd9aa1052f53eb 1032Author: Michel Dänzer <michel.daenzer@amd.com> 1033Date: Mon Feb 11 18:32:07 2019 +0100 1034 1035 gitlab-ci: Don't rely on $CI_PROJECT_NAME 1036 1037 The name of a forked repository can be changed later, in which case this 1038 would fail to refer to the main repository. 1039 1040 Pointed out by Eric Engestrom in 1041 https://gitlab.freedesktop.org/mesa/mesa/merge_requests/224 . 1042 1043commit 9c23076b9e81c36ac2408c491f9b2d546829ee8e 1044Author: Michel Dänzer <michel.daenzer@amd.com> 1045Date: Thu Feb 7 17:35:13 2019 +0100 1046 1047 gitlab-ci: Only run docker-image stage if relevant source files change 1048 1049 Otherwise there's normally no need to run it. It will also run when a 1050 new branch is created, which ensures that the docker image always exists 1051 (e.g. in a newly forked repository). 1052 1053 Inspired by https://gitlab.freedesktop.org/mesa/mesa/merge_requests/143 1054 1055commit 9045fb310f88780e250e60b80431ca153330e61b 1056Author: Michel Dänzer <michel.daenzer@amd.com> 1057Date: Thu Jan 24 18:31:40 2019 +0100 1058 1059 Keep waiting for a pending flip if drm_handle_event returns 0 1060 1061 drm_wait_pending_flip stopped waiting if drm_handle_event returned 0, 1062 but that might have processed only some unrelated DRM events. As long as 1063 the flip is pending, we have to keep waiting for its completion event. 1064 1065 Noticed while working on the previous fix. 1066 1067 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1068 1069commit 3ff2cc225f6bc08364ee007fa54e9d0150adaf11 1070Author: Michel Dänzer <michel.daenzer@amd.com> 1071Date: Tue Jan 22 18:36:56 2019 +0100 1072 1073 Call drmHandleEvent again if it was interrupted by a signal 1074 1075 drmHandleEvent can be interrupted by a signal in read(), in which case 1076 it doesn't process any events but returns -1, which 1077 drm_handle_event propagated to its callers. This could cause the 1078 following failure cascade: 1079 1080 1. drm_wait_pending_flip stopped waiting for a pending flip. 1081 2. Its caller cleared drmmode_crtc->flip_pending before the flip 1082 completed. 1083 3. Another flip was attempted but got an unexpected EBUSY error because 1084 the previous flip was still pending. 1085 4. TearFree was disabled due to the error. 1086 1087 The solution is to call drmHandleEvent if it was interrupted by a 1088 signal. We can do that in drm_handle_event, because when that is called, 1089 either it is known that there are events ready to be processed, or the 1090 caller has to wait for events to arrive anyway. 1091 1092 v2: 1093 * Use ErrorF instead of xf86DrvMsg with hard-coded screen 0. 1094 1095 Bugzilla: https://bugs.freedesktop.org/109364 1096 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1 1097 1098commit e72a02ba1d35743fefd939458b9d8cddce86e7f5 1099Author: Michel Dänzer <michel.daenzer@amd.com> 1100Date: Wed Jan 16 10:26:59 2019 +0100 1101 1102 Only update drmmode_crtc->flip_pending after actually submitting a flip 1103 1104 And only clear it if it matches the framebuffer of the completed flip 1105 being processed. 1106 1107 Fixes 1108 1109 (WW) AMDGPU(0): flip queue failed: Device or resource busy 1110 (WW) AMDGPU(0): Page flip failed: Device or resource busy 1111 (EE) AMDGPU(0): present flip failed 1112 1113 due to clobbering drmmode_crtc->flip_pending. 1114 1115 Reproducer: Enable TearFree, run warzone2100 fullscreen, toggle 1116 Vertical sync on/off under Video Options. Discovered while investigating 1117 https://bugs.freedesktop.org/109364 . 1118 1119 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1120 1121commit a1b479c7d0066c481af920f297d6af9009dda11e 1122Author: Michel Dänzer <michel.daenzer@amd.com> 1123Date: Tue Jan 15 17:55:27 2019 +0100 1124 1125 Don't allow TearFree scanout flips to complete in the same vblank period 1126 1127 We were using a relative target of 0, meaning "complete the flip ASAP". 1128 This could result in the flip sometimes, but not always completing in 1129 the same vertical blank period where the corresponding drawing occurred, 1130 potentially causing judder artifacts with applications updating their 1131 window contents synchronized to the display refresh. A good way to test 1132 this is the vsynctester.com site in a windowed browser, where the judder 1133 results in the large "VSYNC" text intermittently appearing red or cyan 1134 instead of the expected gray. 1135 1136 To avoid this, use a relative target MSC of 1, meaning that if a 1137 vertical blank period is in progress, the flip will only complete in the 1138 next one. 1139 1140 Reported by Julian Tempel and Brandon Wright in 1141 https://bugs.freedesktop.org/106175 . 1142 1143 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1144 1145commit bf326f2ea19daa6c8da23d6788ff301ae70b8e69 1146Author: Michel Dänzer <michel.daenzer@amd.com> 1147Date: Thu Jan 10 18:33:04 2019 +0100 1148 1149 glamor: Avoid glamor_create_pixmap for pixmaps backing windows 1150 1151 If the compositing manager uses direct rendering (as is usually the case 1152 these days), the storage of a pixmap allocated by glamor_create_pixmap 1153 needs to be reallocated for sharing it with the compositing manager. 1154 Instead, allocate pixmap storage which can be shared directly. 1155 1156 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1157 1158commit ebd32b1c07208f8dbe853e089f5e4b7c6a7a658a 1159Author: Michel Dänzer <michel.daenzer@amd.com> 1160Date: Wed Jan 9 18:57:08 2019 +0100 1161 1162 dri2: Flush in dri2_create_buffer2 after calling glamor_set_pixmap_bo 1163 1164 To make sure the client can't use the shared pixmap storage for direct 1165 rendering first, which could produce garbage. 1166 1167 Bugzilla: https://bugs.freedesktop.org/109235 1168 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1169 1170commit d168532ee739f7e33a2798051e64ba445dd3859f 1171Author: Michel Dänzer <michel.daenzer@amd.com> 1172Date: Wed Jan 9 17:24:11 2019 +0100 1173 1174 dri3: Flush if necessary in dri3_fd_from_pixmap 1175 1176 To make sure the client can't use the shared pixmap storage for direct 1177 rendering first, which could produce garbage. 1178 1179 Bugzilla: https://bugs.freedesktop.org/109235 1180 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1181 1182commit 2058c4c469b172d4a3b0443f75466d84281a64c7 1183Author: Michel Dänzer <michel.daenzer@amd.com> 1184Date: Thu Jan 10 17:03:04 2019 +0100 1185 1186 Only call drmmode_validate_leases if RandR is enabled 1187 1188 It would crash if RandR is disabled, e.g. because Xinerama is enabled. 1189 1190 Bugzilla: https://bugs.freedesktop.org/109230 1191 (Ported from radeon commit b1c01698f577577e4a88bad0ae08fb5d998e7ebb) 1192 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1193 1194commit f3c0939a0cbb93c367ece3d41dc69824f585af42 1195Author: Michel Dänzer <michel.daenzer@amd.com> 1196Date: Thu Jan 10 17:00:12 2019 +0100 1197 1198 Only call drmmode_uevent_init if RandR is enabled 1199 1200 There's no point in listening for hotplug events if RandR is disabled, 1201 as there's no other mechanism for them to be propagated. We were already 1202 mostly ignoring them in that case. 1203 1204 Inspired by 1205 https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel/commit/1a489142c8e6a4828348cc9afbd0f430d3b1e2d8 1206 (via https://bugs.freedesktop.org/109230#c11). 1207 (Ported from radeon commit 38db1bbcfc019c92884c7819a6630c70e543f6b2) 1208 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1209 1210commit f3ddda618ec86650ed85f8b140a5db1394676748 1211Author: Michel Dänzer <michel.daenzer@amd.com> 1212Date: Mon Dec 17 17:54:05 2018 +0100 1213 1214 gitlab-ci: Use kaniko instead of docker-in-docker for image generation 1215 1216 kaniko can also work in unprivileged runners. 1217 1218 Based on v2 of 1219 https://gitlab.freedesktop.org/xorg/xserver/merge_requests/92 . 1220 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1221 1222commit b689dc5081493377a31759d24a8dc9fcde12948a 1223Author: Michel Dänzer <michel.daenzer@amd.com> 1224Date: Tue Dec 18 16:39:28 2018 +0100 1225 1226 Remove superfluous vrr_flipping field and clean up related code 1227 1228 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1229 1230commit 233a0be82d5c317e58002f4daf836d4f95048465 1231Author: Michel Dänzer <michel.daenzer@amd.com> 1232Date: Tue Dec 18 16:42:53 2018 +0100 1233 1234 Don't clear info->flip_window in present_unflip 1235 1236 present_unflip can get called between present_check_flip and 1237 present_flip, in which case the latter would pass a NULL WindowPtr to 1238 the former, resulting in a crash. 1239 1240 present_flip should never get called for a window which has already been 1241 destroyed, so there's no need to clear info->flip_window. 1242 1243 Bugzilla: https://bugs.freedesktop.org/109067 1244 Fixes: 2d18b37159edc "Check last flip window instead of screen root 1245 before flipping" 1246 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1247 1248commit d4eab5d108c4569f3a9e2892704ea89b7ee797b6 1249Author: Mario Kleiner <mario.kleiner.de@gmail.com> 1250Date: Wed Dec 19 07:56:15 2018 +0100 1251 1252 Fix crash when page flipping in multi-X-Screen/Zaphod mode 1253 1254 amdgpu_do_pageflip() indexed the flipdata->fb[] array 1255 indexing over config->num_crtc, but the flip completion 1256 routines, e.g., drmmode_flip_handler(), index that array 1257 via the crtc hw id from drmmode_get_crtc_id(crtc). 1258 1259 This is mismatched and causes indexing into the wrong 1260 array slot at flip completion -> Server crash. 1261 1262 Always use drmmode_get_crtc_id(crtc) for indexing into 1263 the array to fix this. 1264 1265 Tested on a dual-X-Screen setup with one video output 1266 assigned to each X-Screen, page-flipping an OpenGL app 1267 on either of both X-Screens. This used to crash when 1268 flipping on X-Screen 1, now it doesn't anymore. 1269 1270 Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec" 1271 (Ported from radeon commit 0058fd2ebf4c900b12f129984e98886a7ac84b2f) 1272 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 1273 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 1274 1275commit 0d60233d26ec70d4e1faa343b438e33829c6d5e4 1276Author: Michel Dänzer <michel.daenzer@amd.com> 1277Date: Thu Nov 22 19:02:20 2018 +0100 1278 1279 Use two HW cursor buffers per CRTC 1280 1281 Switch to the other buffer when xf86_config->cursor changes. Avoids 1282 these issues possible when re-using the same buffer: 1283 1284 * The HW may intermittently display a mix of the old and new cursor 1285 images. 1286 * If the hotspot changes, the HW may intermittently display the new 1287 cursor image at the location corresponding to the old image's hotspot. 1288 1289 Bugzilla: https://bugs.freedesktop.org/108832 1290 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1291 1292commit b04697de5270e8e45744a7025c24df1f454a4cf0 1293Author: Michel Dänzer <michel.daenzer@amd.com> 1294Date: Fri Nov 23 18:41:00 2018 +0100 1295 1296 Update cursor position in drmmode_show_cursor if hotspot changed 1297 1298 The cursor position is updated to be consistent with the new hotspot in 1299 the same ioctl call. 1300 1301 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1302 1303commit b344e1559e936046ef02c777fc4f6bcefa3830bc 1304Author: Michel Dänzer <michel.daenzer@amd.com> 1305Date: Fri Nov 23 18:22:25 2018 +0100 1306 1307 Use drmIoctl in drmmode_show_cursor 1308 1309 This should be functionally equivalent to what drmModeSetCursor(2) do 1310 behind the scenes, but allows for new tricks in following changes. 1311 1312 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1313 1314commit e95044e45350870fa7e237860e89ade91ac03550 1315Author: Michel Dänzer <michel.daenzer@amd.com> 1316Date: Thu Nov 22 17:54:45 2018 +0100 1317 1318 Drop AMDGPUInfoRec::cursor_buffer array 1319 1320 Not needed or even useful for anything. 1321 1322 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1323 1324commit 13c85e8a136e8626ba84656c6f8321394750f5c7 1325Author: Michel Dänzer <michel.daenzer@amd.com> 1326Date: Thu Nov 22 17:50:19 2018 +0100 1327 1328 Don't use GBM for allocating HW cursor BOs 1329 1330 GBM doesn't really buy us anything for the cursor BOs. This simplifies 1331 the code and following changes. 1332 1333 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1334 1335commit bcfa6c258fdf41a9928f8a3c78fc528d0fafee25 1336Author: Michel Dänzer <michel.daenzer@amd.com> 1337Date: Wed Nov 21 18:32:04 2018 +0100 1338 1339 Automatically try re-enabling TearFree after a flip failed 1340 1341 Specifically, after both the page flip and vblank ioctls failed, but 1342 then the vblank ioctl started working again. This can happen 1343 intermittently e.g. when hotplugging a DP display. Previously, TearFree 1344 would stay disabled in that case until a modeset was triggered somehow. 1345 1346 Bugzilla: https://bugs.freedesktop.org/103791 1347 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1348 1349commit 4e7a24ac5a64e402146953ec5850d13c05742116 1350Author: Michel Dänzer <michel.daenzer@amd.com> 1351Date: Wed Nov 21 17:54:18 2018 +0100 1352 1353 Cancel pending scanout update in drmmode_crtc_scanout_update 1354 1355 drmmode_crtc_scanout_update does the equivalent of a scanout update, 1356 so no need to do it again. This might also avoid issues if there's a 1357 pending scanout update at this point. 1358 1359 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1360 1361commit 500fadb16285146e91f62fce3a0ce1360ca684ba 1362Author: Michel Dänzer <michel.daenzer@amd.com> 1363Date: Wed Nov 21 12:42:22 2018 +0100 1364 1365 Perform scanout buffer update immediately if drmmode_wait_vblank fails 1366 1367 Otherwise the damaged screen contents may never be displayed in that 1368 case. 1369 1370 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1371 1372commit be862ed459b06ab7dfc80b5c3d1e2ac7e9327a6e 1373Author: Michel Dänzer <michel.daenzer@amd.com> 1374Date: Tue Dec 11 11:47:16 2018 +0100 1375 1376 Generate docker image as part of CI pipeline 1377 1378 This removes the dependency on an externally generated docker image, and 1379 should make it easier to update the docker image or make other changes 1380 related to it. 1381 1382 v2: 1383 * If the image doesn't exist, try pulling it from the main repo's 1384 registry. 1385 * Use debian:testing-slim as the base, might result in a slightly 1386 smaller image. 1387 1388 v3: 1389 * Prevent installation of packages which are only recommended, for an 1390 even smaller image. 1391 * Add recommendation to remove new image from source repository in 1392 favour of the main repository's. 1393 1394 Acked-by: Alex Deucher <alexander.deucher@amd.com> # v2 1395 1396commit b11ee02c4596ddee3c9ff2141be5c91815efacc3 1397Author: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1398Date: Thu Oct 4 09:51:40 2018 -0400 1399 1400 Support CRTC variable refresh for windows using Present flips 1401 1402 This patch adds support for setting the CRTC variable refresh property 1403 for suitable windows flipping via the Present extension. 1404 1405 The "VariableRefresh" Option is added to AMDGPU in this patch. This 1406 option defaults to false, and must be set to "true" in an X conf 1407 file for variable refresh support in the driver. 1408 1409 In order for a window to be suitable for variable refresh it must have 1410 the _VARIABLE_REFRESH property with a 32-bit CARDINAL value of 1. 1411 1412 Then the window must pass the checks required to be suitable for 1413 Present extension flips - it must cover the entire X screen and no 1414 other window may already be flipping. 1415 1416 With these conditions met every CRTC for the X screen will have their 1417 variable refresh property set to true. 1418 1419 Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1420 1421commit 2d18b37159edc526c73a36143fe9b5d6b75e610a 1422Author: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1423Date: Tue Nov 13 09:08:01 2018 -0500 1424 1425 Check last flip window instead of screen root before flipping 1426 1427 A significant amount of time can pass between the X call into 1428 check_flip for a window and when amdgpu_present_flip actually occurs. 1429 To ensure that flipping is still possible there was an additional check 1430 performed on screen->root in amdgpu_present_flip - but what should 1431 be checked instead is the window itself. This only really worked before 1432 because X ensures that the window has the same dimensions as the screen 1433 to allow for present extension flipping. 1434 1435 This patch tracks the flip window between calls to check_flip and flip 1436 and uses that window instead of screen->root. 1437 1438 Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> 1439 1440commit 13c94a373b4858a2d2aa14c22b5f98d53c84c0d9 1441Author: Michel Dänzer <michel.daenzer@amd.com> 1442Date: Thu Nov 15 16:40:46 2018 +0100 1443 1444 Skip gamma correction of cursor data if premultiplied R/G/B > alpha 1445 1446 The un-premultiplied R/G/B values would overflow the gamma LUT, so just 1447 pass through the data unchanged, and leave it up to the HW how to 1448 interpret such weird premultiplied alpha pixels. 1449 1450 Bugzilla: https://bugs.freedesktop.org/108355 1451 1452commit 51ba6dddee40c3688d4c7b12eabeab516ed153b7 1453Author: Michel Dänzer <michel.daenzer@amd.com> 1454Date: Fri Nov 9 11:00:04 2018 +0100 1455 1456 Move deferred vblank events to separate drm_vblank_deferred list 1457 1458 It was still possible for nested xorg_list_for_each_entry_safe loops 1459 to occur over the drm_vblank_signalled list, which could mess up that 1460 list. Moving deferred events to a separate list allows processing the 1461 drm_vblank_signalled list without xorg_list_for_each_entry_safe. 1462 1463 v2: 1464 * Refactor drm_handle_vblank_signalled helper function, less code 1465 duplication => better readability (Alex Deucher) 1466 1467 Bugzilla: https://bugs.freedesktop.org/108600 1468 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1469 1470commit e2c7369cae65069aa93eed1c0b678f975ce5c274 1471Author: Michel Dänzer <michel.daenzer@amd.com> 1472Date: Mon Nov 5 19:02:31 2018 +0100 1473 1474 Explicitly keep track of whether a DRM event is for a flip or not 1475 1476 When an async flip is performed, and TearFree is enabled on the CRTC 1477 used for timing, we schedule a vblank event for completing the page 1478 flip. The DRM event queuing code treated this event like a vblank event, 1479 but it needs to be treated like a page flip event. 1480 1481 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1482 1483commit eda571222f5a6be47f8897e82d85199bb9d95251 1484Author: Michel Dänzer <michel.daenzer@amd.com> 1485Date: Mon Nov 5 18:07:54 2018 +0100 1486 1487 Use drm_abort_one in drm_queue_handler 1488 1489 At this point, we've already established that e->handler is NULL, no 1490 need to check again in drm_queue_handle_one. This also makes it clearer 1491 what's happening. 1492 1493 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1494 1495commit 426f9a49655f01863cf4d898f525e5f95984e0c4 1496Author: Michel Dänzer <michel.daenzer@amd.com> 1497Date: Tue Nov 6 12:06:20 2018 +0100 1498 1499 Relax detection of non-premultiplied alpha cursor data 1500 1501 The stricter detection broke the cursor in some games. Apparently those 1502 use cursor data with premultiplied alpha, but with some pixels having 1503 r/g/b values larger than the alpha value (which corresponds to original 1504 r/g/b values > 1.0), triggering the workaround. 1505 1506 Relax the detection to match what's in the X server since 1.18.4, but 1507 keep the workaround for older versions. 1508 1509 Bugzilla: https://bugs.freedesktop.org/108650 1510 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1511 1512commit a9da219e13bd0cdec65554382b5cd15abc3e3778 1513Author: Michel Dänzer <michel.daenzer@amd.com> 1514Date: Wed Nov 14 09:58:28 2018 +0100 1515 1516 Add README.md to EXTRA_DIST 1517 1518 Otherwise it isn't included in the generated tarballs. 1519 1520 Suggested-by: Alan Coopersmith <alan.coopersmith@oracle.com> 1521 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1522 1523commit 1cb338253af9c539fc1f13fc12b255ed6303f8b1 1524Author: Michel Dänzer <michel.daenzer@amd.com> 1525Date: Wed Oct 24 18:07:31 2018 +0200 1526 1527 man: This driver supports colour depths 8, 15 and 16 1528 1529 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1530 1531commit 0734cdf544ffd3f2ac8749ad0e4bf43f8a5cea50 1532Author: Michel Dänzer <michel.daenzer@amd.com> 1533Date: Fri Oct 5 12:35:37 2018 +0200 1534 1535 glamor: Can work at depth >= 15 with current xserver Git master 1536 1537 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1538 1539commit ad6dfb0124860cf67730bde85867f81d9258c84d 1540Author: Michel Dänzer <michel.daenzer@amd.com> 1541Date: Fri Oct 19 11:02:41 2018 +0200 1542 1543 Detect and fix up non-premultiplied cursor data 1544 1545 X server >= 1.18 already had code for this, but it only caught cases 1546 where some pixels have 0 for alpha and non-0 for a non-alpha component. 1547 Turns out some apps (e.g. the Civilization VI game) use 1548 non-premultiplied cursor data which doesn't have such pixels, but can 1549 still result in visual artifacts. 1550 1551 This uses the method suggested by Kamil in 1552 https://bugs.freedesktop.org/92309#c19: check for pixels where any 1553 colour component value is larger than the alpha value, which isn't 1554 possible with premultiplied alpha. 1555 1556 There can still be non-premultiplied data which won't be caught by this, 1557 but that should result in slightly incorrect colours and/or blending at 1558 the worst, not wildly incorrect colours such as shown in the bug report 1559 below. 1560 1561 v2: 1562 * Disable the check with current xserver Git master, which already does 1563 the same check now. 1564 1565 Bugzilla: https://bugs.freedesktop.org/108355 1566 Suggested-by: Kamil Páral <kamil.paral@gmail.com> 1567 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1568 1569commit c9d43c1deb9a9cfc41a8d6439caf46d12d220853 1570Author: Michel Dänzer <michel.daenzer@amd.com> 1571Date: Thu Oct 4 12:54:13 2018 +0200 1572 1573 Allow up to six instances in Zaphod mode 1574 1575 Corresponding to up to six CRTCs being available in the hardware. 1576 1577 v2: 1578 * Move instance overflow check from PreInit to the probe hooks, in 1579 order to further minimize wasted effort. 1580 1581 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1 1582 1583commit aa572683d86174be2bfc09d4e173ae2a9907d40e 1584Author: Michel Dänzer <michel.daenzer@amd.com> 1585Date: Wed Oct 10 17:28:35 2018 +0200 1586 1587 Fix condition for calling set_pixmap_bo in drmmode_xf86crtc_resize 1588 1589 This matches CreateScreenResources_KMS. 1590 1591 Fixes crash when resizing the screen (e.g. using xrandr) with depth < 1592 24. 1593 1594 Bugzilla: https://bugs.freedesktop.org/104914 1595 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1596 1597commit 05a1ba9abc941dec616ef7f836f4c54ac93ff9be 1598Author: Michel Dänzer <michel.daenzer@amd.com> 1599Date: Tue Oct 2 18:01:14 2018 +0200 1600 1601 Add GitLab CI configuration 1602 1603 Builds the driver against all supported versions of xserver, with both 1604 gcc and clang for xserver >= 1.18 (older versions cause warnings with 1605 clang). Compiler warnings are treated as errors. 1606 1607 The xserver 1.15 build uses standalone glamor, the xserver 1.13 & 1.14 1608 builds use --disable-glamor. 1609 1610 With the latest xserver version, make install and make distcheck are 1611 tested as well. 1612 1613commit babbd38057559471ab3cb6970010b9a4adf1ef3d 1614Author: Michel Dänzer <michel.daenzer@amd.com> 1615Date: Tue Oct 2 17:55:03 2018 +0200 1616 1617 Fix --disable-glamor build 1618 1619 We were still relying on the glamor.h header being picked up implicitly. 1620 1621commit b6ee7f92cfaa2c134bee101cf89983db73f4c28d 1622Author: Michel Dänzer <michel.daenzer@amd.com> 1623Date: Tue Oct 2 17:52:10 2018 +0200 1624 1625 Cast return value of amdgpu_get_marketing_name to char* 1626 1627 Avoids compiler warning with xserver < 1.16: 1628 1629 ../../src/amdgpu_kms.c: In function ‘AMDGPUPreInitChipType_KMS’: 1630 ../../src/amdgpu_kms.c:1203:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 1631 pScrn->chipset = amdgpu_get_marketing_name(pAMDGPUEnt->pDev); 1632 ^ 1633 1634commit 955373a3e69baa241a1f267e96d04ddb902f689f 1635Author: Michel Dänzer <michel.daenzer@amd.com> 1636Date: Tue Sep 25 18:40:01 2018 +0200 1637 1638 Make wait_pending_flip / handle_deferred symmetric in set_mode_major 1639 1640 We were always calling the latter, but not always the former, which 1641 could result in handling deferred DRM events prematurely. 1642 1643 Acked-by: Slava Abramov <slava.abramov@amd.com> 1644 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1645 1646commit 0cd2c337d2c02b8ec2bd994d6124b4aaaad10741 1647Author: Michel Dänzer <michel.daenzer@amd.com> 1648Date: Thu Sep 20 17:35:40 2018 +0200 1649 1650 Handle pending scanout update in drmmode_crtc_scanout_free 1651 1652 We have to wait for a pending scanout flip or abort a pending scanout 1653 update, otherwise the corresponding event handler will likely crash 1654 after drmmode_crtc_scanout_free cleaned up the data structures. 1655 1656 Fixes crash after VT switch while dedicated scanout pixmaps are enabled 1657 for any CRTC. 1658 1659 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1660 1661commit ac5b6f96e97aaf95f4e668b4057006b221cffaec 1662Author: Michel Dänzer <michel.daenzer@amd.com> 1663Date: Thu Sep 20 18:53:05 2018 +0200 1664 1665 Convert README to markdown 1666 1667 And update it a little for the current Gitlab infrastructure. 1668 1669commit 451fe96809771ed4e2be3851a65f5360ba9912cb 1670Author: Michel Dänzer <michel.daenzer@amd.com> 1671Date: Thu Sep 20 18:48:43 2018 +0200 1672 1673 Post-release version bump 1674 1675commit d5e17dc4c78aee5d37de399728066b9be881e044 1676Author: Michel Dänzer <michel.daenzer@amd.com> 1677Date: Fri Sep 14 17:00:17 2018 +0200 1678 1679 Bump version for the 18.1.0 release 1680 1681commit 6572be49b713a26eca14f16e1854cabf28101288 1682Author: Michel Dänzer <michel.daenzer@amd.com> 1683Date: Thu Sep 13 11:44:21 2018 +0200 1684 1685 Bail from drmmode_cm_init if there's no CRTC 1686 1687 We would crash due to dereferencing the NULL mode_res->crtc pointer. 1688 1689 Bugzilla: https://bugs.freedesktop.org/107913 1690 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1691 1692commit ca5eb9894fff153c0a1df7bdc4a4745713309e27 1693Author: Michel Dänzer <michel.daenzer@amd.com> 1694Date: Wed Aug 29 18:50:45 2018 +0200 1695 1696 Bail early from drm_wait_pending_flip if there's no pending flip 1697 1698 No need to process any events in that case. 1699 1700 v2: 1701 * Re-check drmmode_crtc->flip_pending after processing each event 1702 1703commit a923bedfd91d39977dbf95f296cf9b68439490f2 1704Author: Michel Dänzer <michel.daenzer@amd.com> 1705Date: Fri Aug 31 12:44:37 2018 +0200 1706 1707 Do not push the CM_GAMMA_LUT property values in drmmode_crtc_cm_init 1708 1709 The crtc->gamma_lut values aren't initialized yet at this point, and 1710 the property values are pushed again from drmmode_setup_colormap 1711 anyway. 1712 1713 Fixes intermittent flicker due to random gamma LUT values during server 1714 startup. 1715 1716 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1717 1718commit 26770be44b89b83bf39c28f2fe284c8cb92ed0c0 1719Author: Michel Dänzer <michel.daenzer@amd.com> 1720Date: Wed Aug 29 18:49:19 2018 +0200 1721 1722 Don't use xorg_list_for_each_entry_safe for signalled flips 1723 1724 drm_wait_pending_flip can get called from drm_handle_event, in which 1725 case xorg_list_for_each_entry_safe can end up processing the same entry 1726 in both. To avoid this, just process the first list entry until the list 1727 is empty. 1728 1729commit 7eea3e2cd74eed22e982319144e18ae5b1087b78 1730Author: Michel Dänzer <michel.daenzer@amd.com> 1731Date: Wed Aug 29 18:41:19 2018 +0200 1732 1733 Always delete entry from list in drm_queue_handler 1734 1735 We left entries without a handler hook in the list, so the list could 1736 keep taking longer to process and use up more memory. 1737 1738commit b804d7f85d8a07389ba7d3f9b8af8773f852f1c7 1739Author: Michel Dänzer <michel.daenzer@amd.com> 1740Date: Wed Aug 29 17:34:55 2018 +0200 1741 1742 glamor: Handle ihandle == -1 in amdgpu_glamor_set_shared_pixmap_backing 1743 1744 (Ported from radeon commit de88ea2755611bdcb18d91d8234d2ab5be8ff2e9) 1745 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1746 1747commit ae2a450cb98707c4cab8a8265a284cf708bcd43d 1748Author: Michel Dänzer <michel.daenzer@amd.com> 1749Date: Wed Aug 29 17:31:49 2018 +0200 1750 1751 Handle ihandle == -1 in amdgpu_set_shared_pixmap_backing 1752 1753 It means to stop using the shared pixmap backing. 1754 1755 (Ported from radeon commit 1799680f7bd84e0618f34f4c7486799521ddaf83) 1756 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1757 1758commit 34e851d1f284da5afcfe449f349cf1eb5e962408 1759Author: Michel Dänzer <michel.daenzer@amd.com> 1760Date: Fri Aug 24 17:18:10 2018 +0200 1761 1762 Use AC_CONFIG_MACRO_DIR instead of AC_CONFIG_MACRO_DIRS 1763 1764 Older versions of autoconf only supported the former. 1765 1766 (Cherry picked from radeon commit cba8fe4d64819aaa8ba516aa68dbe6d2aa153046) 1767 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1768 1769commit afdfa2a1b6d4b594e0ed345b32279d4a2fd5e188 1770Author: Michel Dänzer <michel.daenzer@amd.com> 1771Date: Fri Aug 24 17:17:43 2018 +0200 1772 1773 Add m4 directory 1774 1775 Although normally it only warns about it, under some circumstances, 1776 aclocal can error out if this directory doesn't exist. 1777 1778 Reported-by: John Lumby <johnlumby@hotmail.com> 1779 (Cherry picked from radeon commit 7b01c10137aba24c8f61dd9b2a19ea257ad24371) 1780 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1781 1782commit f6cd72e64e85896b6d155bee0930e59771dcb701 1783Author: Michel Dänzer <michel.daenzer@amd.com> 1784Date: Thu Aug 16 16:31:01 2018 +0200 1785 1786 Use correct FB handle in amdgpu_do_pageflip 1787 1788 We were always using the handle of the client provided FB, which 1789 prevented RandR transforms from working, and could result in a black 1790 screen. 1791 1792 Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec" 1793 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1794 1795commit 85cd8eef0cbed7b409b07f58d76dacd34aa3ddea 1796Author: Michel Dänzer <michel.daenzer@amd.com> 1797Date: Tue Jul 24 18:58:27 2018 +0200 1798 1799 Remove drmmode_crtc_private_rec::present_vblank_* related code 1800 1801 Not needed anymore with the more robust mechanisms for preventing nested 1802 drmHandleEvent calls introduced in the previous changes. 1803 1804 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1805 1806commit e52872da69ecc84dafb3355839e35b0383f0d228 1807Author: Michel Dänzer <michel.daenzer@amd.com> 1808Date: Fri Jul 20 16:56:22 2018 +0200 1809 1810 Defer vblank event handling while waiting for a pending flip 1811 1812 This is to avoid submitting more flips while we are waiting for pending 1813 ones to complete. 1814 1815 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1816 1817commit 739181c8d3334ff14b5a607895dfdeb29b0d9020 1818Author: Michel Dänzer <michel.daenzer@amd.com> 1819Date: Wed Jul 25 13:00:15 2018 +0200 1820 1821 Add amdgpu_drm_handle_event wrapper for drmHandleEvent 1822 1823 Instead of processing DRM events directly from drmHandleEvent's 1824 callbacks, there are three phases: 1825 1826 1. drmHandleEvent is called, and signalled events are re-queued to 1827 _signalled lists from its callbacks. 1828 2. Signalled page flip completion events are processed. 1829 3. Signalled vblank events are processed. 1830 1831 This should make sure that we never call drmHandleEvent from one of its 1832 callbacks, which would usually result in blocking forever. 1833 1834commit 6029794e8a35417faf825491a89b85f713c77fc1 1835Author: Michel Dänzer <michel.daenzer@amd.com> 1836Date: Fri Jul 20 17:07:23 2018 +0200 1837 1838 Add amdgpu_drm_wait_pending_flip function 1839 1840 Replacing the drmmode_crtc_wait_pending_event macro. 1841 1842 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1843 1844commit 0148283984c77f7a6e97026edc3093497547e0a4 1845Author: Michel Dänzer <michel.daenzer@amd.com> 1846Date: Fri Jul 20 16:37:05 2018 +0200 1847 1848 Move DRM event queue related initialization to amdgpu_drm_queue_init 1849 1850 And make amdgpu_drm_queue_handler not directly accessible outside of 1851 amdgpu_drm_queue.c. 1852 1853 Acked-by: Alex Deucher <alexander.deucher@amd.com> 1854 1855commit 7f65a8c9e03bddf2378aaa928460632ed6b1a688 1856Author: Michel Dänzer <michel.daenzer@amd.com> 1857Date: Fri Aug 3 17:52:28 2018 +0200 1858 1859 glamor: Check glamor module version for depth 30 support 1860 1861 Instead of the Xorg version. This should allow glamor backported from 1862 xserver >= 1.20 to work with older Xorg versions. 1863 1864 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1865 1866commit 08c4d42f43f80baa4bbc2ff9d0a422202cdc3538 1867Author: Michel Dänzer <michel.daenzer@amd.com> 1868Date: Thu Aug 2 18:41:04 2018 +0200 1869 1870 glamor: Use glamor_egl_create_textured_pixmap_from_gbm_bo when possible 1871 1872 Inspired by the modesetting driver. 1873 1874 (Ported from radeon commit db28d35ce9fd07a2a4703f3df0633d4c8291ff9b) 1875 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1876 1877commit 9b6782c821e0bdc53336d98f87ddde752faf7902 1878Author: Michel Dänzer <michel.daenzer@amd.com> 1879Date: Fri Jul 27 17:55:11 2018 +0200 1880 1881 Store FB for each CRTC in drmmode_flipdata_rec 1882 1883 We were only storing the FB provided by the client, but on CRTCs with 1884 TearFree enabled, we use a separate FB. This could cause 1885 drmmode_flip_handler to fail to clear drmmode_crtc->flip_pending, which 1886 could result in a hang when waiting for the pending flip to complete. We 1887 were trying to avoid that by always clearing drmmode_crtc->flip_pending 1888 when TearFree is enabled, but that wasn't reliable, because 1889 drmmode_crtc->tear_free can already be FALSE at this point when 1890 disabling TearFree. 1891 1892 Now that we're keeping track of each CRTC's flip FB separately, 1893 drmmode_flip_handler can reliably clear flip_pending, and we no longer 1894 need the TearFree hack. 1895 1896 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1897 1898commit 2989d40ef74d9966e8e8df2ef7727b2cc48d4960 1899Author: Michel Dänzer <michel.daenzer@amd.com> 1900Date: Wed Jul 25 18:37:48 2018 +0200 1901 1902 glamor: Set AMDGPU_CREATE_PIXMAP_DRI2 for DRI3 pixmaps 1903 1904 Not doing this resulted in falling back to software for DRI3 client 1905 presentation operations with ShadowPrimary. 1906 1907 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1908 1909commit f3b2ed37d683f8616a0a31ff63133ddb8fe1a4a3 1910Author: Michel Dänzer <michel.daenzer@amd.com> 1911Date: Mon Jul 23 18:42:39 2018 +0200 1912 1913 Use strcpy for RandR output property names 1914 1915 Instead of strncpy with the string length. Avoids new warnings with GCC 1916 8: 1917 1918 ../../src/drmmode_display.c: In function ‘drmmode_output_create_resources’: 1919 ../../src/drmmode_display.c:2240:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] 1920 strncpy(tearfree_prop->name, "TearFree", 8); 1921 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1922 ../../src/drmmode_display.c:2244:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation] 1923 strncpy(tearfree_prop->enums[0].name, "off", 3); 1924 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1925 ../../src/drmmode_display.c:2245:2: warning: ‘strncpy’ output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation] 1926 strncpy(tearfree_prop->enums[1].name, "on", 2); 1927 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1928 ../../src/drmmode_display.c:2247:2: warning: ‘strncpy’ output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] 1929 strncpy(tearfree_prop->enums[2].name, "auto", 4); 1930 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1931 1932 Reviewed-by: Slava Abramov <slava.abramov@amd.com> 1933 1934commit 5f06d6b8ba570b500956ad26fee711d5ac427818 1935Author: Michel Dänzer <michel.daenzer@amd.com> 1936Date: Tue Jul 17 19:00:51 2018 +0200 1937 1938 Remove drmmode_terminate_leases 1939 1940 The RandR screen private is already freed when our CloseScreen runs, so 1941 this can't do anything useful. This cleanup has to be done by the X 1942 server itself. 1943 1944commit 7cc2d4515a63845a027214daf4d391cf56e35bb3 1945Author: Michel Dänzer <michel.daenzer@amd.com> 1946Date: Thu Jul 19 16:59:22 2018 +0200 1947 1948 Remove AMDGPUInfoRec::fbcon_pixmap 1949 1950 We always destroy the fbcon pixmap in drmmode_copy_fb anyway. 1951 1952 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1953 1954commit 46d87187c6a0b8f941cc6f30af1f53a98ff2e635 1955Author: Michel Dänzer <michel.daenzer@amd.com> 1956Date: Thu Jul 19 12:37:42 2018 +0200 1957 1958 Don't use DRM_IOCTL_GEM_FLINK in create_pixmap_for_fbcon 1959 1960 We don't need it. 1961 1962commit b8d8416792488f7b15c94234d7e0e35d5ce10ed9 1963Author: Michel Dänzer <michel.daenzer@amd.com> 1964Date: Thu Jul 19 11:36:19 2018 +0200 1965 1966 Free previous xf86CrtcRec gamma LUT memory 1967 1968 We were leaking it. 1969 1970 Also, don't bother allocating new memory if it's already the expected 1971 size. 1972 1973 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1974 1975commit ae8e02c6fc4ef5d5340b8cd4739e66b19b9e3386 1976Author: Michel Dänzer <michel.daenzer@amd.com> 1977Date: Fri Jul 13 10:38:56 2018 +0200 1978 1979 Hardcode "non-desktop" RandR property name 1980 1981 It's a bit silly to require current randrproto just for this definition, 1982 which can't really change anyway. 1983 1984 Suggested-by: Qiang Yu <qiang.yu@amd.com> 1985 Reviewed-by: Qiang Yu <Qiang.Yu@amd.com> 1986 1987commit 1247be21704dd185ce26097e11b3685815ffac4f 1988Author: Michel Dänzer <michel.daenzer@amd.com> 1989Date: Fri Jul 13 18:30:04 2018 +0200 1990 1991 Support gamma correction & colormaps at depth 30 as well 1992 1993 Only supported with the advanced colour management properties available 1994 with DC as of kernel 4.17. 1995 1996 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 1997 1998commit 9dfbae76b179285d142b97852211b900ebfae51d 1999Author: Michel Dänzer <michel.daenzer@amd.com> 2000Date: Tue Jul 10 18:13:39 2018 +0200 2001 2002 Move flush from radeon_scanout_do_update to its callers 2003 2004 No functional change intended. 2005 2006 (Ported from radeon commit 90b94d40449f665f2d12874598062a5e5e5b64cd) 2007 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2008 2009commit ace6ea016ce0013a34e1d4637aeacbf4d0e83c79 2010Author: Michel Dänzer <michel.daenzer@amd.com> 2011Date: Tue Jul 10 18:11:04 2018 +0200 2012 2013 glamor: Bail CreatePixmap on unsupported pixmap depth 2014 2015 Fixes crash in that case. 2016 2017 Bugzilla: https://bugs.freedesktop.org/106293 2018 (Ported from radeon commit 65c9dfea4e841b7d6f795c7489fede58c5e9631f) 2019 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2020 2021commit c160302abcdb18eec35c377d80e34f5bd857df45 2022Author: Michel Dänzer <michel.daenzer@amd.com> 2023Date: Thu May 17 09:50:50 2018 +0200 2024 2025 Bail from dri2_create_buffer2 if we can't get a pixmap 2026 2027 We would store the NULL pointer and continue, which would lead to a 2028 crash down the road. 2029 2030 Bugzilla: https://bugs.freedesktop.org/106293 2031 (Ported from radeon commit 3dcfce8d0f495d09d7836caf98ef30d625b78a13) 2032 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2033 2034commit 61040bdfa360975614fb47aa7ea1b3a1abac3427 2035Author: Keith Packard <keithp@keithp.com> 2036Date: Mon Feb 12 13:51:56 2018 -0800 2037 2038 Add RandR leases support 2039 2040 Signed-off-by: Keith Packard <keithp@keithp.com> 2041 (Ported from xserver commit e4e3447603b5fd3a38a92c3f972396d1f81168ad) 2042 Reviewed-by: Keith Packard <keithp@keithp.com> 2043 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2044 2045commit ab7e39c5a03e24c3ce3ee2f22ada7572bc2d9aa7 2046Author: Keith Packard <keithp@keithp.com> 2047Date: Mon Feb 12 13:51:55 2018 -0800 2048 2049 modesetting: Create CONNECTOR_ID properties for outputs [v2] 2050 2051 This lets a DRM client map between X outputs and kernel connectors. 2052 2053 v2: 2054 Change CONNECTOR_ID to enum -- Adam Jackson <ajax@nwnk.net> 2055 2056 Signed-off-by: Keith Packard <keithp@keithp.com> 2057 (Ported from xserver commit 023d4aba8d45e9e3630b944ecfb650c081799b96) 2058 Reviewed-by: Keith Packard <keithp@keithp.com> 2059 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2060 2061commit 14db71a606128c4a207f43298809af279b77e2a8 2062Author: Keith Packard <keithp@keithp.com> 2063Date: Mon Feb 12 13:51:53 2018 -0800 2064 2065 modesetting: Record non-desktop kernel property at PreInit time 2066 2067 Save any value of the kernel non-desktop property in the xf86Output 2068 structure to avoid non-desktop outputs in the default configuration. 2069 2070 [Also bump randrproto requirement to a version that defines 2071 RR_PROPERTY_NON_DESKTOP - ajax] 2072 2073 Signed-off-by: Keith Packard <keithp@keithp.com> 2074 (Ported from xserver commit b91c787c4cd2d20685db69426c539938c556128a) 2075 Reviewed-by: Keith Packard <keithp@keithp.com> 2076 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2077 2078commit baea4fa492f635cdfe746a84be2e337d9aeae8a9 2079Author: Michel Dänzer <michel.daenzer@amd.com> 2080Date: Tue Jun 26 19:02:21 2018 +0200 2081 2082 Call drmmode_crtc_gamma_do_set from drmmode_setup_colormap 2083 2084 Instead of from drmmode_set_mode_major. There's no need to re-set the 2085 gamma LUT on every modeset, the kernel should preserve it. 2086 2087 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2088 2089commit 19a40758be04e1d451a030f452efb49e8aaad541 2090Author: Michel Dänzer <michel.daenzer@amd.com> 2091Date: Wed Jun 27 18:36:43 2018 +0200 2092 2093 Remove #if 0'd code 2094 2095 This has always been disabled, no need to keep it. 2096 2097 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2098 Reviewed-by: Slava Abramov <slava.abramov@amd.com> 2099 2100commit 8e98195e58f77fd1f354b2707360bd4445aef5b4 2101Author: Michel Dänzer <michel.daenzer@amd.com> 2102Date: Tue Jun 26 18:40:23 2018 +0200 2103 2104 Don't apply gamma to HW cursor data if colour management is enabled 2105 2106 In that case (with DC as of 4.17 kernels), the display hardware applies 2107 gamma to the HW cursor. 2108 2109 v2: 2110 * Also use all 0s when alpha == 0 in the gamma passthrough case. 2111 2112 Bugzilla: https://bugs.freedesktop.org/106578 2113 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2114 2115commit 606075b852d8e1d40ed0a56b5a928abdd7012f95 2116Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2117Date: Fri Jun 15 17:05:52 2018 -0400 2118 2119 Also compose LUT when setting legacy gamma 2120 2121 We compose the two LUTs when pushing non-legacy gamma changes, and the 2122 same needs to be done when setting legacy gamma. 2123 2124 To do so, we just call push_cm_prop() on the gamma LUT. It will compose 2125 the LUTs for us, and fall back to using legacy LUT (upscaled to non- 2126 legacy size) if non-legacy is unavailable. 2127 2128 It's also possible that the Kernel has no support support for non- 2129 legacy color. In which case, we fall back to legacy gamma. 2130 2131 v2: Remove per-CRTC check for color management support. 2132 2133 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2134 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2135 2136commit e0a4c0e2155a5fcfad747ea5bddcf5b4b551f151 2137Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2138Date: Fri Jun 15 17:12:48 2018 -0400 2139 2140 Compose non-legacy with legacy regamma LUT 2141 2142 Frequently, a user may have non-legacy gamma enabled for monitor 2143 correction, while using legacy gamma for things like 2144 redshift/nightlight. 2145 2146 To do so, we compose the two LUTs. Legacy gamma will be applied first, 2147 then non-legacy. i.e. non-legacy_LUT(legacy_LUT(in_color)). 2148 2149 Note that the staged gamma LUT within the driver-private CRTC will 2150 always contain the non-legacy LUT. This is to ensure that we have a 2151 cached copy for future compositions. 2152 2153 v2: Don't compose LUTs if legacy gamma is disabled (which is the case 2154 for deep 30bpp color). The legacy LUT won't be computed here, 2155 causing composition to spit out something invalid. 2156 2157 v3: Use LUT sizes that are now cached in drmmode. 2158 2159 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2160 2161 [ Michel Dänzer: Replace "crtc->funcs->gamma_set == NULL" with 2162 !crtc->funcs->gamma_set ] 2163 2164 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2165 2166commit e1fe46013c281f4644ca49915ae0ff081582a5b9 2167Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2168Date: Fri Jun 15 17:05:39 2018 -0400 2169 2170 Enable setting of color properties via RandR 2171 2172 Setting a color property involves: 2173 1. Staging the property onto the driver-private CRTC object 2174 2. Pushing the staged property into kernel DRM, for HW programming 2175 2176 Add a function to do the staging, and execute the above steps in 2177 output_property_set. 2178 2179 v2: 2180 - Remove per-CRTC check for color management support in stage_cm_prop. 2181 - Use switch statement instead of if statements. 2182 2183 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2184 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2185 2186commit 29de2859e296b4e9f0b4ae7564c353c5518f3f08 2187Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2188Date: Fri Jun 15 17:05:28 2018 -0400 2189 2190 Update color properties on output_get_property 2191 2192 Notify RandR of any updated color properties on the output's CRTC when 2193 its get_property() hook is called. 2194 2195 v2: Remove per-CRTC check for color management support. 2196 2197 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2198 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2199 2200commit 639acf54b4de6f62000d12cc6dbf4f5e49cae888 2201Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2202Date: Fri Jun 15 17:04:58 2018 -0400 2203 2204 Configure color properties when creating output resources 2205 2206 List color management properties on outputs if there is kernel support. 2207 Otherwise, don't list them at all. 2208 2209 v2: 2210 - Use switch statement in configure_and_change 2211 - Also configure LUT sizes for outputs that don't have an attached CRTC. 2212 We can do this since LUT sizes are now cached on the drmmode object. 2213 2214 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2215 2216 [ Michel Dänzer: Drop const from data pointer declaration in 2217 rr_configure_and_change_cm_property, to avoid warning when building 2218 against xserver 1.13 ] 2219 2220 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2221 2222commit 3cf5a281d8481c997029dae164d6fdeca66b9447 2223Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2224Date: Fri Jun 15 17:04:44 2018 -0400 2225 2226 Initialize color properties on CRTC during CRTC init 2227 2228 And destroy them on the CRTC destroy hook. 2229 2230 When initializing color management properties on the private 2231 drmmode_crtc, we want to: 2232 2233 1. Default its color transform matrix (CTM) to identity 2234 2. Program hardware with default color management values (SRGB for 2235 de/regamma, identity for CTM) 2236 2237 It's possible that cm initialization fails due to memory error or DRM 2238 error. In which case, the RandR state may not reflect the actual 2239 hardware state. 2240 2241 v2: 2242 - Use switch statement in push_cm_prop 2243 - Get rid of per-CRTC cm support checks. Keep it simple and only check 2244 the first CRTC, since kernel will always report all or nothing for AMD 2245 hardware. 2246 - Remove per-CRTC LUT size caching, drmmode now holds that. Update 2247 commit message to reflect this. 2248 2249 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2250 2251 [ Michel Dänzer: Replace "drmmode_crtc->ctm == NULL" with 2252 !drmmode_crtc->ctm ] 2253 2254 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2255 2256commit 810ed133cd67b3deb38d1af87e252a094e9ee8f2 2257Author: Leo Li (Sunpeng) <sunpeng.li@amd.com> 2258Date: Fri Jun 15 17:02:57 2018 -0400 2259 2260 Cache color property IDs and LUT sizes during pre-init 2261 2262 DRM creates property types with unique IDs during kernel driver init. 2263 Cache the color property IDs on DDX init for use later, when we need 2264 to modify these properties. Also cache the (de)gamma LUT sizes, since 2265 they are the same for all CRTCs on AMD hardware. 2266 2267 Since these values are the same regardless of the CRTC, they can be 2268 cached within the private drmmode_rec object. We can also use any color- 2269 management-enabled CRTC to initially fetch them. 2270 2271 Also introduce an enumeration of possible color management properties, 2272 to provide a easy and unified way of referring to them. 2273 2274 v2: 2275 - Reorder cm property enum so that LUT sizes are at the end. This allows 2276 us to use DEGAMMA_LUT_SIZE as an anchor for iterating over mutable cm 2277 properties. 2278 - Cache (de)gamma LUT sizes within drmmode, since it's the same for all 2279 CRTCs on AMD hardware. Update commit message to reflect this. 2280 2281 Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2282 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2283 2284commit 940c8b39f79789d4d5ddb8ab8d25a8ae05932756 2285Author: Michel Dänzer <michel.daenzer@amd.com> 2286Date: Tue Jun 12 18:45:08 2018 +0200 2287 2288 Check dimensions passed to drmmode_xf86crtc_resize 2289 2290 When enabling a secondary GPU output, Xorg can try resizing the screen 2291 beyond the limit advertised by the driver, leading to drmModeAddFB 2292 failing and primary GPU outputs turning off. Check for this and bail 2293 instead. 2294 2295commit 74124f2c17dbb4b752707bb7eee398ae099e8a2c 2296Author: Michel Dänzer <michel.daenzer@amd.com> 2297Date: Fri May 18 12:31:57 2018 +0200 2298 2299 Use drmmode_crtc_dpms in drmmode_set_desired_modes 2300 2301 Simplifies the latter slightly. 2302 2303 Reviewed-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2304 2305commit ceeacb455cd058492a493aac954deab8455804b5 2306Author: Michel Dänzer <michel.daenzer@amd.com> 2307Date: Fri May 18 12:13:23 2018 +0200 2308 2309 Call drmmode_do_crtc_dpms from drmmode_crtc_dpms as well 2310 2311 Leo pointed out that drmmode_do_crtc_dpms wasn't getting called when 2312 turning off an output with 2313 2314 xrandr --output <output> --off 2315 2316 This meant that the vblank sequence number and timestamp wouldn't be 2317 saved before turning off the CRTC in this case. 2318 2319 Reported-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2320 Reviewed-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> 2321 2322commit e8e688f3852fb06b0c34ed5bce47c9493bcd1613 2323Author: Michel Dänzer <michel.daenzer@amd.com> 2324Date: Wed May 16 16:49:20 2018 +0200 2325 2326 Replace 'foo == NULL' with '!foo' 2327 2328 Shorter and sweeter. :) 2329 2330 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2331 2332commit 103bd6f44cc5f1a6cd6cc9a5cb34d0419c4cece9 2333Author: Slava Grigorev <slava.grigorev@amd.com> 2334Date: Fri Apr 27 13:04:36 2018 -0400 2335 2336 Include xf86platformBus.h unconditionally 2337 2338 Compilation failed with XSERVER_PLATFORM_BUS undefined: 2339 2340 ../../src/amdgpu_probe.c: In function ‘amdgpu_kernel_open_fd’: 2341 ../../src/amdgpu_probe.c:133:21: error: dereferencing pointer to incomplete type ‘struct xf86_platform_device’ 2342 dev = platform_dev->pdev; 2343 ^~ 2344 2345 Signed-off-by: Slava Grigorev <slava.grigorev@amd.com> 2346 2347 [ Michel Dänzer: 2348 * Fixed remaining preprocessor guards to work with xserver 1.13 2349 * Touched up commit log ] 2350 2351commit 04947b83cce3a7782e59dece2c7797cc396c1e05 2352Author: Michel Dänzer <michel.daenzer@amd.com> 2353Date: Thu Apr 26 17:58:08 2018 +0200 2354 2355 Wait for pending flips in drmmode_output_set_tear_free 2356 2357 This prevents a nested call to drmHandleEvent, which would hang. 2358 2359 Fixes hangs when disabling TearFree on a CRTC while a DRI3 client is 2360 page flipping. 2361 2362 Reviewed-by: Samuel Li <Samuel.Li@amd.com> 2363 2364commit fa30f4601de7a44edfb4a95873bd648946fd4292 2365Author: Michel Dänzer <michel.daenzer@amd.com> 2366Date: Thu Apr 26 17:55:30 2018 +0200 2367 2368 Refactor drmmode_output_set_tear_free helper 2369 2370 Preparation for the following fix, no functional change intended. 2371 2372 Reviewed-by: Samuel Li <Samuel.Li@amd.com> 2373 2374commit 7db0c8e9d7586cff4312d4b93684d35de3e6376f 2375Author: Michel Dänzer <michel.daenzer@amd.com> 2376Date: Tue Apr 24 11:56:03 2018 +0200 2377 2378 Set drmmode_crtc->scanout_id = 0 when TearFree is disabled 2379 2380 When disabling TearFree, drmmode_crtc->scanout_id could remain as 1, 2381 but drmmode_set_mode_major would destroy drmmode_crtc->scanout[1], so 2382 scanout_do_update() would keep bailing, and the scanout buffer would 2383 stop being updated. 2384 2385 Fixes freeze after disabling TearFree on a CRTC with active RandR 2386 rotation or other transform. 2387 2388 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2389 2390commit 8e544b4a0de6717feb4abf00052d57c5b726b5ce 2391Author: Michel Dänzer <michel.daenzer@amd.com> 2392Date: Mon Apr 23 18:52:02 2018 +0200 2393 2394 Simplify drmmode_handle_transform 2395 2396 Set crtc->driverIsPerformingTransform for any case we can handle before 2397 calling xf86CrtcRotate. We already clear it afterwards when the latter 2398 clears crtc->transform_in_use. 2399 2400 This should allow our separate scanout buffer mechanism to be used in 2401 more cases. 2402 2403 Acked-by: Alex Deucher <alexander.deucher@amd.com> 2404 2405commit 463477661c88cab3a87746499e5838c5b9f9a13b 2406Author: Michel Dänzer <michel.daenzer@amd.com> 2407Date: Mon Apr 23 18:44:06 2018 +0200 2408 2409 Don't call scanout_flip/update with a legacy RandR scanout buffer 2410 2411 It means we are not using our own scanout buffers. 2412 2413 Fixes crash when TearFree is supposed to be enabled, but 2414 drmmode_handle_transform doesn't set crtc->driverIsPerformingTransform. 2415 2416 Bugzilla: https://bugs.freedesktop.org/105736 2417 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2418 2419commit 72c3e9c7308fbcdf85708b72f9be14a5f2f8e7b5 2420Author: Michel Dänzer <michel.daenzer@amd.com> 2421Date: Thu Mar 8 19:07:21 2018 +0100 2422 2423 Simplify drmmode_crtc_scanout_update 2424 2425 Use our own BoxRec for the extents, and RegionEmpty for clearing the 2426 scanout damage region. 2427 2428commit 4dcda0b48d62944c841cd9540f4ad4c7ac8dee47 2429Author: Michel Dänzer <michel.daenzer@amd.com> 2430Date: Fri Apr 20 17:34:55 2018 +0200 2431 2432 Update RandR CRTC state if set_mode_major fails in set_desired_modes 2433 2434 Without this, RandR would report the CRTC and its outputs as enabled, 2435 even though they were actually off due to the failure. 2436 2437commit 36d01989cd842588f12fdae5b2cba5fdcf9c91dd 2438Author: Michel Dänzer <michel.daenzer@amd.com> 2439Date: Wed Apr 18 11:17:02 2018 +0200 2440 2441 Abort scanout_update_pending event when possible 2442 2443 We don't need to wait for a non-TearFree scanout update before scanning 2444 out from the screen pixmap or before flipping, as the scanout update 2445 won't be visible anyway. Instead, just abort it. 2446 2447commit 04a5c5f7cfacad8d9ccffe81e388cc3da2036cb5 2448Author: Michel Dänzer <michel.daenzer@amd.com> 2449Date: Wed Apr 18 11:03:14 2018 +0200 2450 2451 Track DRM event queue sequence number in scanout_update_pending 2452 2453 Preparation for next change, no behaviour change intended. 2454 2455commit 8fcc3a9b43d3907052a83a96e5a2423afab5ad3f 2456Author: Michel Dänzer <michel.daenzer@amd.com> 2457Date: Wed Apr 18 11:18:59 2018 +0200 2458 2459 Ignore AMDGPU_DRM_QUEUE_ERROR (0) in amdgpu_drm_abort_entry 2460 2461 This allows a following change to be slightly simpler. 2462 2463commit 720a61000aeb139005bd8125908cec66a6e69554 2464Author: Emil Velikov <emil.velikov@collabora.com> 2465Date: Wed Apr 4 15:29:51 2018 +0100 2466 2467 Remove set but unused amdgpu_dri2::pKernelDRMVersion 2468 2469 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 2470 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 2471 2472commit 7fb8b49895e225b3908c8bd186539de23afe91d1 2473Author: Emil Velikov <emil.velikov@collabora.com> 2474Date: Wed Apr 4 15:29:50 2018 +0100 2475 2476 Do not export the DriverRec AMDGPU 2477 2478 Unused externally and should not be exported. 2479 2480 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 2481 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 2482 2483commit 00c128b45fc196c3a3a788ddb4453e7521be5860 2484Author: Emil Velikov <emil.velikov@collabora.com> 2485Date: Wed Apr 4 15:29:36 2018 +0100 2486 2487 Move amdgpu_bus_id/amgpu_kernel_mode within amdgpu_kernel_open_fd 2488 2489 Small step towards unifying the code paths and removing a handful of 2490 duplication. 2491 2492 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> 2493 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 2494 2495commit 9f6a8905611b5b1d8fcd31bebbc9af7ca1355cc3 2496Author: Jim Qu <Jim.Qu@amd.com> 2497Date: Tue Apr 17 19:11:16 2018 +0800 2498 2499 Wait for pending scanout update before calling drmmode_crtc_scanout_free 2500 2501 There is a case that when set screen from reverse to normal, the old 2502 scanout damage is freed in modesetting before scanout update handler, 2503 so it causes segment fault issue. 2504 2505 Signed-off-by: Jim Qu <Jim.Qu@amd.com> 2506 2507 [ Michel Dänzer: Only call drmmode_crtc_wait_pending_event before 2508 drmmode_crtc_scanout_free is actually called, slightly tweak commit 2509 message ] 2510 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 2511 2512commit c6f1559eba551a5a3bf374c7e7e875928f3b138d 2513Author: Michel Dänzer <michel.daenzer@amd.com> 2514Date: Wed Apr 18 10:41:46 2018 +0200 2515 2516 Post-release version bump 2517 2518commit 9f37a44473ded8c669897379acbc750362c15ec6 2519Author: Michel Dänzer <michel.daenzer@amd.com> 2520Date: Thu Mar 15 16:34:19 2018 +0100 2521 2522 Bump version for 18.0.1 release 2523 2524commit 8af989546907ad9fb491d940e1936d3bfc89276b 2525Author: Michel Dänzer <michel.daenzer@amd.com> 2526Date: Thu Mar 8 18:48:28 2018 +0100 2527 2528 Pass extents to amdgpu_scanout_do_update by value 2529 2530 amdgpu_scanout_extents_intersect could leave the scanout damage region 2531 in an invalid state, triggering debugging checks in pixman: 2532 2533 *** BUG *** 2534 In pixman_region_append_non_o: The expression r->x1 < r->x2 was false 2535 Set a breakpoint on '_pixman_log_error' to debug 2536 2537commit 29649652a08ece7e07741be161b067a4484455ca 2538Author: Michel Dänzer <michel.daenzer@amd.com> 2539Date: Wed Mar 7 17:51:25 2018 +0100 2540 2541 Wrap the whole miPointerScreenFuncRec, instead of only Set/MoveCursor 2542 2543 We were clobbering entries in mi's global miSpritePointerFuncs struct, 2544 which cannot work correctly with multiple primary screens. Instead, 2545 assign a pointer to our own wrapper struct to PointPriv->spriteFuncs. 2546 2547 Fixes crashes with multiple primary screens. 2548 2549 Fixes: 69e20839bfeb ("Keep track of how many SW cursors are visible on 2550 each screen") 2551 Reported-by: Mario Kleiner <mario.kleiner.de@gmail.com> 2552 2553commit b4a28bdcfa7089e1cf708490ddf048b7df4c7eed 2554Author: Michel Dänzer <michel.daenzer@amd.com> 2555Date: Tue Mar 6 17:59:26 2018 +0100 2556 2557 Only change Set/MoveCursor hooks from what we expect 2558 2559 Since xf86CursorCloseScreen runs after AMDGPUCloseScreen_KMS, 2560 PointPriv->spriteFuncs doesn't point to the same struct in the latter as 2561 in AMDGPUCursorInit_KMS. So we were restoring info->Set/MoveCursor to 2562 the wrong struct. Then in the next server generation, 2563 info->Set/MoveCursor would end up pointing to 2564 drmmode_sprite_set/move_cursor, resulting in an infinite loop if one of 2565 them was called. 2566 2567 To avoid this, only change the Set/MoveCursor hooks if their values 2568 match our expectations, otherwise leave them as is. This is kind of a 2569 hack, but the alternative would be invasive and thus risky changes to 2570 the way we're wrapping CloseScreen, and it's not even clear that can 2571 work without changing xserver code. 2572 2573 Fixes: 69e20839bfeb ("Keep track of how many SW cursors are visible on 2574 each screen") 2575 (Ported from radeon commit 504b8721b17a672caf1ed3eab087027c02458cab) 2576 Acked-by: Alex Deucher <alexander.deucher@amd.com> 2577 2578commit 5cfba7b6221779832be915993765cb128a561087 2579Author: Michel Dänzer <michel.daenzer@amd.com> 2580Date: Fri Mar 2 18:10:40 2018 +0100 2581 2582 Bump version for 18.0.0 release 2583 2584commit 374cb8fef4fdbb648af089ee80803ec78321f1b2 2585Author: Keith Packard <keithp@keithp.com> 2586Date: Thu Dec 21 18:54:34 2017 -0800 2587 2588 modesetting: Update property values at detect and uevent time 2589 2590 We were updating the link-status property when a uevent came in, but 2591 we also want to update the non-desktop property, and potentially 2592 others as well. We also want to check at detect time in case we don't 2593 get a hotplug event. 2594 2595 This patch updates every property provided by the kernel, sending 2596 changes to DIX so it can track things as well. 2597 2598 Signed-off-by: Keith Packard <keithp@keithp.com> 2599 2600 (Ported from xserver commit a12485ed846b852ca14d17d1e58c8b0f2399e577, 2601 slightly modifying logic to reduce indentation depth) 2602 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2603 2604commit 10054b6c3d9a755b30abb43020121b9631fa296d 2605Author: Daniel Martin <consume.noise@gmail.com> 2606Date: Mon Nov 20 10:47:41 2017 +0100 2607 2608 modesetting: Reset output_id if drmModeGetConnector failed 2609 2610 If drmModeGetConnector() fails in drmmode_output_detect(), we have to 2611 reset the output_id to -1 too. 2612 2613 Yet another spot leading to a potential NULL dereference when handling 2614 the mode_output member as output_id was != -1. Though, this case should 2615 be very hard to hit. 2616 2617 Signed-off-by: Daniel Martin <consume.noise@gmail.com> 2618 2619 (Ported from xserver commit 6804875662363764683a86c1614e4cf3cc70a20a) 2620 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2621 2622commit fb58e06acd6c6bd59de2dbdadbca27eb1dd0025b 2623Author: Daniel Martin <consume.noise@gmail.com> 2624Date: Mon Oct 23 10:31:21 2017 +0200 2625 2626 modesetting: Use helper to fetch drmModeProperty(Blob)s 2627 2628 Replace the various loops to lookup drmModeProperty(Blob)s by 2629 introducing helper functions. 2630 2631 Signed-off-by: Daniel Martin <consume.noise@gmail.com> 2632 2633 (Ported from xserver commit f44935cdb7321af242ce9f242975f096807b97f7) 2634 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2635 2636commit 7854ace03f12207600ec8159ef8b2c5a562c4aee 2637Author: Christoph Haag <haagch@frickel.club> 2638Date: Thu Mar 1 15:07:00 2018 +0100 2639 2640 fix include order for present.h configure test 2641 2642 xorg-server.h defines _XSERVER64 which is used in X.h to choose the 2643 correct definition of XID 2644 2645 this prevents a failure in the present.h configure test that disables 2646 DRI3 on X.Org 1.20 2647 2648 Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com> 2649 2650commit e3aae7a24296f640c0153d1459f3e0820485468a 2651Author: Michel Dänzer <michel.daenzer@amd.com> 2652Date: Fri Feb 16 17:15:24 2018 +0100 2653 2654 Disable all unused CRTCs before setting desired modes 2655 2656 This might avoid modeset failures in some cases where a CRTC which isn't 2657 used by Xorg was enabled before. 2658 2659commit f5ac5f385f41d1547cfd7ccc8bb35a537a8fffeb 2660Author: Michel Dänzer <michel.daenzer@amd.com> 2661Date: Thu Feb 15 18:37:09 2018 +0100 2662 2663 Don't bail from drmmode_set_desired_modes immediately 2664 2665 If we fail to find or set the mode for a CRTC, keep trying for the 2666 remaining CRTCs, and only return FALSE if we failed for all CRTCs that 2667 should be on. 2668 2669 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2670 Acked-by: Harry Wentland <harry.wentland@amd.com> 2671 2672commit 37c7260bdef3a53b0f0295a531f33938e9aad8cf 2673Author: Michel Dänzer <michel.daenzer@amd.com> 2674Date: Wed Feb 14 19:06:33 2018 +0100 2675 2676 If glamor is too old for depth 30, fall back to ShadowFB 2677 2678 Instead of not starting up at all. 2679 2680 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2681 2682commit 63b0c73a99fdf0eb7550a88df3a0052ce784e758 2683Author: Michel Dänzer <michel.daenzer@amd.com> 2684Date: Wed Feb 14 18:50:18 2018 +0100 2685 2686 Revert "Guard against pAMDGPUEnt == NULL in AMDGPUFreeRec" 2687 2688 This reverts commit a23d1ff700d486138c624c2023d8d251c73709af. 2689 2690 pAMDGPUEnt cannot be NULL anymore here now that we no longer call 2691 AMDGPUFreeRec directly from AMDGPUPreInit_KMS. 2692 2693 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2694 2695commit 103b7285845b786929fb509083c57e074c48f9be 2696Author: Michel Dänzer <michel.daenzer@amd.com> 2697Date: Tue Feb 13 19:11:00 2018 +0100 2698 2699 Don't call AMDGPUFreeRec from AMDGPUPreInit_KMS 2700 2701 If the latter fails, Xorg will call AMDGPUFreeScreen_KMS, which calls 2702 the former. 2703 2704 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2705 2706commit a23d1ff700d486138c624c2023d8d251c73709af 2707Author: Michel Dänzer <michel.daenzer@amd.com> 2708Date: Tue Feb 13 18:57:48 2018 +0100 2709 2710 Guard against pAMDGPUEnt == NULL in AMDGPUFreeRec 2711 2712 This can happen if PreInit fails early. 2713 2714 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2715 2716commit b3095710b7c240ddefce794033a77033806f639d 2717Author: Michel Dänzer <michel.daenzer@amd.com> 2718Date: Tue Feb 13 18:26:06 2018 +0100 2719 2720 Always use screen depth/bpp for KMS framebuffers 2721 2722 DRI clients can use depth 32 pixmaps while the screen is depth 24, in 2723 which case page flipping would fail. 2724 2725 Reported-by: Mario Kleiner <mario.kleiner.de@gmail.com> 2726 (Ported from radeon commit 733f606dd6ca8350e6e7f0858bfff5454ddc98ed) 2727 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2728 2729commit 6aee5770fb913713bb1b9a1af8f0d0892a66f21a 2730Author: Hawking Zhang <Hawking.Zhang@amd.com> 2731Date: Sat Jul 16 00:09:21 2016 +0800 2732 2733 Add 30bit RGB color format support 2734 2735 Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> 2736 2737 [ Michel Dänzer: 2738 * Require Xorg >= 1.19.99.1 for depth 30, otherwise it can't work with glamor 2739 * Update manpage, per radeon commit 2740 574bfab4bf1fcd95163a8f33cea2889189429d30 ] 2741 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2742 2743commit ec397f7d3bfc89a5d8b8429c96e1b9572f6ee47d 2744Author: Qiang Yu <Qiang.Yu@amd.com> 2745Date: Thu Nov 2 14:00:23 2017 +0800 2746 2747 Disable gamma set when deep color 2748 2749 gamma set is disabled in kernel driver when deep color. 2750 Enable it will confuse the user. 2751 2752 Signed-off-by: Qiang Yu <Qiang.Yu@amd.com> 2753 2754 [ Michel Dänzer: Align drmmode_pre_init change with radeon commit 2755 1f1d4b1fa7d4b22dd8553f7e71251bf17ca7a7b1 ] 2756 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2757 2758commit c849081e24377a81afc1a05f2a5634b1e60c67db 2759Author: Mario Kleiner <mario.kleiner.de@gmail.com> 2760Date: Mon Feb 12 18:18:46 2018 +0100 2761 2762 Define per x-screen individual drmmode_crtc_funcs 2763 2764 This allows to en-/disable some functions depending on individual screen 2765 settings. 2766 2767 Prep work for more efficient depth 30 support. 2768 2769 Suggested-by: Michel Dänzer <michel.daenzer@amd.com> 2770 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 2771 (Ported from radeon commit 21f6753462464acfd3c452393328c977a375ce26) 2772 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2773 2774commit 348023cea43e0474352df0c2aa6345eb0b25c2f7 2775Author: Michel Dänzer <michel.daenzer@amd.com> 2776Date: Mon Jan 22 18:23:18 2018 +0100 2777 2778 Fix linear check in amdgpu_glamor_share_pixmap_backing 2779 2780 We were incorrectly interpreting the tiling information. 2781 2782 Reported-by: Marek Olšák <marek.olsak@amd.com> 2783 Acked-by: Alex Deucher <alexander.deucher@amd.com> 2784 Reviewed-by: Marek Olšák <marek.olsak@amd.com> 2785 2786commit 69e20839bfeb3ee0b0a732d72de0a32d6c5435fc 2787Author: Michel Dänzer <michel.daenzer@amd.com> 2788Date: Fri Dec 22 18:33:58 2017 +0100 2789 2790 Keep track of how many SW cursors are visible on each screen 2791 2792 And use this to determine when we cannot use page flipping for DRI 2793 clients. We previously did this based on whether the HW cursor cannot 2794 be used on at least one CRTC, which had at least two issues: 2795 2796 * Even while the HW cursor cannot be used, no SW cursor may actually be 2797 visible (e.g. because all cursors are disabled), in which case we can 2798 use page flipping for DRI clients anyway 2799 * Even while the HW cursor can be used, there may be SW cursors visible 2800 from non-core pointer devices, in which case we cannot use page 2801 flipping for DRI clients anyway 2802 2803 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2804 2805commit dfccaa7043ccb157a1f8be7313123792bb7e7001 2806Author: Michel Dänzer <michel.daenzer@amd.com> 2807Date: Fri Dec 22 17:09:07 2017 +0100 2808 2809 Move cursor related ScreenInit calls into AMDGPUCursorInit_KMS 2810 2811 And bail if xf86_cursors_init fails. 2812 2813 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2814 2815commit 1d65ac395971571094df21ca0408d5972c6b56ec 2816Author: Michel Dänzer <michel.daenzer@amd.com> 2817Date: Wed Nov 15 18:22:27 2017 +0100 2818 2819 Add amdgpu_dirty_src_drawable helper 2820 2821 Allows tidying up amdgpu_dirty_src_equals and redisplay_dirty slightly. 2822 2823 v2: 2824 * Different approach for amdgpu_dirty_master 2825 2826 Acked-by: Alex Deucher <alexander.deucher@amd.com> 2827 2828commit 3a4f7422913093ed9e26b73ecd7f9e773478cb1e 2829Author: Michel Dänzer <michel.daenzer@amd.com> 2830Date: Wed Nov 8 18:44:25 2017 +0100 2831 2832 Use correct ScrnInfoPtr in redisplay_dirty 2833 2834 We used the destination pixmap's screen for flushing glamor. But when 2835 we are the master screen, the destination pixmap is from the slave 2836 screen. 2837 2838 Fixes crash when the slave screen isn't using glamor as well. 2839 2840 Bugzilla: https://bugs.freedesktop.org/103613 2841 Fixes: e15b23663cd1 ("Adapt to PixmapDirtyUpdateRec::src being a 2842 DrawablePtr") 2843 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2844 2845commit 875339c1064f666a2391b4a5a495eddda9407ab6 2846Author: Daniel Martin <consume.noise@gmail.com> 2847Date: Fri Oct 20 10:05:35 2017 +0200 2848 2849 modesetting: Check crtc before searching link-status property 2850 2851 No need to lookup the link-status property if we don't have a crtc. 2852 2853 Signed-off-by: Daniel Martin <consume.noise@gmail.com> 2854 (Ported from xserver commit 8d7f7e24261e68459e6f0a865e243473f65fe7ad) 2855 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2856 2857commit 91cd0ceab2cabba75e3552d0fbfcfc55f6d132ee 2858Author: Keith Packard <keithp@keithp.com> 2859Date: Mon Sep 25 16:18:22 2017 -0700 2860 2861 modesetting: Skip no-longer-present connectors when resetting BAD links 2862 2863 Outputs may have NULL mode_output (connector) pointers if the 2864 connector disappears while the server is running. Skip these when 2865 resetting outputs with BAD link status. 2866 2867 (Ported from xserver commit 37f4e7651a2fd51efa613a08a1e705553be33e76) 2868 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2869 2870commit f6b39bcd45cb06976ba8a3600df77fc471c63995 2871Author: Michel Dänzer <michel.daenzer@amd.com> 2872Date: Thu Oct 19 18:02:05 2017 +0200 2873 2874 Always call drmModeFreeProperty after drmModeGetProperty 2875 2876 We were not doing so in all cases, leaking memory allocated by the 2877 latter. 2878 2879 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2880 2881commit 84aad09f18fed6b52b0c073f0bbd675a6de07807 2882Author: Michel Dänzer <michel.daenzer@amd.com> 2883Date: Thu Oct 19 17:54:13 2017 +0200 2884 2885 Call TimerFree for timer created in LeaveVT 2886 2887 We were leaking the memory allocated by TimerSet. 2888 2889 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2890 2891commit cfccf4c4e7e5c73fe4040fabeb1b43283cf29b33 2892Author: Michel Dänzer <michel.daenzer@amd.com> 2893Date: Thu Oct 19 17:41:44 2017 +0200 2894 2895 Free memory returned by xf86GetEntityInfo 2896 2897 We were leaking it. 2898 2899 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2900 2901commit 9d84934309e4ccd9a43c73d958b8ff10ef2fc990 2902Author: Michel Dänzer <michel.daenzer@amd.com> 2903Date: Thu Oct 19 17:28:53 2017 +0200 2904 2905 Free pAMDGPUEnt memory in AMDGPUFreeRec 2906 2907 We were freeing it earlier but then still trying to access it in 2908 AMDGPUFreeRec. 2909 2910 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2911 2912commit b67a2b62b20c17db7471f5bbea591ab55806cb29 2913Author: Michel Dänzer <michel.daenzer@amd.com> 2914Date: Thu Oct 19 16:46:35 2017 +0200 2915 2916 Bail if there's a problem with ShadowFB 2917 2918 If we hit a problem while setting up ShadowFB, just carrying on trying 2919 to set up HW acceleration instead is unlikely to work. 2920 2921 (Ported from radeon commit 7d435354099119234d443b07e2df1c7b9f97cf3c) 2922 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2923 2924commit 55396cc45c9aae3b1985ced1044b6b93064667c3 2925Author: Michel Dänzer <michel.daenzer@amd.com> 2926Date: Thu Oct 19 16:20:03 2017 +0200 2927 2928 Fix VT switching with ShadowFB 2929 2930 We were trying to call acceleration specific functions from LeaveVT. 2931 Instead, memset the scanout buffer to all 0 in LeaveVT and allocate a 2932 new one in EnterVT. 2933 2934 Bugzilla: https://bugs.freedesktop.org/102948 2935 Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black 2936 framebuffer in LeaveVT") 2937 (Ported from radeon commit 34da04daec82077571558ac3fe1ec0c1203a01ad) 2938 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2939 2940commit 2f72be038d22c54620e436af30121dd89f79a003 2941Author: Darren Salt <devspam@moreofthesa.me.uk> 2942Date: Wed Sep 13 03:22:19 2017 +0100 2943 2944 Clarify when TearFree is automatically enabled. 2945 2946 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 2947 2948commit 2ce59dfa1c57655137fcc7ccdf15a341e51383ff 2949Author: Michel Dänzer <michel.daenzer@amd.com> 2950Date: Thu Oct 5 11:15:34 2017 +0200 2951 2952 Post-release version bump 2953 2954commit cf1767a9a58a3ec95622a7b8ca661113e2148da9 2955Author: Michel Dänzer <michel.daenzer@amd.com> 2956Date: Fri Sep 8 16:19:48 2017 +0900 2957 2958 Bump version for 1.4.0 release 2959 2960commit 114de91e3548cd30b709b19f1447f597e71175e0 2961Author: Michel Dänzer <michel.daenzer@amd.com> 2962Date: Thu Aug 31 17:59:08 2017 +0900 2963 2964 Require xserver >= 1.13 2965 2966 xserver 1.13.0 was released on September 6th, 2012, almost 5 years ago. 2967 2968 This allows cleaning up a bunch of backwards compatibility code. 2969 2970 (Ported from radeon commit 5cdd334b3402c2431deb3a87a8d04ef590da53ee) 2971 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2972 2973commit 456e5841233a8a79c23ad13649bbdaf8428b50f3 2974Author: Michel Dänzer <michel.daenzer@amd.com> 2975Date: Wed Aug 30 17:17:49 2017 +0900 2976 2977 Use a timer for unreferencing the all-black FB 2978 2979 The timer fires 1 second after LeaveVT. This gives the next DRM master 2980 enough time to set up scanout of its own buffers. 2981 2982 Fixes prolonged intermittent black screen when switching from Xorg to 2983 e.g. the GDM Wayland mode login VT. 2984 2985 Fixes: c16ff42f927d ("Make all active CRTCs scan out an all-black 2986 framebuffer in LeaveVT") 2987 (Ported from radeon commit 9d9c565c84601f4c6c73ad769f86491088683f7a) 2988 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 2989 2990commit 639076efb06cdf13a211a8df1acb00c3908992b9 2991Author: Michel Dänzer <michel.daenzer@amd.com> 2992Date: Tue Aug 29 17:24:18 2017 +0900 2993 2994 Remove drmmode_scanout_free 2995 2996 Not used anymore. 2997 2998 (Cherry picked from radeon commit e4a3df19d588a4310fcb889ef34e205d0e92e4d7) 2999 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3000 3001commit c16ff42f927df805619a5255bc383841474daff8 3002Author: Michel Dänzer <michel.daenzer@amd.com> 3003Date: Tue Aug 29 17:06:58 2017 +0900 3004 3005 Make all active CRTCs scan out an all-black framebuffer in LeaveVT 3006 3007 And destroy all other FBs. This is so that other DRM masters can only 3008 get access to this all-black FB, not to any other FB we created, while 3009 we're switched away and not DRM master. 3010 3011 Fixes: b09fde0d81e0 ("Use reference counting for tracking KMS 3012 framebuffer lifetimes") 3013 (Ported from radeon commit 06a465484101f21e99d3a0a62fb03440bcaff93e) 3014 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3015 3016commit 19672625df0531c12acc05999ea09ea763e5db59 3017Author: Michel Dänzer <michel.daenzer@amd.com> 3018Date: Tue Aug 29 17:05:19 2017 +0900 3019 3020 Create amdgpu_master_screen helper 3021 3022 Preparatory, no functional change intended yet. 3023 3024 (Ported from radeon commit 7f0cd68d1b0c132e32ae736371bce3e12ed33c7a) 3025 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3026 3027commit 6b376c8d73b20c92755527edb0527a233886e4eb 3028Author: Michel Dänzer <michel.daenzer@amd.com> 3029Date: Tue Aug 29 16:56:56 2017 +0900 3030 3031 Create amdgpu_pixmap_get_fb_ptr helper 3032 3033 Preparatory, no functional change intended yet. 3034 3035 Also inline amdgpu_pixmap_create_fb into amdgpu_pixmap_get_fb, since 3036 there's only one call-site. 3037 3038 (Ported from radeon commit 20f6b56fdb74d88086e8e094013fedbb14e50a24) 3039 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3040 3041commit 5af396253f6a03fa3f8f92e81da231dd581b50c9 3042Author: Michel Dänzer <michel.daenzer@amd.com> 3043Date: Tue Aug 29 16:54:10 2017 +0900 3044 3045 Create drmmode_set_mode helper 3046 3047 Preparatory, no functional change intended yet. 3048 3049 (Ported from radeon commit 4bc992c31059eb50e22df4ebf5b92d08411f41ef) 3050 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3051 3052commit 1afd4a526c97e77ec882988e35d4977880b9d16c 3053Author: Michel Dänzer <michel.daenzer@amd.com> 3054Date: Tue Aug 29 16:46:33 2017 +0900 3055 3056 Create amdgpu_pixmap_clear helper 3057 3058 Preparatory, no functional change intended yet. 3059 3060 (Ported from radeon commit 3f6210ca2c8ef60d59efc8139151d3b9838bb875) 3061 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3062 3063commit 0de05767adb79d417284dae83e9a77857633fd80 3064Author: Martin Peres <martin.peres@linux.intel.com> 3065Date: Tue Aug 22 18:43:24 2017 +0900 3066 3067 modesetting: re-set the crtc's mode when link-status goes BAD 3068 3069 Despite all the careful planning of the kernel, a link may become 3070 insufficient to handle the currently-set mode. At this point, the 3071 kernel should mark this particular configuration as being broken 3072 and potentially prune the mode before setting the offending connector's 3073 link-status to BAD and send the userspace a hotplug event. This may 3074 happen right after a modeset or later on. 3075 3076 Upon receiving a hot-plug event, we iterate through the connectors to 3077 re-apply the currently-set mode on all the connectors that have a 3078 link-status property set to BAD. The kernel may be able to get the 3079 link to work by dropping to using a lower link bpp (with the same 3080 display bpp). However, the modeset may fail if the kernel has pruned 3081 the mode, so to make users aware of this problem a warning is outputed 3082 in the logs to warn about having a potentially-black display. 3083 3084 This patch does not modify the current behaviour of always propagating 3085 the events to the randr clients. This allows desktop environments to 3086 re-probe the connectors and select a new resolution based on the new 3087 (currated) mode list if a mode disapeared. This behaviour is expected in 3088 order to pass the Display Port compliance tests. 3089 3090 (Ported from xserver commit bcee1b76aa0db8525b491485e90b8740763d7de6) 3091 3092 [ Michel: Bump libdrm dependency to >= 2.4.78 for 3093 DRM_MODE_LINK_STATUS_BAD ] 3094 (Ported from radeon commit 0472a605e0ec8fec1892bbc3a84698b7ef9c5296) 3095 Acked-by: Harry Wentland <harry.wentland@amd.com> 3096 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3097 3098commit a2ee5c36c7d4fdcd067fdc1ef424be474f1ad2cb 3099Author: Michel Dänzer <michel.daenzer@amd.com> 3100Date: Fri Aug 18 17:24:45 2017 +0900 3101 3102 Make amdgpu_scanout_do_update take a PixmapPtr instead of a DrawablePtr 3103 3104 All callers were already passing in a pixmap. 3105 3106 This allows simplifying the rotated scanout case slightly. 3107 3108 (Ported from radeon commit d822a0f47070374ad0c1a97b559bae27724dc52a) 3109 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3110 3111commit 828fb44cf953f78bd65d8f391bdabe2b1b3d53ae 3112Author: Michel Dänzer <michel.daenzer@amd.com> 3113Date: Fri Aug 18 17:22:12 2017 +0900 3114 3115 Use xorg_list_append for the DRM event list 3116 3117 We were adding entries at the start of the list, i.e. the list was 3118 ordered from most recently added to least recently added. However, the 3119 corresponding DRM events are generally expected to arrive in the same 3120 order as they are queued, which means that amdgpu_drm_queue_alloc would 3121 generally have to traverse the whole list to find the entry 3122 corresponding to an arrived event. Fix this by adding entries at the end 3123 of the list. 3124 3125 (Ported from radeon commit 3e24770b1b472fc15df56d06f5f04778c9db63dd) 3126 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3127 3128commit 22740f86d028cdd0f556543df7444516a86f923b 3129Author: Michel Dänzer <michel.daenzer@amd.com> 3130Date: Fri Aug 18 17:15:54 2017 +0900 3131 3132 Consolidate amdgpu_scanout_flip_abort/handler helpers 3133 3134 While at it, make them use crtc->driver_private. 3135 3136 (Ported from radeon commit 36ce7920136c0d723c9397a84e7dd5926a9c7943) 3137 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3138 3139commit 2692508ae8920ce62f488a9384444c1645964913 3140Author: Michel Dänzer <michel.daenzer@amd.com> 3141Date: Fri Aug 18 17:12:15 2017 +0900 3142 3143 Always allow DRI2 page flipping with TearFree 3144 3145 Even if TearFree is enabled for the CRTC we're synchronizing to. 3146 3147 (Ported from radeon commit d314cbfb228bb4b8762714f98d0c114a8ee3f061) 3148 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3149 3150commit 8c82878c6ef1b984ba289383dc17152192c916ee 3151Author: Michel Dänzer <michel.daenzer@amd.com> 3152Date: Fri Aug 18 16:57:13 2017 +0900 3153 3154 Always allow Present page flipping with TearFree 3155 3156 Even if TearFree is active for the the CRTC we're synchronizing to. In 3157 that case, for Present flips synchronized to vertical blank, the other 3158 scanout buffer is immediately synchronized and flipped to during the 3159 target vertical blank period. For Present flips not synchronized to 3160 vertical blank, we simply use the MSC and timestamp values of the last 3161 vertical blank period for timing purposes, and let the normal TearFree 3162 mechanism handle display updates. 3163 3164 (Ported from radeon commit 4445765af5b97d0cfd10889fe6d6f58f2ce85659) 3165 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3166 3167commit d8e8f0107bb3e83a787917f4db16a7a54ce4768b 3168Author: Michel Dänzer <michel.daenzer@amd.com> 3169Date: Fri Aug 18 16:46:18 2017 +0900 3170 3171 Pass extents to amdgpu_scanout_do_update 3172 3173 Preparation for following change, no functional change intended yet. 3174 3175 (Ported from radeon commit 65e0c5ea1b4adff21d673dbf54af99704c429627) 3176 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3177 3178commit cc1dfb88eb6714fcdcb9b576a70f400a5d0d58ca 3179Author: Michel Dänzer <michel.daenzer@amd.com> 3180Date: Fri Aug 18 16:34:50 2017 +0900 3181 3182 Add source drawable parameter to amdgpu_scanout_do_update 3183 3184 Preparation for following changes, no functional change intended yet. 3185 3186 (Ported from radeon commit 1443270e52e8562bd8dc3603f301963bd4027cef) 3187 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3188 3189commit b82d1b6063a36facc9cdd0e0189fdb6932be94e2 3190Author: Michel Dänzer <michel.daenzer@amd.com> 3191Date: Fri Aug 18 16:23:39 2017 +0900 3192 3193 Handle multiple "pending" Present flips 3194 3195 The xserver Present code can submit a flip in response to notifying it 3196 that a vblank event arrived. This can happen before the completion event 3197 of the previous flip is processed. In that case, we were clearing the 3198 drmmode_crtc->flip_pending field prematurely. 3199 3200 Prevent this by only clearing drmmode_crtc->flip_pending when it matches 3201 the framebuffer being scanned out since the flip whose completion event 3202 we're processing. 3203 3204 (Ported from radeon commit 7c10ee9c88378d773c0bcf651fdc5d9f2c6dc5e5) 3205 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3206 3207commit 2cbe7f2dff5eef159486f875b3ec67516c85862d 3208Author: Michel Dänzer <michel.daenzer@amd.com> 3209Date: Fri Aug 18 16:13:17 2017 +0900 3210 3211 Wait for pending flips synchronously before turning off a CRTC 3212 3213 Allows removing drmmode_clear_pending_flip and the pending_dpms_mode 3214 field and cleaning up the code considerably. 3215 3216 (Ported from radeon commit e6d7dc2070f4d21a6900916bb70a31839112882c) 3217 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3218 3219commit e8d0bfab276d47338c337955b9d2fcbff3af225f 3220Author: Michel Dänzer <michel.daenzer@amd.com> 3221Date: Fri Aug 18 16:11:41 2017 +0900 3222 3223 Create drmmode_crtc_wait_pending_event helper macro 3224 3225 Preparation for following change, no functional change intended yet. 3226 3227 (Ported from radeon commit f87acdbfb1b0b6d2769764772a52ea8b81675e20) 3228 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3229 3230commit fd5b78b7edff2021111bca37642b8b508f0c3328 3231Author: Michel Dänzer <michel.daenzer@amd.com> 3232Date: Fri Aug 18 15:12:35 2017 +0900 3233 3234 Create drmmode_wait_vblank helper 3235 3236 Allows cleaning up the code considerably. 3237 3238 (Ported from radeon commit 99f1d7a474af3683fe1a66f50c0bb8935478ff0a) 3239 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3240 3241commit 24b2718992e4bbc859c07e5b29b571f53314045d 3242Author: Michel Dänzer <michel.daenzer@amd.com> 3243Date: Fri Aug 18 15:03:52 2017 +0900 3244 3245 Pass reference CRTC to amdgpu_do_pageflip directly 3246 3247 Simplifies the code slightly. 3248 3249 (Ported from radeon commit 49cc61ab970ee28d4509b4e2dd0a57165136889f) 3250 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3251 3252commit 87a1f577f1de62f6b628bbe221cd8d551531e708 3253Author: Michel Dänzer <michel.daenzer@amd.com> 3254Date: Fri Aug 18 14:56:10 2017 +0900 3255 3256 Remove drmmode_crtc->scanout_destroy[] array 3257 3258 No longer necessary since we're reference counting framebuffers. 3259 3260 (Ported from radeon commit 3f120fa1d5d921656a367751bc079e020e9ab105) 3261 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3262 3263commit e15b23663cd1a6f85394253b3fb566b55828b1c5 3264Author: Michel Dänzer <michel.daenzer@amd.com> 3265Date: Tue Apr 18 18:21:24 2017 +0900 3266 3267 Adapt to PixmapDirtyUpdateRec::src being a DrawablePtr 3268 3269commit 9caa9dd9cc5eb9882c4bb85275bc318948dab71f 3270Author: Michel Dänzer <michel.daenzer@amd.com> 3271Date: Wed Aug 2 19:07:40 2017 +0900 3272 3273 Allow DRI page flipping when some CRTCs use separate scanout buffers 3274 3275 As long as the CRTC we're synchronizing to doesn't. 3276 3277 (Ported from radeon commit 5309bde0c4e28adf2b167191c6d7011a19e31eed) 3278 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3279 3280commit 4441c7c6dde2d71bd44c3031c5679ee3186ea8f9 3281Author: Michel Dänzer <michel.daenzer@amd.com> 3282Date: Tue Aug 1 17:29:16 2017 +0900 3283 3284 Add drmmode_crtc_can_flip helper 3285 3286 To reduce code duplication between DRI2 and Present. No functional 3287 change intended yet. 3288 3289 (Ported from radeon commit 9bc3eef74452d924f9101c024f66ad9b14c404c8) 3290 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3291 3292commit 3e08409344a2fd504429522507592f98555bec05 3293Author: Michel Dänzer <michel.daenzer@amd.com> 3294Date: Wed Aug 2 19:03:40 2017 +0900 3295 3296 Use root window (pixmap) instead of screen pixmap for scanout updates 3297 3298 Preparation for following changes, no functional change intended yet. 3299 3300 (Ported from radeon commit c2d26890691ec105858f086b63170ad94c6f7f05) 3301 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3302 3303commit 35106fc0a948957cbb7e1e9649c89993a3d5c95c 3304Author: Michel Dänzer <michel.daenzer@amd.com> 3305Date: Thu Jul 27 15:22:02 2017 +0900 3306 3307 Only handle reflection in the driver with Xorg < 1.16 3308 3309 Xorg doesn't handle the hardware cursor correctly in that case for 3310 rotation and general transforms, and we can't force the SW cursor. 3311 3312 Fixes: ba2aa0a8c12a ("Handle rotation in the driver also with Xorg 3313 1.12-1.18") 3314 (Cherry picked from radeon commit 7d7abf99b5441ddb04dbee99bc8fa7abc30d4c46) 3315 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3316 3317commit a47c0093338d80d84e7033ad15d051925d542ca0 3318Author: Michel Dänzer <michel.daenzer@amd.com> 3319Date: Wed Jul 26 16:46:14 2017 +0900 3320 3321 autogen.sh: Pass -f to autoreconf 3322 3323 To ensure that any existing copies of autotools files will be replaced 3324 with the current versions. 3325 3326 Acked-by: Alex Deucher <alexander.deucher@amd.com> 3327 3328commit 842bad4b951296ca25f47b50cb358e502bf30ebb 3329Author: Michel Dänzer <michel.daenzer@amd.com> 3330Date: Wed Jul 26 16:44:00 2017 +0900 3331 3332 Makefile.am: Set ACLOCAL_AMFLAGS = -I m4 3333 3334 Suggested by one of the tools called by autoreconf. 3335 3336 Acked-by: Alex Deucher <alexander.deucher@amd.com> 3337 3338commit 227b399badaad9bbef0be5a776ce008d0d243449 3339Author: Michel Dänzer <michel.daenzer@amd.com> 3340Date: Wed Jul 26 16:42:58 2017 +0900 3341 3342 Add AC_CONFIG_MACRO_DIRS([m4]) to configure.ac 3343 3344 Suggested by one of the tools called by autoreconf. 3345 3346 Acked-by: Alex Deucher <alexander.deucher@amd.com> 3347 3348commit 4d36306bcebb8548455a21eae6a7216a9439d9e4 3349Author: Michel Dänzer <michel.daenzer@amd.com> 3350Date: Thu Jul 13 17:40:58 2017 +0900 3351 3352 If a TearFree flip fails, fall back to non-TearFree operation 3353 3354 In order to avoid possible freeze / log file spam in that case. 3355 3356 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99769 3357 (Ported from radeon commit 94dc2b80f3ef0b2c17c20501d824fb0447d52e7a) 3358 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3359 3360commit 88147c1a532a9275eb57e14d8c11be41bf4c1fe1 3361Author: Michel Dänzer <michel.daenzer@amd.com> 3362Date: Thu Jul 13 17:35:55 2017 +0900 3363 3364 Use drmmode_crtc->scanout_id instead of 0 to check for scanout buffer 3365 3366 Preparation for following change, no functional change intended. 3367 3368 (Ported from radeon commit aff267ee36cc6a703a532f91f82adc1ba1425ff3) 3369 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3370 3371commit e90721ba654d70db5eeb1cf552308c73151530ee 3372Author: Michel Dänzer <michel.daenzer@amd.com> 3373Date: Tue Jun 27 18:13:05 2017 +0900 3374 3375 Only call drmmode_scanout_free for non-GPU screens in LeaveVT 3376 3377 Destroying the scanout buffers of GPU screens resulted in a crash when 3378 switching back to the Xorg VT. 3379 3380 Fixes: b10ecdbd89b0 ("Use drmmode_crtc_scanout_* helpers for RandR 1.4 3381 scanout pixmaps") 3382 (Ported from radeon commit c9dd28cb0c9c3de676eadac61e727732510f6b9b) 3383 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3384 3385commit 1b6ff5fd9933c00ec1ec90dfc62e0b531927749b 3386Author: Michel Dänzer <michel.daenzer@amd.com> 3387Date: Thu Jun 22 16:27:32 2017 +0900 3388 3389 Improve drmmode_fb_reference debugging code 3390 3391 If a reference count is <= 0, call FatalError with the call location 3392 (in case it doesn't get resolved in the backtrace printed by 3393 FatalError). 3394 3395 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3396 3397commit af7221e1c4d2dbdfd488eb0976a835584ea8441c 3398Author: Michel Dänzer <michel.daenzer@amd.com> 3399Date: Wed Jun 21 19:01:54 2017 +0900 3400 3401 Increase reference count of FB assigned to drmmode_crtc->flip_pending 3402 3403 Otherwise, it could happen that we destroy the FB before the flip 3404 completes, resulting in use-after-free and most likely a crash. 3405 3406 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3407 3408commit 184d50e008b9b31f4dda1425e255af068b6ab068 3409Author: Adam Jackson <ajax@redhat.com> 3410Date: Tue Jun 13 09:36:21 2017 -0400 3411 3412 modesetting: Validate the atom for enum properties 3413 3414 The client could have said anything here, and if what they said doesn't 3415 actually name an atom NameForAtom() will return NULL, and strcmp() will 3416 be unhappy about that. 3417 3418 [copied from xserver d4995a3936ae283b9080fdaa0905daa669ebacfc] 3419 3420 Signed-off-by: Adam Jackson <ajax@redhat.com> 3421 Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com> 3422 3423commit bbdac40e2af472d37aa0f4f26df77a0b1b12a830 3424Author: Michel Dänzer <michel.daenzer@amd.com> 3425Date: Thu Jun 8 10:46:26 2017 +0900 3426 3427 Improve AMDGPUPreInitAccel_KMS log messages 3428 3429 Now it should always be clear in the log file why acceleration isn't 3430 enabled. 3431 3432 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3433 3434commit b09fde0d81e07fbe96139289098b4d4b9f5e3c35 3435Author: Michel Dänzer <michel.daenzer@amd.com> 3436Date: Thu May 11 19:04:11 2017 +0900 3437 3438 Use reference counting for tracking KMS framebuffer lifetimes 3439 3440 References are held by the pixmaps corresponding to the FBs (so 3441 the same KMS FB can be reused as long as the pixmap exists) and by the 3442 CRTCs scanning out from them (so a KMS FB is only destroyed once it's 3443 not being scanned out anymore, preventing intermittent black screens and 3444 worse issues due to a CRTC turning off when it should be on). 3445 3446 v2: 3447 * Only increase reference count in drmmode_fb_reference if it was sane 3448 before 3449 * Make drmmode_fb_reference's indentation match the rest of 3450 drmmode_display.h 3451 3452 (Ported from radeon commit 55e513b978b2afc52b7cafc5bfcb0d1dc78d75f6) 3453 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3454 3455commit 000e5eaeb20607508c5c5371654615a30a8a1b0b 3456Author: Michel Dänzer <michel.daenzer@amd.com> 3457Date: Wed May 24 10:12:55 2017 +0900 3458 3459 Update URLs 3460 3461 * Point to the amd-gfx mailing list 3462 * Specify the component in all bugzilla URLs 3463 * Use https:// for all HTML URLs 3464 3465 (Ported from radeon commit d80d01a73c2eaba2e3649b7bc0a3541b3ff782f6) 3466 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3467 3468commit 2ea2d4d827f086098be198f110ca822ed2c290cd 3469Author: Michel Dänzer <michel.daenzer@amd.com> 3470Date: Fri May 12 19:01:18 2017 +0900 3471 3472 Simplify tracking of PRIME scanout pixmap 3473 3474 Remember the shared pixmap passed to drmmode_set_scanout_pixmap for each 3475 CRTC, and just compare against that. 3476 3477 Fixes leaving stale entries in ScreenRec::pixmap_dirty_list under some 3478 circumstances, which would usually result in use-after-free and a crash 3479 down the line. 3480 3481 (Ported from radeon commit 7dc68e26755466f9056f8c72195ab8690660693d) 3482 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3483 3484commit 8cb41b962eb06b9cb1b3a573a4087e4d89f733fb 3485Author: Eric Anholt <eric@anholt.net> 3486Date: Wed May 17 16:11:52 2017 +0900 3487 3488 Use plain glamor_egl_create_textured_screen(). 3489 3490 Since 5064ffab631 (2014), glamor's implementation of _ext just drops the 3491 back_pixmap arg, which we were passing NULL (the default) to anyway. 3492 3493 Signed-off-by: Eric Anholt <eric@anholt.net> 3494 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 3495 (Ported from radeon commit 2b7d77b90108911777a11ecaa63435552000c958) 3496 3497commit e900e48a11a93cde7d8d2d7bdb4a15ec705c56b1 3498Author: Michel Dänzer <michel.daenzer@amd.com> 3499Date: Wed May 10 18:37:56 2017 +0900 3500 3501 Don't enable DRI3 without glamor 3502 3503 Can't work currently. Fixes crash when trying to run a DRI3 client when 3504 glamor isn't enabled. 3505 3506 Bugzilla: https://bugs.freedesktop.org/100968 3507 3508 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3509 3510commit 462ac3341e5bfbded9086d3d9043821d19352b3e 3511Author: Michel Dänzer <michel.daenzer@amd.com> 3512Date: Tue May 2 17:58:55 2017 +0900 3513 3514 Remove unused struct members from drmmode_display.h 3515 3516 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3517 3518commit 82fa615f38137add75f9cd4bb49c48dd88de916f 3519Author: Michel Dänzer <michel.daenzer@amd.com> 3520Date: Tue May 2 11:53:25 2017 +0900 3521 3522 Apply gamma correction to HW cursor 3523 3524 The display hardware CLUT we're currently using for gamma correction 3525 doesn't affect the HW cursor, so we have to apply it manually when 3526 uploading the HW cursor data. 3527 3528 This currently only works in depth 24/32. 3529 3530 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3531 3532commit 981bac185cfd74ae50dffc28f57cf34623a9595f 3533Author: Michel Dänzer <michel.daenzer@amd.com> 3534Date: Thu Mar 23 18:51:38 2017 +0900 3535 3536 Don't set modes before AMDGPUWindowExposures_oneshot is called 3537 3538 The root window contents may be undefined before that, so we don't want 3539 to show anything yet. 3540 3541 Fixes a crash on startup with rotation and virtual resolution set in 3542 xorg.conf. 3543 3544 Bugzilla: https://bugs.freedesktop.org/100276 3545 Fixes: ad53635af150 ("Move DPMS check from amdgpu_scanout_do_update to 3546 amdgpu_scanout_flip") 3547 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3548 3549commit 51e17041cb89806c934c5cf795207940a6aaccfe 3550Author: Daniel Stone <daniels@collabora.com> 3551Date: Mon Apr 10 17:36:01 2017 +0900 3552 3553 Set correct DRM event context version 3554 3555 DRM_EVENT_CONTEXT_VERSION is the latest context version supported by 3556 whatever version of libdrm is present. We were blindly asserting we 3557 supported whatever version that may be, even if we actually didn't. 3558 3559 Set the version as 2, which should be bumped only with the appropriate 3560 version checks. 3561 3562 Signed-off-by: Daniel Stone <daniels@collabora.com> 3563 (Ported from xserver commit 0c8e6ed85810e96d84173a52d628863802a78d82) 3564 v2: Remove second paragraph of commit log, we always initialize 3565 page_flip_handler2 = NULL (Emil Velikov) 3566 Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> 3567 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1 3568 3569commit 67d155e62f5e09af242b0181527c162576dae02e 3570Author: Nicholas Molloy <nick.a.molloy@gmail.com> 3571Date: Sun Mar 26 02:38:40 2017 +1300 3572 3573 Fix a misspelling of 'acceleration' in amdgpu_kms.c 3574 3575 Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> 3576 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3577 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 3578 3579commit 165b51447643ce37f391f25ca6aecb8d76fabaa3 3580Author: Michel Dänzer <michel.daenzer@amd.com> 3581Date: Wed Mar 22 18:58:32 2017 +0900 3582 3583 manpage: Don't put "'" at the beginning of a line 3584 3585 It caused the whole line to be dropped. 3586 3587 Fixes: af0b24c1aca4 ("Allow toggling TearFree at runtime via output 3588 property") 3589 Reported-by: Andy Furniss <adf.lists@gmail.com> 3590 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3591 3592commit 1b476d417f85fd1b97e813adbbf4970db07adf5c 3593Author: Michel Dänzer <michel.daenzer@amd.com> 3594Date: Thu Mar 23 18:03:56 2017 +0900 3595 3596 Post-release version bump 3597 3598commit 804e30e14e51f94403a0721ef2aae28f1fa9e9f2 3599Author: Michel Dänzer <michel.daenzer@amd.com> 3600Date: Thu Mar 16 17:28:11 2017 +0900 3601 3602 Bump version for 1.3.0 release 3603 3604commit 3a8582944ed3fef1b75f8871489e6e19963e2ea6 3605Author: Michel Dänzer <michel.daenzer@amd.com> 3606Date: Thu Mar 9 15:56:59 2017 +0900 3607 3608 Pass TRUE to drmmode_set_desired_modes the first time for GPU screens 3609 3610 This is the only place we call drmmode_set_desired_modes for GPU screens 3611 during server startup. Without this change, the display outputs of 3612 secondary GPUs may stay on even while Xorg isn't using them. 3613 3614 (Ported from radeon commit 9a71445094b728f3d78db8f6808b4782ee19a453) 3615 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3616 3617commit 82b15a4da156e18da4c8fc0093500c32b549e487 3618Author: Michel Dänzer <michel.daenzer@amd.com> 3619Date: Thu Mar 9 15:47:24 2017 +0900 3620 3621 Skip some initialization steps for GPU screens 3622 3623 Xorg doesn't use the following functionality of GPU screens, so don't 3624 bother initializing it: 3625 3626 * DRI page flipping 3627 * DRI3 / Present / SYNC fences 3628 * XVideo / XvMC 3629 * Root window with background None 3630 3631 (Ported from radeon commit 67ae5e00a748ad52cf92738d401afff2947b1891) 3632 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3633 3634commit fa85331f0ce27e16a9338516518433955133840e 3635Author: Michel Dänzer <michel.daenzer@amd.com> 3636Date: Tue Mar 7 18:02:29 2017 +0900 3637 3638 glamor: Use glamor_finish when available 3639 3640 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3641 3642commit 7884e38e94c2cbd6c205f556f2b31ad59b4089b4 3643Author: Hans De Goede <hdegoede@redhat.com> 3644Date: Tue Oct 18 16:48:40 2016 +0200 3645 3646 amdgpu_probe: Do not close server managed drm fds 3647 3648 This fixes the xserver only seeing AMD/ATI devices supported by the amdgpu 3649 driver, as by the time xf86-video-ati gets a chance to probe them, the 3650 fd has been closed. 3651 3652 This fixes e.g. Xorg not seeing the dGPU on a Lenovo Thinkpad E465 laptop 3653 with a CARRIZO iGPU and a HAINAN dGPU. 3654 3655 Signed-off-by: Hans de Goede <hdegoede@redhat.com> 3656 3657 v2: Rebased on top of new patch 1. 3658 3659 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3660 3661commit a2c360fa1d33d6a5aa64c396197e119ff77d1379 3662Author: Michel Dänzer <michel.daenzer@amd.com> 3663Date: Mon Mar 6 18:59:23 2017 +0900 3664 3665 Refactor amdgpu_kernel_close_fd helper 3666 3667 Preparation for the following change. 3668 3669 Assign pAMDGPUEnt->fd = -1 instead of 0 when we're not using the file 3670 descriptor anymore. 3671 3672 Reviewed-by: Hans de Goede <hdegoede@redhat.com> 3673 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3674 3675commit 947017194d07e32876a43ee0efc45fdc71385748 3676Author: Michel Dänzer <michel.daenzer@amd.com> 3677Date: Fri Mar 3 17:59:19 2017 +0900 3678 3679 glamor: Don't flush in BlockHandler with Xorg >= 1.19 3680 3681 This was only necessary with older versions for driving the FBO cache 3682 expiry mechanism. 3683 3684 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3685 3686commit 86907a5e4ce33154167b330570491f88218725d3 3687Author: Michel Dänzer <michel.daenzer@amd.com> 3688Date: Mon Mar 6 18:23:41 2017 +0900 3689 3690 Only define transform_region for XF86_CRTC_VERSION >= 4 3691 3692 Not used with older versions of Xorg. Fixes warning in that case: 3693 3694 ../../src/amdgpu_kms.c:328:1: warning: ‘transform_region’ defined but not used [-Wunused-function] 3695 transform_region(RegionPtr region, struct pict_f_transform *transform, 3696 ^~~~~~~~~~~~~~~~ 3697 3698 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3699 3700commit 8d2b7d1758e3fcac520a18a0684c073f0ac62389 3701Author: Michel Dänzer <michel.daenzer@amd.com> 3702Date: Mon Mar 6 18:09:58 2017 +0900 3703 3704 Use local implementation of RegionDuplicate for older xserver 3705 3706 It was only added in xserver 1.15. Fixes build against older xserver. 3707 3708 Reported-by: Pali Rohár <pali.rohar@gmail.com> 3709 (Ported from radeon commit 80cc892ee1ce54fad3cb7dd11bd9df18c359136f) 3710 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3711 3712commit cd73100114a18642d9c40f1df33cef8311e96a8b 3713Author: Michel Dänzer <michel.daenzer@amd.com> 3714Date: Mon Mar 6 18:07:19 2017 +0900 3715 3716 Don't use pScrn->is_gpu in AMDGPUCreateScreenResources_KMS 3717 3718 Looks like this snuck in accidentally. 3719 3720 Brings us back in line with the radeon driver, and fixes the build 3721 against older versions of xserver which didn't have the is_gpu field 3722 yet. 3723 3724 Fixes: 6bab8fabb37e ("Remove info->dri2.drm_fd and info->drmmode->fd") 3725 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3726 3727commit 351baa89b9b0ecfb6c666af3a2d10c559a9224a9 3728Author: Michel Dänzer <michel.daenzer@amd.com> 3729Date: Fri Mar 3 16:44:15 2017 +0900 3730 3731 Don't call amdgpu_glamor_flush in drmmode_copy_fb 3732 3733 AMDGPUWindowExposures_oneshot takes care of it. 3734 3735 (Ported from radeon commit d63881623f0686a66a2e3e3c1f84e496aa52ec6b) 3736 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3737 3738commit ad53635af150cda9b8da413be5a011d74f972ac7 3739Author: Michel Dänzer <michel.daenzer@amd.com> 3740Date: Fri Mar 3 16:41:49 2017 +0900 3741 3742 Move DPMS check from amdgpu_scanout_do_update to amdgpu_scanout_flip 3743 3744 When amdgpu_scanout_do_update is called from 3745 drmmode_crtc_scanout_update, drmmode_crtc->pending_dpms_mode may still 3746 be != DPMSModeOn, e.g. during server startup. 3747 3748 Fixes intermittently showing garbage with TearFree enabled. 3749 3750 (Ported from radeon commit cc9d6b7db9c2078be1e530a64af6d517c6a42024) 3751 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3752 3753commit 378bd05c849ad3092f138bdc8917d35d0b967389 3754Author: Michel Dänzer <michel.daenzer@amd.com> 3755Date: Fri Mar 3 16:36:24 2017 +0900 3756 3757 Call drmmode_set_desired_modes from a WindowExposures hook 3758 3759 This is the earliest opportunity where the root window contents are 3760 guaranteed to be initialized, and prevents drmmode_set_mode_major from 3761 getting called before drmmode_set_desired_modes via AMDGPUUnblank -> 3762 drmmode_crtc_dpms. Also, in contrast to the BlockHandler hook, this is 3763 called when running Xorg with -pogo. 3764 3765 Fixes intermittently showing garbage on server startup or after server 3766 reset. 3767 3768 As a bonus, this avoids trouble due to higher layers (e.g. the tigervnc 3769 Xorg module) calling AMDGPUBlockHandler_oneshot repeatedly even after 3770 we set pScreen->BlockHandler = AMDGPUBlockHandler_KMS. 3771 3772 Bugzilla: https://bugs.freedesktop.org/99457 3773 (Ported from radeon commits 0a12bf1085505017068dfdfd31d23133e51b45b9 and 3774 f0e7948e1c0e984fc27f235f365639e9cf628291) 3775 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3776 3777commit 8d4d73e05ce34eb353daec7b2c0e7c844113c7de 3778Author: Michel Dänzer <michel.daenzer@amd.com> 3779Date: Fri Mar 3 16:34:16 2017 +0900 3780 3781 present: Flush before flipping 3782 3783 This isn't necessary for DRI clients, but the Present extension can also 3784 be used for presenting normal pixmaps rendered to via the X11 protocol. 3785 3786 (Ported from radeon commit 9035b6abea557828e672ee455f0c84e43da0906f) 3787 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3788 3789commit 88725b68cad92418c9bb03cb7f20526ce238d64e 3790Author: Michel Dänzer <michel.daenzer@amd.com> 3791Date: Fri Mar 3 16:30:27 2017 +0900 3792 3793 present: Use async flip for unflip if possible 3794 3795 In that case, unflip operations should finish faster in general. 3796 3797 (Ported from radeon commit 0a4eb0e12f0c9c653cf4cea6fd62e1a507eb261c) 3798 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3799 3800commit b31489c086b4bc50c824e85fa26d97c0f43afb20 3801Author: Michel Dänzer <michel.daenzer@amd.com> 3802Date: Fri Mar 3 16:28:41 2017 +0900 3803 3804 present: Also flush before using a flip to unflip 3805 3806 Not doing so might result in intermittently scanning out stale contents 3807 of the screen pixmap. 3808 3809 (Ported from radeon commit 9a951a3e551db58ba50e7a594521ceac54d90615) 3810 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3811 3812commit f6a3c87c3097e8d5c1d2159bc90d6541a46ed8be 3813Author: Michel Dänzer <michel.daenzer@amd.com> 3814Date: Fri Mar 3 16:26:26 2017 +0900 3815 3816 present: Wait for GPU idle before setting modes for unflip 3817 3818 To make sure the screen pixmap contents are up to date when it starts 3819 being scanned out. 3820 3821 (Ported from radeon commit 244d4bc7f8c8f6bc90f49556c0b9344c8aa40295) 3822 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3823 3824commit 012ffffb45119059f3610fb8fd6ae103186b3e3c 3825Author: Michel Dänzer <michel.daenzer@amd.com> 3826Date: Fri Mar 3 16:22:39 2017 +0900 3827 3828 present: Only call drmModeRmFB after setting modes for unflip 3829 3830 Fixes display intermittently blanking when a modeset is used for unflip. 3831 3832 (Ported from radeon commit 3ff29e5a14451916bc66b4e0028e9a317f0723f8) 3833 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3834 3835commit f4719bb473df897012f8830f46e99cb781d67b6f 3836Author: Michel Dänzer <michel.daenzer@amd.com> 3837Date: Fri Mar 3 16:19:11 2017 +0900 3838 3839 Use drmmode_crtc_scanout_free in drmmode_fini 3840 3841 We were leaking drmmode_crtc->scanout_damage, which caused trouble on 3842 server reset. Fixes server reset with active separate scanout pixmaps. 3843 3844 (Cherry picked from radeon commit 0c29deb5a97d9a57e994cc0053c49ddf7aca6ecb) 3845 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3846 3847commit af0b24c1aca4cba2692d5aa410e63cb536478dbe 3848Author: Michel Dänzer <michel.daenzer@amd.com> 3849Date: Thu Mar 2 17:24:03 2017 +0900 3850 3851 Allow toggling TearFree at runtime via output property 3852 3853 Option "TearFree" now sets the default value of the output property. 3854 See the manpage update for details. 3855 3856 TearFree is now enabled by default for outputs using rotation or other 3857 RandR transforms, and for RandR 1.4 slave outputs. 3858 3859 (Ported from radeon commit 58cd1600057e41aade0106d4acf78e23eac6e44f) 3860 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3861 3862commit 77853f02e5b879e7042f55c672cf2d8e6955309f 3863Author: Michel Dänzer <michel.daenzer@amd.com> 3864Date: Thu Mar 2 17:19:59 2017 +0900 3865 3866 Factor out drmmode_crtc_scanout_update helper 3867 3868 Cleanup in preparation for following change, no functional change 3869 intended. 3870 3871 (Ported from radeon commit 305e2cbf335837a2ab6a24e9ff65815afe038296) 3872 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3873 3874commit d25cc3b2b3b2d257aea247b85fea405d7e84e5b1 3875Author: Michel Dänzer <michel.daenzer@amd.com> 3876Date: Thu Mar 2 17:15:03 2017 +0900 3877 3878 Factor out amdgpu_prime_dirty_to_crtc helper 3879 3880 Cleanup in preparation for the following change, no functional change 3881 intended. 3882 3883 (Ported from radeon commit 649644a88347a6d03de68f8c41db03a82deeb23b) 3884 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3885 3886commit a6d363008e2b55f0aa6151be1a99f01b97870e91 3887Author: Michel Dänzer <michel.daenzer@amd.com> 3888Date: Thu Mar 2 17:13:06 2017 +0900 3889 3890 Don't destroy current FB if drmModeAddFB fails 3891 3892 It would probably result in a black screen. 3893 3894 (Ported from radeon commit 1351e48efe7a2c28eab447e16f36a00fbd02ae48) 3895 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3896 3897commit 53926db2355de0a324c205703a0377b498136f65 3898Author: Michel Dänzer <michel.daenzer@amd.com> 3899Date: Thu Mar 2 17:08:19 2017 +0900 3900 3901 Fix flip event data leak if calloc or drmModeAddFB fails 3902 3903 (Ported from radeon commit 481394e3c9f9f7d88bb66fe9ae8834c87952a8ab) 3904 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3905 3906commit 45a8ec6257c370eecf43b6b8010863e37b704872 3907Author: Mihail Konev <k.mvc@ya.ru> 3908Date: Thu Mar 2 17:04:36 2017 +0900 3909 3910 autogen: add default patch prefix 3911 3912 (Ported from radeon commit 8e6a4e96b7b27559e186f71b5547abb0a80b96dd) 3913 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3914 3915commit ba2aa0a8c12a2bea1e8be01ca3134b518d4cb0f2 3916Author: Michel Dänzer <michel.daenzer@amd.com> 3917Date: Thu Mar 2 16:55:38 2017 +0900 3918 3919 Handle rotation in the driver also with Xorg 1.12-1.18 3920 3921 We cannot use the HW cursor in that case, but in turn we get more 3922 efficient and less teary updates of rotated outputs. 3923 3924 (Ported from radeon commit f2bc882f1c1082bed9f496cfab6c8f07a76bc122) 3925 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3926 3927commit 7f3abf35a2e1225ffd6a777b23f6a7a6355c1691 3928Author: Michel Dänzer <michel.daenzer@amd.com> 3929Date: Thu Mar 2 16:47:06 2017 +0900 3930 3931 Fold drmmode_crtc_scanout_allocate into drmmode_crtc_scanout_create 3932 3933 Not used anywhere else anymore. 3934 3935 (Ported from radeon commit ae921a3150f69c38b5b3c88a9e37d54fdf0d5093) 3936 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3937 3938commit 03c2db3c67bf5ad3c0744add9e0bb611b6cd3df7 3939Author: Michel Dänzer <michel.daenzer@amd.com> 3940Date: Thu Mar 2 16:42:04 2017 +0900 3941 3942 Call drmmode_crtc_scanout_create in drmmode_crtc_shadow_allocate as well 3943 3944 Calling drmmode_crtc_scanout_allocate in drmmode_crtc_shadow_allocate 3945 resulted in drmmode_crtc_scanout_create called from 3946 drmmode_crtc_shadow_create passing an uninitialized pitch value to 3947 drmmode_create_bo_pixmap. 3948 3949 Fixes issues such as failure to allocate the scanout pixmap or visual 3950 corruption and GPUVM faults when attempting to use rotation with Xorg 3951 <1.19. 3952 3953 Bugzilla: https://bugs.freedesktop.org/99916 3954 Fixes: 5f7123808833 ("Pass pitch from drmmode_crtc_scanout_allocate to 3955 drmmode_create_bo_pixmap") 3956 (Ported from radeon commit 987a34adb319923ad36e2b47a26837248f187c3e) 3957 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3958 3959commit 49b092563cb3958911d28a006f155b4f4e38ed73 3960Author: Emil Velikov <emil.l.velikov@gmail.com> 3961Date: Thu Jan 26 11:10:12 2017 +0900 3962 3963 autogen.sh: use quoted string variables 3964 3965 Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent 3966 fall-outs, when they contain space. 3967 3968 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> 3969 Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> 3970 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> 3971 3972commit 457fcc5935c659aab5b88cf26d065180b47ed632 3973Author: Peter Hutterer <peter.hutterer@who-t.net> 3974Date: Thu Jan 26 11:09:07 2017 +0900 3975 3976 autogen.sh: use exec instead of waiting for configure to finish 3977 3978 Syncs the invocation of configure with the one from the server. 3979 3980 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> 3981 Reviewed-by: Emil Velikov <emil.velikov@collabora.com> 3982 3983commit 5f712380883357d03c9934a753ef302e109aeb14 3984Author: Michel Dänzer <michel.daenzer@amd.com> 3985Date: Fri Jan 6 17:42:25 2017 +0900 3986 3987 Pass pitch from drmmode_crtc_scanout_allocate to drmmode_create_bo_pixmap 3988 3989 Mostly to align with radeon commit 3990 ea30d856ba5e7274c8ea499293b8b0e721b8e082, but also gets rid of a 3991 gbm_bo_get_stride call. 3992 3993 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 3994 3995commit b5c189473dba2cffc9e4df310ce5c86ceca99a94 3996Author: Jammy Zhou <Jammy.Zhou@amd.com> 3997Date: Tue Dec 13 12:32:39 2016 +0900 3998 3999 Use render node for DRI3 if available 4000 4001 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 4002 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4003 [ Second attempt, let's see if there's any fallout this time... ] 4004 4005commit edd276185d42962a13faf9ec9eeebc754ef284e7 4006Author: Michel Dänzer <michel.daenzer@amd.com> 4007Date: Thu Dec 15 12:42:44 2016 +0900 4008 4009 Simplify drmmode_handle_uevents 4010 4011 No functional change intended. 4012 4013 Reviewed-by: Jim Qu <Jim.Qu@amd.com> 4014 4015commit 732cf4d3a248b288532ad0f3443da49e08dc7507 4016Author: jimqu <Jim.Qu@amd.com> 4017Date: Tue Dec 13 16:33:26 2016 +0800 4018 4019 udev_monitor_receive_device() will block when hotplug monitor 4020 4021 udev_monitor_receive_device() will block and wait for the event of udev 4022 use select() to ensure that this will not block. 4023 4024 Signed-off-by: JimQu <Jim.Qu@amd.com> 4025 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4026 4027commit d60ea478cf2215ded7e1acf5817a0dae07e54026 4028Author: Michel Dänzer <michel.daenzer@amd.com> 4029Date: Wed Nov 30 16:28:27 2016 +0900 4030 4031 Call amdgpu_drm_abort_entry on failure to flip to a scanout pixmap 4032 4033 Fixes leaking the corresponding struct amdgpu_drm_queue list entry in 4034 that case. 4035 4036 (Ported from radeon commit e2942449171fe628a7726e59bcaab65e27d88563) 4037 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4038 4039commit aea70298ef0d53fc81aa1fd22c8566920a856223 4040Author: Michel Dänzer <michel.daenzer@amd.com> 4041Date: Wed Nov 30 16:27:10 2016 +0900 4042 4043 Call ValidateGC after ChangeClip in amdgpu_sync_scanout_pixmaps 4044 4045 The wrong order meant that the clipping region wasn't actually applied, 4046 so it always copied the full contents from the other scanout pixmap. 4047 4048 (Ported from radeon commit 14c3f59f5157885ad8f941f0bad6c0c5e3db12f8) 4049 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4050 4051commit 0f79c30619168c6845b143c6ed94ade307383068 4052Author: Michel Dänzer <michel.daenzer@amd.com> 4053Date: Wed Nov 30 16:25:52 2016 +0900 4054 4055 Fix amdgpu_scanout_extents_intersect for GPU screens 4056 4057 Fixes incorrect screen updates with TearFree enabled on PRIME slave 4058 outputs which are not located at (0, 0). 4059 4060 (Ported from radeon commit a995f5830916a0fee5126263d1bfe48632be3a15) 4061 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4062 4063commit 082b6b8ca1878f4b7ab0b25d16b85ba40748ac57 4064Author: Michel Dänzer <michel.daenzer@amd.com> 4065Date: Wed Nov 30 16:21:28 2016 +0900 4066 4067 Take current scanout_id into account everywhere involved with TearFree 4068 4069 Fixes various potential issues with TearFree enabled, e.g. outputs 4070 freezing after display configuration changes. 4071 4072 (Ported from radeon commit e543ef3a2fb304cbe3a965fb780632af2e4186f4) 4073 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4074 4075commit 82729b1f3b9d57f3002ac2689bfbf37ece0bc3f2 4076Author: Michel Dänzer <michel.daenzer@amd.com> 4077Date: Mon Nov 28 17:47:17 2016 +0900 4078 4079 Add amdgpu_is_gpu_screen helper 4080 4081 This will hopefully decrease the chance of accidentally breaking the 4082 build against xserver < 1.13 in the future. 4083 4084 (Ported from radeon commit f130b10e63f7526360b41aa0918b4940f63f662a) 4085 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4086 4087commit 7fe2a8ed67ef82916a1eb5b241c5a602a26e10b2 4088Author: Michel Dänzer <michel.daenzer@amd.com> 4089Date: Tue Nov 22 16:50:59 2016 +0900 4090 4091 Don't install Flush/EventCallback for GPU screens 4092 4093 Their purpose is to flush GPU rendering commands corresponding to damage 4094 events, but there can be no damage events corresponding to GPU screen 4095 rendering operations. 4096 4097 (Ported from radeon commits 13c6bc5e382765fe567091e1c616c0a26eec04ca and 4098 487aa62a2a23b86e4ea4714fdfd465c9e513141f) 4099 4100 v2: Squash in radeon fix for build against xserver < 1.13 4101 4102 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) 4103 4104commit ff31320644b4d17b9b3f0abd612c99769d3d9643 4105Author: Michel Dänzer <michel.daenzer@amd.com> 4106Date: Fri Nov 25 18:34:40 2016 +0900 4107 4108 Make libdrm >= 2.4.72 requirement explicit 4109 4110 And drop compatibility code for older versions. 4111 4112 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4113 4114commit f9ba1e8fd48cd967a09c4e083b277505d08d3849 4115Author: Michel Dänzer <michel.daenzer@amd.com> 4116Date: Tue Nov 22 16:30:59 2016 +0900 4117 4118 Use DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags when available 4119 4120 (Ported from radeon commits 1106b2f773ad0611c729b27f4c192a26b43ef1e7 4121 and 5fea5ef2f07eee4a0f94baab427010b936f1d4b4) 4122 4123 v2: 4124 * Squash in radeon fix for TearFree regression 4125 * Remove preprocessor guards for compatibility with libdrm < 2.4.72 4126 (Emil Velikov) 4127 4128 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4129 4130commit e8aa4e7ea59f00d5527654b7181a05aab8c78928 4131Author: Michel Dänzer <michel.daenzer@amd.com> 4132Date: Wed Oct 26 18:38:20 2016 +0900 4133 4134 Remove generated header files 4135 4136 No longer used. 4137 4138 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4139 4140commit d69fd22b6d13052d667929a0e3db61829ce1396e 4141Author: Michel Dänzer <michel.daenzer@amd.com> 4142Date: Wed Oct 26 18:36:18 2016 +0900 4143 4144 Stop using AMDGPU(Unique)Chipsets 4145 4146 Use libdrm_amdgpu's amdgpu_get_marketing_name for the chipset name, or 4147 "Unknown AMD Radeon GPU" as a fallback. 4148 4149 v2: Require libdrm_amdgpu >= 2.4.72 for amdgpu_get_marketing_name 4150 4151 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) 4152 4153commit 8a5ff54af32a75ae56d3369a828a50ae28dd1acd 4154Author: Michel Dänzer <michel.daenzer@amd.com> 4155Date: Wed Oct 26 18:09:18 2016 +0900 4156 4157 Stop using AMDGPUPciChipsets 4158 4159 Not actually used by Xorg. 4160 4161 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4162 4163commit 298eaf58a57efa6acc53d374eea239b6bb55c0f8 4164Author: Michel Dänzer <michel.daenzer@amd.com> 4165Date: Wed Oct 26 18:05:58 2016 +0900 4166 4167 Remove amdpciids.h 4168 4169 Not useful anymore. 4170 4171 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4172 4173commit a0881d55fe80d639d31cdfeadd6014322c037791 4174Author: Michel Dänzer <michel.daenzer@amd.com> 4175Date: Wed Oct 26 18:02:39 2016 +0900 4176 4177 Stop using generated amdgpu_device_match 4178 4179 Just match on PCI device ID 0x1002. 4180 4181 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4182 4183commit 40ddc52b2ae32b17ef7eea1602fdf59b63f06f17 4184Author: Michel Dänzer <michel.daenzer@amd.com> 4185Date: Wed Oct 26 17:42:36 2016 +0900 4186 4187 Use family information from libdrm_amdgpu / kernel 4188 4189 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4190 4191commit 5c9d1c5097e326c69f1be4427c62a0d348e8a4a6 4192Author: Michel Dänzer <michel.daenzer@amd.com> 4193Date: Wed Oct 26 17:32:56 2016 +0900 4194 4195 Move struct amdgpu_gpu_info out of amdgpu_get_tile_config 4196 4197 Preparation for the following change, no functional change intended. 4198 4199 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4200 4201commit adf7dabdf9c8acd674190e25050b0885a05d0e92 4202Author: Michel Dänzer <michel.daenzer@amd.com> 4203Date: Mon Nov 21 17:50:22 2016 +0900 4204 4205 Post-release version bump 4206 4207commit a00032050873fc99f3ceaa3293468dad1d94d4b1 4208Author: Michel Dänzer <michel.daenzer@amd.com> 4209Date: Thu Nov 17 15:17:10 2016 +0900 4210 4211 Bump version for 1.2.0 release 4212 4213commit a446b3af9b055056e9fb0f37069b08b979eba277 4214Author: Michel Dänzer <michel.daenzer@amd.com> 4215Date: Thu Nov 17 15:13:59 2016 +0900 4216 4217 manpage updates for the 1.2.0 release 4218 4219 Option "TearFree" is now effective for arbitrary transforms as well. 4220 4221 Point to the amd-gfx mailing list instead of xorg-driver-ati. 4222 4223commit 24e36c7044a24294d5709c0306efacc8de6df072 4224Author: Michel Dänzer <michel.daenzer@amd.com> 4225Date: Thu Nov 10 12:30:10 2016 +0900 4226 4227 Use pAMDGPUEnt to find both screens of a GPU in amdgpu_mode_hotplug 4228 4229 Fixes misbehaviour when hotplugging DisplayPort connectors on secondary 4230 GPUs. 4231 4232 Fixes: 14606e127f4b ("Handle Zaphod mode correctly in amdgpu_mode_hotplug") 4233 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98626 4234 (Ported from radeon commit 9760ef33cba5795eddeda4d5c2fcbe2dcce21689) 4235 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4236 4237commit 257be5b0853814a557a5337878a4311acbc89856 4238Author: Michel Dänzer <michel.daenzer@amd.com> 4239Date: Thu Nov 10 12:28:03 2016 +0900 4240 4241 Refactor amdgpu_mode_hotplug 4242 4243 Preparation for the next change, no functional change intended. 4244 4245 (Cherry picked from radeon commit 35bec4937d89b48a79acfcb4f814b7370cb631b2) 4246 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4247 4248commit 1352a1d2f78cb0433d421ef86bfce2a5a1646807 4249Author: Michel Dänzer <michel.daenzer@amd.com> 4250Date: Wed Nov 2 12:35:55 2016 +0900 4251 4252 Check Xorg version at runtime instead of build time in two places 4253 4254 This means that all possible paths can be handled as intended, no matter 4255 which Xorg version the driver happened to be compiled against. 4256 4257 (Ported from radeon commit 350a2645a1b127227ff294c0b62d20000d0fd48a) 4258 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4259 4260commit 5da43c5da8adc139d57d89975a52eef91a5595e1 4261Author: Michel Dänzer <michel.daenzer@amd.com> 4262Date: Tue Nov 1 16:01:24 2016 +0900 4263 4264 Require xserver 1.10 or newer 4265 4266 1.10.0 was released in February 2011. 4267 4268 We've been accidentally requiring 1.10 or newer since c7d27c94cb65 ("Keep 4269 track of damage event related flushes per-client"). 4270 4271 (Ported from radeon commit 5df36de39952c3a26cb2fbc125f298139a9dd5bc) 4272 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4273 4274commit dd4a740714e481b09312a04883aa6e0f5200ca81 4275Author: Michel Dänzer <michel.daenzer@amd.com> 4276Date: Thu Oct 27 11:22:36 2016 +0900 4277 4278 present: Check tiling info for flips 4279 4280 The kernel driver doesn't handle flipping between buffers with 4281 different tiling parameters correctly. 4282 4283 Fixes display corruption with fullscreen apps using different tiling 4284 modes (e.g. due to R600_DEBUG=notiling or R600_DEBUG=no2d) via DRI3. 4285 4286 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4287 4288commit 3c1f4386ba7d0b6c16bdd2b2178f978f2f154ba8 4289Author: Michel Dänzer <michel.daenzer@amd.com> 4290Date: Wed Oct 26 16:19:01 2016 +0900 4291 4292 Consume all available udev events at once 4293 4294 We get multiple udev events for actions like docking a laptop into its 4295 station or plugging a monitor to the station. By consuming as many 4296 events as we can, we reduce the number of output re-evalutions. 4297 4298 It depends on the timing how many events can be consumed at once. 4299 4300 (Inspired by xserver commit 363f4273dd4aec3e26cc57ecb6c20f27e6c813d8) 4301 (Ported from radeon commit 22b5ce9548393ba2ff73ee234ecd82eeaf0ef6c4) 4302 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4303 4304commit c87dff3257e797cfd80d208c9a612b21978ff4eb 4305Author: Hans de Goede <hdegoede@redhat.com> 4306Date: Wed Oct 26 16:17:04 2016 +0900 4307 4308 PRIME: Fix swapping of provider sink / source capabilities 4309 4310 When a card has import capability it can be an offload _sink_, not a 4311 source and vice versa for export capability. 4312 4313 This went unnoticed sofar because most gpus have both import and export 4314 capability. 4315 4316 Signed-off-by: Hans de Goede <hdegoede@redhat.com> 4317 (Ported from xserver commit 94a1c77259ce39ba59ad87615df39b570ffab435) 4318 (Ported from radeon commit 82d3c8f5500d2a6fb1495e217a0b79c396f1534c) 4319 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4320 4321commit 9c4416422f2d07dbfa7c0b18beb1353f122fc1a1 4322Author: Michel Dänzer <michel.daenzer@amd.com> 4323Date: Wed Oct 26 16:15:42 2016 +0900 4324 4325 Always call PixmapStopDirtyTracking in drmmode_set_scanout_pixmap 4326 4327 Otherwise, we may leak screen->pixmap_dirty_list entries if 4328 drmmode_set_scanout_pixmap is called repatedly with ppix != NULL, which 4329 can happen from RRReplaceScanoutPixmap. 4330 4331 (Inspired by xserver commit b773a9c8126222e5fed2904d012fbf917a9f22fd) 4332 (Ported from radeon commit 6c940446ddadf418ee4959e46fa552b6c1cf6704) 4333 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4334 4335commit 0a91f11c03400e3f92a2b048505f39e7de7e87fc 4336Author: Michel Dänzer <michel.daenzer@amd.com> 4337Date: Wed Oct 26 16:14:45 2016 +0900 4338 4339 Don't rely on randr_crtc->scanout_pixmap in drmmode_set_scanout_pixmap 4340 4341 RRReplaceScanoutPixmap may set randr_crtc->scanout_pixmap = NULL before 4342 we get here. 4343 4344 (Inspired by xserver commit f4c37eeee7953df1fe0e3196eda452acf0078e61) 4345 v2: Always return TRUE in the if (!ppix) block. 4346 (Cherry picked from radeon commit 61df12e2377cbb19a19ca9d5624df8959822da9f) 4347 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4348 4349commit b37f4774880bfd0cbe50273ac0d9c539d81995f9 4350Author: Michel Dänzer <michel.daenzer@amd.com> 4351Date: Tue Oct 25 16:30:46 2016 +0900 4352 4353 Sayōnara, AM_MAINTAINER_MODE! 4354 4355 If --enable-maintainer-mode got lost from config.status for any reason, 4356 builds would fail in mysterious ways after changing between different 4357 Git commits. 4358 4359 There are more reasons for dropping it in the automake manual: 4360 4361 https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html 4362 4363 I'm not aware of any reason why --disable-maintainer-mode would ever be 4364 useful with this project. 4365 4366 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4367 (Cherry picked from radeon commit 49cf3b5032a7ce40afe514b7092440e3e19e05aa) 4368 4369commit c8d9ad0e188d3da3a35006a00536d61e23305830 4370Author: Michel Dänzer <michel.daenzer@amd.com> 4371Date: Wed Oct 19 18:16:47 2016 +0900 4372 4373 Order unique chipsets according to first appearance in ati_pciids.csv 4374 4375 Instead of lexically. This makes it more likely for similar generations 4376 to be close to each other in the list of unique chipsets. 4377 4378 (Ported from radeon commit 1ce1b1656acc6211deb2091ff7f28d51b6daf86b, 4379 plus change $numunique++ => ++$numunique to fix OLAND getting listed 4380 twice) 4381 4382 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4383 4384commit 7cc04035c55788261cda89a915c433c2add6cad9 4385Author: Michel Dänzer <michel.daenzer@amd.com> 4386Date: Wed Sep 28 15:59:22 2016 +0900 4387 4388 Enable HW cursor support with PRIME slave output & Xorg > 1.18.99.901 4389 4390 Supported since Xorg 1.18.99.2, but buggy until 1.18.99.901. 4391 4392 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4393 4394commit d42773eb45baff5933730e26878a0b45fcf07b65 4395Author: Michel Dänzer <michel.daenzer@amd.com> 4396Date: Wed Sep 28 18:17:53 2016 +0900 4397 4398 Rotate and reflect cursor hotspot position for drmModeSetCursor2 4399 4400 We were always passing the hotspot position in the X screen coordinate 4401 space, but drmModeSetCursor2 needs it in the CRTC coordinate space. The 4402 wrong hotspot position would cause the kernel driver to adjust the 4403 HW cursor position incorrectly when the hotspot position changed. 4404 4405 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4406 4407commit bdee9f4dd4f21015e7696e06c4b485ab2b3a16dc 4408Author: Michel Dänzer <michel.daenzer@amd.com> 4409Date: Wed Aug 31 16:46:56 2016 +0900 4410 4411 Add support for ScreenPtr::SyncSharedPixmap 4412 4413 This allows deferring shared pixmap updates between different drivers. 4414 4415 (Ported from radeon commit 53be26b00e83f871f0afd39caa5a7a1d6ec4aea1) 4416 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4417 4418commit 97d7386caf7ba53d2cf398b8a9bb65d0a2a4770a 4419Author: Michel Dänzer <michel.daenzer@amd.com> 4420Date: Fri Sep 16 16:36:23 2016 +0900 4421 4422 Untangle HAS_XORG_CONF_DIR / --with-xorg-conf-dir lines in configure.ac 4423 4424 $sysconfigdir used to be part of the default --with-xorg-conf-dir value, 4425 but it no longer is. 4426 4427 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4428 4429commit aa8a3fa2468094cd37959179e8417ba7ba0a326c 4430Author: Michel Dänzer <michel.daenzer@amd.com> 4431Date: Fri Sep 16 15:59:16 2016 +0900 4432 4433 Fix handling of configure option --with-xorg-conf-dir 4434 4435 There were two problems: 4436 4437 I accidentally changed the variable name in the AC_ARG_WITH stanza from 4438 configdir to xorgconfigdir, so specifying --with-xorg-conf-dir wouldn't 4439 work correctly. Fix this back to configdir. 4440 4441 If neither --with-xorg-conf-dir nor --prefix is specified on the command 4442 line, the $prefix variable doesn't contain "/usr/local" (the default 4443 prefix) yet at this point but "NONE". So make install would attempt to 4444 install 10-amdgpu.conf in ${DESTDIR}NONE/share/X11/xorg.conf.d/ . Fix 4445 this by leaving ${prefix} verbatim in the default value, to be resolved 4446 by make. 4447 4448 Also print the configdir value along with the values of other similar 4449 configuration variables. 4450 4451 Reported-by: Timo Aaltonen <tjaalton@debian.org> 4452 Reviewed-by: Julien Cristau <jcristau@debian.org> 4453 4454commit cd3acb75718dfd42dd25d58b4e7bd4db27b659d8 4455Author: Michel Dänzer <michel.daenzer@amd.com> 4456Date: Wed Sep 14 18:33:42 2016 +0900 4457 4458 Use --with-xorg-conf-dir=$prefix/share/X11/xorg.conf.d by default 4459 4460 We were using the result of `pkg-config --variable=sysconfigdir 4461 xorg-server` before, which may not be inside $prefix, so make install 4462 might fail for 10-amdgpu.conf . 4463 4464 Fixes make distcheck in that case, and possibly also 10-amdgpu.conf 4465 seemingly missing from some distribution packages. 4466 4467 This matches what some (though not all) input drivers are doing for their 4468 xorg.conf.d snippets. 4469 4470commit 0f8df8584ad61a3e47fe303b34cd7b0c4ed08bb0 4471Author: Michel Dänzer <michel.daenzer@amd.com> 4472Date: Thu Sep 8 18:14:49 2016 +0900 4473 4474 Make TearFree effective with PRIME slave scanout 4475 4476 TearFree can now prevent tearing with any possible display 4477 configuration. 4478 4479 Note that there may still be inter-GPU tearing if the primary GPU uses 4480 a different driver. 4481 4482 (Ported from radeon commit 38797a33117222dadbc89e5f21ed8cd5deef9bea) 4483 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4484 4485commit d6feed2cd78fe879aba4860a6d9bc2e388b9f135 4486Author: Michel Dänzer <michel.daenzer@amd.com> 4487Date: Thu Sep 8 17:56:24 2016 +0900 4488 4489 Synchronize scanout pixmaps for TearFree 4490 4491 Copy the damaged areas which are still valid in the other scanout pixmap 4492 from there, then only copy the remaining damaged area from the screen 4493 pixmap. 4494 4495 This is slightly more efficient (only needs one Damage record instead of 4496 two, and only needs to copy each screen update across PCIe once with 4497 ShadowPrimary and a discrete GPU), and will be significantly more 4498 efficient for PRIME with the following change. 4499 4500 (Ported from radeon commit eda1f3df6aaed683036369fe8820da4dac3c2ae2) 4501 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4502 4503commit 4927b84ec84bc0cb5055686cca6be54390f82803 4504Author: Michel Dänzer <michel.daenzer@amd.com> 4505Date: Thu Sep 8 17:52:25 2016 +0900 4506 4507 Move up amdgpu_scanout_extents_intersect 4508 4509 Will be needed higher up by the following changes. No functional change. 4510 4511 (Ported from radeon commit 2f6e5fb15f1a9ce523c85550e493f8bda9d0c00f) 4512 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4513 4514commit 1c725f63961746258f6138b47037ec18bf508d78 4515Author: Michel Dänzer <michel.daenzer@amd.com> 4516Date: Thu Sep 8 17:45:32 2016 +0900 4517 4518 Factor out transform_region helper 4519 4520 (Ported from radeon commit 5a57005178fc13b6f7e513458ca6dae72a3e5783) 4521 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4522 4523commit c92842764f95fa09e145d81f80e9fa39ea8c453c 4524Author: Michel Dänzer <michel.daenzer@amd.com> 4525Date: Thu Sep 8 17:26:18 2016 +0900 4526 4527 Only copy from screen pixmap to shared pixmap on demand for slave scanout 4528 4529 Only copy once for each time we update the corresponding scanout pixmap. 4530 This can significantly reduce the bandwidth usage when there are 4531 frequent updates to the screen pixmap. 4532 4533 This initial implementation only works when both the master and slave 4534 screens use this driver. 4535 4536 (Ported from radeon commit 99232f64db52812a843cd616d263d3a6b90eef3d) 4537 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4538 4539commit 61ceefe17fe9e6ffbaaad0e216b2bd37fd39f47d 4540Author: Michel Dänzer <michel.daenzer@amd.com> 4541Date: Thu Sep 8 17:15:03 2016 +0900 4542 4543 Track damage accurately for RandR 1.4 slave scanout 4544 4545 This further reduces the PCIe bandwidth usage. 4546 4547 (Ported from radeon commit b0867063abb197b9134166706d99fcbe5f204bb5, 4548 plus leak fix from 5a57005178fc13b6f7e513458ca6dae72a3e5783) 4549 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4550 4551commit 6d31fb124d4418e64c949bde9ed1facf95967762 4552Author: Michel Dänzer <michel.daenzer@amd.com> 4553Date: Thu Sep 8 17:04:05 2016 +0900 4554 4555 Handle RandR 1.4 slave dirty updates via amdgpu_drm_queue 4556 4557 This reduces PCIe bandwidth usage and tearing. 4558 4559 (Ported from radeon commit ad0a0656dd0e74683e6d7789decba827aa29c221) 4560 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4561 4562commit b10ecdbd89b0a60a990c78c3e53bab6c4c96fe9f 4563Author: Michel Dänzer <michel.daenzer@amd.com> 4564Date: Thu Sep 8 16:48:59 2016 +0900 4565 4566 Use drmmode_crtc_scanout_* helpers for RandR 1.4 scanout pixmaps 4567 4568 This should allow using multiple CRTCs via RandR 1.4 even with xserver 4569 < 1.17. It also simplifies the code a little, and paves the way for 4570 following changes. 4571 4572 (Ported from radeon commits 4cfa4615f79f64062e5e771cd45dd7048f48b4f6 4573 and a92c27484703abc7c410b6ae0e4b8d1efbbb8e6f) 4574 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4575 4576commit 9565981f751b0884cbfa885b8f3af3d41a965a2b 4577Author: Michel Dänzer <michel.daenzer@amd.com> 4578Date: Wed Sep 7 18:49:54 2016 +0900 4579 4580 Wait for pending flips to complete before turning off an output or CRTC 4581 4582 At least with older kernels, the flip may never complete otherwise, 4583 which can result in us hanging in drmmode_set_mode_major. 4584 4585 Fixes: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/1577170 4586 4587 (Ported from radeon commits 9090309e057dc703d1a5bffd88e6cae14108cfc3, 4588 e520ce0ec0adf91ddce5c932d4b3f9477fd49304, 4589 a36fdaff40d5b4795a1400c348a80eee94892212 and 4590 4bd2d01552f18153afa03a8947b22eebf3d67c6b) 4591 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4592 4593commit c7d27c94cb656899746898c2e55407c3e3d7cdc8 4594Author: Michel Dänzer <michel.daenzer@amd.com> 4595Date: Wed Sep 7 18:28:23 2016 +0900 4596 4597 Keep track of damage event related flushes per-client 4598 4599 This further reduces the compositing slowdown due to flushing overhead, 4600 by only flushing when the X server actually sends XDamageNotify events 4601 to a client, and there hasn't been a flush yet in the meantime. 4602 4603 (Ported from radeon commit 121a6de72da5fcf9a32408eff36b2235f3dfbcfe) 4604 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4605 4606commit 58773d1945cfa8155d8a6c5eb3f95097535604ef 4607Author: Michel Dänzer <michel.daenzer@amd.com> 4608Date: Wed Sep 7 18:14:10 2016 +0900 4609 4610 Use EventCallback to avoid flushing every time in the FlushCallback 4611 4612 We only need to flush for XDamageNotify events. 4613 4614 Significantly reduces compositing slowdown due to flushing overhead, in 4615 particular with glamor. 4616 4617 (Ported from radeon commit 9a1afbf61fbb2827c86bd86d295fa0848980d60b) 4618 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4619 4620commit d166d04f6951f6a48d7d5ce5d31bba857fe0cb06 4621Author: Michel Dänzer <michel.daenzer@amd.com> 4622Date: Wed Sep 7 18:03:05 2016 +0900 4623 4624 Add explicit AMDGPU_DRM_QUEUE_ERROR define 4625 4626 Should make the amdgpu_drm_queue_alloc error handling clearer, and gets 4627 rid of a compile warning about it returning NULL. 4628 4629 (Ported from radeon commit a37af701768b12d86868a831a79f1e02ee4968cf) 4630 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4631 4632commit 6a1ba044c2b71081e6060d0c096917d6238f2145 4633Author: Michel Dänzer <michel.daenzer@amd.com> 4634Date: Mon Aug 29 16:43:59 2016 +0900 4635 4636 Only list each unique chipset family once in the log file 4637 4638 Acked-by: Christian König <christian.koenig@amd.com> 4639 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4640 4641commit 7d050d15d49ef25e86e7abe88dafb52370715640 4642Author: Michel Dänzer <michel.daenzer@amd.com> 4643Date: Mon Aug 29 16:13:20 2016 +0900 4644 4645 Add missing Kaveri PCI ID (1318) 4646 4647 Found by comparing src/pcidb/ati_pciids.csv with xf86-video-ati. 4648 4649 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4650 4651commit aa5492660958e359bdc2107cba9a211ff988c90e 4652Author: Michel Dänzer <michel.daenzer@amd.com> 4653Date: Mon Aug 29 15:52:48 2016 +0900 4654 4655 Add Mullins PCI IDs 4656 4657 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97472 4658 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4659 4660commit 73c8dc000ad6b2b53ba3aa7155f5e8f6b55623b7 4661Author: Qiang Yu <Qiang.Yu@amd.com> 4662Date: Mon Aug 22 19:13:26 2016 +0800 4663 4664 DRI2: Fix amdgpu_dri2_exchange_buffers width/height copy'n'paste error 4665 4666 Signed-off-by: Qiang Yu <Qiang.Yu@amd.com> 4667 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4668 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4669 4670commit 5a4d3267ac3823fe58b51b0b9075b82375d7180c 4671Author: Michel Dänzer <michel.daenzer@amd.com> 4672Date: Wed Aug 17 18:57:01 2016 +0900 4673 4674 Remove unused lut_r/g/b arrays from drmmode_crtc_private_rec 4675 4676 Fixes: 1091f28e1fa2 ("Remove drmmode_load_palette") 4677 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4678 4679commit c4364520691d18961f0a6b77071baeeffaa80a11 4680Author: Marek Olšák <marek.olsak@amd.com> 4681Date: Fri Aug 19 12:42:38 2016 +0200 4682 4683 Fix cursor size for SI 4684 4685 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4686 Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net> 4687 4688commit 2eb5d77b841e55e7328df4b95c0d41fec30ce10f 4689Author: Ronie Salgado <roniesalg@gmail.com> 4690Date: Thu Feb 11 03:00:14 2016 -0300 4691 4692 Add SI PCI IDs 4693 4694 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4695 4696commit abd1a7901c95e4bc78415cf1b7923623b9177152 4697Author: Michel Dänzer <michel.daenzer@amd.com> 4698Date: Wed Jun 29 17:54:26 2016 +0900 4699 4700 DRI2: Add interpolated_vblanks in amdgpu_dri2_get_crtc_msc 4701 4702 We need that in amdgpu_dri2_drawable_crtc as well for priv->vblank_delta 4703 to work as intended. 4704 4705 amdgpu_dri2_get_msc was already doing this. 4706 4707 Fixes hangs in some cases when using VDPAU via DRI2 and moving the 4708 window between CRTCs. 4709 4710 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4711 4712commit 978242977e5dc905e1d5a46b1b0d34b356c7af26 4713Author: Qiang Yu <Qiang.Yu@amd.com> 4714Date: Wed Jul 13 19:25:12 2016 +0800 4715 4716 Fix amdgpu_mode_hotplug crash on multi GPU platform. 4717 4718 On multi GPU platform, some screen is created by other GPU DDX. 4719 4720 Signed-off-by: Qiang Yu <Qiang.Yu@amd.com> 4721 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 4722 4723commit fdd1209e26128b3e894f2867fac3a1b08fe1f29e 4724Author: Keith Packard <keithp@keithp.com> 4725Date: Tue Jul 19 09:16:32 2016 -0700 4726 4727 Use NotifyFd for drm fd 4728 4729 NotifyFd is available after API 22, and must be used after API 23. 4730 4731 Signed-off-by: Keith Packard <keithp@keithp.com> 4732 4733commit 17c0cf49746a20fb25610c24a40c441f88c08365 4734Author: Adam Jackson <ajax@redhat.com> 4735Date: Tue Jul 19 10:03:56 2016 -0400 4736 4737 Adapt Block/WakeupHandler signature for ABI 23 4738 4739 Signed-off-by: Adam Jackson <ajax@redhat.com> 4740 4741commit b5e2b964b7884c205a7c0fa578e05e867c176fcc 4742Author: Michel Dänzer <michel.daenzer@amd.com> 4743Date: Wed Jul 6 17:46:56 2016 +0900 4744 4745 Only use RandR APIs if RandR is enabled 4746 4747 Fixes crash with Xinerama enabled, which disables RandR. 4748 4749 Fixes: https://bugs.debian.org/827984 4750 4751 (Ported from radeon commit 3be841d0ae7d505cef325993205b12d15e98dba9) 4752 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4753 4754commit 84496ebc89a9973347c774c13ff6f4667fcdbe69 4755Author: Michel Dänzer <michel.daenzer@amd.com> 4756Date: Wed Jul 6 17:43:36 2016 +0900 4757 4758 Add .editorconfig file 4759 4760 Basically a conversion from .dir-locals.el. EditorConfig supports many 4761 more editors and IDEs. 4762 4763 (Ported from radeon commit aa07b365d7b0610411e118f105e49daff5f5a5cf) 4764 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4765 4766commit a576430526cbc404de64b30e1377a356644e8024 4767Author: Michel Dänzer <michel.daenzer@amd.com> 4768Date: Fri Jun 24 16:28:25 2016 +0900 4769 4770 Clear damage in amdgpu_scanout_update if it doesn't intersect the CRTC 4771 4772 There's no need to test that same damage again. 4773 4774 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4775 4776commit ede7f2bcae63be65e05e3029bfe7c742e5978932 4777Author: Michel Dänzer <michel.daenzer@amd.com> 4778Date: Fri Jun 24 16:19:15 2016 +0900 4779 4780 Remove w/h parameters from amdgpu_scanout_extents_intersect 4781 4782 We can use the dimensions of the CRTC's mode instead. 4783 4784 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4785 4786commit bf000ea7ef91f5ecb59fc3c1ab8ed9eddcc0841d 4787Author: Michel Dänzer <michel.daenzer@amd.com> 4788Date: Thu Jun 23 17:28:16 2016 +0900 4789 4790 Make the dedicated scanout mechanism work with arbitrary transforms v2 4791 4792 This makes TearFree work with arbitrary transforms, and makes transforms 4793 work better even without TearFree, with xserver >= 1.12. 4794 4795 v2: Preserve clamping of transformed damage extents to CRTC boundaries. 4796 4797 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4798 4799commit d96dabc71b1b32dc4b422a9633cdd4e0e95da052 4800Author: Michel Dänzer <michel.daenzer@amd.com> 4801Date: Thu Jun 23 16:27:45 2016 +0900 4802 4803 Destroy all dedicated scanout buffers during CloseScreen 4804 4805 Fixes leaking active scanout buffers across a server reset, which also 4806 fixes server reset with glamor and active scanout buffers. 4807 4808 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4809 4810commit 1091f28e1fa239ee1a973d84a8376fa4a95d7247 4811Author: Michel Dänzer <michel.daenzer@amd.com> 4812Date: Thu Jun 23 12:47:04 2016 +0900 4813 4814 Remove drmmode_load_palette 4815 4816 Not used by any supported version of xserver. 4817 4818 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4819 4820commit 4d506c23c9a628204fa23607931557b07ada3e31 4821Author: Michel Dänzer <michel.daenzer@amd.com> 4822Date: Wed Jun 22 17:16:24 2016 +0900 4823 4824 present: Separate checks for flips vs unflips v2 4825 4826 All unflip checks apply to flips as well, but not vice versa. 4827 4828 v2: Add comment above amdgpu_present_check_unflip (Alex) 4829 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4830 4831commit decabd574f90d3df397c80ec931b3fde8a4afb49 4832Author: Michel Dänzer <michel.daenzer@amd.com> 4833Date: Wed Jun 22 17:43:41 2016 +0900 4834 4835 dri2: Don't allow flipping when using a dedicated scanout buffer 4836 4837 Fixes issues when mixing rotation and page flipping with current xserver 4838 Git master. 4839 4840 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4841 4842commit 3ed28ce7cd26f89969617ba901ff253091d0d469 4843Author: Michel Dänzer <michel.daenzer@amd.com> 4844Date: Wed Jun 22 16:54:01 2016 +0900 4845 4846 present: Don't allow flipping when using a dedicated scanout buffer 4847 4848 Fixes issues when mixing rotation and page flipping with current xserver 4849 Git master. 4850 4851 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4852 4853commit 9c3324715fd395fd486ea341654d78f4f298b97f 4854Author: Michel Dänzer <michel.daenzer@amd.com> 4855Date: Wed Jun 22 16:12:32 2016 +0900 4856 4857 Make sure drmmode_crtc->scanout[] are destroyed when not needed 4858 4859 We failed to do this when going back to scanning out directly from the 4860 screen pixmap. 4861 4862 As a bonus, since we now destroy drmmode_crtc->scanout[] after setting 4863 the new scanout buffer, we may avoid the CRTC turning off intermittently 4864 in this case. 4865 4866 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4867 4868commit 3bce0519a4008cf87c0e31a7a579e10f5dcdd2f3 4869Author: Michel Dänzer <michel.daenzer@amd.com> 4870Date: Wed Jun 22 16:19:07 2016 +0900 4871 4872 Simplify drmmode_set_mode_major error handling 4873 4874 Initialize ret = FALSE and only set it to TRUE when we've succeeded. 4875 4876 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4877 4878commit a3ca1500703837cbb8d49c554199a25dea7d5e1e 4879Author: Hans de Goede <hdegoede@redhat.com> 4880Date: Wed Jun 1 15:14:32 2016 +0200 4881 4882 Only add main fb if necessary 4883 4884 If we're doing reverse-prime; or doing rotation the main fb is not used, 4885 and there is no reason to add it in this case. 4886 4887 Signed-off-by: Hans de Goede <hdegoede@redhat.com> 4888 (Ported from xserver commit 4313122dea0df9affc280ee698e929489061ccc6) 4889 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4890 4891commit 9ca1c24235ff5ab2e028333fc326e2eff008c574 4892Author: Hans de Goede <hdegoede@redhat.com> 4893Date: Wed Jun 1 15:11:05 2016 +0200 4894 4895 Remove unnecessary fb addition from drmmode_xf86crtc_resize 4896 4897 drmmode_set_mode_major() is the only user of drmmode->fb_id and will 4898 create it if necessary. 4899 4900 Signed-off-by: Hans de Goede <hdegoede@redhat.com> 4901 (Ported from xserver commit 877453212166fdc912e0d687cdecee11aba563b5) 4902 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4903 4904commit 0d42082108c264568e2aadd15ace70e72388bc65 4905Author: Michel Dänzer <michel.daenzer@amd.com> 4906Date: Wed Jun 22 19:01:03 2016 +0900 4907 4908 Call amdgpu_glamor_create_screen_resources after ModifyPixmapHeader 4909 4910 Otherwise, glamor doesn't pick up the new screen pixmap size and 4911 continues using the old size, leaving garbage in some areas after 4912 enlarging the screen. 4913 4914 Fixes regression from commit c315c00e44afc91a7c8e2eab5af836d9643ebb88 4915 ("Propagate failure from amdgpu_set_pixmap_bo"). 4916 4917 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4918 4919commit e7e71eabbbccdeabcae1bc6fffabc27c272090ab 4920Author: Michel Dänzer <michel.daenzer@amd.com> 4921Date: Mon Mar 28 18:49:15 2016 +0900 4922 4923 Adapt to XF86_CRTC_VERSION 7 4924 4925 Now the HW cursor can be used with TearFree rotation. 4926 4927 This also allows always using the separate scanout pixmap mechanism for 4928 rotation, so that should be much smoother even without TearFree enabled. 4929 4930 (Ported from radeon commit 7835558acdce318130ba4a09ef936fd675e3197d) 4931 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4932 4933commit 7f7f9825caf3983902491da27c16d14cd8bf9b7d 4934Author: Michel Dänzer <michel.daenzer@amd.com> 4935Date: Mon Jun 13 18:58:49 2016 +0900 4936 4937 Free priv in amdgpu_set_pixmap_bo also if priv->bo == NULL 4938 4939 Fixes memory leak when destroying pixmaps with priv->bo == NULL. 4940 4941 Reported-by: Qiang Yu <qiang.yu@amd.com> 4942 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4943 4944commit 397aedafee437c125b8ac1feafb1c3b466842aeb 4945Author: Michel Dänzer <michel.daenzer@amd.com> 4946Date: Mon Jun 13 18:34:11 2016 +0900 4947 4948 glamor: Fix leak of pixmap private when replacing BO 4949 4950 Reported-by: Qiang Yu <qiang.yu@amd.com> 4951 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4952 4953commit 5b4a8a7a6ed70a50be252fa9b34d3b3a17cdf91a 4954Author: Michel Dänzer <michel.daenzer@amd.com> 4955Date: Tue Jun 14 19:00:18 2016 +0900 4956 4957 Use amdgpu_set_pixmap_bo in amdgpu_set_shared_pixmap_backing 4958 4959 Fixes leaking any existing pixmap private. 4960 4961 While we're at it, also fix leaking the GBM BO if 4962 amdgpu_glamor_create_textured_pixmap fails. 4963 4964 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4965 4966commit c315c00e44afc91a7c8e2eab5af836d9643ebb88 4967Author: Michel Dänzer <michel.daenzer@amd.com> 4968Date: Wed Jun 15 17:20:36 2016 +0900 4969 4970 Propagate failure from amdgpu_set_pixmap_bo 4971 4972 Preparation for the following fixes. 4973 4974 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4975 4976commit 74602c4221e3c84949fd69f690cbc66dcae384ea 4977Author: Michel Dänzer <michel.daenzer@amd.com> 4978Date: Tue Jun 14 18:53:34 2016 +0900 4979 4980 glamor: Make amdgpu_glamor_create_textured_pixmap take amdgpu_buffer* 4981 4982 Preparation for the following fixes. 4983 4984 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4985 4986commit 0007c2f018ba663303d91d847e7c085269a23062 4987Author: Michel Dänzer <michel.daenzer@amd.com> 4988Date: Wed Jun 8 16:27:33 2016 +0900 4989 4990 glamor: Reallocate linear pixmap BO if necessary for DRI2 PRIME 4991 4992 Fixes corruption when using DRI2 PRIME render offloading with the master 4993 screen using this driver. 4994 4995 Reported-by: Qiang Yu <qiang.yu@amd.com> 4996 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 4997 Tested-by: Qiang Yu <qiang.yu@amd.com> 4998 4999commit 5518bf5d793439b5bab369e5fc18de9a4a3b9dd6 5000Author: Michel Dänzer <michel.daenzer@amd.com> 5001Date: Wed Jun 8 16:44:26 2016 +0900 5002 5003 Move DRI2's local fixup_glamor helper to amdgpu_glamor_set_pixmap_bo v2 5004 5005 So it can be used outside of the DRI2 code. 5006 5007 v2: Keep pixmap refcnt increment in amdgpu_dri2_create_buffer2 (Qiang Yu) 5008 5009 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5010 Tested-by: Qiang Yu <qiang.yu@amd.com> (v1) 5011 5012commit 641f4647b7f51dfd2da330376cd10fa9702b6423 5013Author: Michel Dänzer <michel.daenzer@amd.com> 5014Date: Wed Jun 8 16:39:10 2016 +0900 5015 5016 Consolidate get_drawable_pixmap helper 5017 5018 There were two static helpers for the same purpose. Consolidate them 5019 into a single inline helper which can be used anywhere. 5020 5021 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5022 Tested-by: Qiang Yu <qiang.yu@amd.com> 5023 5024commit 8e40f190e4704c2802bf0f073f17e742786d0f18 5025Author: Michel Dänzer <michel.daenzer@amd.com> 5026Date: Wed Jun 8 16:00:21 2016 +0900 5027 5028 Add amdgpu_pixmap_get_tiling_info 5029 5030 Retrieves the tiling information about a pixmap BO from the kernel 5031 driver. 5032 5033 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5034 Tested-by: Qiang Yu <qiang.yu@amd.com> 5035 5036commit e7eeb6ad1133b6023d34b4489959ae330a8e15dd 5037Author: Michel Dänzer <michel.daenzer@amd.com> 5038Date: Wed Jun 8 15:42:01 2016 +0900 5039 5040 Remove amdgpu_share_pixmap_backing 5041 5042 Not used anymore. 5043 5044 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5045 Tested-by: Qiang Yu <qiang.yu@amd.com> 5046 5047commit b36c77695ba77b59a0ccd868454e3af4fc04d5ff 5048Author: Michel Dänzer <michel.daenzer@amd.com> 5049Date: Wed Jun 8 15:38:57 2016 +0900 5050 5051 glamor: Fix amdgpu_glamor_share_pixmap_backing for priv->bo == NULL 5052 5053 Fixes crash when running a compositor and DRI_PRIME client via DRI2. 5054 5055 Reported-by: Qiang Yu <qiang.yu@amd.com> 5056 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5057 Tested-by: Qiang Yu <qiang.yu@amd.com> 5058 5059commit 60ced5026ebc34d9f32c7618430b6a7ef7c8eb4b 5060Author: Alex Deucher <alexander.deucher@amd.com> 5061Date: Tue May 17 16:59:41 2016 -0400 5062 5063 add missing bonaire pci id 5064 5065 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 5066 5067commit 8e89448ee00da16e05e6777f34bb75d2dd6f7025 5068Author: Flora Cui <Flora.Cui@amd.com> 5069Date: Tue May 17 11:02:09 2016 +0800 5070 5071 Add more Polaris 11 PCI IDs 5072 5073 Signed-off-by: Flora Cui <Flora.Cui@amd.com> 5074 Reviewed-by: Christian König <christian.koenig@amd.com> 5075 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 5076 5077commit a59b23d64285741a7a25e314343f6261046d980f 5078Author: Flora Cui <Flora.Cui@amd.com> 5079Date: Mon May 16 17:25:34 2016 +0800 5080 5081 Add more Polaris 10 PCI IDs 5082 5083 Signed-off-by: Flora Cui <Flora.Cui@amd.com> 5084 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5085 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5086 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 5087 5088commit 14606e127f4b6eb0b00fd42cec13d524a67e4c4a 5089Author: Michel Dänzer <michel.daenzer@amd.com> 5090Date: Thu May 12 16:38:56 2016 +0900 5091 5092 Handle Zaphod mode correctly in amdgpu_mode_hotplug 5093 5094 We need to scan both screens of the entity for existing connectors, and 5095 enumerate DVI & HDMI connectors consistently regardless of which screen 5096 they're assigned to. 5097 5098 Fixes crash when hot-(un)plugging connectors in Zaphod mode. 5099 5100 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93415 5101 (Ported from radeon commit c801f9f10a5d72d935faf21e72f7e7808fb4f05f) 5102 5103 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5104 5105commit 861da1d5c243f51d6c1f76e5b13e5184aa608776 5106Author: Michel Dänzer <michel.daenzer@amd.com> 5107Date: Thu May 12 16:34:30 2016 +0900 5108 5109 Enable DRI3 by default when building for Xorg >= 1.18.3 5110 5111 Seems to work well enough in general now. 5112 5113 (Ported from radeon commit 1181b9c582f10b6c523e4b2988e2ce87ecf3d367) 5114 5115 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5116 5117commit 86f991838824494e68ac277fa27cbd88c23a5ee8 5118Author: Michel Dänzer <michel.daenzer@amd.com> 5119Date: Tue May 10 15:57:04 2016 +0900 5120 5121 present: Support async flips 5122 5123 The xserver Present code only calls radeon_present_flip with 5124 sync_flip=FALSE if radeon_present_screen_init sets 5125 PresentCapabilityAsync, and the latter only sets it if the kernel driver 5126 advertises support for async flips. 5127 5128 (Ported from radeon commit 1ca677309720e2f6c953c9e76f5b34c22a4416c6) 5129 5130 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5131 5132commit 744ac5faff7f58e26fa76974b6bdc345ea4c7c79 5133Author: Michel Dänzer <michel.daenzer@amd.com> 5134Date: Tue May 10 15:47:55 2016 +0900 5135 5136 Add support for async flips to radeon_do_pageflip 5137 5138 Will be used by the next change. No functional change here. 5139 5140 (Ported from radeon commit 90a915c62d012e99193833aecc93974e68880c60) 5141 5142 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5143 5144commit 4822ec7a23d2253c88bc403f17abb6d7a053528c 5145Author: Flora Cui <flora.cui@amd.com> 5146Date: Tue May 10 17:14:00 2016 +0900 5147 5148 add strato pci id 5149 5150 Signed-off-by: Flora Cui <flora.cui@amd.com> 5151 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 5152 5153commit b93006714b8de972060492cfa311320921a73773 5154Author: Tom St Denis <tom.stdenis@amd.com> 5155Date: Tue Apr 12 08:48:33 2016 -0400 5156 5157 dri3: Return NULL from amdgpu_dri3_pixmap_from_fd if calloc fails. 5158 5159 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 5160 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5161 5162commit a0bbb373f902e0ffc14570c85faec7e44134f62e 5163Author: Qiang Yu <Qiang.Yu@amd.com> 5164Date: Fri Apr 8 17:29:17 2016 +0800 5165 5166 Remove RR_Capability_SinkOutput for GPU without CRTC. 5167 5168 Signed-off-by: Qiang Yu <Qiang.Yu@amd.com> 5169 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5170 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5171 5172commit 1a29c4bcc0a286b14f37ab942eb0cad47bc4f337 5173Author: Michel Dänzer <michel.daenzer@amd.com> 5174Date: Mon Apr 11 16:27:40 2016 +0900 5175 5176 Post 1.1.0 release version bump 5177 5178commit a04f4015d6afef20c2b79e2779f6555836ee2b07 5179Author: Michel Dänzer <michel.daenzer@amd.com> 5180Date: Thu Apr 7 16:47:25 2016 +0900 5181 5182 Bump version for 1.1.0 release 5183 5184commit aed1c17c43b2c0c983f6fc0973a5224d0faf32d9 5185Author: Michel Dänzer <michel.daenzer@amd.com> 5186Date: Mon Apr 4 18:28:02 2016 +0900 5187 5188 glamor: Force GPU rendering to/from pixmaps created via DRI3 5189 5190 Fixes crash when running DRI3 clients with ShadowPrimary enabled. 5191 5192 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94799 5193 5194 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5195 5196commit faf9d720b7d650f5f1ea657a874d08eac3972e60 5197Author: Michel Dänzer <michel.daenzer@amd.com> 5198Date: Fri Apr 1 16:09:51 2016 +0900 5199 5200 Update manpage entry for Option "TearFree" 5201 5202 It's now effective for rotation as well. 5203 5204 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5205 5206commit 5ba95c3abeb8df82aa8d33a47596eae6403ea7af 5207Author: Michel Dänzer <michel.daenzer@amd.com> 5208Date: Fri Apr 1 15:29:26 2016 +0900 5209 5210 Identify DRM event queue entries by sequence number instead of by pointer 5211 5212 If the memory for an entry was allocated at the same address as that for 5213 a previously cancelled entry, the handler could theoretically be called 5214 prematurely, triggered by the DRM event which was submitted for the 5215 cancelled entry. 5216 5217 (Ported from radeon commit 4693b1bd5b5c381e8b7b68a6f7f0c6696d6a68df) 5218 5219 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5220 5221commit 8ecfa69b5a833bd4c39e773a6acfd7eef9144d13 5222Author: Michel Dänzer <michel.daenzer@amd.com> 5223Date: Wed Mar 30 18:33:00 2016 +0900 5224 5225 DRI3: Refuse to open DRM file descriptor for ssh clients 5226 5227 Fixes hangs when attempting to use DRI3 on display connections forwarded 5228 via SSH. 5229 5230 Don't do this for Xorg > 1.18.99.1 since the corresponding xserver 5231 change has landed in Git master. 5232 5233 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93261 5234 5235 (Ported from radeon commit 0b3aac1de9db42bfca545fa331e4985836682ec7) 5236 5237 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5238 5239commit b2a2e114eec0967f7b67f030fbab8983cf980489 5240Author: Michel Dänzer <michel.daenzer@amd.com> 5241Date: Fri Mar 25 11:55:34 2016 +0900 5242 5243 Revert "Use render node for DRI3 if available" 5244 5245 This reverts commit ea558e645786b08d75307716036045170e97b43e. 5246 5247 It broke VDPAU<->GL interop with DRI3 enabled, because the Gallium VDPAU 5248 code doesn't support DRI3 yet. We can consider re-enabling this once 5249 there is a Mesa release where the Gallium VDPAU code supports DRI3. 5250 5251 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94675 5252 5253 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5254 5255commit e31a2d668a1b5ebaf75d423c8123cbc8e0dcbae9 5256Author: Flora Cui <Flora.Cui@amd.com> 5257Date: Wed Nov 18 16:44:13 2015 +0800 5258 5259 add polaris10 pci id 5260 5261 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5262 Signed-off-by: Flora Cui <Flora.Cui@amd.com> 5263 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 5264 5265commit 6e09b8deb77f76b9bb7d393cc1ad924ebba62eff 5266Author: Flora Cui <Flora.Cui@amd.com> 5267Date: Thu Nov 5 14:16:39 2015 +0800 5268 5269 add polaris11 pci id 5270 5271 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5272 Signed-off-by: Flora Cui <Flora.Cui@amd.com> 5273 Reviewed-By: Jammy Zhou <Jammy.Zhou@amd.com> 5274 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5275 5276commit 7d32c43fff4c8df32cce150223094f793e036cf3 5277Author: Alex Deucher <alexander.deucher@amd.com> 5278Date: Wed Oct 28 17:28:23 2015 -0400 5279 5280 add Polaris chip families 5281 5282 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5283 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 5284 5285commit fbf9ae18cd241b8b78936aa30441e5fbfd9ba1c5 5286Author: Michel Dänzer <michel.daenzer@amd.com> 5287Date: Thu Mar 24 19:05:15 2016 +0900 5288 5289 Require xserver 1.9 or newer 5290 5291 1.9.0 was released in August 2010. 5292 5293 We were already unintentionally relying on things not available in 1.8 5294 for at least a year, and nobody has complained. 5295 5296 (Ported from radeon commit e592f32f8b5f5873fcc18b10a69dd5e4ccf11073) 5297 5298 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5299 5300commit 912db5fbbc6b9b1121c8a03168cb4bd870474376 5301Author: Michel Dänzer <michel.daenzer@amd.com> 5302Date: Thu Mar 24 18:59:05 2016 +0900 5303 5304 Fix build against older versions of xserver 5305 5306 Also slightly clean up the error handling in amdgpu_scanout_do_update. 5307 5308 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94614 5309 5310 (Ported from radeon commit bde466e5d44cad64b4e4eceaa5de80fdbf86356e) 5311 5312 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5313 5314commit 3fb6280ab3b104b02841c7cab8ed68c1d463c834 5315Author: Michel Dänzer <michel.daenzer@amd.com> 5316Date: Thu Mar 24 18:56:44 2016 +0900 5317 5318 DRI3 only works with acceleration 5319 5320 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94214 5321 5322 (Ported from radeon commit d21ac4669a8b2cdd4eec5e5a94d1950b7423b8b5) 5323 5324 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5325 5326commit 3177fe817a5f2de4ed10860866a0dd6d6c6ba816 5327Author: Michel Dänzer <michel.daenzer@amd.com> 5328Date: Thu Mar 24 18:51:59 2016 +0900 5329 5330 Check for xf86CursorResetCursor 5331 5332 If it's available, Xorg calls it on each mode configuration change. It 5333 does what xf86_reload_cursors does (and more), so we don't need to call 5334 the latter anymore. 5335 5336 (Ported from radeon commit d670c5c9851b4eff21c845d26c7d7e4eb5ee0fa9) 5337 5338 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5339 5340commit a3dfce7b24e1ea01c1aa62926025a545312cbe13 5341Author: Michel Dänzer <michel.daenzer@amd.com> 5342Date: Thu Mar 24 18:45:46 2016 +0900 5343 5344 Don't try DRI2/Present flipping while the HW cursor can't be used 5345 5346 Flipping doesn't interact correctly with SW cursor: A flip makes the SW 5347 cursor disappear. It will only appear again when the cursor is moved, 5348 but it will be surrounded by corruption, because the SW cursor code 5349 will restore stale screen contents at the old cursor location before 5350 drawing the cursor at the new location. 5351 5352 (Ported from radeon commit 7f3d0780ca65a90117c2a61362dbc0899bd9c0b0) 5353 5354 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5355 5356commit ba9be8f32f0321689133e17c1681809dec8c6cf1 5357Author: Michel Dänzer <michel.daenzer@amd.com> 5358Date: Thu Mar 24 18:44:30 2016 +0900 5359 5360 Factor out HW cursor checking code into drmmode_can_use_hw_cursor 5361 5362 And add a check for RandR 1.4 multihead. 5363 5364 (Ported from radeon commit 3de480e83c0a1824838d662d6d67c9fe85277298) 5365 5366 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5367 5368commit 4a60b4b1851a3cbc2d8ad9048d68eeb6947cf132 5369Author: Michel Dänzer <michel.daenzer@amd.com> 5370Date: Thu Mar 24 12:03:38 2016 +0900 5371 5372 Call AMDGPUBlockHandler_KMS before setting initial modes 5373 5374 Doing it the other way around meant that there was still a possibility 5375 for the front buffer contents to be uninitialized when they start being 5376 scanned out. 5377 5378 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5379 5380commit 37bd79652a8ec612b94a1863e8c580b1cfaf3960 5381Author: Michel Dänzer <michel.daenzer@amd.com> 5382Date: Fri Mar 18 18:51:00 2016 +0900 5383 5384 present: Return rotated CRTCs from amdgpu_present_get_crtc 5385 5386 Sync-to-vblank works fine with rotation. We're still checking for 5387 rotation in amdgpu_present_check_flip. 5388 5389 Returning NULL from here resulted in the xserver present code falling 5390 back to the fake CRTC running at 1 fps. 5391 5392 (Ported from radeon commit a03271de5ecdaa7790d1316e993c4450b91fe936) 5393 5394 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5395 5396commit 6b930fb3285dea4a6440e31099c96f08da508d49 5397Author: Michel Dänzer <michel.daenzer@amd.com> 5398Date: Fri Mar 18 18:47:10 2016 +0900 5399 5400 present: Clear drmmode->fb_id before calling set_mode_major for unflip 5401 5402 Without this, drmmode_set_mode_major may just re-set the FB for the 5403 last flipped BO, in which case the display will probably freeze. 5404 5405 Reproduction recipe: Enable rotation while a fullscreen client is 5406 flipping. 5407 5408 (Ported from radeon commit 40191d82370eb7e58bd34c44966cbf44c3703229) 5409 5410 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5411 5412commit 6889e091442b6ba1b9351e72bd067425e87d96e9 5413Author: Michel Dänzer <michel.daenzer@amd.com> 5414Date: Fri Mar 18 18:18:04 2016 +0900 5415 5416 Make Option "TearFree" effective for rotated/reflected outputs as well 5417 5418 Support varies by xserver version: 5419 5420 < 1.12: No support for the driver handling rotation/reflection 5421 1.12-1.15: Support for driver handling rotation/reflection, but there's 5422 a bug preventing the HW cursor from being visible everywhere 5423 it should be on rotated outputs, so we can only support 5424 TearFree for reflection. 5425 >= 1.16: While the bug above is still there (fixes pending review), 5426 the driver can force SW cursor for rotated outputs, so we 5427 can support TearFree for rotation as well. 5428 5429 (Ported from radeon commit 798c4fd16d339b1ad5fd729cc884be084c60e38b) 5430 5431 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5432 5433commit da4e0c66fcbcf63143372720e3d606a462332e3a 5434Author: Michel Dänzer <michel.daenzer@amd.com> 5435Date: Fri Mar 18 18:15:34 2016 +0900 5436 5437 Consolidate pScreen usage in drmmode_set_mode_major 5438 5439 We were already relying on pScrn->pScreen being non-NULL in some cases, 5440 which is supposedly always true ever since this function is no longer 5441 getting called from ScreenInit. 5442 5443 (Ported from radeon commit eb611a2e4ecce7a1ab85fd72b9b78e3269311dd5) 5444 5445 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5446 5447commit 0bbf09dd7ef54133b3e534becb3ba15c0cf3eed2 5448Author: Michel Dänzer <michel.daenzer@amd.com> 5449Date: Fri Mar 18 18:14:28 2016 +0900 5450 5451 Remove check for XF86_CRTC_VERSION 3 5452 5453 We require xserver >= 1.8, which was already at version 3. 5454 5455 (Ported from radeon commit 06602171386e538081c298645fb7ca1a70fe80cc) 5456 5457 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5458 5459commit 3485ca0051a224d00135d4024a97a6c4e85a9644 5460Author: Michel Dänzer <michel.daenzer@amd.com> 5461Date: Fri Mar 18 18:07:07 2016 +0900 5462 5463 Deal with modesets and page flips crossing on a CRTC 5464 5465 If we set a mode while a flip is pending, the kernel driver may program 5466 the flip to the hardware after the modeset. If that happens, the hardware 5467 will display the BO from the flip, whereas we will assume it displays the 5468 BO from the modeset. In other words, the display will most likely freeze, 5469 at least until another modeset. 5470 5471 Prevent this condition by waiting for a pending flip to finish before 5472 setting a mode. 5473 5474 Fixes display freezing when setting rotation or a transform with 5475 TearFree enabled. 5476 5477 (Ported from radeon commit a88985f5d1e39caca49ceb65678aaa9cb622a0d2) 5478 5479 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5480 5481commit b9d00fa7aaf946d985897380bfa42faafbf1b3fb 5482Author: Michel Dänzer <michel.daenzer@amd.com> 5483Date: Fri Mar 18 17:18:00 2016 +0900 5484 5485 Make DRM event queue xf86CrtcPtr based instead of ScrnInfoPtr based 5486 5487 This allows for a minor simplification of the code. 5488 5489 (Ported from radeon commit f5d968cbba3c9b7ec202161f2157d8d64778c817) 5490 5491 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5492 5493commit e0ed26151bfeadf309da53d001751c0a014dbd24 5494Author: Michel Dänzer <michel.daenzer@amd.com> 5495Date: Fri Mar 18 17:11:47 2016 +0900 5496 5497 Remove amdgpu_scanout_flip_handler 5498 5499 No longer necessary now that amdgpu_drm_queue_handler can handle 5500 e->handler == NULL. 5501 5502 (Ported from radeon commit d5dbb07db22d5420c81dfebc060f0dd86e7b8a20) 5503 5504 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5505 5506commit acd5da56f502d6ad115501e77bce06fe72b1895c 5507Author: Michel Dänzer <michel.daenzer@amd.com> 5508Date: Fri Mar 18 17:14:49 2016 +0900 5509 5510 DRI2: Also clear dri2_flipping when client disconnects before event 5511 5512 Fixes the following problem: 5513 5514 With DRI3 enabled, run glxgears with LIBGL_DRI3_DISABLE=1, make it 5515 fullscreen and press Escape while it's still fullscreen. This could 5516 result in dri2_flipping not getting cleared, spuriously preventing apps 5517 using DRI3 from flipping. 5518 5519 (Ported from radeon commit e87365117acbd80b7d80fbb5eb30890ef7153291) 5520 5521 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5522 5523commit a58bfa98208cc092014d3f36a08714eb1e0d8814 5524Author: Michel Dänzer <michel.daenzer@amd.com> 5525Date: Fri Mar 18 17:07:47 2016 +0900 5526 5527 drm_queue: Don't abort events immediately from amdgpu_drm_abort_client 5528 5529 Keep them around until the DRM event arrives, but then call the abort 5530 functions instead of the handler functions. 5531 5532 This is a prerequisite for the following fix. 5533 5534 (Ported from radeon commit 3989766edde85d1abe7024577b98fc9b007bc02a) 5535 5536 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5537 5538commit e4888df6e32bb817bf0d6166a22b19c14e189a84 5539Author: Michel Dänzer <michel.daenzer@amd.com> 5540Date: Fri Mar 18 17:04:10 2016 +0900 5541 5542 Fix RandR CRTC transforms 5543 5544 Currently, Xorg will only transform the cursor as of the first time the 5545 cursor image changes after a transform is set. 5546 5547 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80678 5548 5549 (Ported from radeon commit 9483a3d777919b224f70c3b4d01e4b320a57db31) 5550 5551 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5552 5553commit 43af92ede0968f2108f9562aa4c2c861ac703617 5554Author: Michel Dänzer <michel.daenzer@amd.com> 5555Date: Fri Mar 18 16:58:07 2016 +0900 5556 5557 Build RandR 1.4 provider name from chipset name and bus ID 5558 5559 Instead of just "amdgpu", it's now e.g. "TONGA @ pci:0000:01:00.0". 5560 5561 (Ported from radeon commit c7cf00487cd6d4a5d0f39d5b92ff04f6420d6a32) 5562 5563 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5564 5565commit 5ec1797a2858d693d18d21326e2307d71555e1db 5566Author: Michel Dänzer <michel.daenzer@amd.com> 5567Date: Wed Feb 24 17:33:49 2016 +0900 5568 5569 DRI2: Use amdgpu_pixmap_get_handle 5570 5571 Now we can share pixmaps with no struct amdgpu_buffer via DRI2. 5572 5573 Fixes VDPAU video playback freezing when using an OpenGL compositor with 5574 DRI3 enabled and mpv VAAPI hardware decoding with OpenGL output. 5575 5576 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89755 5577 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93804 5578 5579 (ported from radeon commit f8b0f23e9f4af9f9097ee5e72d53b45173163c41) 5580 5581 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5582 5583commit df60c635e1e632233de9dd4b01d63c2b963003f8 5584Author: Michel Dänzer <michel.daenzer@amd.com> 5585Date: Wed Feb 24 17:06:43 2016 +0900 5586 5587 glamor: Avoid generating GEM flink names for BOs shared via DRI3 (v2) 5588 5589 We can't create our own struct amdgpu_buffer representation in this case 5590 because destroying that would make the GEM handle inaccessible to glamor 5591 as well. So just get the handle directly via dma-buf. 5592 5593 (ported from radeon commit 391900a670addec39515f924265bfa9f8bfa9ec0, 5594 extended to cache BO handles in the private for non-DRI3 pixmaps as 5595 well) 5596 5597 v2: Swap whole pixmap privates instead of just BOs in 5598 amdgpu_dri2_exchange_buffers to avoid invalidating cached BO handles 5599 5600 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5601 5602commit e463b849f3e9d7b69e64a65619a22e00e78d297b 5603Author: Michel Dänzer <michel.daenzer@amd.com> 5604Date: Tue Feb 23 18:10:29 2016 +0900 5605 5606 Make amdgpu_do_pageflip take a pixmap instead of a BO 5607 5608 (inspired by radeon commit 7b4fc4a677d252d01c2bf80d162bc35814059eaa) 5609 5610 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5611 5612commit 1ee341f9d909f3b7ba2984fc912dabdb98c34b19 5613Author: Michel Dänzer <michel.daenzer@amd.com> 5614Date: Tue Feb 23 18:42:19 2016 +0900 5615 5616 Add amdgpu_pixmap_get_handle helper 5617 5618 (inspired by radeon commits dfad91fffb5bd013785223b42d78886df839eacf 5619 and ccbda955ebae1d457d35293833f12791e0f9fb0b) 5620 5621 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5622 5623commit a36bbfd98b96426bbe0be3923c64da7ec0e565d0 5624Author: Michel Dänzer <michel.daenzer@amd.com> 5625Date: Mon Feb 15 18:41:51 2016 +0900 5626 5627 HAS_DIRTYTRACKING_ROTATION also supports multiple CRTCs 5628 5629 (ported from radeon commit ff9a6b6f079a8419f4e6fadfee778060618bf735) 5630 5631 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5632 5633commit a37746ffceaed83e48e48fb05439be7e020dd2ea 5634Author: Michel Dänzer <michel.daenzer@amd.com> 5635Date: Mon Feb 15 18:35:54 2016 +0900 5636 5637 Load fb module before glamoregl/shadow modules 5638 5639 Fixes unresolved symbols on some systems. 5640 5641 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93105 5642 (ported from radeon commit 78fbca095ae9887a2d3de48bb07975e2d1126e68) 5643 5644 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5645 5646commit 59c0a6807110eca829c6708e16585a38f39a5c17 5647Author: Michel Dänzer <michel.daenzer@amd.com> 5648Date: Mon Feb 15 18:28:13 2016 +0900 5649 5650 Don't advertise any PRIME offloading capabilities without acceleration 5651 5652 Acceleration is required even for display offloading. Trying to enable 5653 display offloading without acceleration resulted in a crash. 5654 5655 (ported from radeon commit b19417e2fddf4df725951aea5ad5e9558338f59e) 5656 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5657 5658commit a3eac85d812ecc605436e6bd5b9ee7ebf307e3d3 5659Author: Michel Dänzer <michel.daenzer@amd.com> 5660Date: Tue Jan 26 16:12:28 2016 +0900 5661 5662 Only map front buffer if glamor acceleration is disabled (v2) 5663 5664 Otherwise the front buffer may not be accessible by the CPU, because Mesa 5665 sets the AMDGPU_GEM_CREATE_NO_CPU_ACCESS flag for tiled buffers, because 5666 accessing tiled buffers with the CPU makes little sense. 5667 5668 v2: Also handle Option "AccelMethod" "none" 5669 5670 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5671 5672commit 2fcb7dadd3c71cd405cbbaafc777697538ca9c29 5673Author: jimqu <Jim.Qu@amd.com> 5674Date: Mon Jan 25 09:47:00 2016 +0800 5675 5676 glamor: Return NullPixmap on failure to create shareable pixmap 5677 5678 If we were asked to create a shareable pixmap, it doesn't make sense 5679 to return a pixmap which isn't shareable. Doing so caused trouble down 5680 the line such as a crash with older versions of glamor when trying to 5681 use GLX pixmaps of bpp < 32 via DRI2. 5682 5683 Signed-off-by: JimQu <jim.qu@amd.com> 5684 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5685 5686commit 5269a2228bff6023c1a7f3e8534027e1d7addc25 5687Author: jimqu <Jim.Qu@amd.com> 5688Date: Mon Jan 25 10:12:02 2016 +0800 5689 5690 Move amdgpu_glamor_destroy_pixmap before amdgpu_glamor_create_pixmap 5691 5692 The next commit will call the former from the latter. No functional 5693 change. 5694 5695 Signed-off-by: JimQu <jim.qu@amd.com> 5696 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5697 5698commit 54c959c163288caa87f612911b70df73f87d29d6 5699Author: Tom St Denis <tom.stdenis@amd.com> 5700Date: Wed Jan 20 09:37:36 2016 -0500 5701 5702 Move memset() after variable declarations 5703 5704 To make the code more "C" like move the function calls 5705 after the variable declarations. 5706 5707 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 5708 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5709 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5710 5711commit 8853b07ae8169c409740c40d45cd335bd608f2a7 5712Author: Michel Dänzer <michel.daenzer@amd.com> 5713Date: Tue Jan 19 17:35:11 2016 +0900 5714 5715 Set the RandR primary output on startup if Xorg hasn't 5716 5717 Fixes xrandr (XRRGetOutputPrimary) not reporting any output as primary 5718 after startup. 5719 5720 (Ported from radeon commit b16856b25086ffb27365ac2249b8da921066ce62) 5721 5722 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5723 5724commit bd5c65daceaf633c36fcec86ff061df10c364bc0 5725Author: Michel Dänzer <michel.daenzer@amd.com> 5726Date: Thu Jan 7 15:53:41 2016 +0900 5727 5728 Only call amdgpu_bus_id once in each probe path (v2) 5729 5730 Instead of up to twice as before. 5731 5732 v2: Remove free(busIdString) call from amdgpu_kernel_mode_enabled, the 5733 bus ID string is now managed by its callers. 5734 5735 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1) 5736 5737commit 6e42c58375a4c3229da93c27bbd104af145c6163 5738Author: Michel Dänzer <michel.daenzer@amd.com> 5739Date: Thu Jan 7 15:57:38 2016 +0900 5740 5741 Remove pci_dev test from amdgpu_get_scrninfo 5742 5743 The pci_dev parameter can never be NULL since we only support KMS. 5744 5745 Reported-by: Tom St Denis <tom.stdenis@amd.com> 5746 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5747 5748commit 8e09180798a06af5afa030d754938e4ca06e272f 5749Author: Michel Dänzer <michel.daenzer@amd.com> 5750Date: Thu Jan 7 15:35:35 2016 +0900 5751 5752 Re-use PCI bus ID code from kernel_open_fd in kernel_mode_enabled 5753 5754 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5755 5756commit 4eb9cedca080b30c57ded349a397620ee7d0cd46 5757Author: Mykola Lysenko <Mykola.Lysenko@amd.com> 5758Date: Wed Jan 13 14:03:55 2016 +0800 5759 5760 Initialize drmmode_crtc dpms_mode to DPMSModeOff 5761 5762 This disables query of disabled pipes for drmWaitVBlank on X start 5763 5764 Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com> 5765 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5766 5767commit 1d0b0c1794e65e581a48aa9fb19679d928d82a5d 5768Author: Michel Dänzer <michel.daenzer@amd.com> 5769Date: Thu Dec 10 18:08:12 2015 +0900 5770 5771 sync: Check if miSyncShmScreenInit symbol is resolved at runtime 5772 5773 It may be disabled in the Xorg build, either explicitly or because the 5774 xshmfence library isn't available. 5775 5776 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5777 5778commit f4107f67f147e2500582fc36cf0f0f76bc1ef098 5779Author: Mykola Lysenko <Mykola.Lysenko@amd.com> 5780Date: Wed Dec 23 11:58:47 2015 -0500 5781 5782 Check for NULL koutput in drmmode_output_dpms 5783 5784 This situation happens whit start of usage of DRM DP MST framework, 5785 when connectors created and destroyed dynamically. 5786 5787 Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com> 5788 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5789 5790commit ea558e645786b08d75307716036045170e97b43e 5791Author: Jammy Zhou <Jammy.Zhou@amd.com> 5792Date: Fri Nov 20 17:03:05 2015 +0800 5793 5794 Use render node for DRI3 if available 5795 5796 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 5797 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 5798 5799commit 43c2dc1aab682d5b6ad49d24983d6382c4f305bb 5800Author: Michel Dänzer <michel.daenzer@amd.com> 5801Date: Thu Nov 19 17:05:05 2015 +0900 5802 5803 glamor: Deal with glamor_egl_destroy_textured_pixmap being removed 5804 5805 When it's not available, it's safe to call down to the glamor 5806 DestroyPixmap hook instead. 5807 5808 (ported from radeon commit 10b7c3def58bb34acc38f076bc230e25b454ab79) 5809 5810 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5811 5812commit 84cab5738a315e9825bd0864c4f0fc5b03eb81a1 5813Author: Michel Dänzer <michel.daenzer@amd.com> 5814Date: Thu Nov 19 16:44:22 2015 +0900 5815 5816 glamor: Restore all ScreenRec hooks during CloseScreen 5817 5818 (ported from radeon commit 535e5438b2c32f774b9c8c27ee0289b4749548ef) 5819 5820 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5821 5822commit a00c050c2e5667ed815c51979a3cadb5146136ff 5823Author: Michel Dänzer <michel.daenzer@amd.com> 5824Date: Thu Nov 19 17:55:53 2015 +0900 5825 5826 Post 1.0.0 release version bump 5827 5828commit 755e6ff2337cf615e3ba0854ccd533baec7144db 5829Author: Michel Dänzer <michel.daenzer@amd.com> 5830Date: Thu Nov 19 17:28:19 2015 +0900 5831 5832 Bump version for 1.0.0 release 5833 5834commit 49c7d2be99aaf6d040e553065bdc461ce8d4769a 5835Author: Michel Dänzer <michel.daenzer@amd.com> 5836Date: Thu Nov 19 17:14:54 2015 +0900 5837 5838 Add amdgpu_pixmap.h to src/Makefile.am's EXTRA_DIST 5839 5840 Fixes make distcheck. 5841 5842commit d069ec5d27f5c8d2ab17b759b85293ef4113acf3 5843Author: Stephen Chandler Paul <cpaul@redhat.com> 5844Date: Wed Nov 11 18:10:55 2015 +0900 5845 5846 Handle failures in setting a CRTC to a DRM mode properly 5847 5848 This fixes a bug where running the card out of PPLL's when hotplugging 5849 another monitor would result in all of the displays going blank and 5850 failing to work properly until X was restarted or the user switched to 5851 another VT. 5852 5853 [Michel Dänzer: Pass errno instead of -ret to strerror()] 5854 5855 Signed-off-by: Stephen Chandler Paul <cpaul@redhat.com> 5856 (ported from radeon commit 7186a8713ba004de4991f21c1a9fc4abc62aeff4) 5857 5858 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5859 5860commit c8bddcf6c97b1338be3715f1fc5e0b17ce71c195 5861Author: Michel Dänzer <michel.daenzer@amd.com> 5862Date: Wed Nov 11 18:09:59 2015 +0900 5863 5864 Call xf86CrtcRotate from initial drmmode_set_desired_modes call 5865 5866 Fixes various problems when rotation is specified in xorg.conf. 5867 5868 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92475 5869 5870 (ported from radeon commit 548e97b3b7d1e94075a54ca2bb4eb683025098a7) 5871 5872 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5873 5874commit 12815156f38ce3357f03901a78402db834577d11 5875Author: Emil Velikov <emil.l.velikov@gmail.com> 5876Date: Wed Nov 11 18:04:01 2015 +0900 5877 5878 Do not link amdgpu_drv.so against libpciaccess 5879 5880 Not used directly. 5881 5882 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> 5883 (ported from radeon commit fcb32231a38f9461d12720cbf72f63502197a711) 5884 5885 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5886 5887commit a02982b0ae0b79d2f183a1628edc05cafed8703a 5888Author: Michel Dänzer <michel.daenzer@amd.com> 5889Date: Wed Nov 11 17:59:14 2015 +0900 5890 5891 Skip disabled CRTCs in amdgpu_scanout_(do_)update 5892 5893 The vblank / page flip ioctls don't work as expected for a disabled CRTC. 5894 5895 (ported from radeon commit acc11877423ecd81a6e0a7f38466f80e43efee20) 5896 5897 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5898 5899commit 0ddd20600d0046afd17aa47ffebe86dfd91a2215 5900Author: Michel Dänzer <michel.daenzer@amd.com> 5901Date: Wed Nov 11 17:44:16 2015 +0900 5902 5903 Prefer drmModeSetCursor2 over drmModeSetCursor 5904 5905 The former includes information about the position of the hotspot within 5906 the cursor image. 5907 5908 Copied from xf86-video-modesetting. 5909 5910 (ported from radeon commit c9f8f642fd495937400618a4fc25ecae3f8888fc) 5911 5912 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5913 5914commit 83a47c0ebe17caa79d12a8b2f94b59cc945452f5 5915Author: Michel Dänzer <michel.daenzer@amd.com> 5916Date: Wed Nov 11 17:37:54 2015 +0900 5917 5918 PRIME: Don't advertise offload capabilities when acceleration is disabled 5919 5920 Xorg tends to crash if the user tries to actually use the offload 5921 capabilities with acceleration disabled. 5922 5923 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200 5924 (ported from radeon commit c74de9fec13fac2c836bb2a07ae6f90e1d61e667) 5925 5926 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5927 5928commit 560b7fe6dc66405762020f00e9a05918a36f3a17 5929Author: Michel Dänzer <michel.daenzer@amd.com> 5930Date: Wed Nov 11 17:31:34 2015 +0900 5931 5932 Rename Option "NoAccel" to "Accel" 5933 5934 Removes the need for a double negation when forcing acceleration on. 5935 5936 Note that this change is backwards compatible, as the option parser 5937 automagically handles the 'No' prefix. 5938 5939 (ported from radeon commit cc615d06db0332fc6e673b55632bcc7bf957b44b) 5940 5941 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5942 5943commit ad77ad32c4a723447d3191d527cfa6de9f54d7ce 5944Author: Adam Jackson <ajax@redhat.com> 5945Date: Wed Nov 11 17:20:21 2015 +0900 5946 5947 Use own thunk function instead of shadowUpdatePackedWeak 5948 5949 I plan to delete the Weak functions from a future server. 5950 5951 Signed-off-by: Adam Jackson <ajax@redhat.com> 5952 (ported from radeon commit 851b2cf8714618843725f6d067915375485ade9d) 5953 5954 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5955 5956commit f5ccea99c03b62acf3a25984aba617c665d80b7c 5957Author: Michel Dänzer <michel.daenzer@amd.com> 5958Date: Wed Nov 11 17:16:58 2015 +0900 5959 5960 dri2: Handle PRIME for source buffer as well in amdgpu_dri2_copy_region2 5961 5962 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77810 5963 5964 (ported from radeon commit c84230d686c078aac1dc98d82153f8b02521b2e1) 5965 5966 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5967 5968commit 92e7c93d2f9c3036da1a17d7fccccb6f9e9eaa3d 5969Author: Michel Dänzer <michel.daenzer@amd.com> 5970Date: Mon Nov 2 18:29:24 2015 +0900 5971 5972 Move scrn/info declaration inside USE_GLAMOR in amdgpu_dri3_fd_from_pixmap 5973 5974 Fixes warning when building with --disable-glamor: 5975 5976 ../../src/amdgpu_dri3.c: In function 'amdgpu_dri3_fd_from_pixmap': 5977 ../../src/amdgpu_dri3.c:135:16: warning: unused variable 'info' [-Wunused-variable] 5978 AMDGPUInfoPtr info = AMDGPUPTR(scrn); 5979 ^ 5980 5981 Reported-by: Jammy Zhou <Jammy.Zhou@amd.com> 5982 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5983 5984commit c9bd1399a13cea2e1331af2c826ca054b88db071 5985Author: Michel Dänzer <michel.daenzer@amd.com> 5986Date: Mon Nov 2 18:21:50 2015 +0900 5987 5988 Call AMDGPUFreeRec from AMDGPUFreeScreen_KMS even if info == NULL 5989 5990 It's safe now. 5991 5992 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 5993 5994commit fb8444e731765588c0ff1e9053c1c7b73f5f0907 5995Author: Michel Dänzer <michel.daenzer@amd.com> 5996Date: Mon Nov 2 18:20:41 2015 +0900 5997 5998 Don't use AMDGPUEntPriv in AMDGPUFreeRec 5999 6000 It crashes if info == NULL. 6001 6002 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6003 6004commit 8e7ee03f55c2f3874f6e84daeb5700f8b8037a51 6005Author: Michel Dänzer <michel.daenzer@amd.com> 6006Date: Wed Oct 28 17:53:27 2015 +0900 6007 6008 Remove amdgpu_reference_drm_fd 6009 6010 Increase pAMDGPUEnt->fd_ref in the probe code instead when we're reusing 6011 the existing fd. 6012 6013 The previous reference counting was imbalanced, so pAMDGPUEnt->fd_ref 6014 could never go to 0. 6015 6016 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 6017 6018commit 6bab8fabb37eb131e131ce59446c214ded28f779 6019Author: Michel Dänzer <michel.daenzer@amd.com> 6020Date: Wed Oct 28 17:44:09 2015 +0900 6021 6022 Remove info->dri2.drm_fd and info->drmmode->fd 6023 6024 Use pAMDGPUEnt->fd everywhere instead. 6025 6026 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 6027 6028commit 0530e39cc6b7340163e7f6bb6d82719d102ee6e9 6029Author: Jammy Zhou <jammy.zhou@amd.com> 6030Date: Thu Oct 29 17:08:01 2015 +0900 6031 6032 Pass struct pci_device *pci_dev directly to amdgpu_get_scrninfo 6033 6034 Instead of throwing away the type information by passing it as a void*. 6035 6036 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 6037 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6038 6039commit edf72afee3a25eae9827b4de3a013b541b78e213 6040Author: Jammy Zhou <Jammy.Zhou@amd.com> 6041Date: Wed Oct 28 21:24:29 2015 +0800 6042 6043 Fix crash in PCI probe path (v4) 6044 6045 The crash is caused by the NULL value returned by AMDGPUPTR(pScrn), 6046 because the driverPrivate is not allocated yet in PciProbe phase, 6047 and it is usually done in the PreInit phase. 6048 6049 Use pAMDGPUEnt->fd instead of info->dri2.drm_fd to avoid AMDGPUInfoPtr 6050 related code in amdgpu_open_drm_master, so that the crash can be fixed. 6051 6052 v4: (md) Remove unused parameter entity_num, split out logically 6053 separate changes 6054 v3: some more cleanup 6055 v2: switch to pAMDGPUEnt->fd, and update the commit message 6056 6057 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 6058 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 6059 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v3) 6060 6061commit cef725121eb0e56aa54d9c4665e36047373f4db7 6062Author: Michel Dänzer <michel.daenzer@amd.com> 6063Date: Wed Oct 28 17:56:13 2015 +0900 6064 6065 Remove dead code from probe paths 6066 6067 amdgpu_get_scrninfo allocates the memory pointed to by pAMDGPUEnt just 6068 before it calls amdgpu_open_drm_master, so pAMDGPUEnt->fd is always 0 6069 in the latter. 6070 6071 Also, no need to clear pAMDGPUEnt->fd just before freeing the memory 6072 it's stored in. 6073 6074 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 6075 6076commit 3b0a3c89b53b3ebe21a9d703a4dbff6e57c65a57 6077Author: Samuel Li <samuel.li@amd.com> 6078Date: Thu Oct 22 12:50:21 2015 -0400 6079 6080 Add Stoney support 6081 6082 (agd): rebase 6083 6084 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6085 Signed-off-by: Samuel Li <samuel.li@amd.com> 6086 6087commit 9c8b7ebe15eec7abd5dc10ad6ccecbc57225494a 6088Author: Michel Dänzer <michel.daenzer@amd.com> 6089Date: Wed Oct 21 17:18:44 2015 +0900 6090 6091 Revert "Handle RandR CRTC transforms properly" 6092 6093 This reverts commit 175251645fec1a3d19f498e1cd1e655374c67801. 6094 6095 I accidentally pushed this patch. 6096 6097commit 0a6ba4bf50128464a30951721b0c72e748fb89bc 6098Author: Darren Powell <darren.powell@amd.com> 6099Date: Tue Oct 20 16:56:54 2015 -0400 6100 6101 Add Option "TearFree" to manpage 6102 6103 This was missed in commit c57da33308a81fa575179238a0415abcb8b34908. 6104 6105 Signed-off-by: Darren Powell <darren.powell@amd.com> 6106 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6107 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6108 6109commit 175251645fec1a3d19f498e1cd1e655374c67801 6110Author: Michel Dänzer <michel.daenzer@amd.com> 6111Date: Thu Oct 15 16:35:51 2015 +0900 6112 6113 Handle RandR CRTC transforms properly 6114 6115commit 6000aef4e2f0a121b94023484406fb6f04688f74 6116Author: Tom St Denis <tom.stdenis@amd.com> 6117Date: Wed Oct 14 13:25:59 2015 -0400 6118 6119 Clean up amdgpu_dri2_create_buffer2() 6120 6121 Remove the depth_pixmap variable from the function and clear 6122 out any dead/odd behaviour that results. 6123 6124 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6125 6126commit 21e72fb2418b5cc7fc849a9cf951186e209036b0 6127Author: Michel Dänzer <michel.daenzer@amd.com> 6128Date: Fri Oct 9 18:38:47 2015 +0900 6129 6130 Properly handle drmModeAddFB failure in drmmode_crtc_scanout_allocate 6131 6132 We were printing an error message, but not propagating the failure. That 6133 would probably lead to trouble down the road. 6134 6135 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6136 6137commit 8da1d0c870e1081d77925807d6e3bbc61a23f54f 6138Author: Michel Dänzer <michel.daenzer@amd.com> 6139Date: Fri Oct 9 18:59:16 2015 +0900 6140 6141 Eliminate redundant data parameter from drmmode_crtc_scanout_create 6142 6143 drmmode_crtc_scanout_create just needs to call 6144 drmmode_crtc_scanout_allocate when scanout->bo is NULL. 6145 6146 This makes it clearer to the reader / compiler that 6147 drmmode_crtc_scanout_create doesn't dereference scanout->bo when it's 6148 NULL. 6149 6150 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6151 6152commit dc40582d5ff94d812cbc08f95cf14b80cd0f410d 6153Author: Michel Dänzer <michel.daenzer@amd.com> 6154Date: Wed Oct 7 16:19:22 2015 +0900 6155 6156 Don't advertise rotation support without hardware acceleration v2 6157 6158 Rotation currently doesn't work without acceleration (doesn't actually 6159 rotate with Option "NoAccel", crashes with Option "AccelMethod" "none" 6160 or when glamor fails to initialize) and would probably be too slow 6161 anyway. 6162 6163 v2: Also remove now dead code checking for ShadowFB from 6164 drmmode_crtc_scanout_allocate(). 6165 6166 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6167 6168commit 460560502a1bdf26d06f3c30df46fa9f28ffb9e5 6169Author: Tom St Denis <tom.stdenis@amd.com> 6170Date: Tue Oct 6 08:49:54 2015 -0400 6171 6172 Simplify drmmode_set_mode_major() and avoid leaking memory. 6173 6174 The function would leak the memory allocated for output_ids. This 6175 patch addresses that as well as simplifies the logic somewhat. 6176 6177 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6178 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6179 6180commit 56398d6651dfc4935cbd117ad861e1800077c73c 6181Author: Tom St Denis <tom.stdenis@amd.com> 6182Date: Tue Oct 6 08:43:12 2015 -0400 6183 6184 Avoid NULL dereference if drmmode_crtc_scanout_allocate fails 6185 6186 This avoids a NULL dereference if the memory allocation fails. 6187 6188 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6189 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6190 6191commit 4b92b960c7705be8b3a5dee17b2341864d7ca9bb 6192Author: Tom St Denis <tom.stdenis@amd.com> 6193Date: Mon Oct 5 10:00:09 2015 -0400 6194 6195 cleanup the entity rec 6196 6197 Based on radeon commit: b32a0a3de84a44b9af4f1ca8be19f10d7fa31b12 6198 6199 Some of these were set, some of them were 6200 always opposites, so clean things up. 6201 6202 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6203 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6204 6205commit fe100fd6bf483228eaf64b959c56a68e8dac4447 6206Author: Tom St Denis <tom.stdenis@amd.com> 6207Date: Mon Oct 5 10:45:33 2015 -0400 6208 6209 present: Handle DPMS off in radeon_present_get_ust_msc 6210 6211 Based on radeon commit: 95f5d09e3667ded027ae648c97eb4737d8bf67c5 6212 6213 The DRM_IOCTL_WAIT_VBLANK ioctl may return an error during DPMS off, 6214 which would trigger an error message in drmmode_crtc_get_ust_msc. 6215 6216 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6217 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6218 6219commit bfa925a04815cee5fd57b99447cb2ee0e158036c 6220Author: Tom St Denis <tom.stdenis@amd.com> 6221Date: Mon Oct 5 10:10:51 2015 -0400 6222 6223 present: Look at all CRTCs to determine if we can flip 6224 6225 Based on radeon commit 211862b777d0be251a4662f5dd24f2d400544c09 6226 6227 Inspired by modesetting driver change by Kenneth Graunke. 6228 6229 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6230 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6231 6232commit a1e47e76322619ed037ebce27974a4e3792940c2 6233Author: Tom St Denis <tom.stdenis@amd.com> 6234Date: Mon Oct 5 10:41:22 2015 -0400 6235 6236 present: Fall back to modeset for unflip operation 6237 6238 Based on radeon commit: 802d33e474a82262d9cdf11b03568b0c4929cd0d 6239 6240 It's not always possible to use the page flip ioctl for this, e.g. 6241 during DPMS off. We were previously just skipping the unflip in that 6242 case, which could result in hangs when setting DPMS off while a 6243 fullscreen Present app is running, e.g. at the GNOME3 lock screen. 6244 6245 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6246 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6247 6248commit bac21dfc8e60a07f08158b13fab1f3a9b9d27d1b 6249Author: Tom St Denis <tom.stdenis@amd.com> 6250Date: Mon Oct 5 10:37:50 2015 -0400 6251 6252 Don't attempt a DRI2/Present page flip while the other one is flipping 6253 6254 Based on radeon commit 49f5b0bc301414df049e00d226034e3d6e56421b 6255 6256 Fixes corrupted display and hangs when switching between DRI2 and DRI3 6257 fullscreen apps, e.g. a compositor using DRI3 and a fullscreen app using 6258 DRI2 or vice versa. 6259 6260 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6261 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6262 6263commit a5f7f2e68bad1935f5ad52286033237467f77302 6264Author: Tom St Denis <tom.stdenis@amd.com> 6265Date: Mon Oct 5 13:12:23 2015 -0400 6266 6267 Move amdgpu_drm_handler/abort_proc fields to drmmode_flipdata_re 6268 6269 Based on radeon commit de5ddd09db82141b263338dcf0c28e01f58268ee 6270 6271 Their values are the same for all DRM flip ioctl calls within a single 6272 radeon_do_pageflip() call. 6273 6274 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6275 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6276 6277commit e14e3560bff2537d3ad4c93d2b31442a122cde66 6278Author: Tom St Denis <tom.stdenis@amd.com> 6279Date: Mon Oct 5 13:08:43 2015 -0400 6280 6281 Simplify amdgpu_do_pageflip() error handling slightly more 6282 6283 Based on radeon commit e8c0f6319fbf4c3ea11e22ab1a68837031bdec8c 6284 6285 We don't need the local variable old_fb_id. 6286 6287 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6288 6289 [ Michel Dänzer: fix up slightly to better match radeon formatting ] 6290 6291 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6292 6293commit e9621ec0e2400f62db320c560a739b29258edb87 6294Author: Tom St Denis <tom.stdenis@amd.com> 6295Date: Mon Oct 5 09:34:47 2015 -0400 6296 6297 Increase robustness against DRM page flip ioctl failures 6298 6299 Based on radeon commit 8fc22360d5520469c82092ccb0fcf2af330c573f 6300 6301 Centralize cleanup, only clean up things that have been allocated for 6302 the failed ioctl call. 6303 6304 Fixes double-free after a flip ioctl failure. 6305 6306 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89681 6307 6308 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6309 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6310 6311commit db3bb2061b9ac16b0922d9afae99874820356a04 6312Author: Tom St Denis <tom.stdenis@amd.com> 6313Date: Tue Sep 29 13:07:04 2015 -0400 6314 6315 Clean up allocation in AMDGPUInitVideo() 6316 6317 The allocation of the adapters should use the correct sizeof (even if 6318 allocating an array of pointers). 6319 6320 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6321 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6322 6323commit 94caf7ac777134b8396aa762a506053179bbb4c6 6324Author: Tom St Denis <tom.stdenis@amd.com> 6325Date: Thu Oct 1 13:08:41 2015 -0400 6326 6327 Avoid leaking memory on output. 6328 6329 Based on radeon commit 63dc36dc49f93cb00111b497ab6805194bc9d240 6330 6331 and 2nd patch: 6332 6333 Proper leak fix, previous leak fix was bogus. 6334 6335 Based on radeon commit b8ec9ed4fe86952763b963c86f0af0dcae69aa6c 6336 6337 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6338 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6339 6340commit f035faec041cb5df65c78effa58eb50197cedf88 6341Author: Tom St Denis <tom.stdenis@amd.com> 6342Date: Thu Oct 1 12:56:05 2015 -0400 6343 6344 add support for DP 1.2 display hotplug 6345 6346 Based on radeon commit 2f11dcd43966cf2ee26e61960fd72e6644f5e037 6347 6348 > This allows for dynamic creation of conneectors when the 6349 > kernel tells us. 6350 > 6351 > v2: fix dpms off crash 6352 6353 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6354 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6355 6356commit aee72b29210d79dbf41bde6eef16d7fe817e6cf4 6357Author: Tom St Denis <tom.stdenis@amd.com> 6358Date: Thu Oct 1 12:29:36 2015 -0400 6359 6360 move output name creation to its own function 6361 6362 Based on radeon commit c88424d1f4aaa78b569e5d44f0b4a47de2f422f4 6363 6364 > The secondary indent is deliberate to make the next patch more 6365 > parseable for mst support. 6366 6367 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6368 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6369 6370commit 0846abeace649d27a5f2c17373e717f92d246797 6371Author: Tom St Denis <tom.stdenis@amd.com> 6372Date: Thu Oct 1 12:13:21 2015 -0400 6373 6374 stop caching mode resources 6375 6376 Based on radeon commit 32b003cb7657e07d5af6338ad44d768eda87fd33 6377 6378 > This is step one towards MST connector hotplug support, 6379 > it stop caching the mode resources structure, and 6380 > just passes a pointer to it around. 6381 6382 With a few tweaks to match the state of the AMDGPU tree. 6383 6384 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6385 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6386 6387commit 4ca8f957e0b417b099f625470db98a54531a731d 6388Author: Tom St Denis <tom.stdenis@amd.com> 6389Date: Thu Oct 1 13:16:15 2015 -0400 6390 6391 Silence type mismatch warning. 6392 6393 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6394 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6395 6396commit a79735ab1499c1f7814036d1b19ff465705c5f45 6397Author: Tom St Denis <tom.stdenis@amd.com> 6398Date: Thu Oct 1 10:51:07 2015 -0400 6399 6400 Add support for server managed fds 6401 6402 Based on radeon commit ed0cfbb4fe77146b0b38f777bc28f3a4ea6da07f 6403 6404 and 2nd patch: 6405 6406 Fix building on older servers without xf86platformBus.h 6407 6408 Based on radeon commit b50da3b96c212086cb58501dbe988d64f1f35b6d 6409 6410 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6411 6412 [ Michel Dänzer: Fixed up amdgpu_kernel_open_fd() not to need 6413 AMDGPUEntPriv(), which doesn't work yet at that point ] 6414 6415 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> 6416 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6417 6418commit b93934a9ed5e92f3a6eac6554c5c4fa2967a6dd0 6419Author: Tom St Denis <tom.stdenis@amd.com> 6420Date: Thu Oct 1 10:05:36 2015 -0400 6421 6422 Add amdgpu_open_drm_master helper function 6423 6424 Based on radeon commit 3d7861fe112f25874319d4cdc12b745fbcd359cf 6425 6426 > This is a preparation patch for adding server-managed-fd support without it 6427 > turning into a goto fest. 6428 6429 With appropriate modifications because the open call stack is different 6430 in the amdgpu tree. 6431 6432 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6433 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6434 6435commit f5c3fd0b57cf9e392bf591110568637937a1d338 6436Author: Tom St Denis <tom.stdenis@amd.com> 6437Date: Thu Oct 1 09:13:57 2015 -0400 6438 6439 Cleaning up for server-fd support 6440 6441 Based on radeon commit a63342ad15408071437c80b411d14196f3288aed 6442 6443 > radeon_open_drm_master get rid of unnecessary goto 6444 6445 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6446 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6447 6448commit 3055724aef76a624718f26d5f0f9e9d567ffbcfb 6449Author: Tom St Denis <tom.stdenis@amd.com> 6450Date: Thu Sep 24 13:08:31 2015 -0400 6451 6452 Simplify pick best crtc to fold two loops into one 6453 6454 This patch folds the two for loops from amdgpu_pick_best_crtc() into 6455 one to reduce the LOC and make the routine easier to read. 6456 6457 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6458 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6459 6460commit 9945b4ae1664ab815b39ff07e7b66cfa7f942dfa 6461Author: Tom St Denis <tom.stdenis@amd.com> 6462Date: Wed Sep 9 09:38:02 2015 -0400 6463 6464 Avoid use-after-free in drmmode_output_destroy() 6465 6466 The encoders array is freed before potentially all of the elements of 6467 the array are individually freed. 6468 6469 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6470 Reviewed-by: Christian König <christian.koenig@amd.com> 6471 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6472 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (cosmetic fixups) 6473 6474commit 36b3faebdd1d2090a286616eeeb131d15e9a1386 6475Author: Tom St Denis <tom.stdenis@amd.com> 6476Date: Wed Sep 9 09:36:59 2015 -0400 6477 6478 Avoid use-after-free in amdgpu_kernel_open_fd() 6479 6480 If the device cannot be opened avoid re-using busid after it has been 6481 freed. 6482 6483 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6484 Reviewed-by: Christian König <christian.koenig@amd.com> 6485 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6486 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (cosmetic fixups) 6487 6488commit 8823c3d4c6db70cff7699b31088f2d92db8faaf4 6489Author: Tom St Denis <tom.stdenis@amd.com> 6490Date: Wed Sep 9 09:34:38 2015 -0400 6491 6492 dri2: Avoid calculation with undefined msc value 6493 6494 If the get_msc() call fails for any reason we should avoid updating the 6495 vblank counter delta with undefined data. 6496 6497 Signed-off-by: Tom St Denis <tom.stdenis@amd.com> 6498 Reviewed-by: Christian König <christian.koenig@amd.com> 6499 Acked-by: Alex Deucher <alexander.deucher@amd.com> 6500 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (minor fixups) 6501 6502commit 63948ea091a9b324327ade7ec4fc5d67ca7e6f6f 6503Author: Michel Dänzer <michel.daenzer@amd.com> 6504Date: Fri Aug 14 18:41:57 2015 +0900 6505 6506 DRI2: Keep MSC monotonic when moving window between CRTCs 6507 6508 This mirrors the DRI3 implementation in xserver. Fixes VDPAU video 6509 playback hanging when moving the window between CRTCs. 6510 6511 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66384 6512 6513 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6514 6515commit 55a4461bd95698cb8d52f9f6c28583f8f81afb4e 6516Author: Michel Dänzer <michel.daenzer@amd.com> 6517Date: Fri Aug 7 11:46:31 2015 +0900 6518 6519 Wait for scanout BO initialization to finish before setting mode 6520 6521 This should avoid intermittent artifacts which could sometimes be visible 6522 when setting a new scanout pixmap, e.g. on server startup or when 6523 changing resolutions. 6524 6525 (Ported from radeon commit 3791fceabf2cb037467dc41c15364e9f9ec1e47e) 6526 6527 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6528 6529commit 4c425e9c5c038504a0f0498dd800ab1fb40bf0c5 6530Author: Michel Dänzer <michel.daenzer@amd.com> 6531Date: Fri Aug 7 12:39:24 2015 +0900 6532 6533 glamor: Add amdgpu_glamor_finish to wait for glamor rendering to finish 6534 6535 This is a bit sneaky, because it calls glFinish directly from the driver, 6536 but it seems to work fine. 6537 6538 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6539 6540commit bb989e173dc364a7d68e50d7e819d0e0ee133d2f 6541Author: Michel Dänzer <michel.daenzer@amd.com> 6542Date: Fri Aug 7 11:43:48 2015 +0900 6543 6544 Only call drmmode_copy_fb (at most) once on server startup 6545 6546 It doesn't make sense to copy the screen contents from console when VT 6547 switching back to Xorg or when Xorg resets. 6548 6549 Fixes intermittent artifacts when VT switching back from console to the 6550 gdm login screen. 6551 6552 (Ported from radeon commit 4e3dfa69e4630df2e0ec0f5b81d61159757c4664) 6553 6554 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6555 6556commit ebe2c020fbf2ef8de01fc50b201ab23ddb9fb13b 6557Author: Mario Kleiner <mario.kleiner.de@gmail.com> 6558Date: Mon Aug 10 23:34:40 2015 +0200 6559 6560 Make selection between DRI2 and DRI3 consistent with other drivers. (v2) 6561 6562 Add Option "DRI" to allow selection of maximum DRI level. 6563 6564 This allows the user to select the maximum level of DRI 6565 implementation to use, DRI2 or DRI3. It replaces the old 6566 option "DRI3" which had exactly the same purpose, but 6567 differs from the method used in both intel ddx and nouveau ddx. 6568 Make this consistent before a new stable driver is released. 6569 6570 v2: Retain handling of old Option "DRI3" for backwards 6571 compatibility, but Option "DRI" will take precedence 6572 over "DRI3" if both are provided. 6573 6574 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 6575 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6576 6577commit c9611a2aa0f8d3bb55c552353740d60f6e4f63a0 6578Author: Alex Deucher <alexander.deucher@amd.com> 6579Date: Tue Jul 7 22:46:34 2015 -0400 6580 6581 add fiji pci id 6582 6583 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6584 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 6585 6586commit 2622ac1554761b8824bfbbb2e3051a632ee38ce7 6587Author: Alex Deucher <alexander.deucher@amd.com> 6588Date: Tue Jul 7 22:46:08 2015 -0400 6589 6590 Add fiji support 6591 6592 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6593 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 6594 6595commit 7a49d8728d17875206a84fd1023f62b37c4a9f51 6596Author: Michel Dänzer <michel.daenzer@amd.com> 6597Date: Thu Aug 6 18:21:30 2015 +0900 6598 6599 On screen resize, clear the new buffer before displaying it 6600 6601 Fixes garbage being intermittently visible during a screen resize. 6602 6603 (Ported from radeon commit 80f3d727f93cb6efedd2b39338d2301035965fe2) 6604 6605 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6606 6607commit 9f988bf1dc9d4cb92926c051ed8f15e9ba58a016 6608Author: Michel Dänzer <michel.daenzer@amd.com> 6609Date: Thu Aug 6 17:50:11 2015 +0900 6610 6611 Make drmmode_copy_fb() work with glamor 6612 6613 Needed for Xorg -background none. 6614 6615 (Ported from radeon commit 3999bf88cdb192fe2f30b03bd2ed6f6a3f9f9057) 6616 6617 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6618 6619commit 13cf61bd8d46b0059f26120a8902da6f86e6bd11 6620Author: Michel Dänzer <michel.daenzer@amd.com> 6621Date: Thu Aug 6 17:46:38 2015 +0900 6622 6623 Update scanout pixmap contents before setting a mode with it 6624 6625 This ensures the scanout pixmaps used for Option "TearFree" and Option 6626 "ShadowPrimary" have been initialized when their initial mode is set. 6627 6628 (Ported from radeon commit a4a8cdbcc10c1c5f07485a2af9e9e81e490c3e1d) 6629 6630 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6631 6632commit 15050aabf256c17250d1fca0bfac97fc6707b195 6633Author: Michel Dänzer <michel.daenzer@amd.com> 6634Date: Thu Aug 6 17:37:11 2015 +0900 6635 6636 Defer initial modeset until the first BlockHandler invocation 6637 6638 This ensures that the screen pixmap contents have been initialized when 6639 the initial modes are set. 6640 6641 (Ported from radeon commits 673e1c7637687c74fc9bdeeeffb7ace0d04b734f and 6642 1584dc545c78e0bce8d4b4b9f26b568e2c211453) 6643 6644 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6645 6646commit 96b5364496222f1b3afb9caad458f16f156b6c47 6647Author: Michel Dänzer <michel.daenzer@amd.com> 6648Date: Thu Aug 6 17:32:45 2015 +0900 6649 6650 Defer initial drmmode_copy_fb call until root window creation 6651 6652 That's late enough for acceleration to be fully initialized, but still 6653 early enough to set pScreen->canDoBGNoneRoot. 6654 6655 (Ported from radeon commit 37874a4eeace5df04b02c8fc28f67b824e3f0f5f) 6656 6657 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6658 6659commit 0fb45f2bba89379ba25d4c863091937b6384bda9 6660Author: Michel Dänzer <michel.daenzer@amd.com> 6661Date: Thu Aug 6 17:25:53 2015 +0900 6662 6663 Only copy fbcon BO contents if bgNoneRoot is TRUE 6664 6665 Otherwise, the X server will initialize the screen pixmap contents 6666 anyway. 6667 6668 (Ported from radeon commit 39c497f3efca5ca08343b884f44c93215dcdef31) 6669 6670 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6671 6672commit cac553d3b691d26eaad24fbdcba06097b6728a6d 6673Author: Michel Dänzer <michel.daenzer@amd.com> 6674Date: Thu Aug 6 17:20:22 2015 +0900 6675 6676 Add .dir-locals.el file with Emacs indentation settings 6677 6678 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6679 6680commit ea32253541959cc36a40fb0118200a8f493dc98a 6681Author: Jammy Zhou <Jammy.Zhou@amd.com> 6682Date: Wed Jul 15 11:26:28 2015 +0800 6683 6684 Adapt to the interface change of amdgpu_bo_alloc v3 6685 6686 The amdgpu_bo_alloc_result structure is removed from libdrm_amdgpu, 6687 and the amdgpu_bo_handle is returned directly 6688 6689 v2: remove the va_map/unmap 6690 v3: simply the code a bit 6691 6692 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 6693 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6694 6695commit 3010d3259d3bc74263d526e54e02bc169c8d4b4d 6696Author: Mario Kleiner <mario.kleiner.de@gmail.com> 6697Date: Wed Jul 15 09:54:59 2015 +0200 6698 6699 Allow/Fix use of multiple ZaphodHead outputs per x-screen. 6700 6701 Defining multiple ZaphodHead outputs per x-screen in a 6702 multiple x-screen's per gpu configuration caused all 6703 outputs except one per x-screen to go dark, because 6704 there was a fixed mapping x-screen number -> crtc number, 6705 limiting the number of crtc's per x-screen to one. 6706 6707 On a ZaphodHead's setup, be more clever and assign 6708 as many crtc's to a given x-screen as there are 6709 ZaphodHeads defined for that screen, assuming 6710 there are enough unused crtc's available. 6711 6712 (Ported from radeon commit afab7839fc15722dbaa7203d00fe7f6ce5336b9d) 6713 6714 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> 6715 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6716 6717commit 159c5d460a330cf0a24678f3c6c3e2fbaf23c571 6718Author: Dave Airlie <airlied@gmail.com> 6719Date: Tue Jul 14 17:04:14 2015 +0900 6720 6721 Adopt for new X server dirty tracking APIs. 6722 6723 Signed-off-by: Dave Airlie <airlied@redhat.com> 6724 6725 (Ported from radeon commit b6d871bf299c7d0f106c07ee4d8bd3b2337f53cc) 6726 6727 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6728 6729commit 7b3212e33cd36fb6f122774df27b56ec4e1a22b8 6730Author: Michel Dänzer <michel.daenzer@amd.com> 6731Date: Thu Jul 9 17:57:29 2015 +0900 6732 6733 DRI2: Don't ignore rotated CRTCs in amdgpu_dri2_drawable_crtc 6734 6735 Waiting for vblank interrupts works fine with rotated CRTCs. The only 6736 case we can't handle with rotation is page flipping, which is handled 6737 in can_exchange(). 6738 6739 This fixes gnome-shell hanging on rotation, probably because 6740 amdgpu_dri2_get_msc returned MSC/UST 0 for rotated CRTCs. 6741 6742 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 6743 6744commit 5587a7b43d02d6371ed4675a6260427492ebad94 6745Author: Piotr Redlewski <predlewski@gmail.com> 6746Date: Wed Jul 8 20:59:14 2015 +0200 6747 6748 Do not try to enable already enabled CRTCs in DPMS hook 6749 6750 (Ported from radeon commit a8ed62010d5012dfb27773595c446b217f3c00c5) 6751 6752 Signed-off-by: Piotr Redlewski <predlewski@gmail.com> 6753 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6754 6755commit b176e63df20b345cb378fe962afd14eed43421d3 6756Author: Piotr Redlewski <predlewski@gmail.com> 6757Date: Sun Jun 28 23:20:22 2015 +0200 6758 6759 Enable/disable CRTCs in DPMS hook 6760 6761 The CRTC DPMS hook hasn't enabled or disabled hardware CRTCs. 6762 6763 (Based on radeon commit 48e5be1d5a82c1e0ccf6b7d52924c92a630e52a8) 6764 6765 Signed-off-by: Piotr Redlewski <predlewski@gmail.com> 6766 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6767 6768commit d94d4a609c593b46ab718544ee24c25530732f22 6769Author: Michel Dänzer <michel.daenzer@amd.com> 6770Date: Thu Jun 11 17:49:33 2015 +0900 6771 6772 Handle CRTC DPMS from output DPMS hooks 6773 6774 This fixes at least two issues: 6775 6776 The CRTC DPMS hook isn't called after a modeset, so the vertical blank 6777 interrupt emulation code considered the CRTC disabled after a modeset. As 6778 a side effect, page flipping was no longer used after a modeset. 6779 6780 This change also makes sure the vertical blank interrupt emulation code 6781 runs before the hardware CRTC is disabled and after it's enabled from the 6782 output DPMS hook. The wrong order could cause gnome-shell to hang after 6783 a suspend/resume and/or DPMS off/on cycle. 6784 6785 (Ported from radeon commit c4ae0e2cbcc0e2ebf9f13ee92d59b5120254a1dc) 6786 6787 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6788 6789commit c57da33308a81fa575179238a0415abcb8b34908 6790Author: Michel Dänzer <michel.daenzer@amd.com> 6791Date: Tue Jun 9 12:39:21 2015 +0900 6792 6793 Add Option "TearFree" 6794 6795 Avoids tearing by flipping between two scanout BOs per (non-rotated) CRTC 6796 6797 (Cherry picked from radeon commit 43159ef400c3b18b9f4d3e6fa1c4aef2d60d38fe) 6798 6799 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6800 6801commit bd0aca09770543fa77b934e1728a832c9c2dc90c 6802Author: Michel Dänzer <michel.daenzer@amd.com> 6803Date: Tue Jun 9 11:57:59 2015 +0900 6804 6805 glamor: Remove the stride member of struct radeon_pixmap 6806 6807 Its value was always the same as that of the PixmapRec devKind member. 6808 6809 (Cherry picked from radeon commit ed401f5b4f07375db17ff05e294907ec95fc946d) 6810 6811 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6812 6813commit e5dfb6c2667994701ee451bf82c4142cbf343405 6814Author: Michel Dänzer <michel.daenzer@amd.com> 6815Date: Wed Mar 18 16:23:24 2015 +0900 6816 6817 glamor: Add Option "ShadowPrimary" 6818 6819 When this option is enabled, most pixmaps (including the screen pixmap) 6820 are allocated in system RAM and mostly accessed by the CPU. Changed areas 6821 of the screen pixmap are copied to dedicated per-CRTC scanout pixmaps 6822 regularly, triggered by the vblank interrupt. 6823 6824 (Cherry picked from radeon commits ae92d1765fa370a8d94c2856ad6c45d273ec3c69 6825 and 1af044d7eee211fd4b248c236280274a68334da5) 6826 6827 [ Michel Dänzer: Additional adjustements for the amdgpu driver ] 6828 6829 Signed-off-by: Darren Powell <darren.powell@amd.com> 6830 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6831 6832commit 08da7b691d556735dcc22b1351c886a5079dfd3f 6833Author: Michel Dänzer <michel.daenzer@amd.com> 6834Date: Wed Jun 10 16:21:21 2015 +0900 6835 6836 Add AMDGPU_CREATE_PIXMAP_GTT flag 6837 6838 When set, the pixmap memory is allocated in GTT instead of in VRAM. 6839 6840 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6841 6842commit 59bdb578266a2637fda8d11168b9332f6845157c 6843Author: Michel Dänzer <michel.daenzer@amd.com> 6844Date: Wed Jun 10 12:04:29 2015 +0900 6845 6846 Factor out amdgpu_bo_get_handle helper 6847 6848 The helper transparently handles BOs allocated from GBM and 6849 libdrm_amdgpu. 6850 6851 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6852 6853commit 9a6eff506b6804481a6e8139d362355fc5ffdbfb 6854Author: Michel Dänzer <michel.daenzer@amd.com> 6855Date: Wed Jun 10 12:10:24 2015 +0900 6856 6857 Set AMDGPU_BO_FLAGS_GBM for cursor buffers allocated from GBM 6858 6859 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6860 6861commit d3ea8a69b02b308f8f23662be6e0c7bd81c1a2c9 6862Author: Michel Dänzer <michel.daenzer@amd.com> 6863Date: Fri May 29 18:53:50 2015 +0900 6864 6865 glamor: Add wrappers for the X server rendering hooks 6866 6867 They can choose between using the GPU or CPU for the operation. 6868 6869 (cherry picked from radeon commits eea79472a84672ee4dc7adc4487cec6a4037048a 6870 and e58fc380ccf2a581d28f041fd74b963626ca5404) 6871 6872 Signed-off-by: Darren Powell <darren.powell@amd.com> 6873 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6874 6875commit 895e4d73d5f042afa13065b64a78f5625ecb5612 6876Author: Michel Dänzer <michel.daenzer@amd.com> 6877Date: Fri May 29 18:53:40 2015 +0900 6878 6879 glamor: Remove unused function radeon_glamor_pixmap_is_offscreen 6880 6881 (cherry picked from radeon commit 2fa021f77372ca93375a3d13a0c43a9089674899) 6882 6883 Signed-off-by: Darren Powell <darren.powell@amd.com> 6884 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6885 6886commit cc5671c587d575b2a7d2802d17e8af0384a2cea5 6887Author: Michel Dänzer <michel.daenzer@amd.com> 6888Date: Fri May 29 18:53:36 2015 +0900 6889 6890 Add RADEON_CREATE_PIXMAP_SCANOUT flag 6891 6892 It means that the pixmap is used for scanout exclusively. 6893 6894 (cherry picked from radeon commit e96349ba6281fd18b8bf9c76629128276b065e6c) 6895 6896 Signed-off-by: Darren Powell <darren.powell@amd.com> 6897 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6898 6899commit 21834953ee64920438dee1c94f3a1e53dc58b82d 6900Author: Michel Dänzer <michel.daenzer@amd.com> 6901Date: Fri May 29 18:53:32 2015 +0900 6902 6903 Split out struct drmmode_scanout for rotation shadow buffer information 6904 6905 Will be used for other kinds of dedicated scanout buffers as well. 6906 6907 (cherry picked from radeon commit 9be7dd382e86d2b804de81d4e2af7431b2e16843) 6908 6909 Signed-off-by: Darren Powell <darren.powell@amd.com> 6910 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6911 6912commit e4e4f7b83e7d7e43993fa0793d666d6dec2980f8 6913Author: Michel Dänzer <michel.daenzer@amd.com> 6914Date: Fri May 29 18:53:21 2015 +0900 6915 6916 Rename scanout_pixmap_x field to prime_pixmap_x 6917 6918 To avoid confusion with upcoming changes. 6919 6920 (cherry picked from radeon commit c32b0530302739f6512755bccf281c2300617376) 6921 6922 Signed-off-by: Darren Powell <darren.powell@amd.com> 6923 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6924 6925commit edfff6b1a3a19953644b8052b30076f76f7dc337 6926Author: Michel Dänzer <michel.daenzer@amd.com> 6927Date: Tue Jun 2 17:04:21 2015 +0900 6928 6929 Add DRI3 support 6930 6931 Must be enabled with 6932 6933 Option "DRI3" 6934 6935 in xorg.conf. 6936 6937 (Cherry picked from radeon commits 64e1e4dbdd3caee6f5d8f6b6c094b4533fa94953, 6938 694e04720b886060fe3eefdce59741f218c8269f, 6939 f940fd741b15f03393037c5bb904cd74f012de9d, 6940 fcd37f65f485291084c174666bd605e215bf1398, 6941 4b0997e56dec0053cb2cb793e0f4ae35055ff7e6, 6942 f68d9b5ba0c91a725b5eec9386c61bea8824c299 and 6943 98fb4199e63fedd4607cddee64bf602d6398df81) 6944 6945 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6946 6947commit d295b5b3310bc5c23d232c4be4170165a057c090 6948Author: Michel Dänzer <michel.daenzer@amd.com> 6949Date: Tue Jun 2 17:01:06 2015 +0900 6950 6951 amdgpu_set_shared_pixmap_backing: Add support for GBM / glamor v2 6952 6953 v2: Initialize reference count of imported GBM BOs to 1, fixes leaking 6954 them. 6955 6956 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> [v1] 6957 6958commit 03ad0fa0185d215f7d4234006e04406af1ab63ca 6959Author: Michel Dänzer <michel.daenzer@amd.com> 6960Date: Fri May 29 18:53:45 2015 +0900 6961 6962 glamor: Add radeon_pixmap parameter to radeon_glamor_create_textured_pixmap 6963 6964 (cherry picked from radeon commit 051d46382656ffc3e6cac1aab3aee7efdf5b623a) 6965 6966 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 6967 Signed-off-by: Darren Powell <darren.powell@amd.com> 6968 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6969 6970commit fafb8c6ac925ad16073e5a60dbf60d5add11bb25 6971Author: Michel Dänzer <michel.daenzer@amd.com> 6972Date: Tue Jun 2 17:00:46 2015 +0900 6973 6974 Add support for the Present extension 6975 6976 (Cherry picked from radeon commits 3c65fb849e1ba9fb6454bcaa55b696548902f3fc, 6977 694e04720b886060fe3eefdce59741f218c8269f, 6978 e3be8b0a8cf484ff16597413a6172788178e80c8, 6979 80eede245d1eda27eaba108b0761a24bfd69aff6 and 6980 5f82a720374c9c1caebb42bfbeea1f0cf8847d28) 6981 6982 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6983 6984commit 5b51f0e7e396ea946ef85429a8e9be5c1d5c39c3 6985Author: Michel Dänzer <michel.daenzer@amd.com> 6986Date: Tue Jun 2 16:58:27 2015 +0900 6987 6988 Add support for SYNC extension fences 6989 6990 (Cherry picked from radeon commits 8fc9a241ab59ffbcdc178d6415332c88a54e85fe, 6991 af1862a37570fa512a525ab47d72b30400d2e2d6, 6992 aa7825eb29cdf6ac9d7b28ad18186807ff384687, 6993 af6076241c0d322b295a4e898407ae2472bd8eb4 and 6994 d64a13ebe0ecd241ee3260dbffd8f4a01e254183) 6995 6996 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 6997 6998commit a30060d22a42688371166a861e5050fdd5ce8f7b 6999Author: Michel Dänzer <michel.daenzer@amd.com> 7000Date: Mon Jun 1 18:33:33 2015 +0900 7001 7002 DRI2: Split out helper for getting UST and MSC of a specific CRTC 7003 7004 (Cherry picked from radeon commits 76c2923ac5c7230a8b2f9f8329c308d28b44d9c0 7005 and d7c82731a8bf3d381bc571b94d80d9bb2dd6e40d) 7006 7007 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7008 7009commit 9a554a683b970660b467566cf05b921393705a20 7010Author: Michel Dänzer <michel.daenzer@amd.com> 7011Date: Mon Jun 1 17:32:56 2015 +0900 7012 7013 DRI2: Use helper functions for DRM event queue management 7014 7015 This is mostly in preparation for Present support, but it also simplifies 7016 the DRI2 specific code a little. 7017 7018 (Cherry picked from radeon commit 6c3a721cde9317233072b573f9502348dcd21b16) 7019 7020 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7021 7022commit e6164ad340f65ff8ee6f6a6934302591af875a43 7023Author: Michel Dänzer <michel.daenzer@amd.com> 7024Date: Mon Jun 1 17:29:30 2015 +0900 7025 7026 DRI2: Move amdgpu_dri2_flip_event_handler 7027 7028 In preparation for the next change, which will modify it to a static 7029 function which needs to be in the new place. No functional change. 7030 7031 (Cherry picked from radeon commit c3fa22a479e61d1899fa9d327d9c4e2a7f64b0c1) 7032 7033 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7034 7035commit 5419e13da7ec3cffd43510ac88106076ea81124c 7036Author: Michel Dänzer <michel.daenzer@amd.com> 7037Date: Mon Jun 1 17:25:23 2015 +0900 7038 7039 DRI2: Remove superfluous assignments to *_info->frame 7040 7041 That field is only used for page flipping. 7042 7043 (Cherry picked from radeon commit 65045112fdc8a9fa36e0e00f46739a6152b775ff) 7044 7045 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7046 7047commit f4c2b640be17ab1f8694b35d4cb74ccfce3d1385 7048Author: Michel Dänzer <michel.daenzer@amd.com> 7049Date: Mon Jun 1 17:11:30 2015 +0900 7050 7051 DRI2: Simplify blit fallback handling for scheduled swaps 7052 7053 Also use amdgpu_dri2_schedule_event when possible. 7054 7055 (Cherry picked from radeon commit ad27f16f308079d06a2b1c788b3cb0947531253a) 7056 7057 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7058 7059commit 13a7284e061081a12180b375d66f9b8394cf8753 7060Author: Michel Dänzer <michel.daenzer@amd.com> 7061Date: Mon Jun 1 16:58:00 2015 +0900 7062 7063 Add DRM event queue helpers 7064 7065 (Cherry picked from radeon commit b4af8a327ed8420f0ff4ea0f113f4a59406ed4d3) 7066 7067 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7068 7069commit eb7c6958dff5cb8b0aad02d1d5673483dae4e3d4 7070Author: Michel Dänzer <michel.daenzer@amd.com> 7071Date: Mon Jun 1 16:52:40 2015 +0900 7072 7073 Move xorg_list backwards compatibility to new amdgpu_list.h header 7074 7075 (Cherry picked from radeon commits 7c3470f4b659206ed23f761948936ede3a2dba3d 7076 and 4a98f60117c387a228d5cbaadb6e298fb4e865df) 7077 7078 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7079 7080commit 69d161a54b4ea0d8033a0873210f2857c91ceae8 7081Author: Michel Dänzer <michel.daenzer@amd.com> 7082Date: Mon Jun 1 16:46:30 2015 +0900 7083 7084 Require at least xserver 1.8 7085 7086 So we can rely on the list.h header. 7087 7088 xserver 1.8 was released in April 2010. 7089 7090 (Cherry picked from radeon commit 7388d0b6c54b9d536fdb161e3aa61b326627b939) 7091 7092 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7093 7094commit 7363156b7c077def2aaf9a4573410817f5e92610 7095Author: Jammy Zhou <Jammy.Zhou@amd.com> 7096Date: Sat May 30 00:31:44 2015 +0800 7097 7098 Check GBM_BO_USE_LINEAR correctly v2 7099 7100 v2: remove the check for gbm.h 7101 7102 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 7103 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7104 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> [v1] 7105 7106commit e75e9f39c95b8b563885882bf29d776861cd6ca3 7107Author: Brian Paterni <bpaterni@gmail.com> 7108Date: Sat May 16 15:00:14 2015 -0500 7109 7110 extend conditional group GBM_BO_USE_LINEAR 7111 over both usages 7112 7113 Fixes 'GBM_BO_USE_LINEAR' undeclared error when compiling against older 7114 libgbm 7115 7116 Signed-off-by: Brian Paterni <bpaterni@gmail.com> 7117 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7118 7119commit 37b389ee9e13f065fb080d1269f9a6aed616c210 7120Author: Michel Dänzer <michel.daenzer@amd.com> 7121Date: Fri May 15 10:24:24 2015 +0900 7122 7123 glamor: Deal with glamor_glyphs_init being removed from xserver 7124 7125 Port of radeon commit 818c180c8932233b214a35ba0647af82f7bcec3d. 7126 7127commit 22917044e419023d487f816e0d4f094695b55fa6 7128Author: Alex Deucher <alexander.deucher@amd.com> 7129Date: Tue May 12 13:29:00 2015 -0400 7130 7131 add some new tonga pci ids 7132 7133 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 7134 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7135 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 7136 7137commit e71be4a22799ec4c02051b75c5fed16a3a953c7b 7138Author: Alex Deucher <alexander.deucher@amd.com> 7139Date: Tue May 12 13:25:02 2015 -0400 7140 7141 add new bonaire pci id 7142 7143 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 7144 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7145 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 7146 7147commit b795d1e137b34a314b4b41d025d96ca9251d6bbe 7148Author: Michel Dänzer <michel.daenzer@amd.com> 7149Date: Thu May 7 18:05:32 2015 +0900 7150 7151 Link against libgbm 7152 7153 Fixes unresolved symbol "gbm_create_device". 7154 7155 Reported-and-Tested-by: Brian Paterni <bpaterni@gmail.com> 7156 7157commit 7e3b27390a03e423772717fca3c757cf5cc4d7b4 7158Author: Jammy Zhou <Jammy.Zhou@amd.com> 7159Date: Tue May 12 05:34:49 2015 +0800 7160 7161 Disable tiling for PRIME shared pixmap 7162 7163 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 7164 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7165 7166commit 4840f918ab7d61b4f55bcdff3afdac7b34e45d88 7167Author: Jammy Zhou <Jammy.Zhou@amd.com> 7168Date: Tue May 12 00:09:42 2015 +0800 7169 7170 Use gbm_bo_get_fd to get DMA_BUF fd 7171 7172 When GBM is used for buffer allocation, gbm_bo_get_fd should be 7173 used to get the DMA_BUF fd. 7174 7175 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 7176 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7177 7178commit b69c5b3cc2d7da3bb85acd687db9b5a021258914 7179Author: Marek Olšák <marek.olsak@amd.com> 7180Date: Fri Mar 27 22:56:37 2015 +0100 7181 7182 ddx: use amdgpu_query_crtc_from_id 7183 7184 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 7185 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7186 7187commit 91aa694a7da7b690a3e5d59a1a8fa42cbb3ebda4 7188Author: Marek Olšák <marek.olsak@amd.com> 7189Date: Fri Mar 27 22:22:35 2015 +0100 7190 7191 ddx: remove AMDGPUIsAccelWorking 7192 7193 libdrm fails to initialize without acceleration, so this always returns true. 7194 7195 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 7196 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7197 7198commit afc33040f862e2e13ba7f132bb363cf16fb6a1d7 7199Author: Marek Olšák <marek.olsak@amd.com> 7200Date: Fri Mar 27 22:14:37 2015 +0100 7201 7202 ddx: enable acceleration by default on Hawaii 7203 7204 Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> 7205 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7206 7207commit 8a34a8149860ac15e83ccdbd8d9a527d8d3e5997 7208Author: Jammy Zhou <Jammy.Zhou@amd.com> 7209Date: Mon Apr 27 14:27:34 2015 +0800 7210 7211 Remove throttling from amdgpu_dri2_copy_region2 7212 7213 Throttling should be handled by the client-side drivers. 7214 7215 Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> 7216 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7217 7218commit 9f61a5506b1028d30c99cb5866abcec35d5c9cb8 7219Author: Alex Deucher <alexander.deucher@amd.com> 7220Date: Fri Apr 24 11:47:32 2015 -0400 7221 7222 fixup README 7223 7224 Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 7225 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 7226 7227commit a49ad11af18dad74506c2f69d7bbda07b67529d2 7228Author: Michel Dänzer <michel.daenzer@amd.com> 7229Date: Fri Apr 24 09:57:27 2015 +0900 7230 7231 Add 10-amdgpu.conf xorg.conf.d snippet 7232 7233 This instructs Xorg >= 1.16 to try loading the amdgpu driver for devices 7234 managed by the amdgpu kernel driver. 7235 7236 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7237 7238commit fa4aed6cf56048a6520eac57514e38db3685cd15 7239Author: Michel Dänzer <michel.daenzer@amd.com> 7240Date: Fri Apr 24 09:53:33 2015 +0900 7241 7242 Document Option "AccelMethod" in the manpage 7243 7244 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7245 7246commit fe4a4b6836252cc8caa642a32fb3910c8590076b 7247Author: Michel Dänzer <michel.daenzer@amd.com> 7248Date: Fri Apr 24 09:52:04 2015 +0900 7249 7250 Fix build when gbm.h doesn't define GBM_BO_USE_LINEAR 7251 7252 Option "AccelMethod" "none" is ignored in that case. 7253 7254 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> 7255 7256commit 84df3e7114fb71b5e10c1a6f7869ab1505fef5b0 7257Author: Michel Dänzer <michel.daenzer@amd.com> 7258Date: Fri Apr 24 09:51:22 2015 +0900 7259 7260 glamor: Handle GLAMOR_* flags removed from xserver 7261 7262 The behaviour is the same as when the removed flags were passed in. 7263 7264 (cherry picked from radeon commit b16609b453bb1a181198cf27778f205dc23fb642) 7265 7266 Reviewed-by: Christian König <christian.koenig@amd.com> 7267 7268commit b947f4bf4efa8841bea4d306d0b0d21c7511c724 7269Author: Michel Dänzer <michel.daenzer@amd.com> 7270Date: Fri Apr 24 09:50:51 2015 +0900 7271 7272 Move #include "radeon_glamor.h" from amdgpu_drv.h to where it's needed 7273 7274 (cherry picked from radeon commit 4b8adebb80158bcf81ada83bb88517febe931b12) 7275 7276 Reviewed-by: Christian König <christian.koenig@amd.com> 7277 7278commit ff62bf6e9dce55dbde92baf4fa30193c7344ee8a 7279Author: Alex Deucher <alexander.deucher@amd.com> 7280Date: Mon Apr 20 11:57:52 2015 -0400 7281 7282 amdgpu: add the xf86-video-amdgpu driver 7283 7284 This adds the new xf86-video-amdgpu driver for 7285 newer AMD GPUs. 7286 7287 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> 7288