X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Ffreedreno%2Ffreedreno_resource.h;h=478417e6ba35692e46ef12969212f87571741c6b;hb=1b3aefad46bda59ff02c0d81c53fd3fbf249d8f4;hp=bc972297a3523b2bce1a9a17d3c5c8844ed0166f;hpb=8d9f5a28e3879523fbdd018a2b87223313333379;p=mesa.git diff --git a/src/gallium/drivers/freedreno/freedreno_resource.h b/src/gallium/drivers/freedreno/freedreno_resource.h index bc972297a35..478417e6ba3 100644 --- a/src/gallium/drivers/freedreno/freedreno_resource.h +++ b/src/gallium/drivers/freedreno/freedreno_resource.h @@ -113,6 +113,14 @@ pending(struct fd_resource *rsc, bool write) return false; } +static inline bool +has_depth(enum pipe_format format) +{ + const struct util_format_description *desc = + util_format_description(format); + return util_format_has_depth(desc); +} + struct fd_transfer { struct pipe_transfer base; struct pipe_resource *staging_prsc; @@ -150,7 +158,9 @@ fd_resource_offset(struct fd_resource *rsc, unsigned level, unsigned layer) static inline uint32_t fd_resource_ubwc_offset(struct fd_resource *rsc, unsigned level, unsigned layer) { - return fdl_ubwc_offset(&rsc->layout, level, layer); + uint32_t offset = fdl_ubwc_offset(&rsc->layout, level, layer); + debug_assert(offset < fd_bo_size(rsc->bo)); + return offset; } /* This might be a5xx specific, but higher mipmap levels are always linear: */