Hey, John Brooks wrote on 15.05.2017 07:47: > 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. > > [...] > + > + <application name="Dying Light" executable="DyingLightGame"> > + <option name="allow_glsl_builtin_variable_redeclaration" > value="true" />
I know this has already landed and maybe I'm missing something, but why didn't you at least put the GLSL version requirements in the drirc as well? It should be <option name="force_glsl_version" value="450" /> AFAIK there's no drirc option for the OpenGL level itself, though maybe that should just be added as well. Cheers, Kai
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev