Bug 106404 - Hang in draw function caused by interaction of glutInitWindowPosition, glutFullScreen , glDrawBuffer(GL_FRONT)
Summary: Hang in draw function caused by interaction of glutInitWindowPosition, glutFu...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
: 107290 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-05-04 21:07 UTC by Todd
Modified: 2018-09-13 18:11 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
back trace of hang (3.23 KB, text/plain)
2018-05-04 21:07 UTC, Todd
Details
glxinfo (106.24 KB, text/plain)
2018-05-04 21:07 UTC, Todd
Details
xorg log (46.70 KB, text/plain)
2018-05-04 21:08 UTC, Todd
Details
example program (1.15 KB, text/plain)
2018-05-04 21:09 UTC, Todd
Details
loader/dri3: Only wait for fence when necessary in dri3_get_buffer (1.68 KB, patch)
2018-09-04 10:24 UTC, Michel Dänzer
Details | Splinter Review

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.