Summary: | [SKL][GLES 3.1 CTS] ES31-CTS.layout_binding* GPU_HANG | ||
---|---|---|---|
Product: | Mesa | Reporter: | Marta Löfstedt <marta.lofstedt> |
Component: | Drivers/DRI/i965 | Assignee: | Jordan Justen <jljusten> |
Status: | RESOLVED DUPLICATE | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | major | ||
Priority: | high | CC: | jason |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | 92589 | ||
Bug Blocks: | 92778 | ||
Attachments: |
error state
dmesg after hang |
Created attachment 120449 [details]
dmesg after hang
If ARB_compute_shader are not override enabled, the hang is not reproducible. To clarify above comment. The hang is related to compute shader funktionality. It has nothing to do with how compute shaders are enabled. I wonder if this is related to the GPU hang that Jason found a while back, where out of bounds values in an array (of say, samplers or images) can cause us to access an invalid surface...or a surface with a message that's invalid for that surface (i.e. try to use the sampler on a RAW surface). Cc'ing Jason in case. I am not sure, but maybe BUG 93407 is related to this. It is a SKL only failing test: ES31-CTS.compute_shader.resources-texture (In reply to Kenneth Graunke from comment #4) > I wonder if this is related to the GPU hang that Jason found a while back, > where out of bounds values in an array (of say, samplers or images) can > cause us to access an invalid surface...or a surface with a message that's > invalid for that surface (i.e. try to use the sampler on a RAW surface). Going off nothing but the test name and bug report, I think that's likely. (In reply to Marta Löfstedt from comment #5) > I am not sure, but maybe BUG 93407 is related to this. It is a SKL only > failing test: ES31-CTS.compute_shader.resources-texture Again, I haven't actually looked at the test, but based on names, that seems like a reasonable guess. If it is the bug Ken is referring to above, then it comes from doing an out-of-bounds array access on an array of textures or buffers. We need to add some code to the glsl compiler that clamps array indices for arrays of external resources to range [0, size). I ran through all layout binding cases one by one. It is only: ./glcts --deqp-case=ES31-CTS.layout_binding.sampler2D_layout_binding_texture_ComputeShader and: ./glcts --deqp-case=ES31-CTS.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader that cause GPU HANG. All other layout binding tests actually pass. I can not reproduce this issue with Mesa: git@ad20be1f30ef5 and Curros patch from BUG 92589. |
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.
Created attachment 120448 [details] error state Software versions: 4.4.0-040400rc4-generic OpenGL version string: 3.0 Mesa 11.2.0-devel (git-83e8e07) GPU hardware: OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 00:02.0 VGA compatible controller [0300]: Intel Corporation Sky Lake Integrated Graphics [8086:1912] (rev 06) CPU hardware: x86_64 Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz CTS version: git@67ae88f31295 command: ./glcts --deqp-case=ES31-CTS.layout_binding* Environment: Ubuntu 15.10 Mesa built with: --enable-debug export MESA_GLES_VERSION_OVERRIDE=3.1 export MESA_EXTENSION_OVERRIDE=GL_ARB_compute_shader ------------------------------------------------------ When running all the layout_binding tests of the OpenGL ES 3.1 CTS, execution stops after 3 or 4 test with: "intel_do_flush_locked failed: Input/output error"