Bug 82642

Summary: [IVB/BYT/BDW/BSW]Piglit spec_glsl-1.50_execution_texelFetchOffset_gs-texelFetch-isampler1DArray sporadically causes GPU hang
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Jordan Justen <jljusten>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: high    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description lu hua 2014-08-15 02:23:33 UTC
System Environment:
--------------------------
Platform: BYT
Libdrm:		(master)libdrm-2.4.56-4-g07fead4462b2d537d0c3cae69a09272fc426c598
Mesa:		(master)c66d928f2c9fa59e162c391fbdd37df969959718
Xserver:	(master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636484c77f113a5f10a
Xf86_video_intel:(master)2.99.914-47-gd974dabc8ac06e76bffe5824caf86fd072c35ed3
Libva:		(master)3fddb7f937df4e0e15391bd65ae3c7552ea5b3d7
Libva_intel_driver:(master)82d2ed8d7da3619c0ea467c06604f5626fc0b901
Kernel:   (drm-intel-nightly)da31e7c60be217316278a055dd3f91c33913270f

Bug detailed description:
---------------------------
It sporadically causes GPU hang on IVB/BYT/BDW/BSW with mesa master branch, fail rate: 2/5. Run 10 cycles on 10.2 branch, it works well.
Following cases also have this issue:
spec_glsl-1.50_execution_texelFetchOffset_gs-texelFetch-sampler1DArray
spec_glsl-1.50_execution_texelFetchOffset_gs-texelFetch-usampler2DArray
spec_glsl-1.50_execution_texelFetch_gs-texelFetch-isampler1DArray
spec_glsl-1.50_execution_texelFetch_gs-texelFetch-usampler3D

output:
65x1x5 
Probe at (5,7) 
Expected: -0.000000 0.000000 0.000000 0.100000 
Observed: 0.000000 0.000000 0.749020 0.000000 
Probe at (71,7) 
Expected: -0.000000 0.000000 0.250000 0.100000 
Observed: 0.000000 0.000000 1.000000 0.000000
intel_do_flush_locked failed: Input/output error

dmesg:
<6>[22661.139006] [drm] stuck on render ring 
<6>[22661.140623] [drm] GPU HANG: ecode 0:0x85ffffbd, in texelFetch [12893], reason: Ring hung, action: reset 
<6>[22661.140702] [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace. 
<6>[22661.140707] [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel 
<6>[22661.140709] [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue. 
<6>[22661.140711] [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it. 
<6>[22661.140712] [drm] GPU crash dump saved to /sys/class/drm/card0/error 
<6>[22667.138852] [drm] stuck on render ring 
<6>[22667.140428] [drm] GPU HANG: ecode 0:0x85fffffb, in texelFetch [12893], reason: Ring hung, action: reset 

Reproduce steps:
-------------------------
1. xinit
2. bin/texelFetch offset gs isampler1DArray -fbo -auto
Comment 1 Kenneth Graunke 2014-08-31 09:05:43 UTC
I suspect this was fixed by:

commit c860a379d2fa09da1711591b6aef4a885d224ea0
Author: Jordan Justen <jordan.l.justen@intel.com>
Date:   Thu Jul 31 00:16:19 2014 -0700

    i965/miptree: Layout 1D Array as 2D Array with height of 1
    
    1D array miptrees were being laid out as a 2D texture with 1 slice.
    This happened due to the mesa core storing the 1D array slice count in
    the height field. On Intel hardware, we want to create a 2D array with
    a height of 1 for the 1D array case.
    
    Fixes assertion failure in piglit (gen6, gen8):
    spec/glsl-1.30/execution/tex-miplevel-selection textureOffset 1DArrayShadow
    
    In release builds of Mesa, this test was observed to cause a GPU hang
    on gen8.
    
    Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
    Cc: "10.2" <mesa-stable@lists.freedesktop.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81450
    Tested-by: Ben Widawsky <ben@bwidawsk.net>
    Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>

If not, please reopen.  Thanks!
Comment 2 lu hua 2014-09-01 02:08:12 UTC
Fixed.
output:
65x1x5
PIGLIT: {"result": "pass" }

dmesg:
[ 2211.392755] [drm:i915_gem_open]
[ 2211.429200] [drm:i915_gem_context_create_ioctl] HW context 1 created
[ 2211.429510] [drm:valleyview_set_rps] GPU freq request from 167 MHz (191) to 854 MHz (224)
[ 2211.458891] [drm:i915_gem_context_destroy_ioctl] HW context 1 destroyed
[ 2212.636630] [drm:valleyview_set_rps] GPU freq request from 854 MHz (224) to 167 MHz (191)

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.