diff options
Diffstat (limited to 'src/gallium/drivers/r600')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 1d7948311da..07e7c6ca384 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -608,7 +608,8 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen, * because 422 formats are used for videos, which prefer linear buffers * for fast uploads anyway. */ if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER) && - desc->layout != UTIL_FORMAT_LAYOUT_SUBSAMPLED) { + (desc->layout != UTIL_FORMAT_LAYOUT_SUBSAMPLED) && + !(templ->bind & PIPE_BIND_LINEAR)) { if (templ->flags & R600_RESOURCE_FLAG_FORCE_TILING) { array_mode = V_038000_ARRAY_2D_TILED_THIN1; } else if (!(templ->bind & PIPE_BIND_SCANOUT) && |