Merge branch 'llvm-cliptest-viewport'
[mesa.git] / src / gallium / winsys / r600 / drm / r600_priv.h
index a693a5b5ab8a4d50e496f5ae5cd9e4139a820c98..b5bd7bd92c1d31bd1e8108ecd8bfd51b408fe59d 100644 (file)
@@ -42,6 +42,7 @@ struct radeon {
        enum chip_class                 chip_class;
        struct pb_manager *kman; /* kernel bo manager */
        struct pb_manager *cman; /* cached bo manager */
+       struct r600_tiling_info tiling_info;
 };
 
 struct radeon *r600_new(int fd, unsigned device);
@@ -76,6 +77,8 @@ struct r600_bo {
        struct pipe_reference           reference;
        struct pb_buffer                *pb;
        unsigned                        size;
+       unsigned                        tiling_flags;
+       unsigned                        kernel_pitch;
 };
 
 
@@ -94,7 +97,10 @@ int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo);
 int radeon_bo_busy(struct radeon *radeon, struct radeon_bo *bo, uint32_t *domain);
 void radeon_bo_pbmgr_flush_maps(struct pb_manager *_mgr);
 int radeon_bo_fencelist(struct radeon *radeon, struct radeon_bo **bolist, uint32_t num_bo);
-
+int radeon_bo_get_tiling_flags(struct radeon *radeon,
+                              struct radeon_bo *bo,
+                              uint32_t *tiling_flags,
+                              uint32_t *pitch);
 
 /* radeon_bo_pb.c */
 struct radeon_bo *radeon_bo_pb_get_bo(struct pb_buffer *_buf);
@@ -162,6 +168,7 @@ static inline void r600_context_block_emit_dirty(struct r600_context *ctx, struc
        memcpy(&ctx->pm4[ctx->pm4_cdwords], block->pm4, block->pm4_ndwords * 4);
        ctx->pm4_cdwords += block->pm4_ndwords;
        block->status ^= R600_BLOCK_STATUS_DIRTY;
+       LIST_DELINIT(&block->list);
 }
 
 static inline int radeon_bo_map(struct radeon *radeon, struct radeon_bo *bo)