<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 - Textures are filled with garbage"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93178">bug 93178</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 - Textures are filled with garbage"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93178#c5">Comment # 5</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED NOTOURBUG - Textures are filled with garbage"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=93178">bug 93178</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>This is a game bug.

The game tries to be clever by uploading some of its textures from a different
OpenGL context, but never uses any kind of synchronization between the texture
upload and the main context, so the texture upload never actually happens. This
is a serious programming mistake, and it is merely by chance that this works on
other drivers.

For your own purposes, you can work around the game bug in the driver by
applying the following patch:

---- SNIP ----
--- a/src/gallium/drivers/radeon/r600_texture.c
+++ b/src/gallium/drivers/radeon/r600_texture.c
@@ -105,6 +105,7 @@ static void r600_copy_from_staging_texture(struct
pipe_context *ctx, struct r600
        rctx->dma_copy(ctx, dst, transfer->level,
                       transfer->box.x, transfer->box.y, transfer->box.z,
                       src, 0, &sbox);
+       rctx->b.flush(&rctx->b, NULL, 0);
 }

 static unsigned r600_texture_get_offset(struct r600_texture *rtex, unsigned
level,
---- SNIP ----

However, doing this seriously hurts the performance of games that are
programmed properly. I encourage you to forward this message to the developers,
telling them they should take a look at Section 5.3.1 of the OpenGL 4.5
(Compatibility Profile) specification, specifically the part about using Finish
or FenceSync/WaitSync.</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>