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
);