gallium/osmesa: Fix MakeCurrent of non-8888 contexts.
authorEric Anholt <eric@anholt.net>
Wed, 15 Jan 2020 00:35:21 +0000 (16:35 -0800)
committerMarge Bot <eric+marge@anholt.net>
Tue, 4 Feb 2020 17:48:08 +0000 (17:48 +0000)
OSMesa is weird and you only get the type (byte/ubyte/565/etc.) at
MakeCurrent time, having only a channel order at CreateContext time.  The
code was setting up a visual at CreateContext time, and then at
MakeCurrent it would fail to validate against the visual.

Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3216>

src/gallium/state_trackers/osmesa/osmesa.c

index f9be566eb764671b4fb0bb15e05fd80d645ef46d..b1890a33c46f9fd4ada6518a12ecaccd28513f23 100644 (file)
@@ -697,7 +697,7 @@ OSMesaCreateContextAttribs(const int *attribList, OSMesaContext sharelist)
    attribs.options.force_glsl_version = 0;
 
    osmesa_init_st_visual(&attribs.visual,
-                         PIPE_FORMAT_R8G8B8A8_UNORM,
+                         PIPE_FORMAT_NONE,
                          osmesa->depth_stencil_format,
                          osmesa->accum_format);