浏览代码

gallium/radeon: reallocate textures with non-zero tile_swizzle on export

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
tags/17.3-branchpoint
Marek Olšák 8 年前
父节点
当前提交
7726092795
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3
    1
      src/gallium/drivers/radeon/r600_texture.c

+ 3
- 1
src/gallium/drivers/radeon/r600_texture.c 查看文件

@@ -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,

正在加载...
取消
保存