If in hw/xgl/glxext/xglglxext.c, in the function xglDrawArrays I make the following change (denoted by MISHA HACK in the comments) it no longer crashes although there are some redrawing problems:
static void xglDrawArrays (GLenum mode, GLint first, GLsizei count) { GLenum listMode; if (cctx->list) { glEndList (); xglStartList (XGL_LIST_OP_DRAW, GL_COMPILE); glDrawArrays (mode, first, count); glEndList (); listMode = cctx->listMode; } else listMode = GL_COMPILE_AND_EXECUTE; if (listMode == GL_COMPILE_AND_EXECUTE) { RegionRec region; BoxRec scissor, box; BoxPtr pBox; int nBox; XGL_GLX_DRAW_PROLOGUE (pBox, nBox, &scissor); while (nBox--) { XGL_GLX_DRAW_BOX (&box, pBox); pBox++; if (!cctx->framebuffer && cctx->attrib.scissorTest) XGL_GLX_INTERSECT_BOX (&box, &scissor); if (box.x1 < box.x2 && box.y1 < box.y2) { XGL_GLX_SET_SCISSOR_BOX (&box); /* !!! MISHA HACK START !!! */ if (count < 1000) glDrawArrays (mode, first, count); /* !!! MISHA HACK END !!! */ XGL_GLX_DRAW_DAMAGE (&box, ®ion); } } } if (cctx->list) xglStartList (XGL_LIST_OP_CALLS, cctx->listMode); } I am in communication with David Reverman about the bug and hopefully he will suggest something a little cleaner (basically it seems like there is aproblem with calls to glDrawArrays with a large count in this function, but as I have no OpenGL experience I am not clear on what array is actually being used for this function, and thus cannot currently proceed further). Misha -- Open office crashes and takes Xgl with it https://launchpad.net/bugs/63830 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs