i965: Let driconf clamp_max_samples affect context version
authorChad Versace <chad.versace@linux.intel.com>
Thu, 7 Nov 2013 03:52:11 +0000 (19:52 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Fri, 22 Nov 2013 23:27:03 +0000 (15:27 -0800)
commit315b06ff62357d2196d9f1d4926c517d098e5647
tree41acd7f0bba85b30c94044840b5f559005443420
parent95ebabbc5fceec6a9c37dbb4d8f3282a86fe02ce
i965: Let driconf clamp_max_samples affect context version

Commit 2f89662 added the driconf option 'clamp_max_samples'.  In that
commit, the option did not alter the context version. The neglect to
alter the context version is a fatal issue for some apps.

For example, consider running Chromium with clamp_max_samples=0.
Pre-patch, Mesa creates a GL 3.0 context but clamps GL_MAX_SAMPLES to
0. This violates the GL 3.0 spec, which requires GL_MAX_SAMPLES >= 4.
The spec violation causes WebGL context creation to fail in many
scenarios because Chromium correctly assumes that a GL 3.0 context
supports at least 4 samples.

Since the driconf option was introduced largely for Chromium, the issue
really needs fixing.

This patch fixes calculation of the context version to respect the
post-clamped value of GL_MAX_SAMPLES. This in turn fixes WebGL on
Chromium when clamp_max_samples=0.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/i965/brw_context.c