Merge branch 'master' into i915-unification
authorEric Anholt <eric@anholt.net>
Wed, 19 Sep 2007 18:05:36 +0000 (11:05 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 20 Sep 2007 16:04:20 +0000 (09:04 -0700)
Conflicts:

src/mesa/drivers/dri/common/dri_drmpool.c
src/mesa/drivers/dri/i915tex/i915_vtbl.c
src/mesa/drivers/dri/i915tex/intel_batchbuffer.c
src/mesa/drivers/dri/i915tex/intel_context.c

14 files changed:
1  2 
src/mesa/drivers/dri/Makefile.template
src/mesa/drivers/dri/i915tex/Makefile
src/mesa/drivers/dri/i915tex/i830_vtbl.c
src/mesa/drivers/dri/i915tex/i915_context.h
src/mesa/drivers/dri/i915tex/i915_metaops.c
src/mesa/drivers/dri/i915tex/i915_vtbl.c
src/mesa/drivers/dri/i915tex/intel_batchbuffer.c
src/mesa/drivers/dri/i915tex/intel_batchbuffer.h
src/mesa/drivers/dri/i915tex/intel_context.c
src/mesa/drivers/dri/i915tex/intel_context.h
src/mesa/drivers/dri/i915tex/intel_decode.c
src/mesa/drivers/dri/i915tex/intel_pixel_draw.c
src/mesa/drivers/dri/i915tex/server/i830_common.h
src/mesa/drivers/dri/i965/intel_context.c

Simple merge
@@@ -516,6 -524,16 +521,16 @@@ i830_emit_state(struct intel_context *i
  static void
  i830_destroy_context(struct intel_context *intel)
  {
 -       driBOUnReference(i830->state.tex_buffer[i]);
+    GLuint i;
+    struct i830_context *i830 = i830_context(&intel->ctx);
+    for (i = 0; i < I830_TEX_UNITS; i++) {
+       if (i830->state.tex_buffer[i] != NULL) {
++       dri_bo_unreference(i830->state.tex_buffer[i]);
+        i830->state.tex_buffer[i] = NULL;
+       }
+    }
     _tnl_free_vertices(&intel->ctx);
  }
  
@@@ -426,6 -440,16 +437,16 @@@ i915_emit_state(struct intel_context *i
  static void
  i915_destroy_context(struct intel_context *intel)
  {
 -       driBOUnReference(i915->state.tex_buffer[i]);
+    GLuint i;
+    struct i915_context *i915 = i915_context(&intel->ctx);
+    for (i = 0; i < I915_TEX_UNITS; i++) {
+       if (i915->state.tex_buffer[i] != NULL) {
++       dri_bo_unreference(i915->state.tex_buffer[i]);
+        i915->state.tex_buffer[i] = NULL;
+       }
+    }
     _tnl_free_vertices(&intel->ctx);
  }
  
@@@ -194,12 -235,6 +192,12 @@@ do_flush_locked(struct intel_batchbuffe
        }
        intel->vtbl.lost_hardware(intel);
     }
-       i915_disasm(ptr, used / 4, batch->buf->offset);
 +
 +   if (INTEL_DEBUG & DEBUG_BATCH) {
 +      dri_bo_map(batch->buf, GL_FALSE);
++      intel_decode(ptr, used / 4, batch->buf->offset);
 +      dri_bo_unmap(batch->buf);
 +   }
  }
  
  
@@@ -59,7 -59,6 +59,7 @@@
  #include "intel_regions.h"
  #include "intel_buffer_objects.h"
  #include "intel_fbo.h"
- #include "i915_disasm.h"
++#include "intel_decode.h"
  
  #include "drirenderbuffer.h"
  #include "vblank.h"
@@@ -658,18 -671,6 +669,18 @@@ intelContendedLock(struct intel_contex
     if (dPriv)
        DRI_VALIDATE_DRAWABLE_INFO(sPriv, dPriv);
  
-        i915_disasm_context_reset();
 +   /* If the last consumer of the texture memory wasn't us, notify the fake
 +    * bufmgr and record the new owner.  We should have the memory shared
 +    * between contexts of a single fake bufmgr, but this will at least make
 +    * things correct for now.
 +    */
 +   if (!intel->intelScreen->ttm && sarea->texAge != intel->hHWContext) {
 +      sarea->texAge = intel->hHWContext;
 +      dri_bufmgr_fake_contended_lock_take(intel->intelScreen->bufmgr);
 +      if (INTEL_DEBUG & DEBUG_BATCH)
++       intel_decode_context_reset();
 +   }
 +
     if (sarea->width != intelScreen->width ||
         sarea->height != intelScreen->height ||
         sarea->rotation != intelScreen->current_rotation) {
@@@ -815,7 -824,7 +824,7 @@@ intel_decode(uint32_t *data, int count
      return failures;
  }
  
- void i915_disasm_context_reset()
 -void intel_disasm_context_reset()
++void intel_decode_context_reset()
  {
      saved_s2_set = 0;
      saved_s4_set = 1;