| Summary: | [exa i915 i965]mesa demos/gltestperf gives segfault | ||
|---|---|---|---|
| Product: | Mesa | Reporter: | liuhaien <haien.liu> |
| Component: | Drivers/DRI/i915 | Assignee: | Default DRI bug account <dri-devel> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | medium | ||
| Version: | unspecified | ||
| Hardware: | Other | ||
| OS: | Linux (All) | ||
| Whiteboard: | |||
| i915 platform: | i915 features: | ||
| Attachments: |
xorg.0.log
xorg conf file |
||
Created attachment 24955 [details]
xorg conf file
this issues happens on all platforms using exa, but works with uxa. this issue happens on all platforms using exa, but works with uxa. Fixed in Mesa commit c38397866d514d7776b0f876123be5718802482b
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index ddcd264..ecaf6b4 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -534,7 +534,8 @@ intel_flush(GLcontext *ctx, GLboolean needs_mi_flush)
if ((ctx->DrawBuffer->Name == 0) && intel->front_buffer_dirty) {
__DRIscreen *const screen = intel->intelScreen->driScrnPriv;
- if ((screen->dri2.loader->base.version >= 2)
+ if (screen->dri2.loader
+ && (screen->dri2.loader->base.version >= 2)
&& (screen->dri2.loader->flushFrontBuffer != NULL)) {
(*screen->dri2.loader->flushFrontBuffer)(intel->driDrawable,
intel->driDrawable->loaderPrivate);
verified with below commits: Libdrm: (master)a1e3ab9e55047c08a4006ec389c1a99b72bc672c Mesa: (mesa_7_4_branch)e8807a14a61a0b9389aa2f2a113da24ab22a364d Xserver: (server-1.6-branch)11db545a86c8933c638a0bc1fcd4f2c65279f617 Xf86_video_intel: (2.7)296a986e5258e2fd13ec494071b7063bd639cd68 |
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 24954 [details] xorg.0.log System Environment: -------------------------- host:x-915gm platform: 915gm Libdrm: (master)07646002c6835537c6ae44ef9b3f8480762279b8 Mesa: (mesa_7_4_branch)85396d8ef4f7fc4702578a3d4e89844c7e238acc Xserver: (server-1.6-branch)cd321badf0c185854b3e0c038f3851a3ac7864ea Xf86_video_intel: (2.7)cff6cf9adc4235af5cc73a47bb272c81635fc8b2 Kernel: (drm-intel-2.6.29)0aa7e8a61658193f90198d579c5ef8297b45be9b Bug detailed description: -------------------------- startx with exa, then run mesa demos/gltestperf, it will give segmentation fault, the backtrace from gdb is as below: #0 0xb7a2bc36 in intel_flush (ctx=0x9fc3488, needs_mi_flush=0 '\0') at intel_context.c:537 #1 0xb7a1dcda in intelClearWithBlit (ctx=0x9fc3488, mask=1) at intel_blit.c:425 #2 0xb7a133de in intelClear (ctx=0x9fc3488, mask=1) at intel_clear.c:360 #3 0xb7a60a69 in _mesa_Clear (mask=0) at main/clear.c:182 #4 0x08049fbc in init_test01 () at gltestperf.c:43 #5 0x0804a456 in display () at gltestperf.c:392 #6 0xb7f2e4b7 in processWindowWorkList (window=0x9fb8580) at glut_event.c:1306 #7 0xb7f2f118 in glutMainLoop () at glut_event.c:1353 #8 0x08049038 in main (ac=1, av=0x9ff7550) at gltestperf.c:578 Reproduce steps: ---------------- 1.xinit& 2.run mesa/demos gltestperf