kolibrios/drivers/video/drm/i915/bitmap.h
Sergey Semyonov (Serge) 6ed41e9c86 i915 preview #4
git-svn-id: svn://kolibrios.org@2344 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-04 13:23:46 +00:00

72 lines
1.3 KiB
C

typedef struct tag_object kobj_t;
typedef struct tag_display display_t;
struct hman
{
u32 *table;
u32 next;
u32 avail;
u32 count;
};
extern struct hman bm_man;
int init_hman(struct hman *man, u32 count);
u32 alloc_handle(struct hman *man);
int free_handle(struct hman *man, u32 handle);
#define hman_get_data(man, handle) \
((man)->table[(handle)-1])
#define hman_set_data(man, handle, val) \
((man)->table[(handle)-1]) = (u32)(val)
struct tag_object
{
uint32_t magic;
void *destroy;
kobj_t *fd;
kobj_t *bk;
uint32_t pid;
};
typedef struct
{
kobj_t header;
u32 handle;
void *uaddr;
u32 pitch;
u32 gaddr;
u32 width;
u32 height;
u32 max_width;
u32 max_height;
u32 format;
struct drm_i915_gem_object *obj;
}bitmap_t;
struct io_call_10 /* SRV_CREATE_SURFACE */
{
u32 handle; // ignored
void *data; // ignored
u32 width;
u32 height;
u32 pitch; // ignored
u32 max_width;
u32 max_height;
u32 format; // reserved mbz
};
int create_surface(struct io_call_10 *pbitmap);
int init_bitmaps();