Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4079 → Rev 4080

/drivers/video/drm/vmwgfx/bitmap.h
0,0 → 1,106
 
typedef struct tag_object kobj_t;
typedef struct tag_display display_t;
 
 
struct tag_object
{
uint32_t magic;
void *destroy;
kobj_t *fd;
kobj_t *bk;
uint32_t pid;
};
 
typedef struct
{
kobj_t header;
 
u32 handle;
char *uaddr;
 
u32 pitch;
u32 gaddr;
 
u32 width;
u32 height;
u32 max_width;
u32 max_height;
u32 page_count;
u32 max_count;
 
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
};
 
struct io_call_12 /* SRV_LOCK_SURFACE */
{
u32 handle;
void *data;
u32 pitch;
};
 
struct io_call_14 /* SRV_RESIZE_SURFACE */
{
u32 handle;
void *data;
u32 new_width;
u32 new_height;
u32 pitch;
};
 
typedef struct
{
uint32_t idx;
union
{
uint32_t opt[2];
struct {
uint32_t max_tex_width;
uint32_t max_tex_height;
}cap1;
};
}hwcaps_t;
 
#define HW_BIT_BLIT (1<<0) /* BGRX blitter */
#define HW_TEX_BLIT (1<<1) /* stretch blit */
#define HW_VID_BLIT (1<<2) /* planar and packed video */
/* 3 - 63 reserved */
struct context
{
kobj_t header;
 
// struct drm_i915_gem_object *obj;
u32 cmd_buffer;
u32 cmd_offset;
 
bitmap_t *mask;
u32 seqno;
int slot;
 
};
 
int get_driver_caps(hwcaps_t *caps);
int create_surface(struct drm_device *dev, struct io_call_10 *pbitmap);
int lock_surface(struct io_call_12 *pbitmap);
int resize_surface(struct io_call_14 *pbitmap);
 
struct context *get_context(struct drm_device *dev);
 
int init_bitmaps();