Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / gallium / winsys / i965 / drm / i965_drm_winsys.h
1
2 #ifndef INTEL_DRM_WINSYS_H
3 #define INTEL_DRM_WINSYS_H
4
5 #include "i965/brw_winsys.h"
6
7 #include "drm.h"
8 #include "intel_bufmgr.h"
9
10
11
12 /*
13  * Winsys
14  */
15
16
17 struct i965_libdrm_winsys
18 {
19    struct brw_winsys_screen base;
20    drm_intel_bufmgr *gem;
21
22    boolean send_cmd;
23
24    int fd; /**< Drm file discriptor */
25 };
26
27 static INLINE struct i965_libdrm_winsys *
28 i965_libdrm_winsys(struct brw_winsys_screen *iws)
29 {
30    return (struct i965_libdrm_winsys *)iws;
31 }
32
33 void i965_libdrm_winsys_init_buffer_functions(struct i965_libdrm_winsys *idws);
34
35
36 /* Buffer.  
37  */
38 struct i965_libdrm_buffer {
39    struct brw_winsys_buffer base;
40
41    drm_intel_bo *bo;
42
43    void *ptr;
44    unsigned map_count;
45    unsigned data_type;          /* valid while mapped */
46    unsigned tiling;
47
48    boolean map_gtt;
49    boolean flinked;
50    unsigned flink;
51 };
52
53 static INLINE struct i965_libdrm_buffer *
54 i965_libdrm_buffer(struct brw_winsys_buffer *buffer)
55 {
56    return (struct i965_libdrm_buffer *)buffer;
57 }
58
59
60 #endif