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

Reply via email to