I'm pleased to announce the 1.4.0 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
This release supports xserver versions 1.13-1.19.
Highlights:
* Clients can now use DRI page flipping even while TearFree is enabled
for any CRTC. This should improve performance of such clients
(including compositing managers) while TearFree is enabled, and avoid
other issues such as tearing on other CRTCs where TearFree isn't
enabled.
* The driver now takes measures to prevent other DRM master processes
(potentially from other local users) from accessing buffers created by
this driver while switched away to a different VT. Other DRM master
processes should only be able to access a single buffer anymore, which
contains only all-black pixels.
* The gamma ramp is now applied to the HW cursor as well, so the HW
cursor doesn't look odd when e.g. using Redshift or similar tools.
Plus other improvements and fixes. Thanks to everybody who contributed
to this release in any way!
Adam Jackson (1):
modesetting: Validate the atom for enum properties
Daniel Stone (1):
Set correct DRM event context version
Eric Anholt (1):
Use plain glamor_egl_create_textured_screen().
Martin Peres (1):
modesetting: re-set the crtc's mode when link-status goes BAD
Michel Dänzer (45):
Post-release version bump
manpage: Don't put "'" at the beginning of a line
Don't set modes before AMDGPUWindowExposures_oneshot is called
Apply gamma correction to HW cursor
Remove unused struct members from drmmode_display.h
Don't enable DRI3 without glamor
Simplify tracking of PRIME scanout pixmap
Update URLs
Use reference counting for tracking KMS framebuffer lifetimes
Improve AMDGPUPreInitAccel_KMS log messages
Increase reference count of FB assigned to drmmode_crtc->flip_pending
Improve drmmode_fb_reference debugging code
Only call drmmode_scanout_free for non-GPU screens in LeaveVT
Use drmmode_crtc->scanout_id instead of 0 to check for scanout buffer
If a TearFree flip fails, fall back to non-TearFree operation
Add AC_CONFIG_MACRO_DIRS([m4]) to configure.ac
Makefile.am: Set ACLOCAL_AMFLAGS = -I m4
autogen.sh: Pass -f to autoreconf
Only handle reflection in the driver with Xorg < 1.16
Use root window (pixmap) instead of screen pixmap for scanout updates
Add drmmode_crtc_can_flip helper
Allow DRI page flipping when some CRTCs use separate scanout buffers
Adapt to PixmapDirtyUpdateRec::src being a DrawablePtr
Remove drmmode_crtc->scanout_destroy[] array
Pass reference CRTC to amdgpu_do_pageflip directly
Create drmmode_wait_vblank helper
Create drmmode_crtc_wait_pending_event helper macro
Wait for pending flips synchronously before turning off a CRTC
Handle multiple "pending" Present flips
Add source drawable parameter to amdgpu_scanout_do_update
Pass extents to amdgpu_scanout_do_update
Always allow Present page flipping with TearFree
Always allow DRI2 page flipping with TearFree
Consolidate amdgpu_scanout_flip_abort/handler helpers
Use xorg_list_append for the DRM event list
Make amdgpu_scanout_do_update take a PixmapPtr instead of a DrawablePtr
Create amdgpu_pixmap_clear helper
Create drmmode_set_mode helper
Create amdgpu_pixmap_get_fb_ptr helper
Create amdgpu_master_screen helper
Make all active CRTCs scan out an all-black framebuffer in LeaveVT
Remove drmmode_scanout_free
Use a timer for unreferencing the all-black FB
Require xserver >= 1.13
Bump version for 1.4.0 release
Nicholas Molloy (1):
Fix a misspelling of 'acceleration' in amdgpu_kms.c
I'm pleased to announce the 1.3.0 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
This release supports xserver versions 1.10-1.19.
Highlights:
* Allow TearFree to be toggled at runtime via an RandR output property
"TearFree". The xorg.conf option "TearFree" now controls the default
value of the output properties.
* Use libdrm_amdgpu functionality to determine the GPU marketing name,
remove corresponding tables from this driver.
* Use DRM render nodes for DRI3 clients when available.
Plus many other improvements and fixes. Thanks to everybody who
contributed to this release in any way!
Emil Velikov (1):
autogen.sh: use quoted string variables
Hans De Goede (1):
amdgpu_probe: Do not close server managed drm fds
Jammy Zhou (1):
Use render node for DRI3 if available
Michel Dänzer (44):
Post-release version bump
Move struct amdgpu_gpu_info out of amdgpu_get_tile_config
Use family information from libdrm_amdgpu / kernel
Stop using generated amdgpu_device_match
Remove amdpciids.h
Stop using AMDGPUPciChipsets
Stop using AMDGPU(Unique)Chipsets
Remove generated header files
Use DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE/RELATIVE flags when available
Make libdrm >= 2.4.72 requirement explicit
Don't install Flush/EventCallback for GPU screens
Add amdgpu_is_gpu_screen helper
Take current scanout_id into account everywhere involved with TearFree
Fix amdgpu_scanout_extents_intersect for GPU screens
Call ValidateGC after ChangeClip in amdgpu_sync_scanout_pixmaps
Call amdgpu_drm_abort_entry on failure to flip to a scanout pixmap
Simplify drmmode_handle_uevents
Pass pitch from drmmode_crtc_scanout_allocate to drmmode_create_bo_pixmap
Call drmmode_crtc_scanout_create in drmmode_crtc_shadow_allocate as well
Fold drmmode_crtc_scanout_allocate into drmmode_crtc_scanout_create
Handle rotation in the driver also with Xorg 1.12-1.18
Fix flip event data leak if calloc or drmModeAddFB fails
Don't destroy current FB if drmModeAddFB fails
Factor out amdgpu_prime_dirty_to_crtc helper
Factor out drmmode_crtc_scanout_update helper
Allow toggling TearFree at runtime via output property
Use drmmode_crtc_scanout_free in drmmode_fini
present: Only call drmModeRmFB after setting modes for unflip
present: Wait for GPU idle before setting modes for unflip
present: Also flush before using a flip to unflip
present: Use async flip for unflip if possible
present: Flush before flipping
Call drmmode_set_desired_modes from a WindowExposures hook
Move DPMS check from amdgpu_scanout_do_update to amdgpu_scanout_flip
Don't call amdgpu_glamor_flush in drmmode_copy_fb
Don't use pScrn->is_gpu in AMDGPUCreateScreenResources_KMS
Use local implementation of RegionDuplicate for older xserver
Only define transform_region for XF86_CRTC_VERSION >= 4
glamor: Don't flush in BlockHandler with Xorg >= 1.19
Refactor amdgpu_kernel_close_fd helper
glamor: Use glamor_finish when available
Skip some initialization steps for GPU screens
Pass TRUE to drmmode_set_desired_modes the first time for GPU screens
Bump version for 1.3.0 release
Mihail Konev (1):
autogen: add default patch prefix
Peter Hutterer (1):
autogen.sh: use exec instead of waiting for configure to finish
jimqu (1):
udev_monitor_receive_device() will block when hotplug monitor
I'm pleased to announce the 1.2.0 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
This release supports xserver versions 1.10-1.19.
Highlights:
* Significant 2D compositing performance increase.
* Option "TearFree" can now prevent tearing in all possible display
configurations (with current versions of Xorg). Specifically, it's
now also effective with arbitrary RandR transforms and with RandR 1.4
slave output.
* DRI3 is now enabled by default if the Xorg version is >= 1.18.3 and
glamor is enabled.
* DRI3/Present asynchronous page flips are now supported (requires
corresponding kernel driver support, available in current versions of
the Linux kernel). This can increase performance of fullscreen
applications with sync-to-vblank disabled.
* The HW cursor can now be used with RandR 1.4 slave output or with
TearFree & rotation.
* Performance improvements with RandR 1.4 slave output.
* The list of supported GPUs in the Xorg log file has been tidied up.
* RandR 1.4 provider capabilities are now advertised more accurately.
* Support for SI family GPUs.
Plus many other improvements and fixes. Thanks to everybody who
contributed to this release in any way!
Adam Jackson (1):
Adapt Block/WakeupHandler signature for ABI 23
Alex Deucher (1):
add missing bonaire pci id
Flora Cui (3):
add strato pci id
Add more Polaris 10 PCI IDs
Add more Polaris 11 PCI IDs
Hans de Goede (3):
Remove unnecessary fb addition from drmmode_xf86crtc_resize
Only add main fb if necessary
PRIME: Fix swapping of provider sink / source capabilities
Keith Packard (1):
Use NotifyFd for drm fd
Marek Olšák (1):
Fix cursor size for SI
Michel Dänzer (65):
Post 1.1.0 release version bump
Add support for async flips to radeon_do_pageflip
present: Support async flips
Enable DRI3 by default when building for Xorg >= 1.18.3
Handle Zaphod mode correctly in amdgpu_mode_hotplug
glamor: Fix amdgpu_glamor_share_pixmap_backing for priv->bo == NULL
Remove amdgpu_share_pixmap_backing
Add amdgpu_pixmap_get_tiling_info
Consolidate get_drawable_pixmap helper
Move DRI2's local fixup_glamor helper to amdgpu_glamor_set_pixmap_bo v2
glamor: Reallocate linear pixmap BO if necessary for DRI2 PRIME
glamor: Make amdgpu_glamor_create_textured_pixmap take amdgpu_buffer*
Propagate failure from amdgpu_set_pixmap_bo
Use amdgpu_set_pixmap_bo in amdgpu_set_shared_pixmap_backing
glamor: Fix leak of pixmap private when replacing BO
Free priv in amdgpu_set_pixmap_bo also if priv->bo == NULL
Adapt to XF86_CRTC_VERSION 7
Call amdgpu_glamor_create_screen_resources after ModifyPixmapHeader
Simplify drmmode_set_mode_major error handling
Make sure drmmode_crtc->scanout[] are destroyed when not needed
present: Don't allow flipping when using a dedicated scanout buffer
dri2: Don't allow flipping when using a dedicated scanout buffer
present: Separate checks for flips vs unflips v2
Remove drmmode_load_palette
Destroy all dedicated scanout buffers during CloseScreen
Make the dedicated scanout mechanism work with arbitrary transforms v2
Remove w/h parameters from amdgpu_scanout_extents_intersect
Clear damage in amdgpu_scanout_update if it doesn't intersect the CRTC
Add .editorconfig file
Only use RandR APIs if RandR is enabled
DRI2: Add interpolated_vblanks in amdgpu_dri2_get_crtc_msc
Remove unused lut_r/g/b arrays from drmmode_crtc_private_rec
Add Mullins PCI IDs
Add missing Kaveri PCI ID (1318)
Only list each unique chipset family once in the log file
Add explicit AMDGPU_DRM_QUEUE_ERROR define
Use EventCallback to avoid flushing every time in the FlushCallback
Keep track of damage event related flushes per-client
Wait for pending flips to complete before turning off an output or CRTC
Use drmmode_crtc_scanout_* helpers for RandR 1.4 scanout pixmaps
Handle RandR 1.4 slave dirty updates via amdgpu_drm_queue
Track damage accurately for RandR 1.4 slave scanout
Only copy from screen pixmap to shared pixmap on demand for slave scanout
Factor out transform_region helper
Move up amdgpu_scanout_extents_intersect
Synchronize scanout pixmaps for TearFree
Make TearFree effective with PRIME slave scanout
Use --with-xorg-conf-dir=$prefix/share/X11/xorg.conf.d by default
Fix handling of configure option --with-xorg-conf-dir
Untangle HAS_XORG_CONF_DIR / --with-xorg-conf-dir lines in configure.ac
Add support for ScreenPtr::SyncSharedPixmap
Rotate and reflect cursor hotspot position for drmModeSetCursor2
Enable HW cursor support with PRIME slave output & Xorg > 1.18.99.901
Order unique chipsets according to first appearance in ati_pciids.csv
Sayōnara, AM_MAINTAINER_MODE!
Don't rely on randr_crtc->scanout_pixmap in drmmode_set_scanout_pixmap
Always call PixmapStopDirtyTracking in drmmode_set_scanout_pixmap
Consume all available udev events at once
present: Check tiling info for flips
Require xserver 1.10 or newer
Check Xorg version at runtime instead of build time in two places
Refactor amdgpu_mode_hotplug
Use pAMDGPUEnt to find both screens of a GPU in amdgpu_mode_hotplug
manpage updates for the 1.2.0 release
Bump version for 1.2.0 release
Qiang Yu (3):
Remove RR_Capability_SinkOutput for GPU without CRTC.
Fix amdgpu_mode_hotplug crash on multi GPU platform.
DRI2: Fix amdgpu_dri2_exchange_buffers width/height copy'n'paste error
Ronie Salgado (1):
Add SI PCI IDs
Tom St Denis (1):
dri3: Return NULL from amdgpu_dri3_pixmap_from_fd if calloc fails.
This is the 1.1.2 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
The only change in this release is a fix for issues with the configure
option --with-xorg-conf-dir which slipped into the 1.1.1 release.
Everybody is advised to use this release in favour of 1.1.1.
Michel Dänzer (2):
Fix handling of configure option --with-xorg-conf-dir
Bump version for 1.1.2 release
I'm pleased to announce the 1.1.1 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
This release supports xserver versions 1.9-1.18.
This is a stable point release containing only fixes and other minor changes.
Highlights:
* Support for all currently available GPUs supported by the amdgpu
kernel driver.
* A few fixes for crash/hang bugs.
Thanks to everybody who contributed to this release in any way!
Alex Deucher (1):
add missing bonaire pci id
Flora Cui (3):
add strato pci id
Add more Polaris 10 PCI IDs
Add more Polaris 11 PCI IDs
Marek Olšák (1):
Fix cursor size for SI
Michel Dänzer (14):
Handle Zaphod mode correctly in amdgpu_mode_hotplug
glamor: Fix amdgpu_glamor_share_pixmap_backing for priv->bo == NULL
Remove amdgpu_share_pixmap_backing
Add amdgpu_pixmap_get_tiling_info
Consolidate get_drawable_pixmap helper
Move DRI2's local fixup_glamor helper to amdgpu_glamor_set_pixmap_bo v2
glamor: Reallocate linear pixmap BO if necessary for DRI2 PRIME
Destroy all dedicated scanout buffers during CloseScreen
Only use RandR APIs if RandR is enabled
DRI2: Add interpolated_vblanks in amdgpu_dri2_get_crtc_msc
Add Mullins PCI IDs
Add missing Kaveri PCI ID (1318)
Use --with-xorg-conf-dir=$prefix/share/X11/xorg.conf.d by default
Bump version for the 1.1.1 release
Qiang Yu (3):
Remove RR_Capability_SinkOutput for GPU without CRTC.
Fix amdgpu_mode_hotplug crash on multi GPU platform.
DRI2: Fix amdgpu_dri2_exchange_buffers width/height copy'n'paste error
Ronie Salgado (1):
Add SI PCI IDs
I'm pleased to announce the 1.1.0 release of xf86-video-amdgpu, the Xorg
driver for AMD Radeon GPUs supported by the amdgpu kernel driver.
This release supports xserver versions 1.9-1.18.
Highlights:
* Support for the upcoming Polaris family of GPUs.
* Option "TearFree" can now prevent tearing with rotation/reflection as
well (with Xorg >= 1.16).
* RandR CRTC transforms now work correctly (but for now still exhibit
tearing even with TearFree).
* The RandR 1.4 provider name is now no longer hardcoded to "amdgpu"
but constructed from the GPU chipset name and bus ID, allowing
several GPUs supported by this driver to be distinguished by name.
* The RandR primary output is now always explicitly marked as such.
* The driver can prevent clients trying to use the DRI3 extension over a
display connection forwarded via SSH from hanging.
* VDPAU/OpenGL interoperation can now work with DRI3 enabled.
* Many more fixes for issues using the DRI3/Present extensions.
Plus many other small improvements and fixes. Thanks to everybody who
contributed to this release in any way!
I'm pleased to announce the release of version 1.0.1 of xf86-video-amdgpu,
the Xorg driver for AMD GPUs using the amdgpu kernel driver.
This is a pure bugfix release with the main purpose of fixing a bug
which would prevent the driver from initializing successfully with
glamor enabled on top of the upcoming Mesa 11.2 release.
Michel Dänzer (6):
sync: Check if miSyncShmScreenInit symbol is resolved at runtime
Only map front buffer if glamor acceleration is disabled (v2)
Don't advertise any PRIME offloading capabilities without acceleration
Load fb module before glamoregl/shadow modules
HAS_DIRTYTRACKING_ROTATION also supports multiple CRTCs
Bump version for 1.0.1 release
Mykola Lysenko (2):
Check for NULL koutput in drmmode_output_dpms
Initialize drmmode_crtc dpms_mode to DPMSModeOff