diff mbox

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

Message ID bug-82050-502-fGeWFHY5qQ@http.bugs.freedesktop.org/ (mailing list archive)
State New, archived
Headers show

Commit Message

bugzilla-daemon@freedesktop.org Aug. 19, 2014, 10:06 p.m. UTC
https://bugs.freedesktop.org/show_bug.cgi?id=82050

--- Comment #19 from Andy Furniss <adf.lists@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 :-).

                /* Older kernels didn't always flush the HDP cache before
                 * CS execution
diff mbox

Patch

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: