spirv: Contain the GLSLang issue #179 workaround to old GLSLang
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 11 Jan 2019 21:02:39 +0000 (15:02 -0600)
committerJason Ekstrand <jason.ekstrand@intel.com>
Sat, 12 Jan 2019 23:55:49 +0000 (17:55 -0600)
commite57e26121a4b0d6fb836e981da039bd1ef0ebf06
tree46ae750b93aa5d1a509cf3e851e3fb8a837f8518
parentb57c1ec4219f01bfdb98bcab8fca4c44e87bd1a4
spirv: Contain the GLSLang issue #179 workaround to old GLSLang

Instead of applying the workaround universally, detect semi-old GLSLang
via the generator ID and only enable the workaround on old GLSLang.
This isn't nearly as precise as one would like it to be because the
first GLSLang generator id version bump was on October 7, 2017 which is
about 1.5 years after the bug was fixed.  However, it at least lets us
disable it for non-GLSLang and for more modern versions.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/compiler/spirv/spirv_to_nir.c
src/compiler/spirv/vtn_private.h
src/compiler/spirv/vtn_variables.c