<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Corruption with DMA ring on cayman"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=60802#c53">Comment # 53</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Corruption with DMA ring on cayman"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=60802">bug 60802</a>
              from <span class="vcard"><a class="email" href="mailto:alexandre.f.demers@gmail.com" title="Alexandre Demers <alexandre.f.demers@gmail.com>"> <span class="fn">Alexandre Demers</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=60802#c50">comment #50</a>)
<span class="quote">> I believe I have the source of the bug, it appears that there is a special
> case for Caymen GPUs that isn't handled in the DMA code path.  In
> evergreen_state.c within the method evergreen_create_sampler_view_custom
> there is the chunk of code

>    /* 128 bit formats require tile type = 1 */
>    if (rscreen->chip_class == CAYMAN) {
>            if (util_format_get_blocksize(pipe_format) >= 16)
>                    non_disp_tiling = 1;
>    }

> however, within evergreen_dma_copy_tile in the same source file no such code
> exists.  I tested whether this was the case or not by placing the lines of
> code

>            if (util_format_get_blocksize(dst->format) >= 16) {
>                    printf("Caymen non disp tiling skipping dma tile\n");
>                    return FALSE;
>            }

> before the call to evergreen_dma_copy_tile in evergreen_dma_blit, and the
> corruption no longer appeared. (having this checks skips the DMA path for
> this case and goes through the normal path, which would be
> evergreen_create_sampler_view_custom I believe)

> I'm not sure which bits in the DMA packet control this setting.</span >

Your observations are right, using your trick does indeed remove the
corruptions.</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>