diff options
Diffstat (limited to 'src/gallium/include/state_tracker/drm_api.h')
-rw-r--r-- | src/gallium/include/state_tracker/drm_api.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/gallium/include/state_tracker/drm_api.h b/src/gallium/include/state_tracker/drm_api.h index 54480fa047..435435da29 100644 --- a/src/gallium/include/state_tracker/drm_api.h +++ b/src/gallium/include/state_tracker/drm_api.h @@ -2,14 +2,18 @@ #ifndef _DRM_API_H_ #define _DRM_API_H_ +#include "pipe/p_compiler.h" + struct pipe_screen; struct pipe_winsys; +struct pipe_buffer; struct pipe_context; +struct pipe_texture; struct drm_api { /** - * Special buffer function + * Special buffer functions */ /*@{*/ struct pipe_screen* (*create_screen)(int drmFB, int pciID); @@ -17,17 +21,27 @@ struct drm_api /*@}*/ /** - * Special buffer function + * Special buffer functions */ /*@{*/ - struct pipe_buffer* (*buffer_from_handle)(struct pipe_winsys *winsys, const char *name, unsigned handle); - unsigned (*handle_from_buffer)(struct pipe_winsys *winsys, struct pipe_buffer *buffer); + boolean (*buffer_from_texture)(struct pipe_texture *texture, + struct pipe_buffer **buffer, + unsigned *stride); + struct pipe_buffer* (*buffer_from_handle)(struct pipe_screen *screen, + const char *name, + unsigned handle); + boolean (*handle_from_buffer)(struct pipe_screen *screen, + struct pipe_buffer *buffer, + unsigned *handle); + boolean (*global_handle_from_buffer)(struct pipe_screen *screen, + struct pipe_buffer *buffer, + unsigned *handle); /*@}*/ }; /** * A driver needs to export this symbol */ -extern struct drm_api drm_api_hocks; +extern struct drm_api drm_api_hooks; #endif |