summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600/drm/r600_priv.h
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-09-29 15:05:19 -0400
committerJerome Glisse <jglisse@redhat.com>2010-09-29 15:06:04 -0400
commit1235becaa1cf7e29f580900592563c3329d326de (patch)
treeeb6828d88cc34342ad1be53d14e4c7e3a8f5be58 /src/gallium/winsys/r600/drm/r600_priv.h
parent845bda34d0c10b72cf3e41b445985a67572c0c1d (diff)
r600g: cleanup
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Diffstat (limited to 'src/gallium/winsys/r600/drm/r600_priv.h')
-rw-r--r--src/gallium/winsys/r600/drm/r600_priv.h48
1 files changed, 39 insertions, 9 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h
index 92dadf8d1c..f836e607c0 100644
--- a/src/gallium/winsys/r600/drm/r600_priv.h
+++ b/src/gallium/winsys/r600/drm/r600_priv.h
@@ -30,6 +30,7 @@
#include <stdint.h>
#include <stdlib.h>
#include <assert.h>
+#include <pipebuffer/pb_bufmgr.h>
#include "r600.h"
@@ -56,13 +57,50 @@ struct r600_reg {
unsigned flush_flags;
};
+struct radeon_bo {
+ struct pipe_reference reference;
+ unsigned handle;
+ unsigned size;
+ unsigned alignment;
+ unsigned map_count;
+ void *data;
+};
+
+struct radeon_ws_bo {
+ struct pipe_reference reference;
+ struct pb_buffer *pb;
+};
+
+
/* radeon_pciid.c */
unsigned radeon_family_from_device(unsigned device);
+/* r600_drm.c */
+struct radeon *radeon_decref(struct radeon *radeon);
+
+/* radeon_bo.c */
+struct radeon_bo *radeon_bo_pb_get_bo(struct pb_buffer *_buf);
+void r600_context_bo_reloc(struct r600_context *ctx, u32 *pm4, struct radeon_bo *bo);
+struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle,
+ unsigned size, unsigned alignment, void *ptr);
+int radeon_bo_map(struct radeon *radeon, struct radeon_bo *bo);
+void radeon_bo_unmap(struct radeon *radeon, struct radeon_bo *bo);
+void radeon_bo_reference(struct radeon *radeon, struct radeon_bo **dst,
+ struct radeon_bo *src);
+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);
+
+/* radeon_bo_pb.c */
+struct pb_buffer *radeon_bo_pb_create_buffer_from_handle(struct pb_manager *_mgr,
+ uint32_t handle);
+
+/* radeon_ws_bo.c */
+unsigned radeon_ws_bo_get_handle(struct radeon_ws_bo *bo);
+unsigned radeon_ws_bo_get_size(struct radeon_ws_bo *bo);
+
#define CTX_RANGE_ID(ctx, offset) (((offset) >> (ctx)->hash_shift) & 255)
#define CTX_BLOCK_ID(ctx, offset) ((offset) & ((1 << (ctx)->hash_shift) - 1))
-
static void inline r600_context_reg(struct r600_context *ctx,
unsigned offset, unsigned value,
unsigned mask)
@@ -83,14 +121,6 @@ static void inline r600_context_reg(struct r600_context *ctx,
block->status |= R600_BLOCK_STATUS_DIRTY;
}
-struct radeon_bo *radeon_bo_pb_get_bo(struct pb_buffer *_buf);
-void r600_context_bo_reloc(struct r600_context *ctx, u32 *pm4, struct radeon_bo *bo);
-
-struct radeon_ws_bo {
- struct pipe_reference reference;
- struct pb_buffer *pb;
-};
-
static inline void r600_context_block_emit_dirty(struct r600_context *ctx, struct r600_block *block)
{
struct radeon_bo *bo;