Bug 37660 - regression after "st/mesa: rewrite st_choose_format() to be table driven"
Summary: regression after "st/mesa: rewrite st_choose_format() to be table driven"
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Brian Paul
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-27 04:28 UTC by Andrew Randrianasulu
Modified: 2011-05-31 01:21 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
debug patch for st_format.c (38.62 KB, patch)
2011-05-27 07:16 UTC, Brian Paul
Details | Splinter Review

Description Andrew Randrianasulu 2011-05-27 04:28:52 UTC
Running 3DMark2001se under wine (wine-1.3.20-439-g1ec78b8) and mesa-git gives me black screen at loading, with many 

err:d3d_draw:drawStridedFast >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506)                                     from glDrawElements @ drawprim.c / 43
fixme:d3d:context_check_fbo_status FBO status GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT (0x8                                    cd6)
fixme:d3d:context_check_fbo_status      Location SFLAG_INTEXTURE (0x40).
fixme:d3d:context_check_fbo_status      Color attachment 0: (0x199fd0) WINED3DFMT_B8G8R                                    8X8_UNORM 1024x768
fixme:d3d:context_check_fbo_status      Depth attachment: (0x19a128) WINED3DFMT_D32_UNO                                    RM 1024x768
err:d3d_draw:drawStridedFast >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506)

bisecting points at 

d57e95f22af1a1b2d9013db7a15524717bd29579 is the first bad commit
commit d57e95f22af1a1b2d9013db7a15524717bd29579
Author: Brian Paul <brianp@vmware.com>
Date:   Sat May 21 10:43:49 2011 -0600

    st/mesa: rewrite st_choose_format() to be table driven

guest@slax:~/botva/src/src/mesa$ git bisect log
git bisect start
# bad: [f7b3f40b70dc7dd602897d364011089047583c5d] i965: Pack the lookup and line_aa bits into the first dword of the key.
git bisect bad f7b3f40b70dc7dd602897d364011089047583c5d
# good: [fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb] st/mesa: assign renderbuffer's format field when allocating storage
git bisect good fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb
# bad: [a9e65097855468529242f9076bd6ef2a6c8062c1] intel: Add is_hiz_depth_format() to intel_contex.vtbl
git bisect bad a9e65097855468529242f9076bd6ef2a6c8062c1
# bad: [3869be74afb184dbdf9d67fda3de3e3ac7e3db6c] glx: More comment cleanup
git bisect bad 3869be74afb184dbdf9d67fda3de3e3ac7e3db6c
# bad: [d57e95f22af1a1b2d9013db7a15524717bd29579] st/mesa: rewrite st_choose_format() to be table driven
git bisect bad d57e95f22af1a1b2d9013db7a15524717bd29579
# good: [e8b1c6d6f55f5be3bef25084fdd8b6127517e137] mesa: Fix return type of  _mesa_get_format_bytes() (#37351)
git bisect good e8b1c6d6f55f5be3bef25084fdd8b6127517e137
# good: [c3c1976f522a67be6a0619e938a90cf186ad42e6] wgl: Don't hold on to user supplied HDC.
git bisect good c3c1976f522a67be6a0619e938a90cf186ad42e6

hw:
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AR [Radeon 9600] (prog-if 00 [VGA controller])
        Subsystem: PC Partner Limited Sapphire Radeon 9600XT
        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 16
        Memory at e8000000 (32-bit, prefetchable) [size=128M]
        I/O ports at c800 [size=256]
        Memory at ff8f0000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at ff8c0000 [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
        Capabilities: [50] Power Management version 2
        Kernel driver in use: radeon
        Kernel modules: radeon

kernel: 2.6.39-rc7+
X server - 1.9 branch
ddx - 557f46dc2f18734ecf1f18dee7e951e0bf062e63
libdrm - ba11501bb9f5bd98110dfe1385b4501c0a9a643a
Comment 1 Brian Paul 2011-05-27 06:27:04 UTC
If I send you a debug patch for st_format.c can you do some additional testing?
Comment 2 Andrew Randrianasulu 2011-05-27 07:08:18 UTC
(In reply to comment #1)
> If I send you a debug patch for st_format.c can you do some additional testing?

Sure, yes. On top of current git master ?
Comment 3 Brian Paul 2011-05-27 07:16:05 UTC
Created attachment 47229 [details] [review]
debug patch for st_format.c

Here's a patch against git master.  It compares the old format selection against the new one.  If they don't match an error is printed and the assertion will fail.  Let me know what you get.  Thanks.
Comment 4 Andrew Randrianasulu 2011-05-27 09:21:48 UTC
(In reply to comment #3)
> Created an attachment (id=47229) [details]
> debug patch for st_format.c
> 
> Here's a patch against git master.  It compares the old format selection
> against the new one.  If they don't match an error is printed and the assertion
> will fail.  Let me know what you get.  Thanks.

Still same black screen at loading, no assertion.

But if I change in 3DMark200SE's settings Z-buffer depth from 32 (default) to 24 - loading screen and first game benchmark runs fine.
Comment 5 Brian Paul 2011-05-27 09:32:05 UTC
Are you sure the above-mentioned commit is the one at fault?

The next commit changed the selection priority for some Z/depth formats:

commit cd5417aac72ae1de85dd6bca3d53d2e2f2d7e546
Author: Brian Paul <brianp@vmware.com>
Date:   Tue May 24 08:59:09 2011 -0600

    st/mesa: prefer formats without stencil for DEPTH_COMPONENT
    
    for fast Z clears to be used more often.
    
    Original patch by Marek Olšák.  Rebased to table-driven st_choose_format()
    by Brian Paul.

That sounds like the more likely culprit.
Comment 6 Andrew Randrianasulu 2011-05-27 10:21:54 UTC
(In reply to comment #5)
> Are you sure the above-mentioned commit is the one at fault?
> 
> The next commit changed the selection priority for some Z/depth formats:
> 
> commit cd5417aac72ae1de85dd6bca3d53d2e2f2d7e546
> Author: Brian Paul <brianp@vmware.com>
> Date:   Tue May 24 08:59:09 2011 -0600
> 
>     st/mesa: prefer formats without stencil for DEPTH_COMPONENT
> 
>     for fast Z clears to be used more often.
> 
>     Original patch by Marek Olšák.  Rebased to table-driven st_choose_format()
>     by Brian Paul.
> 
> That sounds like the more likely culprit.

Revert "st/mesa: prefer formats without stencil for DEPTH_COMPONENT" has no positive effect on this bug....
Comment 7 Andrew Randrianasulu 2011-05-29 07:00:34 UTC
[PATCH\ 2_4]\ st_mesa:\ add\ GL_DEPTH_COMPONENT32\ fallback\ formats.eml fixes it .... from http://article.gmane.org/gmane.comp.video.mesa3d.devel/26602
Comment 8 Andrew Randrianasulu 2011-05-31 01:21:34 UTC
Fixed in latest mesa git


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.