Summary: | [bisected IVB regression]Piglit glx/glx-visuals-depth aborted with kde mode | ||
---|---|---|---|
Product: | Mesa | Reporter: | lu hua <huax.lu> |
Component: | Drivers/DRI/i965 | Assignee: | Chad Versace <chadversary> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | high | CC: | arun, chadversary, freedesktop, idr, rishi.is, xunx.fang |
Version: | git | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
lu hua
2012-07-19 05:48:46 UTC
Bisect shows:bce58e155db7202a98642c10e6132dee4e08162b is the first bad commit. commit bce58e155db7202a98642c10e6132dee4e08162b Author: Eric Anholt <eric@anholt.net> AuthorDate: Wed Jul 4 10:52:32 2012 -0700 Commit: Chad Versace <chad.versace@linux.intel.com> CommitDate: Tue Jul 17 08:17:56 2012 -0700 intel: Convert to using private depth/stencil buffers (v2) This means that GLX buffer sharing of these no longer works. On the other hand, just *look* at this code reduction. v2: - [chad] Fix intelCreateBuffer for gen < 6. When the branch for !screen->hw_has_separate_stencil was taken, intel_create_private_renderbuffer was incorrectly not used. - [chad] Remove all code in intel_process_dri2_buffer for processing depth, stencil, and hiz buffers. That code is now dead. CC: Eric Anholt <eric@anholt.net> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Assigning to self (chadv). The assertion failure occurs in HiZ code. I am unable to reproduce this on Ivybridge with either Mesa master-996ff1c or the bisected commit. In my attempt to reproduce the bug, I used the following ~/.xinitrc. Lu, can you still reproduce this bug? If so, please provide a backtrace. -------- # file: ~/.xinitrc startkde & for ((x=0;x<1024;++x)) do if ! ./glx-visuals-depth -auto then echo "fail: $x" exit 1 fi done -------- After googling I found this bz. I'm also experiencing this issue with mesa-8.1_rc1 (Gentoo Linux) and Totem on SandyBridge Mobile. Specifically when I attempt to resize or fullscreen the totem window it happens 100% of the time. DRM_IOCTL_I915_GEM_CONTEXT_CREATE failed: Invalid argument DRM_IOCTL_I915_GEM_CONTEXT_CREATE failed: Invalid argument totem: intel_resolve_map.c:46: intel_resolve_map_set: Assertion `(*tail)->need == need' failed. Aborted Backtrace: #0 0x00000037d4036415 in raise () from /lib64/libc.so.6 #1 0x00000037d4037d2b in abort () from /lib64/libc.so.6 #2 0x00000037d402ed0d in __assert_fail () from /lib64/libc.so.6 #3 0x00007ffff4ed3055 in intel_resolve_map_set (head=<optimized out>, level=0, layer=0, need=GEN6_HIZ_OP_DEPTH_RESOLVE) at intel_resolve_map.c:46 #4 0x00007ffff4ee5f2a in brw_postdraw_set_buffers_need_resolve (brw=0x64b880) at brw_draw.c:350 #5 brw_try_draw_prims (max_index=<optimized out>, min_index=<optimized out>, ib=0x0, nr_prims=1, prim=0x7fffffffdf80, arrays=0x995b98, ctx=0x64b880) at brw_draw.c:539 #6 brw_draw_prims (ctx=0x64b880, prim=0x7fffffffdf80, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=3, tfb_vertcount=0x0) at brw_draw.c:583 #7 0x00007ffff4a46709 in vbo_draw_arrays (ctx=0x64b880, mode=7, start=0, count=<optimized out>, numInstances=1, baseInstance=<optimized out>) at ./../vbo/vbo_exec_array.c:645 #8 0x00007ffff7d4e0bf in piglit_draw_rect (x=0, y=0, w=10, h=20) at /GFX/Test/Piglit/piglit/tests/util/piglit-util-gl.c:817 #9 0x0000000000400cd4 in draw (dpy=0x602010, config=0x624cb0) at /GFX/Test/Piglit/piglit/tests/glx/glx-visuals-stencil.c:64 #10 0x00007ffff7d4f92a in piglit_iterate_visuals_event_loop (dpy=0x602010, draw=0x400bd4 <draw>, config=0x624cb0) at /GFX/Test/Piglit/piglit/tests/util/piglit-glx-util.c:224 #11 0x00007ffff7d4fd76 in piglit_glx_iterate_visuals (draw=0x400bd4 <draw>) at /GFX/Test/Piglit/piglit/tests/util/piglit-glx-util.c:362 #12 0x0000000000400eca in main (argc=2, argv=0x7fffffffe308) at /GFX/Test/Piglit/piglit/tests/glx/glx-visuals-stencil.c:107 Patch is submitted to mesa-dev. Author: Chad Versace <chad.versace@linux.intel.com> Date: Tue Aug 14 11:23:21 2012 -0700 i965: Move hiz resolve to after renderbuffer resizing Do all pre-draw hiz resolves *after* the renderbuffers are resized by intel_prepare_render. Otherwise, we may resolve buffers that are immediately discarded afterwards. Fixes the assertion failure below when resizing windows in KDE and under some unknown circumstance in Chrome OS: intel_resolve_map.c:46: intel_resolve_map_set: Assertion `(*tail)->need == need' failed. Also, remove the comment that "resolves must occur [...] before setting up any hardware state". That was true when resolves were implemented with meta-ops, but no longer with blorp. CC: Stephane Marchesin <marcheu@chromium.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52252 Reported-by: Lu Hua <huax.lu@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com> Can't find "i965: Move hiz resolve to after renderbuffer resizing" on mesa master commit 1597176f7090eea73f41b3114ae2a02a50ac7a12. Issue still exists. (In reply to comment #7) > Can't find "i965: Move hiz resolve to after renderbuffer resizing" on mesa > master commit 1597176f7090eea73f41b3114ae2a02a50ac7a12. > Issue still exists. The patch has not yet been committed to master; it is still under reviewon the mailing list. In comment #6, I stated that the "Patch is submitted to mesa-dev". *** Bug 53495 has been marked as a duplicate of this bug. *** Fixed by commit 88edbdf9f0c79e05593a71929f791fa4efb08ffb Author: Chad Versace <chad.versace@linux.intel.com> Date: Tue Aug 14 11:23:21 2012 -0700 i965: Move hiz resolve to after renderbuffer resizing (v2) Verified.Fixed on master branch commit 87a34131c427b40a561cfef1513b446a0eeabc39. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.