Reset saved state for disasm when we've lost the context.

This commit is contained in:
Eric Anholt
2007-06-21 12:57:15 -07:00
parent f3f29d632e
commit 5d9dc02cbe
3 changed files with 11 additions and 0 deletions
@@ -731,3 +731,10 @@ i915_disasm(uint32_t *data, int count, uint32_t hw_offset)
return failures;
}
void i915_disasm_context_reset()
{
saved_s2_set = 0;
saved_s4_set = 1;
}
@@ -26,3 +26,4 @@
*/
int i915_disasm(uint32_t *data, int count, uint32_t hw_offset);
void i915_disasm_context_reset();
@@ -59,6 +59,7 @@
#include "intel_regions.h"
#include "intel_buffer_objects.h"
#include "intel_fbo.h"
#include "i915_disasm.h"
#include "drirenderbuffer.h"
#include "vblank.h"
@@ -646,6 +647,8 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
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)
i915_disasm_context_reset();
}
if (sarea->width != intelScreen->width ||