diff options
author | Eric Anholt <eric@anholt.net> | 2007-12-12 10:25:19 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-12-12 11:52:10 -0800 |
commit | 7c71ef3a3d0cf2620525f468960cdc76a0fb0d33 (patch) | |
tree | 7b7e071b5c854bc5b737401990b54e488febf650 /src/mesa/drivers/dri/i965/brw_state_pool.c | |
parent | 00e10a1385bfd376f5f45ad94e3543ac87f15de8 (diff) |
[intel] Move bufmgr back to context instead of screen, fixing glthreads.
Putting the bufmgr in the screen is not thread-safe since the emit_reloc
changes. It also led to a significant performance hit from pthread usage
for the attempted thread-safety (up to 12% of a cpu spent on refcounting
protection in single-threaded 965). The motivation had been to allow
multi-context bufmgr sharing in classic mode, but it wasn't worth the cost.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_state_pool.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_state_pool.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_state_pool.c b/src/mesa/drivers/dri/i965/brw_state_pool.c index 0fc3a1a871..148bb516a6 100644 --- a/src/mesa/drivers/dri/i965/brw_state_pool.c +++ b/src/mesa/drivers/dri/i965/brw_state_pool.c @@ -88,7 +88,7 @@ static void brw_init_pool( struct brw_context *brw, pool->size = size; pool->brw = brw; - pool->buffer = dri_bo_alloc(brw->intel.intelScreen->bufmgr, + pool->buffer = dri_bo_alloc(brw->intel.bufmgr, (pool_id == BRW_GS_POOL) ? "GS pool" : "SS pool", size, 4096, DRM_BO_FLAG_MEM_TT); @@ -97,7 +97,7 @@ static void brw_init_pool( struct brw_context *brw, * the contents at approximately the same cost as the memcpy, and only * if the contents are lost. */ - if (!brw->intel.intelScreen->ttm) { + if (!brw->intel.ttm) { dri_bo_fake_disable_backing_store(pool->buffer, brw_invalidate_pool_cb, pool); } |