glsl: fix compat shaders in GLSL 1.40

The compatibility and core tokens were not added until GLSL 1.50,
for GLSL 1.40 just assume all shaders built with a compat profile
are compat shaders.

Fixes rendering issues in Dawn of War II on radeonsi which has
enabled OpenGL 3.1 compat support.

Fixes: a0c8b49284 "mesa: enable OpenGL 3.1 with ARB_compatibility"

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105807
This commit is contained in:
Timothy Arceri
2018-04-12 09:23:02 +10:00
parent f3b14ca2e1
commit c7e3d31b0b

View File

@@ -429,6 +429,8 @@ _mesa_glsl_parse_state::process_version_directive(YYLTYPE *locp, int version,
this->language_version = version;
this->compat_shader = compat_token_present ||
(this->ctx->API == API_OPENGL_COMPAT &&
this->language_version == 140) ||
(!this->es_shader && this->language_version < 140);
bool supported = false;