g3dvl: Move XvMC under the Xorg state tracker.
[mesa.git] / src / gallium / state_trackers / xorg / xvmc / xvmc_private.h
1 #ifndef xvmc_private_h
2 #define xvmc_private_h
3
4 #include <X11/Xlib.h>
5 #include <X11/extensions/XvMClib.h>
6
7 #define BLOCK_SIZE_SAMPLES 64
8 #define BLOCK_SIZE_BYTES (BLOCK_SIZE_SAMPLES * 2)
9
10 struct pipe_video_context;
11 struct pipe_surface;
12 struct pipe_fence_handle;
13
14 typedef struct
15 {
16 struct pipe_video_context *vpipe;
17 struct pipe_surface *backbuffer;
18 } XvMCContextPrivate;
19
20 typedef struct
21 {
22 struct pipe_video_surface *pipe_vsfc;
23 struct pipe_fence_handle *render_fence;
24 struct pipe_fence_handle *disp_fence;
25
26 /* Some XvMC functions take a surface but not a context,
27 so we keep track of which context each surface belongs to. */
28 XvMCContext *context;
29 } XvMCSurfacePrivate;
30
31 #endif /* xvmc_private_h */