|
|
@@ -568,13 +568,15 @@ static boolean r600_texture_get_handle(struct pipe_screen* screen, |
|
|
|
return false; |
|
|
|
|
|
|
|
/* Move a suballocated texture into a non-suballocated allocation. */ |
|
|
|
if (rscreen->ws->buffer_is_suballocated(res->buf)) { |
|
|
|
if (rscreen->ws->buffer_is_suballocated(res->buf) || |
|
|
|
rtex->surface.tile_swizzle) { |
|
|
|
assert(!res->b.is_shared); |
|
|
|
r600_reallocate_texture_inplace(rctx, rtex, |
|
|
|
PIPE_BIND_SHARED, false); |
|
|
|
rctx->b.flush(&rctx->b, NULL, 0); |
|
|
|
assert(res->b.b.bind & PIPE_BIND_SHARED); |
|
|
|
assert(res->flags & RADEON_FLAG_NO_SUBALLOC); |
|
|
|
assert(rtex->surface.tile_swizzle == 0); |
|
|
|
} |
|
|
|
|
|
|
|
/* Since shader image stores don't support DCC on VI, |