Bug 106404

Summary: Hang in draw function caused by interaction of glutInitWindowPosition, glutFullScreen , glDrawBuffer(GL_FRONT)
Product: Mesa Reporter: Todd <freedesktop>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: jwyatt
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: back trace of hang
glxinfo
xorg log
example program
loader/dri3: Only wait for fence when necessary in dri3_get_buffer

Description Todd 2018-05-04 21:07:06 UTC
Created attachment 139356 [details]
back trace of hang

DRI3 and an application started with xinit causes the glut draw function to hang if the following three functions are used together (see backtrace.txt and example app).

glutInitWindowPosition
glutFullScreen
glDrawBuffer(GL_FRONT)

Commenting out any one of these 3 functions allows the application to run correctly. 

Forcing DRI2 allows the application to work correctly with those 3 function calls intact.


OS: debian testing
Comment 1 Todd 2018-05-04 21:07:39 UTC
Created attachment 139357 [details]
glxinfo
Comment 2 Todd 2018-05-04 21:08:03 UTC
Created attachment 139358 [details]
xorg log
Comment 3 Todd 2018-05-04 21:09:16 UTC
Created attachment 139359 [details]
example program
Comment 4 Michel Dänzer 2018-05-16 09:12:57 UTC
Doesn't look driver specific, reassigning to Mesa core.
Comment 5 Michel Dänzer 2018-07-19 14:39:30 UTC
*** Bug 107290 has been marked as a duplicate of this bug. ***
Comment 6 Michel Dänzer 2018-09-04 10:24:29 UTC
Created attachment 141440 [details] [review]
loader/dri3: Only wait for fence when necessary in  dri3_get_buffer

This patch fixes the problem for me.
Comment 7 Michel Dänzer 2018-09-12 15:12:59 UTC
Thanks for the report, fixed in Git master:

Commit: e34dd4f5084c73c0a2fcadf783e8f7d8199bb5ca
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e34dd4f5084c73c0a2fcadf783e8f7d8199bb5ca

Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Tue Sep  4 18:18:57 2018 +0200

loader/dri3: Don't wait for fence of old buffer when re-allocating it
Comment 8 Todd 2018-09-13 18:11:11 UTC
Thanks!

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.