Merge remote branch 'upstream/gallium-0.2' into nouveau-gallium-0.2
[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 };
18 #endif
19
20 int vlCreateSurface
21 (
22 struct vlScreen *screen,
23 unsigned int width,
24 unsigned int height,
25 enum vlFormat format,
26 struct vlSurface **surface
27 );
28
29 int vlDestroySurface
30 (
31 struct vlSurface *surface
32 );
33
34 int vlRenderMacroBlocksMpeg2
35 (
36 struct vlMpeg2MacroBlockBatch *batch,
37 struct vlSurface *surface
38 );
39
40 int vlPutPicture
41 (
42 struct vlSurface *surface,
43 vlNativeDrawable drawable,
44 int srcx,
45 int srcy,
46 int srcw,
47 int srch,
48 int destx,
49 int desty,
50 int destw,
51 int desth,
52 enum vlPictureType picture_type
53 );
54
55 struct vlScreen* vlSurfaceGetScreen
56 (
57 struct vlSurface *surface
58 );
59
60 struct vlContext* vlBindToContext
61 (
62 struct vlSurface *surface,
63 struct vlContext *context
64 );
65
66 #endif