<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - R9270X pyrit benchmark perf regressions with latest kernel/llvm"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=82050#c19">Comment # 19</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - R9270X pyrit benchmark perf regressions with latest kernel/llvm"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=82050">bug 82050</a>
              from <span class="vcard"><a class="email" href="mailto:adf.lists@gmail.com" title="Andy Furniss <adf.lists@gmail.com>"> <span class="fn">Andy Furniss</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=82050#c17">comment #17</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=82050#c14">comment #14</a>)
> > Yes, with that reverted perf is roughly back to "good" kernel for both.

> Can you try restoring the old behaviour for only PIPE_USAGE_DYNAMIC or
> PIPE_USAGE_STREAM respectively, to see if one of them alone fixes the
> problem in Valley?</span >

Stream as below gets the old behavior, doing below with dynamic makes no
difference AFAICT.

Testing this is subjective as the pauses stop the clock in benchmark mode, so
don't show and of course "working" is still somewhat broken :-).

diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c
b/src/gallium/drivers/radeon/r600_buffer_common.c
index 22bc97e..9262823 100644
--- a/src/gallium/drivers/radeon/r600_buffer_common.c
+++ b/src/gallium/drivers/radeon/r600_buffer_common.c
@@ -110,11 +110,12 @@ bool r600_init_resource(struct r600_common_screen
*rscreen,
        enum radeon_bo_flag flags = 0;

        switch (res->b.b.usage) {
+       case PIPE_USAGE_STREAM:
+               flags = RADEON_FLAG_GTT_WC;
        case PIPE_USAGE_STAGING:
                /* Transfers are likely to occur more often with these
resources. */
                res->domains = RADEON_DOMAIN_GTT;
                break;
-       case PIPE_USAGE_STREAM:
        case PIPE_USAGE_DYNAMIC:
                /* Older kernels didn't always flush the HDP cache before
                 * CS execution</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>