summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2010-09-29 09:17:59 +1000
committerDave Airlie <[email protected]>2010-09-29 09:19:22 +1000
commit301ab49605e6f3456f437fc2f1b2b141a83a46fc (patch)
tree85dcdc1efb61e1e52833a1079eaa31dee5572ec7 /src/gallium
parent53b3933ce661e2552aa064bbc3a3ab317f32d148 (diff)
r600g: move radeon.h members around to add back map flushing.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/winsys/r600/drm/r600_priv.h3
-rw-r--r--src/gallium/winsys/r600/drm/r600_state2.c3
-rw-r--r--src/gallium/winsys/r600/drm/radeon_priv.h6
3 files changed, 8 insertions, 4 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h
index 189644f31cd..710c66bcfd8 100644
--- a/src/gallium/winsys/r600/drm/r600_priv.h
+++ b/src/gallium/winsys/r600/drm/r600_priv.h
@@ -40,6 +40,9 @@ struct radeon {
unsigned family;
enum chip_class chip_class;
boolean use_mem_constant; /* true for evergreen */
+ struct pb_manager *mman; /* malloc manager */
+ struct pb_manager *kman; /* kernel bo manager */
+ struct pb_manager *cman; /* cached bo manager */
};
struct radeon *r600_new(int fd, unsigned device);
diff --git a/src/gallium/winsys/r600/drm/r600_state2.c b/src/gallium/winsys/r600/drm/r600_state2.c
index 779138656a6..1241bca244f 100644
--- a/src/gallium/winsys/r600/drm/r600_state2.c
+++ b/src/gallium/winsys/r600/drm/r600_state2.c
@@ -60,7 +60,7 @@ void radeon_bo_reference(struct radeon *radeon,
struct radeon_bo *src);
unsigned radeon_ws_bo_get_handle(struct radeon_ws_bo *pb_bo);
-
+void radeon_bo_pbmgr_flush_maps(struct pb_manager *_mgr);
static int r600_group_id_register_offset(struct r600_context *ctx, unsigned offset)
{
@@ -1056,6 +1056,7 @@ void r600_context_flush(struct r600_context *ctx)
/* suspend queries */
r600_context_queries_suspend(ctx);
+ radeon_bo_pbmgr_flush_maps(ctx->radeon->kman);
#if 1
/* emit cs */
drmib.num_chunks = 2;
diff --git a/src/gallium/winsys/r600/drm/radeon_priv.h b/src/gallium/winsys/r600/drm/radeon_priv.h
index e780cfd96ad..4cb3fc79d43 100644
--- a/src/gallium/winsys/r600/drm/radeon_priv.h
+++ b/src/gallium/winsys/r600/drm/radeon_priv.h
@@ -85,12 +85,12 @@ struct radeon {
unsigned family;
enum chip_class chip_class;
boolean use_mem_constant; /* true for evergreen */
- unsigned nstype;
- struct radeon_stype_info *stype;
- unsigned max_states;
struct pb_manager *mman; /* malloc manager */
struct pb_manager *kman; /* kernel bo manager */
struct pb_manager *cman; /* cached bo manager */
+ unsigned nstype;
+ struct radeon_stype_info *stype;
+ unsigned max_states;
};
struct radeon_ws_bo {