r600g,radeonsi: create aux_context last
authorMarek Olšák <marek.olsak@amd.com>
Thu, 3 Oct 2013 14:39:50 +0000 (16:39 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 3 Oct 2013 16:30:49 +0000 (18:30 +0200)
This fixes a regression caused by 68f6dec32ed5eede361f76c8dbdf897652659baf.

src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/radeon/r600_pipe_common.c
src/gallium/drivers/radeonsi/radeonsi_pipe.c

index 6b31bd87efba5b46cfcdac4655ef1465581c9be5..e091b084a15f8119359136a2ba97d7dda4c2f2c9 100644 (file)
@@ -1134,6 +1134,9 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws)
                }
        }
 
+       /* Create the auxiliary context. This must be done last. */
+       rscreen->b.aux_context = rscreen->b.b.context_create(&rscreen->b.b, NULL);
+
 #if 0 /* This is for testing whether aux_context and buffer clearing work correctly. */
        struct pipe_resource templ = {};
 
index 852993c0fc234df865c97efb2e54fdcd36b5656d..dd4856f3b4edc25c026579da54c2adf2871cf4a5 100644 (file)
@@ -175,9 +175,7 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen,
 
        util_format_s3tc_init();
 
-       /* Create the auxiliary context. */
        pipe_mutex_init(rscreen->aux_context_lock);
-       rscreen->aux_context = rscreen->b.context_create(&rscreen->b, NULL);
        return true;
 }
 
index a9292709e517a973dbb16e7c1423bed2c0c4a1e8..c3250e4fcb9a684090a119acddea71f0ad8de441 100644 (file)
@@ -819,5 +819,8 @@ struct pipe_screen *radeonsi_screen_create(struct radeon_winsys *ws)
        }
 #endif
 
+       /* Create the auxiliary context. This must be done last. */
+       rscreen->b.aux_context = rscreen->b.b.context_create(&rscreen->b.b, NULL);
+
        return &rscreen->b.b;
 }