OSDN Git Service

r600g: move radeon.h members around to add back map flushing.
authorDave Airlie <airlied@redhat.com>
Tue, 28 Sep 2010 23:17:59 +0000 (09:17 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 28 Sep 2010 23:19:22 +0000 (09:19 +1000)
src/gallium/winsys/r600/drm/r600_priv.h
src/gallium/winsys/r600/drm/r600_state2.c
src/gallium/winsys/r600/drm/radeon_priv.h

index 189644f..710c66b 100644 (file)
@@ -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);
index 7791386..1241bca 100644 (file)
@@ -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;
index e780cfd..4cb3fc7 100644 (file)
@@ -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 {