st/mesa: only try to create 1x msaa surfaces for "fake" msaa drivers
authorBrian Paul <brianp@vmware.com>
Tue, 22 Aug 2017 02:53:25 +0000 (20:53 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 1 Sep 2017 04:09:57 +0000 (22:09 -0600)
commit9eca7e0ddb58808af77c6f251f5d368ea328c894
tree7f644449ad846af8bd1ddacd54e23998738ce7e7
parent1c4e6d7ca83578caf5212f7a484538cb1b4ae2a3
st/mesa: only try to create 1x msaa surfaces for "fake" msaa drivers

For software drivers where we want "fake" msaa support for GL 3.x, we
treat 1 sample as being msaa.

For drivers with real msaa support, start format probing at 2x msaa.
For drivers with fake msaa support, start format probing at 1x msaa.

This also tweaks the MaxSamples code in st_init_extensions() so that
we use MaxSamples=1 for fake msaa.  This allows the format proble loops
to run at least one iteration.

This fixes a llvmpipe/VTK regression from commit 6839d3369905eb02151.
And for drivers with fake msaa support, calls such as
glTexImage2DMultisample(samples=1) will now succeed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102038
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102125
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/mesa/state_tracker/st_cb_fbo.c
src/mesa/state_tracker/st_cb_texture.c
src/mesa/state_tracker/st_extensions.c