Comment # 14 on bug 104306 from
Thanks, Michel.  On a hanging call to glxinfo, dri2_validate_usage is being
called from gbm_dri_bo_import, which gets parameters of a 100x100 FD image
buffer for usage 5 (scanout | rendering).  However, the image texture winds up
with is_displayable = 0, so si_check_resource_capabilities returns false,
gbm_dri_bo_import destroys the image, and glxinfo hangs.  I confirmed that if I
set variable usage = 0 the problem does not occur.  I have not yet been able to
trace where the texture flags are set, but I got far enough to find that
they're being read from the image buffer as metadata.  

However, it occurs to me that as a newcomer to the domain (e.g., I had to
google what a scanout is), I don't know the real problem:

* Should usage include scanout?
* Should the image metadata include is_displayable? 
* Should the null return from gbm_dri_bo_import cause the caller to hang?

Either point 1 or point 2 seems like it must be wrong, and might be the easiest
fix. Point 1 seems the stronger case, since glxinfo doesn't actually draw
anything as far as I'm aware. Since Firefox, Chromium, and other apps also seem
to fail on this, I'm expecting to find some kind of common initialization code
that does it.  Will report back when I get time to dig.  Or, if anyone knows
better than I do which avenue to pursue, I'm happy to be redirected.  I don't
expect to have time to look at this until the weekend.


You are receiving this mail because: