diff options
author | Edward O'Callaghan <[email protected]> | 2015-12-08 00:36:26 +1100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2015-12-09 14:40:32 +1000 |
commit | d13ac272006f0298146508d7d7b3b67e7fa27133 (patch) | |
tree | e4dbe7463b61aef648e64a386c051f0f28f8ae98 /src/gallium/drivers/r600 | |
parent | f920f8eb026d39c0adb547a90399e76b8351fec6 (diff) |
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 <[email protected]>
Signed-off-by: Edward O'Callaghan <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
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 3d44ff2e6a6..8a08dbdd82a 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) |