[Mesa-dev] Mesa (master): r300g: fix surface_copy for compressed formats

José Fonseca jfonseca at vmware.com
Mon May 3 04:47:24 PDT 2010


As long as the blit engine is not lossy, you could support everything by
using PIPE_FORMAT_I8_UNORM or something and adjusting dimensions.

Jose

On Sun, 2010-05-02 at 12:02 -0700, Marek Olšák wrote:
> Module: Mesa
> Branch: master
> Commit: 3b2cf97c5c84c3a92f97f335b27f754aa42c5259
> URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b2cf97c5c84c3a92f97f335b27f754aa42c5259
> 
> Author: Marek Olšák <maraeo at gmail.com>
> Date:   Sun May  2 17:19:03 2010 +0200
> 
> r300g: fix surface_copy for compressed formats
> 
> No accelerated blitting for these, it's too messy.
> 
> ---
> 
>  src/gallium/drivers/r300/r300_blit.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c
> index 928ad30..819d5e3 100644
> --- a/src/gallium/drivers/r300/r300_blit.c
> +++ b/src/gallium/drivers/r300/r300_blit.c
> @@ -137,7 +137,8 @@ void r300_surface_copy(struct pipe_context* pipe,
>      if (!pipe->screen->is_format_supported(pipe->screen,
>                                             old_format, src->texture->target,
>                                             PIPE_BIND_RENDER_TARGET |
> -                                           PIPE_BIND_SAMPLER_VIEW, 0)) {
> +                                           PIPE_BIND_SAMPLER_VIEW, 0) &&
> +        util_format_description(old_format)->layout == UTIL_FORMAT_LAYOUT_PLAIN) {
>          switch (util_format_get_blocksize(old_format)) {
>              case 1:
>                  new_format = PIPE_FORMAT_I8_UNORM;
> 
> _______________________________________________
> mesa-commit mailing list
> mesa-commit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit




More information about the mesa-dev mailing list