blob: 1cda331f6556e5328b9fb1440577d32b3b5bfc50 [file] [log] [blame]
* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
#ifndef GBM_PRIV_H
#define GBM_PRIV_H
#include <stdint.h>
#include <sys/types.h>
#include <stdlib.h>
#include "gbm.h"
struct gbm_device
int fd;
struct gbm_driver *driver;
void *priv;
struct gbm_surface
struct gbm_bo
struct gbm_device *gbm;
uint32_t width;
uint32_t height;
uint32_t size;
uint32_t stride;
uint32_t format;
union gbm_bo_handle handle;
void *priv;
void *user_data;
void (*destroy_user_data)(struct gbm_bo *, void *);
struct gbm_driver
char *name;
int (*init)(struct gbm_device *gbm);
void (*close)(struct gbm_device *gbm);
int (*bo_create)(struct gbm_bo *bo, uint32_t width, uint32_t height, uint32_t format, uint32_t flags);
int (*bo_destroy)(struct gbm_bo *bo);
struct format_supported {
uint32_t format;
enum gbm_bo_flags usage;