Bug 65744 - [HSW ULT Bisected]Piglit glx/glx-swap-pixmap fail
Summary: [HSW ULT Bisected]Piglit glx/glx-swap-pixmap fail
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Anuj Phogat
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-14 06:41 UTC by lu hua
Modified: 2013-07-12 01:28 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description lu hua 2013-06-14 06:41:06 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       Haswell ULT
Libdrm:		(master)libdrm-2.4.45-7-ga0178c00c70f4b47e09ed7564fc2ccde611231a0
Mesa:		(master)6057d7b7b58102bf7c3c4ecb08c1b7261f299efa
Xserver:	(master)xorg-server-1.14.99.1-119-gc21344add2fc589df83b29be5831c36a372201bd
Xf86_video_intel:(master)2.21.9-22-g1f180b89db412c5fa9fe95c8f6634be33a1d8581
Cairo:	(master)c51b850bd836c2bec0a1bcc7b32136dc21bc2360
Libva:	(staging)e468728f9e49603f91ccbce3a232aa3bd98d1fd4
Libva_intel_driver:(staging)a90e80fb7fde114535ab5e9be74d973117def138
Kernel:	(drm-intel-nightly) 0202fb7ef1947ca50fd55384b6997a1097e67f7a

Bug detailed description:
-------------------------
It fails on Haswell ULT with mesa master branch. It works well on 9.1 branch.
It works well on Haswell Desktop.
Following cases also fail and have same bisect commit:
Ogles1conform
bclear.c	
bufobj.c	
clip.c	
linerast.c	
polycull.c	
scissor.c	
spclear.c	
spop.c	
trirast.c	
tritile.c	
userclip.c	
vorder.c	
xformmix.c	
xformw.c	
zbclear.c	

Ogles2conform:
(GLES20)GL2ExtensionTests_vertex_array_object_vertex_array_object.test	
(GLES20)GL2FixedTests_buffer_clear_buffer_clear.test	
(GLES20)GL2FixedTests_buffer_objects_buffer_objects.test	
(GLES20)GL2FixedTests_clip_clip.test	
(GLES20)GL2FixedTests_depth_buffer_clear_depth_buffer_clear.test	
(GLES20)GL2FixedTests_polygon_cull_polygon_cull.test	
(GLES20)GL2FixedTests_scissor_scissor.test	
(GLES20)GL2FixedTests_stencil_plane_clear_stencil_plane_clear.test	
(GLES20)GL2FixedTests_stencil_plane_function_stencil_plane_function.test	
(GLES20)GL2FixedTests_stencil_plane_operation_stencil_plane_operation.test	
(GLES20)GL2FixedTests_triangle_rasterization_triangle_rasterization.test	
(GLES20)GL2FixedTests_triangle_tiling_triangle_tiling.test	
(GLES20)GL2FixedTests_vertex_order_vertex_order.test	
(GLES20)GL2Tests_framebuffer_objects_framebuffer_objects.test
Ogles3conform	
(GLES30)GL3Tests_draw_instanced_draw_instanced_primcount.test	
(GLES30)GL3Tests_element_index_uint_element_index_uint_de.test	
(GLES30)GL3Tests_element_index_uint_element_index_uint_de_instanced.test	
(GLES30)GL3Tests_element_index_uint_element_index_uint_de_range.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_all_buffer_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_color_and_depth_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_color_and_stencil_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_linear_filter_color_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_magnifying_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_missing_buffers_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_nearest_filter_color_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_negative_dimensions_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_negative_height_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_negative_width_blit.test	
(GLES30)GL3Tests_framebuffer_blit_framebuffer_blit_functionality_scissor_blit.test	
(GLES30)GL3Tests_instanced_arrays_instanced_arrays_primcount.test	
(GLES30)GL3Tests_map_buffer_range_map_buffer_range_modify_indices.test	

Piglit:
fast_color_clear_all-colors	
fast_color_clear_fast-slow-clear-interaction	
fast_color_clear_non-redundant-clear	
fast_color_clear_redundant-clear	
glean_fbo	
glean_pbo	
glean_pointAtten	
glean_pointSprite	
glx_glx-destroycontext-1	
glx_glx-destroycontext-2	
glx_glx-make-glxdrawable-current	
glx_glx-swap-singlebuffer	
shaders_attribute0	
shaders_glsl-fs-discard-03	
spec_ARB_ES2_compatibility_arb_es2_compatibility-depthrangef	
spec_ARB_fragment_program_fp-kil	
spec_ARB_fragment_program_kil-swizzle	
spec_EGL_NOK_swap_region_basic	
spec_EXT_framebuffer_blit_fbo-sys-blit	
spec_EXT_framebuffer_blit_fbo-sys-sub-blit	
spec_EXT_framebuffer_object_fbo-alphatest-formats	
spec_glsl-1.20_execution_clipping_fixed-clip-enables	
spec_glsl-1.20_execution_clipping_vs-clip-vertex-enables	
spec_glsl-1.30_execution_clipping_vs-clip-distance-enables	
spec_glsl-1.30_execution_fs-discard-exit-1	
spec_NV_conditional_render_clear	
spec_OpenGL_1.1_depthrange-clear	
spec_OpenGL_1.1_dlist-clear	
spec_OpenGL_1.1_draw-pixels	
spec_OpenGL_1.1_scissor-copypixels	
spec_OpenGL_1.1_scissor-depth-clear	
spec_OpenGL_1.1_scissor-offscreen	
spec_OpenGL_1.4_triangle-rasterization	
spec_OpenGL_2.0_clear-varray-2.0	

Webglc:
conformance/canvas/drawingbuffer-hd-dpi-test.html	
conformance/canvas/drawingbuffer-static-canvas-test.html	
conformance/glsl/misc/large-loop-compile.html	
conformance/misc/object-deletion-behaviour.html	
conformance/programs/gl-bind-attrib-location-test.html	
conformance/textures/texture-transparent-pixels-initialized.html	

Bisect shows:b09a75407886fba476bb79d65b408ffc08876a75 is the first bad commit.
commit b09a75407886fba476bb79d65b408ffc08876a75
Author:     Paul Berry <stereotype441@gmail.com>
AuthorDate: Tue May 21 11:58:38 2013 -0700
Commit:     Paul Berry <stereotype441@gmail.com>
CommitDate: Wed Jun 12 11:10:07 2013 -0700

    i965/gen7: Enable support for fast color clears.

    This patch adds code to place mcs_state into INTEL_MCS_STATE_RESOLVED
    for miptrees that are capable of supporting fast color clears.  This
    will have no effect on buffers that don't undergo a fast color clear;
    however, for buffers that do undergo a fast color clear, an MCS
    miptree will be allocated (at the time of the first fast clear), and
    will be used thereafter.

    Reviewed-by: Eric Anholt <eric@anholt.net>

output:
Probe color at (0,0)
  Expected: 0.000000 1.000000 0.000000 0.000000
  Observed: 0.000000 0.000000 0.000000 0.000000
PIGLIT: {'result': 'fail' }

Reproduce steps:
----------------
1. xinit
2. ./bin/glx-swap-pixmap -auto
Comment 1 Anuj Phogat 2013-06-29 02:57:14 UTC
Observed no issues on Haswell mobile. But reproduced the bug on Haswell ULT. Reverting the commit b09a754 (i965/gen7: Enable support for fast color clears) make tests to pass.
Comment 2 lu hua 2013-07-12 01:28:19 UTC
Fixed by commit 9a1a67b081b7f7f4030a5bff7af12bbb70a970ef.
commit 9a1a67b081b7f7f4030a5bff7af12bbb70a970ef
Author: Anuj Phogat 
Date: Tue Jul 9 16:09:14 2013 -0700

i965/blorp: Fix clear rectangle alignment in fast color clear

From BSpec: 3D-Media-GPGPU Engine > 3D Pipeline > Pixel >
Pixel Backend > MCS Buffer for Render Target(s) [DevIVB+]:
[DevHSW:GT3]: Clear rectangle must be aligned to two times
the number of pixels in the table shown below...
Observed no piglit, gles3conform regressions with this patch.

Signed-off-by: Anuj Phogat 
Reviewed-by: Kenneth Graunke 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65744
(2013-07-12-15:15:39)
Comment 3 lu hua 2013-07-12 01:28:41 UTC
Verified. Fixed.


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.