diff options
author | Edward O'Callaghan <eocallaghan@alterapraxis.com> | 2015-12-08 00:36:26 +1100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-12-09 14:40:32 +1000 |
commit | d13ac272006f0298146508d7d7b3b67e7fa27133 (patch) | |
tree | e4dbe7463b61aef648e64a386c051f0f28f8ae98 /src/gallium/drivers/r600 | |
parent | f920f8eb026d39c0adb547a90399e76b8351fec6 (diff) | |
download | external_mesa3d-d13ac272006f0298146508d7d7b3b67e7fa27133.zip external_mesa3d-d13ac272006f0298146508d7d7b3b67e7fa27133.tar.gz external_mesa3d-d13ac272006f0298146508d7d7b3b67e7fa27133.tar.bz2 |
r600g: allow copying between compatible un/compressed formats
See: `commit e82c527f1fc2f8ddc64954ecd06b0de3cea92e93`
which is where a block in src maps to a pixel in dst and vice versa.
e.g. DXT1 <-> R32G32_UINT
DXT5 <-> R32G32B32A32_UINT
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/r600_blit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c index 3d44ff2..8a08dbd 100644 --- a/src/gallium/drivers/r600/r600_blit.c +++ b/src/gallium/drivers/r600/r600_blit.c @@ -656,7 +656,8 @@ void r600_resource_copy_region(struct pipe_context *ctx, util_blitter_default_dst_texture(&dst_templ, dst, dst_level, dstz); util_blitter_default_src_texture(&src_templ, src, src_level); - if (util_format_is_compressed(src->format)) { + if (util_format_is_compressed(src->format) || + util_format_is_compressed(dst->format)) { unsigned blocksize = util_format_get_blocksize(src->format); if (blocksize == 8) |