[Mesa-dev] [Bug 101464] PrimitiveRestartNV inside a render list causes a crash
https://bugs.freedesktop.org/show_bug.cgi?id=101464 Brian Paulchanged: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Brian Paul --- I've committed a patch based on your suggestion (commit f5c8bb1e00f358e05ed21f8ed69c9fc3803bf95f) plus an patch for another failure case (commit 9ac55e8219e1f6abeab3c779c8fe710c2bc25f2b). Closing this bug. -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 101464] PrimitiveRestartNV inside a render list causes a crash
https://bugs.freedesktop.org/show_bug.cgi?id=101464 --- Comment #1 from Olivier Lauffenburger--- I have replaced the content of save_PrimitiveRestartNV() by the following code to make it work: static void GLAPIENTRY _save_PrimitiveRestartNV(void) { GLenum curPrim; GET_CURRENT_CONTEXT(ctx); /* get current primitive mode */ struct vbo_save_context *save = _context(ctx)->save; if (save->prim_count == 0) return; const GLuint i = save->prim_count - 1; curPrim = save->prim[i].mode; /* restart primitive */ CALL_End(GET_DISPATCH(), ()); vbo_save_NotifyBegin(ctx, (curPrim | VBO_SAVE_PRIM_WEAK | VBO_SAVE_PRIM_NO_CURRENT_UPDATE)); } Contrarily to what is stated, ctx->Driver.CurrentSavePrimitive is not correctly set before _save_PrimitiveRestartNV() is called, whence this intricate code to get the current primitive mode... -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 101464] PrimitiveRestartNV inside a render list causes a crash
https://bugs.freedesktop.org/show_bug.cgi?id=101464 Bug ID: 101464 Summary: PrimitiveRestartNV inside a render list causes a crash Product: Mesa Version: 17.0 Hardware: x86-64 (AMD64) OS: All Status: NEW Severity: major Priority: medium Component: Mesa core Assignee: mesa-dev@lists.freedesktop.org Reporter: o.lauffenbur...@topsolid.com QA Contact: mesa-dev@lists.freedesktop.org When using glDrawElements with glPrimitiveRestartIndexNV during the compilation of a render list, there is a crash when Mesa reaches the second restart index of the array. The reason is that when PrimitiveRestartNV is called internally the first time, save_PrimitiveRestartNV() (in \src\mesa\vbo\vbo_save_api.c) is called. It executes _save_End() and _save_Begin(curPrim), but _save_Begin() is a noop function that merely raises an OpenGL error "Recursive glBegin". -- You are receiving this mail because: You are the assignee for the bug. You are the QA Contact for the bug.___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev