Mesa (master): i965: Initialize the intel_context::bufmgr pointer earlier.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Aug 6 21:47:56 UTC 2013


Module: Mesa
Branch: master
Commit: c047ad000b24bdd5edb3e59f59738104e0fb42bd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c047ad000b24bdd5edb3e59f59738104e0fb42bd

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu Aug  1 15:11:39 2013 -0700

i965: Initialize the intel_context::bufmgr pointer earlier.

This prevents a crash in a future patch.

_mesa_initialize_context() creates a default transform feedback object
by calling the NewTransformFeedbackObject() driver hook.  Eventually,
we'll want to subclass that and allocate a buffer object.  This means
passing brw->bufmgr to drm_intel_alloc_bo(), and crashing if it isn't
initialized yet.

The buffer manager is actually already initialized; we just hadn't
copied the pointer from intel_screen to intel_context quite early
enough.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 src/mesa/drivers/dri/i965/intel_context.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_context.c b/src/mesa/drivers/dri/i965/intel_context.c
index 7860e1f..461d493 100644
--- a/src/mesa/drivers/dri/i965/intel_context.c
+++ b/src/mesa/drivers/dri/i965/intel_context.c
@@ -481,6 +481,7 @@ intelInitContext(struct brw_context *brw,
    }
 
    brw->intelScreen = intelScreen;
+   brw->bufmgr = intelScreen->bufmgr;
 
    if (!_mesa_initialize_context(&brw->ctx, api, mesaVis, shareCtx,
                                  functions)) {
@@ -540,8 +541,6 @@ intelInitContext(struct brw_context *brw,
     */
    brw->max_gtt_map_object_size = gtt_size / 4;
 
-   brw->bufmgr = intelScreen->bufmgr;
-
    bo_reuse_mode = driQueryOptioni(&brw->optionCache, "bo_reuse");
    switch (bo_reuse_mode) {
    case DRI_CONF_BO_REUSE_DISABLED:




More information about the mesa-commit mailing list