OSDN Git Service

gbm: Remove 64x64 restriction from GBM_BO_USE_CURSOR
authorMichel Dänzer <michel.daenzer@amd.com>
Tue, 3 Jun 2014 07:45:23 +0000 (16:45 +0900)
committerMichel Dänzer <michel@daenzer.net>
Thu, 12 Jun 2014 07:13:39 +0000 (16:13 +0900)
GBM_BO_USE_CURSOR_64X64 is kept so that existing users of GBM continue to
build, but it no longer rejects widths or heights other than 64.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79809

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/gallium/state_trackers/gbm/gbm_drm.c
src/gbm/backends/dri/gbm_dri.c
src/gbm/main/gbm.c
src/gbm/main/gbm.h

index 725f12f..fa84276 100644 (file)
@@ -66,7 +66,7 @@ gbm_usage_to_gallium(uint usage)
    if (usage & GBM_BO_USE_RENDERING)
       resource_usage |= PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW;
 
-   if (usage & GBM_BO_USE_CURSOR_64X64)
+   if (usage & GBM_BO_USE_CURSOR)
       resource_usage |= PIPE_BIND_CURSOR;
 
    return resource_usage;
index cec12d1..347bc99 100644 (file)
@@ -346,7 +346,7 @@ gbm_dri_is_format_supported(struct gbm_device *gbm,
       return 0;
    }
 
-   if (usage & GBM_BO_USE_CURSOR_64X64 &&
+   if (usage & GBM_BO_USE_CURSOR &&
        usage & GBM_BO_USE_RENDERING)
       return 0;
 
@@ -532,7 +532,7 @@ gbm_dri_bo_import(struct gbm_device *gbm,
 
    if (usage & GBM_BO_USE_SCANOUT)
       dri_use |= __DRI_IMAGE_USE_SCANOUT;
-   if (usage & GBM_BO_USE_CURSOR_64X64)
+   if (usage & GBM_BO_USE_CURSOR)
       dri_use |= __DRI_IMAGE_USE_CURSOR;
    if (dri->image->base.version >= 2 &&
        !dri->image->validateUsage(bo->image, dri_use)) {
@@ -568,7 +568,7 @@ create_dumb(struct gbm_device *gbm,
    struct drm_mode_destroy_dumb destroy_arg;
    int ret;
 
-   if (!(usage & GBM_BO_USE_CURSOR_64X64)) {
+   if (!(usage & GBM_BO_USE_CURSOR)) {
       errno = EINVAL;
       return NULL;
    }
@@ -672,7 +672,7 @@ gbm_dri_bo_create(struct gbm_device *gbm,
 
    if (usage & GBM_BO_USE_SCANOUT)
       dri_use |= __DRI_IMAGE_USE_SCANOUT;
-   if (usage & GBM_BO_USE_CURSOR_64X64)
+   if (usage & GBM_BO_USE_CURSOR)
       dri_use |= __DRI_IMAGE_USE_CURSOR;
 
    /* Gallium drivers requires shared in order to get the handle/stride */
index 907ca3c..c39cbfa 100644 (file)
@@ -348,12 +348,6 @@ gbm_bo_create(struct gbm_device *gbm,
       return NULL;
    }
 
-   if (usage & GBM_BO_USE_CURSOR_64X64 &&
-       (width != 64 || height != 64)) {
-      errno = EINVAL;
-      return NULL;
-   }
-
    return gbm->bo_create(gbm, width, height, format, usage);
 }
 
index 92d472a..374cef8 100644 (file)
@@ -192,10 +192,13 @@ enum gbm_bo_flags {
     */
    GBM_BO_USE_SCANOUT      = (1 << 0),
    /**
-    * Buffer is going to be used as cursor - the dimensions for the buffer
-    * must be 64x64 if this flag is passed.
+    * Buffer is going to be used as cursor
     */
-   GBM_BO_USE_CURSOR_64X64 = (1 << 1),
+   GBM_BO_USE_CURSOR       = (1 << 1),
+   /**
+    * Deprecated
+    */
+   GBM_BO_USE_CURSOR_64X64 = GBM_BO_USE_CURSOR,
    /**
     * Buffer is to be used for rendering - for example it is going to be used
     * as the storage for a color buffer
@@ -203,8 +206,7 @@ enum gbm_bo_flags {
    GBM_BO_USE_RENDERING    = (1 << 2),
    /**
     * Buffer can be used for gbm_bo_write.  This is guaranteed to work
-    * with GBM_BO_USE_CURSOR_64X64. but may not work for other
-    * combinations.
+    * with GBM_BO_USE_CURSOR. but may not work for other combinations.
     */
    GBM_BO_USE_WRITE    = (1 << 3),
 };