xf86-video-amdgpu: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Sep 30 13:21:26 UTC 2022


 src/amdgpu_kms.c |   27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

New commits:
commit 9c959fac3af28d191105f63236096ad456dca614
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Thu Sep 29 16:42:09 2022 +0200

    Use DRM_CAP_CURSOR_WIDTH/HEIGHT if possible
    
    There's no need to hardcode the cursor size if the kernel can
    report the value it wants.

diff --git a/src/amdgpu_kms.c b/src/amdgpu_kms.c
index 9364d17..1f049c9 100644
--- a/src/amdgpu_kms.c
+++ b/src/amdgpu_kms.c
@@ -1501,6 +1501,25 @@ static Bool AMDGPUCreateWindow_oneshot(WindowPtr pWin)
 	return ret;
 }
 
+static void amdgpu_determine_cursor_size(int fd, AMDGPUInfoPtr info)
+{
+	uint64_t value;
+
+	if (drmGetCap(fd, DRM_CAP_CURSOR_WIDTH, &value) == 0)
+		info->cursor_w = value;
+	else if (info->family < AMDGPU_FAMILY_CI)
+		info->cursor_w = CURSOR_WIDTH;
+	else
+		info->cursor_w = CURSOR_WIDTH_CIK;
+
+	if (drmGetCap(fd, DRM_CAP_CURSOR_HEIGHT, &value) == 0)
+		info->cursor_h = value;
+	else if (info->family < AMDGPU_FAMILY_CI)
+		info->cursor_h = CURSOR_HEIGHT;
+	else
+		info->cursor_h = CURSOR_HEIGHT_CIK;
+}
+
 /* When the root window is mapped, set the initial modes */
 void AMDGPUWindowExposures_oneshot(WindowPtr pWin, RegionPtr pRegion
 #if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1,16,99,901,0)
@@ -1684,13 +1703,7 @@ Bool AMDGPUPreInit_KMS(ScrnInfoPtr pScrn, int flags)
 	else
 		pAMDGPUEnt->HasCRTC2 = TRUE;
 
-	if (info->family < AMDGPU_FAMILY_CI) {
-		info->cursor_w = CURSOR_WIDTH;
-		info->cursor_h = CURSOR_HEIGHT;
-	} else {
-		info->cursor_w = CURSOR_WIDTH_CIK;
-		info->cursor_h = CURSOR_HEIGHT_CIK;
-	}
+	amdgpu_determine_cursor_size(pAMDGPUEnt->fd, info);
 
 	amdgpu_query_heap_size(pAMDGPUEnt->pDev, AMDGPU_GEM_DOMAIN_GTT,
 				&heap_size, &max_allocation);


More information about the xorg-commit mailing list