mesa/util: add allow_glsl_relaxed_es driconfig override
authorTimothy Arceri <tarceri@itsqueeze.com>
Thu, 14 Jun 2018 01:00:24 +0000 (11:00 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 19 Jun 2018 02:09:56 +0000 (12:09 +1000)
commit725b1a406dbe98d7cd187b0dcdfdd0933977de89
tree388d90d9c8b72a4b0d3d724b137147af48b7e2de
parent781c23ece62cc9bf0f28035572be7a4eadf23d42
mesa/util: add allow_glsl_relaxed_es driconfig override

This relaxes a number of ES shader restrictions allowing shaders
to follow more desktop GLSL like rules.

This initial implementation relaxes the following:

 - allows linking ES shaders with desktop shaders
 - allows mismatching precision qualifiers
 - always enables standard derivative builtins

These relaxations allow Google Earth VR shaders to compile.

Reviewed-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/builtin_functions.cpp
src/compiler/glsl/linker.cpp
src/gallium/auxiliary/pipe-loader/driinfo_gallium.h
src/gallium/include/state_tracker/st_api.h
src/gallium/state_trackers/dri/dri_screen.c
src/mesa/main/mtypes.h
src/mesa/state_tracker/st_extensions.c
src/util/xmlpool/t_options.h