Bug 39132

Summary: [IvyBridge] Many piglit tests failed
Product: Mesa Reporter: zhao jian <jian.j.zhao>
Component: Drivers/DRI/i965Assignee: Kenneth Graunke <kenneth>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: chadversary, eugeni, idr
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description zhao jian 2011-07-11 04:23:36 UTC
System Environment:
--------------------------
Platform: IvyBridge 
Libdrm:		(master)2.4.26
Mesa:		(7.11)e4cef07b87e42a2fbd944bec3374e88e2b5b32d5
Xserver:		(server-1.10-branch)xorg-server-1.10.99.901-90-gd4096abb591353405417e53816e5c46e904e7b25
Xf86_video_intel: (master)2.15.0-163-g98f2e3855d70c02b05e2721a70ebce0c17e44283
Cairo:		(master)d7cc30eb0112010533d05b4579a12e7a2910b08d
Libva:		(master)5343740dfec289858cfafda64dd5260179d09d4f
Kernel:	(drm-intel-fixes) 2b1ecb7337592a7bf0989efac46a5b52daab769e

Bug detailed description:
-------------------------
There are 26 piglit cases fail on IvyBridge while passed on SandyBridge(SugarBay, Device 0112 (rev 09)). 

Failed cases are:
bugs_fdo23670-drawpix_stencil
general_framebuffer-srgb
general_stencil-drawpixels
glean_vp1-Z-write_test
shaders_fp-fog
shaders_glsl-fs-convolution-1
shaders_glsl-fs-pointcoord
shaders_glsl-fs-shadow2dproj-bias
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-readpixels
spec_EXT_packed_depth_stencil_fbo-clear-formats
spec_EXT_packed_depth_stencil_fbo-stencil-GL_DEPTH24_STENCIL8-copypixels
spec_EXT_packed_depth_stencil_fbo-stencil-GL_DEPTH24_STENCIL8-readpixels
spec_EXT_packed_depth_stencil_readpixels-24_8
spec_EXT_texture_compression_rgtc_texwrap-2D-GL_COMPRESSED_SIGNED_RED_RGTC1-bordercolor
texturing_texdepth

Reproduce steps:
-------------------------
1.xinit&
2.gnome-session
3. run the piglit cases. (eg. bin/texdepth -auto)
Comment 1 Ian Romanick 2011-07-11 14:50:22 UTC
There are known stencil issues on IVB.  Is this a regression?
Comment 2 Kenneth Graunke 2011-07-11 15:20:28 UTC
This is a random smattering of issues (maybe a tracker bug).

* glsl-fs-convolution-1:

Fails because I haven't implemented register spilling yet.  This is compounded by the fact that I use g111-g127 as fake MRFs...but I don't think I actually properly reserve them, so the register allocator may dole them out for other uses.  That needs to be fixed first.

* glsl-fs-pointcoord:

Fixed by commit 186e37c75454965e1a58298e878a9585f4866749, pushed this morning.

* texture borders:

Like Ironlake and Sandybridge, these work on the simulator but not on hardware.  We need to talk to the hardware team and find out why.

* stencil issues:

We were treating the separate stencil buffer as Y-tiled memory, when it turns out it's actually W-tiled.  Chad has patches on the mailing list which fix some of these (likely a great deal of them).  There may be a few remaining issues.

* others:

Likely one-off bugs.  Would need to do analysis.
Comment 3 Chad Versace 2011-07-11 16:13:29 UTC
(In reply to comment #2)
> * stencil issues:
> 
> We were treating the separate stencil buffer as Y-tiled memory, when it turns
> out it's actually W-tiled.  Chad has patches on the mailing list which fix some
> of these (likely a great deal of them).  There may be a few remaining issues.

On ILK with separate stencil enabled, I believe all the fbo-stencil tests are fixed by my patches. I will have access to an IVB machine tomorrow, and then I will verify the patches fix the tests on IVB also.
Comment 4 Chad Versace 2011-07-13 12:39:20 UTC
Verified. All fbo-stencil tests above pass on Ivybridge with my patches.
Comment 5 Chad Versace 2011-07-13 12:47:56 UTC
For completeness' sake, my stencil patches fix this subset of the failing tests:

bugs_fdo23670-drawpix_stencil

general_stencil-drawpixels

spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX16-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX1-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX4-readpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-copypixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-drawpixels
spec_EXT_framebuffer_object_fbo-stencil-GL_STENCIL_INDEX8-readpixels

spec_EXT_packed_depth_stencil_fbo-stencil-GL_DEPTH24_STENCIL8-copypixels
spec_EXT_packed_depth_stencil_fbo-stencil-GL_DEPTH24_STENCIL8-readpixels

spec_EXT_packed_depth_stencil_readpixels-24_8
Comment 6 Chad Versace 2011-07-20 11:56:41 UTC
Zhao,

The majority of these tests should be fixed on Mesa 7.11 and xf86-video-intel master. Could you verify this and update the list of failing tests?
Comment 7 Kenneth Graunke 2011-07-22 00:57:55 UTC
shaders/glsl-fs-shadow2dproj and shaders/glsl-fs-shadow2dproj-bias were failing due to missing "this->result = reg_undef" lines; we were reusing the same register for both the projected shadow comparitor and part of the projected coordinate.  Patch on mailing list awaiting review.

texturing/texdepth is broken because I didn't update shadow sampling in the old brw_wm_emit backend.  Running piglit now; will send out the patch for review soon.
Comment 8 zhao jian 2011-07-29 01:02:19 UTC
(In reply to comment #6)
> Zhao,
> The majority of these tests should be fixed on Mesa 7.11 and xf86-video-intel
> master. Could you verify this and update the list of failing tests?

Hi chad, 
I have tested with both mesa master and mesa 7.11 branch, both of them have great improve while still have some failures. The detail is as following: 

On mesa master there are 5 cases still failed: 
general_framebuffer-srgb    
shaders_fp-fog    
shaders_glsl-fs-convolution-1    
spec_EXT_packed_depth_stencil_fbo-clear-formats    
spec_EXT_texture_compression_rgtc_texwrap-2D-GL_COMPRESSED_SIGNED_RED_RGTC1-bordercolor 

On mesa 7.11 branch there are 8 cases still failed: 
general_framebuffer-srgb
glean_vp1-Z-write_test
shaders_fp-fog
shaders_glsl-fs-convolution-1
shaders_glsl-fs-shadow2dproj-bias
spec_EXT_packed_depth_stencil_fbo-clear-formats
spec_EXT_texture_compression_rgtc_texwrap-2D-GL_COMPRESSED_SIGNED_RED_RGTC1-bordercolor
texturing_texdepth
Comment 9 Eugeni Dodonov 2011-11-23 08:28:28 UTC
Now that we have Stencil and HiZ patches, what is the status of those tests?
Comment 10 Kenneth Graunke 2011-11-23 09:38:49 UTC
I just did a piglit run last night.  With Mesa master + my "i965: Set SURFACE_STATE vertical alignment bit on Ivybridge." patch on the mailing list, I see the following delta from Sandybridge:

- fbo-array
- fbo-depth-array
- framebuffer-srgb
- fp-fog
- fbo-generatemipmap-array
- texwrap-2D-GL_COMPRESSED_SIGNED_RED_RGTC1-bordercolor
  (but this seems like a fluke, bordercolor hasn't properly worked since Gen4)
- array-texture

I'm guessing all the array bugs are related.  I'll try and get to these soon.
Comment 11 Kenneth Graunke 2012-01-25 03:28:35 UTC
I just ran a piglit comparison between Sandybridge and Ivybridge, and there's only one regression now: glean/fbo.  This is a recent break caused by one of my commits; I've filed #45221 to track it.

Closing this bug in favor of #45221.  We're essentially at parity.
Comment 12 fangxun 2012-02-13 18:49:29 UTC
Verified it on Mesa 8.0 branch(65526d54aa) and Mesa master branch(d2c54fb5223e).

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.