st/xorg: adjust enums in preperation for gradients
[mesa.git] / src / gallium / state_trackers / g3dvl / vl_surface.h
1 #ifndef vl_surface_h
2 #define vl_surface_h
3
4 #include "vl_types.h"
5
6 #ifdef VL_INTERNAL
7 struct pipe_texture;
8
9 struct vlSurface
10 {
11 struct vlScreen *screen;
12 struct vlContext *context;
13 unsigned int width;
14 unsigned int height;
15 enum vlFormat format;
16 struct pipe_texture *texture;
17 struct pipe_fence_handle *render_fence;
18 struct pipe_fence_handle *disp_fence;
19 };
20 #endif
21
22 int vlCreateSurface
23 (
24 struct vlScreen *screen,
25 unsigned int width,
26 unsigned int height,
27 enum vlFormat format,
28 struct vlSurface **surface
29 );
30
31 int vlDestroySurface
32 (
33 struct vlSurface *surface
34 );
35
36 int vlRenderMacroBlocksMpeg2
37 (
38 struct vlMpeg2MacroBlockBatch *batch,
39 struct vlSurface *surface
40 );
41
42 int vlPutPicture
43 (
44 struct vlSurface *surface,
45 vlNativeDrawable drawable,
46 int srcx,
47 int srcy,
48 int srcw,
49 int srch,
50 int destx,
51 int desty,
52 int destw,
53 int desth,
54 int drawable_w,
55 int drawable_h,
56 enum vlPictureType picture_type
57 );
58
59 int vlSurfaceGetStatus
60 (
61 struct vlSurface *surface,
62 enum vlResourceStatus *status
63 );
64
65 int vlSurfaceFlush
66 (
67 struct vlSurface *surface
68 );
69
70 int vlSurfaceSync
71 (
72 struct vlSurface *surface
73 );
74
75 struct vlScreen* vlSurfaceGetScreen
76 (
77 struct vlSurface *surface
78 );
79
80 struct vlContext* vlBindToContext
81 (
82 struct vlSurface *surface,
83 struct vlContext *context
84 );
85
86 #endif