Summary: | Crash happens when running compute pipeline after calling glxMakeCurrent two times | ||
---|---|---|---|
Product: | Mesa | Reporter: | xinghua <xinghua.cao> |
Component: | Drivers/DRI/i965 | Assignee: | Topi Pohjolainen <topi.pohjolainen> |
Status: | RESOLVED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | major | ||
Priority: | medium | CC: | yang.gu |
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
a simple test case
patch |
Description
xinghua
2018-01-09 06:48:55 UTC
Created attachment 136625 [details]
a simple test case
Tested on HP ZBook with Ubuntu 16.04 LTS. Issue is reproducible with exactly the same crash on mesa 17.4-devel (42f421c). I'll try to bisect the first bad commit. My HW info: Manufacturer: HP Product Name: HP ZBook 14u G4 Version: Serial Number: 5CG7442WKZ UUID: C8764034-3466-44AD-4BD7-92CFB70F9AD0 Wake-up Type: Power Switch SKU Number: 1LL55AV Family: 103C_5336AN HP EliteBook # glxinfo -B name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: Intel Open Source Technology Center (0x8086) Device: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) x86/MMX/SSE2 (0x5916) Version: 17.4.0 Accelerated: yes Video memory: 1536MB Unified memory: yes Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 3.0 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) x86/MMX/SSE2 OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.4.0-devel (git-42f421cbbf) OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 3.0 Mesa 17.4.0-devel (git-42f421cbbf) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL ES profile version string: OpenGL ES 3.2 Mesa 17.4.0-devel (git-42f421cbbf) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 I've just found the first bad commit for this issue: f5859b45b1686e8116380d870f48432495fb19c7 is the first bad commit commit f5859b45b1686e8116380d870f48432495fb19c7 Author: Topi Pohjolainen <topi.pohjolainen@intel.com> Date: Tue Jun 27 18:10:31 2017 +0300 i965/miptree: Switch remaining surfaces to isl Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> The patch(f5859b4...) seems had been merged in Ubuntu 17.10 system graphics driver. I had found that all compute shader cases in angle_end2end_tests of ANGLE project (if call glDispatchCompute) would crash. Not sure whether other apps would crash in the feture on Ubuntu 17.10. Created attachment 136746 [details]
patch
Hi xinghua, Can you please test attached patch ? I took a closer look how the ISL based differs compared to the old logic. Older version simply didn't call intel_disable_rb_aux_buffer() from brw_predraw_resolve_inputs(). This is because the texture object being examined doesn't have auxiliary buffer at all, i.e., the first condition "tex_obj->mt->aux_usage == ISL_AUX_USAGE_CCS_E" being false. With ISL, however, we choose to enable auxiliary for the miptree backing the texture object and therefore end up calling intel_disable_rb_aux_buffer(). Now the actual thing being wrong is to even consider render buffers for compute pipeline. Old version had the same flaw, it was just lucky enough not to get that far. Jason just recently revised some of the surrounding logic and I need to take a look if it actually fixed this. Even in that case we probably needed something for stable. I'll look into that. Fix pushed into master: commit ec4bb693a0175744465f272a8bcea2db043ba1bc (HEAD -> 104546, origin_push/master, origin/master, origin/HEAD, fdo_push/jenkins) Author: Topi Pohjolainen <topi.pohjolainen@intel.com> Date: Tue Jan 16 14:17:00 2018 +0200 i965: Don't try to disable render aux buffers for compute Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104546 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> |
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.