Bug 38134

Summary: [bisected i965]piglit fbo/fbo-blit-d24s8 crashed
Product: Mesa Reporter: fangxun <xunx.fang>
Component: Drivers/DRI/i965Assignee: Chad Versace <chadversary>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high CC: chadversary
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description fangxun 2011-06-09 22:01:28 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:      Piketon
Libdrm:    (master)2.4.26
Mesa:     (master)da8b4c07986e202b0596b729a5eec31c9aec5fcc
Xserver:  (master)xorg-server-1.10.99.901-29-g02d11af01211da55e9d93fe0e1851a0c6fe57472
Xf86_video_intel: (master)2.15.0-53-g021209d5d3add8b28143611cfad4c5481a2945a3
Kernel_unstable: (drm-intel-next)da3cc9202697a44057c1bd3ad685689375f1fe0c

Bug detailed description:
-------------------------
It crashed on Ironlake and sandybirdge. Bisect shows 2abc8ca is the first bad commit. Below cases also crashed due to this commit.
piglit spec/EXT_packed_depth_stencil/fbo-depth-GL_DEPTH24_STENCIL8
Ogles2conform  GL2ExtensionTests/packed_depth_stencil/packed_depth_stencil.test

gdb shows:
Breakpoint 1 at 0x7ffff6392a0d: file ../intel/intel_batchbuffer.h, line 71 

commit 2abc8cae87b4cd037ebde68b4b9a1d02254657df
Author:     Chad Versace <chad@chad-versace.us>
AuthorDate: Mon May 23 13:48:28 2011 -0700
Commit:     Chad Versace <chad@chad-versace.us>
CommitDate: Wed Jun 8 10:06:39 2011 -0700

    i965/brw: Emit state for hiz and separate stencil buffers

    When emitting 3DSTATE_DEPTH_BUFFER, also emit 3DSTATE_HIER_DEPTH_BUFFER if
    there is a hiz buffer. Ditto for 3DSTATE_STENCIL_BUFFER and a separate
    stencil buffer.


Reproduce steps:
-------------------------
1. start X
2. fbo-blit-d24s8 -auto
Comment 1 Chad Versace 2011-06-10 11:16:30 UTC
Fixed by this commit.

commit 97d230b0bcf8ed001f685ebac314fbd8e1955718
Author: Chad Versace <chad@chad-versace.us>
Date:   Fri Jun 10 10:27:54 2011 -0700

    i965/brw: Fix emit_depthbuffer() when packed depth/stencil texture is attached
    
    If either depth or stencil buffer has packed depth/stencil format, then do
    not use separate stencil.
    
    Before this commit, emit_depthbuffer() incorrectly assumed that the
    texture's stencil renderbuffer wrapper was a *separate* stencil buffer,
    because the depth and stencil renderbuffer wrappers are distinct for
    depth/stencil textures (that is, depth_irb != stencil_irb).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38134
    Signed-off-by: Chad Versace <chad@chad-versace.us>
Comment 2 fangxun 2011-06-16 23:54:33 UTC
Verified with Mesa master commit 77b7e1b58fcc4823b6b1f4fa4296c810db218f8a.

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.