[Mesa-dev] R600 tiling halves the frame rate

Tzvetan Mikov tmikov at jupiter.com
Fri Oct 26 19:26:16 PDT 2012


> -----Original Message-----
> From: Jerome Glisse 

> > Can anyone shed some light on this? Is this by design - e.g. is
> > this a case of "we know that tiling is currently slower than linear
> > but the huge payoff is scheduled to arrive in a future revision"?
> >
> > Thanks!
> > Tzvetan
> 
> No, in all benchmark i made on various gpu from hd2xxx to hd6xxx
> tiling always gave a performance boost btw 5% up to 20%.

This is interesting. All I am doing is rotating a big texture on the 
screen. I am using EGL+Gallium, so it is as simple as it gets.

The hack I am using to disable texture tiling is also extremely simple 
(see below). It speeds up the FPS measurably, up to the extreme
case of doubling it on HD6460.

What am I missing?

Regards,
Tzvetan


commit 1bb7da091ccf875571d376eb8f9451cb711eb978
Author: Tzvetan Mikov <tmikov at jupiter.com>
Date:   Thu Oct 18 12:29:00 2012 -0700

    A VERY quick and drity hack to enable linear textures

diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 85e4e0c..dc572f1 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -467,6 +467,9 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen,
        if (util_format_description(templ->format)->layout == UTIL_FORMAT_LAYOUT_SUBSAMPLED)
                array_mode = V_038000_ARRAY_LINEAR_ALIGNED;
 
+        // HACK HACK
+        array_mode = V_038000_ARRAY_LINEAR_ALIGNED;
+
        r = r600_init_surface(rscreen, &surface, templ, array_mode,
                              templ->flags & R600_RESOURCE_FLAG_TRANSFER,
                              templ->flags & R600_RESOURCE_FLAG_FLUSHED_DEPTH);


More information about the mesa-dev mailing list