blob: c6a7d4a8c51d1f14f7029a96098b0dcadd6d7ae9 [file] [log] [blame]
#ifndef INTEL_DRM_WINSYS_H
#define INTEL_DRM_WINSYS_H
#include "i965/brw_winsys.h"
#include "drm.h"
#include "intel_bufmgr.h"
/*
* Winsys
*/
struct i965_libdrm_winsys
{
struct brw_winsys_screen base;
drm_intel_bufmgr *gem;
boolean send_cmd;
int fd; /**< Drm file discriptor */
unsigned id;
};
static INLINE struct i965_libdrm_winsys *
i965_libdrm_winsys(struct brw_winsys_screen *iws)
{
return (struct i965_libdrm_winsys *)iws;
}
struct i965_libdrm_winsys *i965_libdrm_winsys_create(int fd, unsigned pci_id);
void i965_libdrm_winsys_init_buffer_functions(struct i965_libdrm_winsys *idws);
/* Buffer.
*/
struct i965_libdrm_buffer {
struct brw_winsys_buffer base;
drm_intel_bo *bo;
void *ptr;
unsigned map_count;
unsigned data_type; /* valid while mapped */
unsigned tiling;
boolean map_gtt;
boolean flinked;
unsigned flink;
};
static INLINE struct i965_libdrm_buffer *
i965_libdrm_buffer(struct brw_winsys_buffer *buffer)
{
return (struct i965_libdrm_buffer *)buffer;
}
#endif