Gotcha! The command that overwrote the batch was an XY_COLOR_BLT with
RGB-only writes (no alpha). This is only used by intelClearWithBlit for
GL_DEPTH_BUFFER (no stencil) clears. Looking over the code, the
implication is that (x1, y1), (x2, y2) are beyond the bounds of the
buffer.

diff --git a/src/mesa/drivers/dri/intel/intel_blit.c 
b/src/mesa/drivers/dri/intel/intel_blit.c
index 1369e63..6269673 100644
--- a/src/mesa/drivers/dri/intel/intel_blit.c
+++ b/src/mesa/drivers/dri/intel/intel_blit.c
@@ -288,6 +288,8 @@ intelClearWithBlit(struct gl_context *ctx, GLbitfield mask)
       y1 = cy + irb->draw_y;
       x2 = cx + cw + irb->draw_x;
       y2 = cy + ch + irb->draw_y;
+      assert(x1 >= 0 && y1 >= 0);
+      assert(x2 <= region->pitch && y2 * region->pitch * region->cpp <= 
region->bo->size);
 
       pitch = region->pitch;
       cpp = region->cpp;

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/980325

Title:
  [i965gm] False GPU lockup  render.IPEHR: 0x7b000000

To manage notifications about this bug go to:
https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/980325/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to