Bug 1392

Summary: Mesa >= 18: glXChooseFBConfig's BestMatch with 10bit Color-Comps fails on glXCreatePbuffer and glXCreateGLXPixmap
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: openglAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: major    
Priority: P4    
Version: 2.4.0   
Hardware: All   
OS: linux   
Type: DEFECT SCM Refs:
2ab629205c88978891271dd51cfa2a1669a6eec2 56a9f30fde429663514c6d5c810af2c43cb7ebf3 7f6d030ba91060aa4dedbf4311290c5cf5f61c4a 125e4bd1c8e0a8f4b434209b155e6cd0d8f09092
Workaround: TRUE
Bug Depends on: 1391    
Bug Blocks:    

Description Sven Gothel 2019-09-07 01:01:43 CEST
On Mesa >= 18.0.0, glXChooseFBConfig selects better GLCapabilities FBConfig than actually supported by glXCreatePbuffer and glXCreateGLXPixmap.

As tested on Mesa 18.3.6, requesting an RGB 8bit color component FBConfig for GLX_PBUFFER_BIT and GLX_PIXMAP_BIT GLX_DRAWABLE_TYPEs via glXChooseFBConfig returns an RGB 10bit color component FBConfig as its best match. Subsequent glXCreatePbuffer and glXCreateGLXPixmap calls fail.

This bugs seems to occur in Mesa >= 18.0.0 using allow_rgb10_configs, which is the default now. While the 10 bit color components are not listed for on-screen GLX.GLX_WINDOW_BIT GLX_DRAWABLE_TYPEs, they are listed for above mentioned off-screen types without XVisualInfo reference.

This quirk disables using any color component > 8 bit for GLX_PBUFFER_BIT and GLX_PIXMAP_BIT types and forces using an optional given GLCapabilitiesChooser or the DefaultGLCapabilitiesChooser.

Note: Also implies DontChooseFBConfigBestMatch for GLX_PBUFFER_BIT and GLX_PIXMAP_BIT types and hence depends on Bug 1391
Comment 1 Sven Gothel 2019-09-07 02:27:36 CEST
Implemented as described