all: include config.h only when available and use its defines
[platform/upstream/libdrm.git] / libkms / intel.c
index 670494e..92f1cf2 100644 (file)
@@ -26,7 +26,9 @@
  **************************************************************************/
 
 
-#define HAVE_STDINT_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
 #define _FILE_OFFSET_BITS 64
 
 #include <errno.h>
 struct intel_bo
 {
        struct kms_bo base;
-       unsigned handle;
        unsigned map_count;
-       int mapped;
 };
 
 static int
 intel_get_prop(struct kms_driver *kms, unsigned key, unsigned *out)
 {
        switch (key) {
-       case KMS_MAX_SCANOUT_WIDTH:
-               *out = 4096;
-               break;
-       case KMS_MAX_SCANOUT_HEIGHT:
-               *out = 4096;
-               break;
-       case KMS_MIN_SCANOUT_WIDTH:
-               *out = 1;
-               break;
-       case KMS_MIN_SCANOUT_HEIGHT:
-               *out = 1;
-               break;
-       case KMS_MAX_CURSOR_WIDTH:
-               *out = 64;
-               break;
-       case KMS_MAX_CURSOR_HEIGHT:
-               *out = 64;
-               break;
-       case KMS_MIN_CURSOR_WIDTH:
-               *out = 64;
-               break;
-       case KMS_MIN_CURSOR_HEIGHT:
-               *out = 64;
+       case KMS_BO_TYPE:
+               *out = KMS_BO_TYPE_SCANOUT_X8R8G8B8 | KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8;
                break;
        default:
                return -EINVAL;
@@ -116,14 +95,15 @@ intel_bo_create(struct kms_driver *kms,
        if (!bo)
                return -ENOMEM;
 
-       if (type == KMS_BO_TYPE_CURSOR) {
+       if (type == KMS_BO_TYPE_CURSOR_64X64_A8R8G8B8) {
                pitch = 64 * 4;
                size = 64 * 64 * 4;
-       } else if (type == KMS_BO_TYPE_SCANOUT) {
+       } else if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8) {
                pitch = width * 4;
                pitch = (pitch + 512 - 1) & ~(512 - 1);
                size = pitch * ((height + 4 - 1) & ~(4 - 1));
        } else {
+               free(bo);
                return -EINVAL;
        }
 
@@ -140,7 +120,7 @@ intel_bo_create(struct kms_driver *kms,
        bo->base.pitch = pitch;
 
        *out = &bo->base;
-       if (type == KMS_BO_TYPE_SCANOUT && pitch > 512) {
+       if (type == KMS_BO_TYPE_SCANOUT_X8R8G8B8 && pitch > 512) {
                struct drm_i915_gem_set_tiling tile;
 
                memset(&tile, 0, sizeof(tile));