diff options
author | Rob Clark <robdclark@chromium.org> | 2019-05-04 09:02:54 -0700 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2019-05-04 11:50:44 -0700 |
commit | 555ca49d2b2a4b521e9d890ed63875008fa14268 (patch) | |
tree | 04437aa97004b3760d3f235f4aabf0a5145e13ef /src/gallium/drivers/freedreno/a6xx/fd6_image.c | |
parent | 62c0b02717b0ff5ab56366780ec46b44161b76c9 (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.c | 6 |
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; |