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 xorg_renderer *renderer;
21 struct pipe_sampler_view *bound_sampler_views[MAX_EXA_SAMPLERS];
22 int num_bound_samplers;
25 boolean has_solid_color;
29 /* float[9] projective matrix bound to pictures */
38 boolean use_surface_copy;
40 struct exa_pixmap_priv *src;
41 struct exa_pixmap_priv *dst;
43 struct pipe_surface *dst_surface;
45 struct pipe_resource *src_texture;
49 struct exa_pixmap_priv
58 struct pipe_resource *tex;
59 struct pipe_resource *depth_stencil_tex;
61 struct pipe_transfer *map_transfer;
65 #define XORG_FALLBACK(s, arg...) \
67 if (ms->debug_fallback) { \
68 xf86DrvMsg(pScrn->scrnIndex, X_INFO, \
69 "%s fallback " s "\n", __FUNCTION__, ##arg); \
75 xorg_gpu_surface(struct pipe_context *pipe, struct exa_pixmap_priv *priv);
77 void xorg_exa_flush(struct exa_context *exa,
78 struct pipe_fence_handle **fence);
79 void xorg_exa_finish(struct exa_context *exa);