https://bugs.freedesktop.org/show_bug.cgi?id=91169
Bug ID: 91169 Summary: The Chronicles of Riddick: Assault on Dark Athena fails to start with nouveau Product: Mesa Version: git Hardware: Other OS: All Status: NEW Keywords: patch Severity: normal Priority: medium Component: Mesa core Assignee: mesa-dev@lists.freedesktop.org Reporter: gyebr...@gmail.com QA Contact: mesa-dev@lists.freedesktop.org CC: imir...@alum.mit.edu Created attachment 116838 --> https://bugs.freedesktop.org/attachment.cgi?id=116838&action=edit trace file (unpatched mesa, game fails to start) The game uses OpenGL and runs fine in Wine with Nvidia binary drivers 340.76. With nouveau the game crashes on start and pops up an error message something about: 'CCException. Location: class CRenderContextGL::GLSL_LoadSrc Message: OpenGL: no error' I get the same error message with the software renderer too. The following proposed patched written by Ilia Mirkin fixes the problem for me, the game starts, shows the intro videos and menus correctly: diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp index efab299..9c3037b 100644 --- a/src/glsl/builtin_functions.cpp +++ b/src/glsl/builtin_functions.cpp @@ -2045,7 +2045,7 @@ builtin_builder::create_builtins() add_function("texture2D", _texture(ir_tex, always_available, glsl_type::vec4_type, glsl_type::sampler2D_type, glsl_type::vec2_type), - _texture(ir_txb, fs_only, glsl_type::vec4_type, glsl_type::sampler2D_type, glsl_type::vec2_type), + _texture(ir_txb, always_available, glsl_type::vec4_type, glsl_type::sampler2D_type, glsl_type::vec2_type), _texture(ir_tex, texture_external, glsl_type::vec4_type, glsl_type::samplerExternalOES_type, glsl_type::vec2_type), NULL); @@ -2096,7 +2096,7 @@ builtin_builder::create_builtins() add_function("textureCube", _texture(ir_tex, always_available, glsl_type::vec4_type, glsl_type::samplerCube_type, glsl_type::vec3_type), - _texture(ir_txb, fs_only, glsl_type::vec4_type, glsl_type::samplerCube_type, glsl_type::vec3_type), + _texture(ir_txb, always_available, glsl_type::vec4_type, glsl_type::samplerCube_type, glsl_type::vec3_type), NULL); add_function("textureCubeLod", diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index 046d5d7..6b1a104 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -655,6 +655,8 @@ void _mesa_glsl_extension::set_flags(_mesa_glsl_parse_state *state, */ static const _mesa_glsl_extension *find_extension(const char *name) { + if (strcmp(name, "GL_ATI_shader_texture_lod") == 0) + name = "GL_ARB_shader_texture_lod"; for (unsigned i = 0; i < ARRAY_SIZE(_mesa_glsl_supported_extensions); ++i) { if (strcmp(name, _mesa_glsl_supported_extensions[i].name) == 0) { return &_mesa_glsl_supported_extensions[i]; Trace file with patch applied: https://drive.google.com/open?id=0B-tTbLKBl-tOQUNwWEgtekN6LVE Fedora 22 32-bit Mesa 10.6-branchpoint-773-g1de93f9 Kernel 4.0.6-300.fc22.i686+PAE Xorg 1.17.2 libdrm-2.4.61-3.fc22.i686 -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev