<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:nhaehnle@gmail.com" title="Nicolai Hähnle <nhaehnle@gmail.com>"> <span class="fn">Nicolai Hähnle</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - [radeonsi] blue ground in Company of Heroes 2"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94705">bug 94705</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>NOTOURBUG
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - [radeonsi] blue ground in Company of Heroes 2"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94705#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - [radeonsi] blue ground in Company of Heroes 2"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=94705">bug 94705</a>
              from <span class="vcard"><a class="email" href="mailto:nhaehnle@gmail.com" title="Nicolai Hähnle <nhaehnle@gmail.com>"> <span class="fn">Nicolai Hähnle</span></a>
</span></b>
        <pre>Hi Laurent, thanks for the report. I did some digging into the apitrace you
provided.

Long story short: The game does not properly deal with the
implementation-defined limit on the number of samplers that are available in a
fragment shader. Perhaps there is some graphics quality setting that can be
reduced to convince the game to use only shaders with fewer samplers as a
workaround.

The long story: In the provided apitrace, the artefacts first appear in
textures 10884 and 10885, which are terrain colour and normal maps. They are
rendered to around call @516614, which is a glLinkProgram call for program 658
that fails because the attached fragment shader 611 has not been compiled. It
is evident from the trace leading up to @516933 that the game intends to do
rendering using 658 precisely when the artefacts appear, because there are a
bunch of (failing) calls to query uniform locations.

Why has shader 611 not been compiled? Well, most likely there is logic in the
game that does check for implementation-defined sampler limits, because shader
611 uses 18 samplers and we only expose 16. So probably some part of the game
engine notices the limitation and doesn't even try to compile the shader, but
this problem is not propagated up to higher layers in the engine.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>