Bug 43327 - [bisected SNB] HiZ make many oglc cases regressed
Summary: [bisected SNB] HiZ make many oglc cases regressed
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: All Linux (All)
: high major
Assignee: Chad Versace
QA Contact:
: 43294 43296 (view as bug list)
Depends on: 44749
Blocks: 42993
  Show dependency treegraph
Reported: 2011-11-29 01:50 UTC by fangxun
Modified: 2012-02-17 00:53 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

Script I used to run this bug report's oglconform tests. (4.38 KB, application/octet-stream)
2011-12-12 14:02 UTC, Chad Versace
Log from running attached script bug-43327-run-oglconform (56.78 KB, text/x-log)
2011-12-12 14:03 UTC, Chad Versace

Description fangxun 2011-11-29 01:50:05 UTC
System Environment:
Arch:           i386
Platform:       huronriver
Libdrm:         (master)2.4.27-2-gca4971292cf99e0063416cd1c3467af94637bf2b
Mesa:           (master)94cd9d6be8980f28fdb6b7a8526814802a90f25d
Xserver:                (master)xorg-server-
Kernel:  (drm-intel-next)9a10f401a401ca69c6537641c8fc0d6b57b5aee8

Bug detailed description:
Failed cases:
oglc scissor(basic.allCases)
oglc zbfunc(basic.glEqual.bitmap)
oglc zbfunc(basic.glGequal.bitmap)
oglc zbfunc(basic.glGreater.bitmap)
oglc depthrange(basic.depthRangeRasterPos)
oglc depthwrite(basic.bitmap)
oglc drawbuffer(basic.allCases)
oglc texgen(basic.allCases)
oglc colorsum(basic.allCases)
oglc colorsum(basic.allCases)
oglc api-texcoord(basic.allCases)__1Vis
oglc api-color(basic.allCases)__1Vis
oglc api-mtexcoord(basic.allCases)
oglc spop(basic.fewMasks)
oglc spop(advanced.allMasks)
oglc api-fogcoord(basic.allCases)
oglc api-seccolor(basic.allCases)
oglc blend-constcolor(basic.allCases)
oglc blend-separate(basic.allCases)
oglc blendfunc(basic.drawBitmap.SrcOneMinusDstAlpha.src)
oglc blendfunc(basic.drawBitmap.SrcSrcAlphaSaturate.misc)
oglc spAuxTwoSided(basic.allCases
oglc spopTwoSided(basic.allCases)__1Vis
oglc separatestencil-neu(NonPolygon.BothFacesBitmapCoreAPI)
oglc separatestencil-neu(NonPolygon.BothFacesBitmapExtAPI)
oglc pxtrans-copy(advanced.stencilTest.noFbo)
Ogles2conform GL2ExtensionTests/depth_texture/depth_texture.test
Ogles2conform GL2ExtensionTests_packed_depth_stencil_packed_depth_stencil.test
Ogles2conform GL2Tests_framebuffer_objects_framebuffer_objects.test

Segfault cases:
oglc mustpass(basic.feedback)
oglc mustpass(basic.select)
oglc feedback(basic.lineLoopRender)
oglc feedback(basic.lineRender)
oglc feedback(basic.lineStripRender)
oglc feedback(basic.pointRender)
oglc feedback(basic.polyFillRender)
oglc feedback(basic.polyLineRender)
oglc feedback(basic.polyPointRender)
oglc feedback(basic.triFanRender)
oglc feedback(basic.triRender)
oglc feedback(basic.triStripRender)
oglc select(basic.line)
oglc select(basic.triStrip)
oglc select(basic.lineLoop)
oglc select(basic.tri)
oglc select(basic.triStrip)
oglc select(basic.triFan)
oglc select(basic.quad)
oglc select(basic.quadStrip)
oglc select(basic.polyPoint)
oglc select(basic.polyLine)
oglc select(basic.polyFill)
oglc bitmap-draw(basic.allCases)

Bisect shows 05ab8fc13461aa9d6612d75c899dac20de067da6 is the first bad commit.
commit 05ab8fc13461aa9d6612d75c899dac20de067da6
Author:     Chad Versace <chad.versace@linux.intel.com>
AuthorDate: Thu Nov 17 08:53:39 2011 -0800
Commit:     Chad Versace <chad.versace@linux.intel.com>
CommitDate: Tue Nov 22 10:50:52 2011 -0800

    i965/gen6: Enable HiZ by default

    Regresses one Piglit test: bugs/fdo10370.

    I'm not enabling HiZ for gen7 yet because it causes a mysterious
    performance regression.

    Reviewed-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Chad Versace <chad.versace@linux.intel.com>

Reproduce steps:
1. start X
2. ./oglconform -z -s -suite all -v 2 -D 115 -test scissor basic.allCases
Comment 1 Gordon Jin 2011-11-29 16:33:52 UTC
*** Bug 43294 has been marked as a duplicate of this bug. ***
Comment 2 Gordon Jin 2011-11-29 16:34:12 UTC
*** Bug 43296 has been marked as a duplicate of this bug. ***
Comment 3 Chad Versace 2011-12-12 14:02:26 UTC
Created attachment 54378 [details]
Script I used to run this bug report's oglconform tests.
Comment 4 Chad Versace 2011-12-12 14:03:05 UTC
Created attachment 54379 [details]
Log from running attached script bug-43327-run-oglconform
Comment 5 Chad Versace 2011-12-12 14:06:41 UTC

I've run all the oglc tests listed in the report against master 23895cc on Sandybridge. The only one that fails for me is

>> Blend Func seprate EXT Function (blend-separate)  test:
--> 1.1 - basic.allCases subcase:
Mesa: User error: GL_INVALID_OPERATION in glDrawPixels(no depth buffer)

Could you confirm that this is the only test that still fails? I've attached the script that I used to run the tests and the output log.
Comment 6 fangxun 2011-12-13 02:01:36 UTC
These cases still fails against master 23895cc on Sandybridge.
Comment 7 Chad Versace 2011-12-14 13:16:35 UTC
I've confirmed that
    oglconform64 args -z -s -suite all -v 2 -D 115 -test scissor basic.allCases
is segfaulting on mesa 23895cc006f. But this segfault is seemingly not related to HiZ. Below
is the backtrace. What happens is that oglc fails to obtain a valid GLXFBConfig
from glXChooseFBConfig, and makes the mistake of referencing the returned null

Fangxun, oglconform is new to me. And before continuing to debug this, I want to
verify with you that we are both looking at the same bug. Please confirm that this
is the same backtrace that is causing the test to fail on your machine.

#0  0x000000000113d1cc in FbConfig::get_config_with_id (dpy=..., id=115) at /home/chad/proj/com.intel.ogl
#1  0x000000000113b460 in FbConfig::FbConfig (this=0x7fffffffd9a0, dpy=..., fb_config_id=115, type=FbConf
ig::FB_CONFIG_MODERN) at /home/chad/proj/com.intel.oglconform/out/work/debug.corei7/build/src/CONFSHEL/wi
#2  0x000000000116ca12 in ScheduleManager::one_format (this=0x7fffffffda70, dpy=..., format=115) at /home
#3  0x000000000110520c in tkShellExecute (testSchedule=std::vector of length 1, capacity 1 = {...}, filte
r=std::vector of length 0, capacity 0) at /home/chad/proj/com.intel.oglconform/out/work/debug.corei7/buil
#4  0x000000000110e5aa in main (argc=12, argv=0x7fffffffdd98) at /home/chad/proj/com.intel.oglconform/out
Comment 8 fangxun 2011-12-15 01:57:52 UTC
chad, there is new regression on oglc scissor(basic.allCases) against master 23895cc, you can see bug 43783.  According to my bisect, Hiz make oglc scissor(basic.allCases) failed, and after that, new regression make it segfaulted.

My backtrace is different to your backtace(see bug 43783). From your backtrace, the visual ID 115 didn't exist. You can find the actual Visual ID in your machine according to below attributes that used in our testing, or you can use all visuals to run "oglconform64 args -z -s -suite all -v 2 -test scissor basic.allCases".

| 1| 1| gl| wipbpx| rgba| 32| 8| 

8| 8| 8| 24| 8| 64| 0| 0| 

-1| 0| 0| slow| undef| 0| 0| 0
Comment 9 Chad Versace 2012-01-25 11:11:25 UTC
Adding dependency https://bugs.freedesktop.org/show_bug.cgi?id=44749 . That patch in that bug report fixes many of these tests on master.

Below is the current status of these tests on Sandybridge as of
commit dc435ae774b1deed3d00b7c7d33133c08b626737
Author: Paul Berry <stereotype441@gmail.com>
Date:   Tue Jan 24 12:16:29 2012 -0800

pass: api-color.basic.allCases.log
fail: api-fogcoord.basic.allCases.log
fail: api-mtexcoord.basic.allCases.log
fail: api-seccolor.basic.allCases.log
fail: api-texcoord.basic.allCases.log
pass: bitmap-draw.basic.allCases.log
pass: blend-constcolor.basic.allCases.log
pass: blendfunc.basic.drawBitmap.SrcOneMinusDstAlpha.src.log
pass: blendfunc.basic.drawBitmap.SrcSrcAlphaSaturate.misc.log
fail: blend-separate.basic.allCases.log
fail: colorsum.basic.allCases.log
uknonwn: depthrange.basic.depthRangeRasterPos.log
uknonwn: depthwrite.basic.bitmap.log
pass: drawbuffer.basic.allCases.log
pass: feedback.basic.lineLoopRender.log
pass: feedback.basic.lineRender.log
pass: feedback.basic.lineStripRender.log
pass: feedback.basic.pointRender.log
pass: feedback.basic.polyFillRender.log
pass: feedback.basic.polyLineRender.log
pass: feedback.basic.polyPointRender.log
pass: feedback.basic.triFanRender.log
pass: feedback.basic.triRender.log
pass: feedback.basic.triStripRender.log
pass: mustpass.basic.feedback.log
pass: mustpass.basic.select.log
uknonwn: pxtrans-copy.advanced.stencilTest.noFbo.log
pass: scissor.basic.allCases.log
pass: select.basic.line.log
pass: select.basic.lineLoop.log
pass: select.basic.polyFill.log
pass: select.basic.polyLine.log
pass: select.basic.polyPoint.log
pass: select.basic.quad.log
pass: select.basic.quadStrip.log
pass: select.basic.triFan.log
pass: select.basic.tri.log
pass: select.basic.triStrip.log
uknonwn: separatestencil-neu.NonPolygon.BothFacesBitmapCoreAPI.log
uknonwn: separatestencil-neu.NonPolygon.BothFacesBitmapExtAPI.log
uknonwn: spAuxTwoSided.basic.allCases.log
uknonwn: spop.advanced.allMasks.log
uknonwn: spop.basic.fewMasks.log
uknonwn: spopTwoSided.basic.allCases.log
pass: texgen.basic.allCases.log
pass: zbfunc.basic.glEqual.bitmap.log
pass: zbfunc.basic.glGequal.bitmap.log
pass: zbfunc.basic.glGreater.bitmap.log
Comment 10 Chad Versace 2012-02-08 11:50:41 UTC
Fixed on master by:

commit 7b36c68ba6899c7f30fd56b7ef07a78b027771ac
Author: Chad Versace <chad.versace@linux.intel.com>
    i965: Rewrite the HiZ op

I've tested all oglc tests with visual 133 (which has depth24/stencil8) and visual 135 (which has depth0/stencil0).
Comment 11 Chad Versace 2012-02-08 11:59:08 UTC
Reopening bug.

idr requested that I leave the bug open until it is fixed on 8.0.
Comment 12 Gordon Jin 2012-02-08 17:45:30 UTC
(In reply to comment #11)
> Reopening bug.
> idr requested that I leave the bug open until it is fixed on 8.0.


Xun, please verify with tonight's master.
Comment 13 fangxun 2012-02-14 01:40:12 UTC
verify with mesa master d2c54fb5223efee699862bef56177027edc140bc.
Comment 14 Chad Versace 2012-02-15 14:59:00 UTC
Marking RESOLVED/FIXED. The fixes were recentlycherry-picked to 8.0.
Comment 15 fangxun 2012-02-17 00:53:08 UTC
Verified with mesa 8.0 branch(99f9c9789a2d316d97ca6791343fb697f220929e).

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.