diff options
author | John Brooks <[email protected]> | 2017-05-15 01:47:39 -0400 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2017-05-20 17:30:07 +0200 |
commit | 2b878cb8fdb99dd84602553c2e95ef47747f4529 (patch) | |
tree | 5dd3cd55d164d4ee54d95181f78e45cea6cf733d /src/vulkan/wsi/wsi_common_wayland.c | |
parent | 6e8f34a2deab4d8c259066eae892119afef7cfb0 (diff) |
drirc: Add allow_glsl_builtin_variable_redeclaration for Dying Light and Dead Island Definitive Edition
This fixes the long-standing problem with Dying Light where the game would
produce a black screen when running under Mesa. This happened because the
game's vertex shaders redeclare gl_VertexID, which is a GLSL builtin.
Mesa's GLSL compiler is a little more strict than others, and would not
compile them:
error: `gl_VertexID' redeclared
The allow_glsl_builtin_variable_redeclaration directive allows the shaders
to compile and the game to render. The game also requires OpenGL 4.4+ (GLSL
440), but does not request it explicitly. It must be forced with an
override, such as MESA_GL_VERSION_OVERRIDE=4.5 and
MESA_GLSL_VERSION_OVERRIDE=450. A compatibility context is *not* required
and forcing one with 4.5COMPAT or allow_higher_compat_version results in
graphical artifacts.
Dead Island Definitive Edition is another Techland port on the same engine
with the same problems, so we set the
allow_glsl_builtin_variable_redeclaration option for that game as well.
v2 (Samuel Pitoiset):
- Rename allow_glsl_builtin_redeclaration ->
allow_glsl_builtin_variable_redeclaration
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96449
Signed-off-by: John Brooks <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/vulkan/wsi/wsi_common_wayland.c')
0 files changed, 0 insertions, 0 deletions