5 #include "pipe/p_compiler.h"
13 enum drm_create_screen_mode
{
14 DRM_CREATE_NORMAL
= 0,
16 DRM_CREATE_DRIVER
= 1024,
21 * Modes other than DRM_CREATE_NORMAL derive from this struct.
24 struct drm_create_screen_arg
{
25 enum drm_create_screen_mode mode
;
34 * Special buffer functions
37 struct pipe_screen
* (*create_screen
)(struct drm_api
*api
, int drm_fd
,
38 struct drm_create_screen_arg
*arg
);
39 struct pipe_context
* (*create_context
)(struct drm_api
*api
,
40 struct pipe_screen
*screen
);
44 * Special buffer functions
48 (*texture_from_shared_handle
)(struct drm_api
*api
,
49 struct pipe_screen
*screen
,
50 struct pipe_texture
*templ
,
54 boolean (*shared_handle_from_texture
)(struct drm_api
*api
,
55 struct pipe_screen
*screen
,
56 struct pipe_texture
*texture
,
59 boolean (*local_handle_from_texture
)(struct drm_api
*api
,
60 struct pipe_screen
*screen
,
61 struct pipe_texture
*texture
,
66 void (*destroy
)(struct drm_api
*api
);
69 extern struct drm_api
* drm_api_create(void);