GetPlatformDisplay could succeed even though it's not supported by the vendor
Due to libglvnd using the same routine for GetPlatformDisplay
and GetPlatformDisplayEXT
the creation of GetPlatformDisplay
may succeed when the underlying driver doesn't support it. This results in chain of failures down the road, since the client will try to use the Khr
functions, but the underlying display was creating with Ext
under the hood.
This was brought to us here https://github.com/rust-windowing/glutin/issues/1689 . The workaround for us was to check what version of the display got created and if it's Khr
with 1.4
, it means that it's actually EXT
.
In general, libglvnd should error when the underlying platform doesn't support GetPlatformDisplay
and only has GetPlatformDisplayEXT
.