/* Buffer transfer. */
struct pipe_transfer *buffer_transfer;
unsigned offset;
- struct pipe_resource *staging_texture;
+ struct pipe_resource *staging;
};
struct r600_resource_texture {
enum pipe_format real_format;
unsigned pitch_override;
- unsigned depth;
- unsigned dirty_db;
+ unsigned is_depth;
+ unsigned dirty_db_mask; /* each bit says if that miplevel is dirty */
struct r600_resource_texture *flushed_depth_texture;
boolean is_flushing_texture;
struct radeon_surface surface;
const struct pipe_resource *base,
struct winsys_handle *whandle);
-void r600_init_flushed_depth_texture(struct pipe_context *ctx,
- struct pipe_resource *texture);
-void r600_texture_depth_flush(struct pipe_context *ctx,
- struct pipe_resource *texture);
+bool r600_init_flushed_depth_texture(struct pipe_context *ctx,
+ struct pipe_resource *texture,
+ struct r600_resource_texture **staging);
struct r600_context;