diff mbox

drm: Specify a bit more the DRM_CAP_CURSOR_{WIDTH, HEIGHT} caps

Message ID 1396009865-20424-1-git-send-email-damien.lespiau@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lespiau, Damien March 28, 2014, 12:31 p.m. UTC
Earlier this week, there was a bit of confusion about those new
capabilities, to the point I think it's better to document the intention
and API contract.

The comment documents the current situation:
 - the radeon driver returns the only valid size for the hw
 - i915 returns the maximun cursor size
 - other drivers fall back to returning 64x64

The common contract is to return a valid cursor size.

Cc: Sagar Kamble <sagar.a.kamble@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 include/uapi/drm/drm.h | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Chris Wilson March 28, 2014, 12:46 p.m. UTC | #1
On Fri, Mar 28, 2014 at 12:31:05PM +0000, Damien Lespiau wrote:
> Earlier this week, there was a bit of confusion about those new
> capabilities, to the point I think it's better to document the intention
> and API contract.
> 
> The comment documents the current situation:
>  - the radeon driver returns the only valid size for the hw
>  - i915 returns the maximun cursor size
>  - other drivers fall back to returning 64x64
> 
> The common contract is to return a valid cursor size.
> 
> Cc: Sagar Kamble <sagar.a.kamble@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

Agreed. Imho, it suits us to return the maximum possible size for
-modesetting as it enables a broader range of userspace to use hw
cursors with the only overhead of enlarged WMs.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
Alex Deucher March 28, 2014, 1 p.m. UTC | #2
> -----Original Message-----
> From: Damien Lespiau [mailto:damien.lespiau@intel.com]
> Sent: Friday, March 28, 2014 8:31 AM
> To: dri-devel@lists.freedesktop.org
> Cc: intel-gfx@lists.freedesktop.org; Sagar Kamble; Chris Wilson; Deucher,
> Alexander; Imre Deak
> Subject: [PATCH] drm: Specify a bit more the
> DRM_CAP_CURSOR_{WIDTH,HEIGHT} caps
> 
> Earlier this week, there was a bit of confusion about those new
> capabilities, to the point I think it's better to document the intention
> and API contract.
> 
> The comment documents the current situation:
>  - the radeon driver returns the only valid size for the hw
>  - i915 returns the maximun cursor size
>  - other drivers fall back to returning 64x64
> 
> The common contract is to return a valid cursor size.
> 
> Cc: Sagar Kamble <sagar.a.kamble@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Alex Deucher <alexander.deucher@amd.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  include/uapi/drm/drm.h | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
> index b06c8ed..ec6b259 100644
> --- a/include/uapi/drm/drm.h
> +++ b/include/uapi/drm/drm.h
> @@ -619,6 +619,15 @@ struct drm_gem_open {
>  #define  DRM_PRIME_CAP_EXPORT		0x2
>  #define DRM_CAP_TIMESTAMP_MONOTONIC	0x6
>  #define DRM_CAP_ASYNC_PAGE_FLIP		0x7
> +/*
> + * The CURSOR_WIDTH and CURSOR_HEIGHT capabilities return a valid
> widthxheight
> + * combination for the hardware cursor. The intention is that a hardware
> + * agnostic userspace can query a cursor plane size to use.
> + *
> + * Note that the cross-driver contract is to merely return a valid size;
> + * drivers are free to attach another meaning on top, eg. i915 returns the
> + * maximum plane size.
> + */
>  #define DRM_CAP_CURSOR_WIDTH		0x8
>  #define DRM_CAP_CURSOR_HEIGHT		0x9
> 
> --
> 1.8.3.1
>
diff mbox

Patch

diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h
index b06c8ed..ec6b259 100644
--- a/include/uapi/drm/drm.h
+++ b/include/uapi/drm/drm.h
@@ -619,6 +619,15 @@  struct drm_gem_open {
 #define  DRM_PRIME_CAP_EXPORT		0x2
 #define DRM_CAP_TIMESTAMP_MONOTONIC	0x6
 #define DRM_CAP_ASYNC_PAGE_FLIP		0x7
+/*
+ * The CURSOR_WIDTH and CURSOR_HEIGHT capabilities return a valid widthxheight
+ * combination for the hardware cursor. The intention is that a hardware
+ * agnostic userspace can query a cursor plane size to use.
+ *
+ * Note that the cross-driver contract is to merely return a valid size;
+ * drivers are free to attach another meaning on top, eg. i915 returns the
+ * maximum plane size.
+ */
 #define DRM_CAP_CURSOR_WIDTH		0x8
 #define DRM_CAP_CURSOR_HEIGHT		0x9