- /* gallium */
- struct st_framebuffer *stfb;
- struct pipe_fence_handle *swap_fences[DRI_SWAP_FENCES_MAX];
- unsigned int head;
- unsigned int tail;
- unsigned int desired_fences;
- unsigned int cur_fences;
-
- enum pipe_format color_format;
- enum pipe_format depth_format;
- enum pipe_format stencil_format;
+ struct pipe_box *damage_rects;
+ unsigned int num_damage_rects;
+
+ struct pipe_resource *textures[ST_ATTACHMENT_COUNT];
+ struct pipe_resource *msaa_textures[ST_ATTACHMENT_COUNT];
+ unsigned int texture_mask, texture_stamp;
+
+ struct pipe_fence_handle *throttle_fence;
+ bool flushing; /* prevents recursion in dri_flush */
+
+ /* used only by DRISW */
+ struct pipe_surface *drisw_surface;
+
+ /* hooks filled in by dri2 & drisw */
+ void (*allocate_textures)(struct dri_context *ctx,
+ struct dri_drawable *drawable,
+ const enum st_attachment_type *statts,
+ unsigned count);
+
+ void (*update_drawable_info)(struct dri_drawable *drawable);
+
+ void (*flush_frontbuffer)(struct dri_context *ctx,
+ struct dri_drawable *drawable,
+ enum st_attachment_type statt);
+
+ void (*update_tex_buffer)(struct dri_drawable *drawable,
+ struct dri_context *ctx,
+ struct pipe_resource *res);
+ void (*flush_swapbuffers)(struct dri_context *ctx,
+ struct dri_drawable *drawable);