|Summary:||glDrawElementsBaseVertex doesn't work in display list on i915|
|Product:||Mesa||Reporter:||Ruslan Kabatsayev <b7.10110111>|
|Component:||Drivers/DRI/i915||Assignee:||Ian Romanick <idr>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
Description Ruslan Kabatsayev 2016-08-13 12:02:55 UTC
Created attachment 125767 [details] Test case See the attached test case. It can run in four modes: 0) glDrawElements direct call 1) glDrawElementsBaseVertex direct call 2) glDrawElements inside a display list 3) glDrawElementsBaseVertex inside a display list Only first three work correctly on i915. Mode 3) shows black window, which is wrong. According to OpenGL docs, glDrawElementsBaseVertex is mostly equivalent to glDrawElements. Since the latter is included in display lists, the former must be too. Tested on: Linux 3.19.0 + Intel Atom N550 + Mesa 10.5.9 Linux 4.4.0 + Intel Atom N450 + Mesa 11.2.0
Comment 1 Ilia Mirkin 2016-08-14 06:30:54 UTC
https://patchwork.freedesktop.org/patch/105072/ That fixes it for me with a different driver, but it's all shared infrastructure inside mesa...
Comment 2 Ruslan Kabatsayev 2016-08-14 13:31:27 UTC
(In reply to Ilia Mirkin from comment #1) > https://patchwork.freedesktop.org/patch/105072/ > > That fixes it for me with a different driver, but it's all shared > infrastructure inside mesa... I can confirm that this fixes the problem on Core i7-4765T.
Comment 3 Ilia Mirkin 2016-08-14 16:13:14 UTC
Fix pushed: commit 68b64f32e84c951ca22de8cd5f65305e0142230d Author: Ilia Mirkin <email@example.com> Date: Sun Aug 14 02:28:35 2016 -0400 vbo: allow DrawElementsBaseVertex in display lists As an aside, note that Draw*Instanced* is not allowed in display lists, per the ARB_draw_instanced spec.