[Mesa-dev] R600 tiling halves the frame rate
Marek Olšák
maraeo at gmail.com
Sat Oct 27 06:58:53 PDT 2012
If you upload the texture every frame, set pipe_resource::usage to
PIPE_USAGE_STAGING. That will make the texture linear.
Marek
On Sat, Oct 27, 2012 at 4:26 AM, Tzvetan Mikov <tmikov at jupiter.com> wrote:
>> -----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);
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list