[Bug 82050] R9270X pyrit benchmark perf regressions with latest kernel/llvm

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 19 15:06:57 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=82050

--- Comment #19 from Andy Furniss <adf.lists at gmail.com> ---
(In reply to comment #17)
> (In reply to comment #14)
> > 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?

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

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140819/40b63eb3/attachment.html>


More information about the dri-devel mailing list