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