7f4aebb9c3825a2fa38ab2db1270dab0f983fd1a
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_texture
*bound_textures
[MAX_EXA_SAMPLERS
];
22 int num_bound_samplers
;
25 boolean has_solid_color
;
27 /* float[9] projective matrix bound to pictures */
36 struct exa_pixmap_priv
*src
;
37 struct exa_pixmap_priv
*dst
;
41 struct exa_pixmap_priv
48 struct pipe_texture
*tex
;
49 struct pipe_texture
*depth_stencil_tex
;
51 struct pipe_transfer
*map_transfer
;
55 #define XORG_FALLBACK(s, arg...) \
57 if (ms->debug_fallback) { \
58 xf86DrvMsg(pScrn->scrnIndex, X_INFO, \
59 "%s fallback " s "\n", __FUNCTION__, ##arg); \
65 xorg_gpu_surface(struct pipe_screen
*scrn
, struct exa_pixmap_priv
*priv
);
67 void xorg_exa_flush(struct exa_context
*exa
, uint pipeFlushFlags
,
68 struct pipe_fence_handle
**fence
);
69 void xorg_exa_finish(struct exa_context
*exa
);