4 #include "xorg_tracker.h"
6 #include <pipe/p_state.h>
11 /* src + mask + dst */
12 #define MAX_EXA_SAMPLERS 3
17 struct pipe_context
*pipe
;
18 struct pipe_screen
*scrn
;
19 struct cso_context
*cso
;
20 struct xorg_shaders
*shaders
;
22 struct pipe_constant_buffer vs_const_buffer
;
23 struct pipe_constant_buffer fs_const_buffer
;
25 struct pipe_texture
*bound_textures
[MAX_EXA_SAMPLERS
];
26 int num_bound_samplers
;
29 boolean has_solid_color
;
32 struct exa_pixmap_priv
*src
;
33 struct exa_pixmap_priv
*dst
;
36 /* we should combine these two */
37 float vertices2
[4][2][4];
38 float vertices3
[4][2][4];
41 struct exa_pixmap_priv
46 struct pipe_texture
*tex
;
47 struct pipe_texture
*depth_stencil_tex
;
49 struct pipe_transfer
*map_transfer
;
54 exa_gpu_surface(struct exa_context
*exa
, struct exa_pixmap_priv
*priv
);
56 void xorg_exa_flush(struct exa_context
*exa
, uint pipeFlushFlags
,
57 struct pipe_fence_handle
**fence
);
58 void xorg_exa_finish(struct exa_context
*exa
);