summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/freedreno/a6xx/fd6_image.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2019-05-04 09:02:54 -0700
committerRob Clark <robdclark@chromium.org>2019-05-04 11:50:44 -0700
commit555ca49d2b2a4b521e9d890ed63875008fa14268 (patch)
tree04437aa97004b3760d3f235f4aabf0a5145e13ef /src/gallium/drivers/freedreno/a6xx/fd6_image.c
parent62c0b02717b0ff5ab56366780ec46b44161b76c9 (diff)
freedreno: add ubwc_enabled helper
Since it is dependent on the tile mode (ie. disabled for smaller mipmap levels), we should handle it a similar way to fd_resource_level_linear(). The code previously mostly did the right thing because the old helper took the tile mode. Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'src/gallium/drivers/freedreno/a6xx/fd6_image.c')
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_image.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_image.c b/src/gallium/drivers/freedreno/a6xx/fd6_image.c
index 5eb43202dcd..51ea438b672 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_image.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_image.c
@@ -168,8 +168,7 @@ static void translate_buf(struct fd6_image *img, const struct pipe_shader_buffer
static void emit_image_tex(struct fd_ringbuffer *ring, struct fd6_image *img)
{
struct fd_resource *rsc = fd_resource(img->prsc);
- bool ubwc_enabled = rsc->ubwc_size &&
- !fd_resource_level_linear(img->prsc, img->level);
+ bool ubwc_enabled = fd_resource_ubwc_enabled(rsc, img->level);
OUT_RING(ring, fd6_tex_const_0(img->prsc, img->level, img->pfmt,
PIPE_SWIZZLE_X, PIPE_SWIZZLE_Y,
@@ -230,8 +229,7 @@ static void emit_image_ssbo(struct fd_ringbuffer *ring, struct fd6_image *img)
{
struct fd_resource *rsc = fd_resource(img->prsc);
enum a6xx_tile_mode tile_mode = TILE6_LINEAR;
- bool ubwc_enabled = rsc->ubwc_size &&
- !fd_resource_level_linear(img->prsc, img->level);
+ bool ubwc_enabled = fd_resource_ubwc_enabled(rsc, img->level);
if (rsc->tile_mode && !fd_resource_level_linear(img->prsc, img->level)) {
tile_mode = rsc->tile_mode;