4 #include "pipe/p_compiler.h"
5 #include "pipe/p_screen.h"
6 #include "pipe/p_format.h"
8 #include "state_tracker/drm_api.h"
18 struct dri1_api_version
26 * This callback struct is intended for drivers that need to take
27 * the hardware lock on command submission.
30 struct dri1_api_lock_funcs
32 void (*lock
) (struct pipe_context
* pipe
);
33 void (*unlock
) (struct pipe_context
* locked_pipe
);
34 boolean(*is_locked
) (struct pipe_context
* locked_pipe
);
35 boolean(*is_lock_lost
) (struct pipe_context
* locked_pipe
);
36 void (*clear_lost_lock
) (struct pipe_context
* locked_pipe
);
42 * For flushing to the front buffer. A driver should implement one and only
43 * one of the functions below. The present_locked functions allows a dri1
49 struct pipe_surface
*(*front_srf_locked
) (struct pipe_context
*
52 void (*present_locked
) (struct pipe_context
* locked_pipe
,
53 struct pipe_surface
* surf
,
54 const struct drm_clip_rect
* rect
,
55 unsigned int num_clip
,
56 int x_draw
, int y_draw
,
57 const struct drm_clip_rect
* src_bbox
,
58 struct pipe_fence_handle
** fence
);
62 struct dri1_create_screen_arg
64 struct drm_create_screen_arg base
;
66 struct dri1_api_lock_funcs
*lf
;
71 struct dri1_api_version ddx_version
;
72 struct dri1_api_version dri_version
;
73 struct dri1_api_version drm_version
;