summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_texture.c
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2013-08-15 12:47:58 +0200
committerKristian Høgsberg <[email protected]>2013-09-06 15:02:34 -0700
commite8f9195e5fb34a45783d6491d2e0305a0b137439 (patch)
tree604a81c82fc66e609d137ca28856e5d56fb9ffdd /src/gallium/drivers/r600/r600_texture.c
parent0a0f543082ce3bbee3d09425a912a9181128a257 (diff)
gallium, intel: Implements new __DRI_IMAGE_USE_LINEAR and PIPE_BIND_LINEAR flags to enforce no tiling.
Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r--src/gallium/drivers/r600/r600_texture.c3
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) &&