From: Brian Paul Date: Thu, 7 Dec 2017 21:47:32 +0000 (-0700) Subject: gallium/aux: include nr_samples in util_resource_size() computation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dde8309cdea5c739983693650105b2f993c5a71c;p=mesa.git gallium/aux: include nr_samples in util_resource_size() computation This function is only used in two places: 1. VMware driver, but only for HUD reporting 2. st/nine state tracker, used for texture memory accounting Fixes: a69efa9482d ("util: add new util_resource_size() function in u_resource.[ch]") Reviewed-by: Roland Scheidegger Reviewed-by: Charmaine Lee Reviewed-by: Marek Olšák --- diff --git a/src/gallium/auxiliary/util/u_resource.c b/src/gallium/auxiliary/util/u_resource.c index 66caaae8405..ed6c1504fd8 100644 --- a/src/gallium/auxiliary/util/u_resource.c +++ b/src/gallium/auxiliary/util/u_resource.c @@ -42,6 +42,7 @@ util_resource_size(const struct pipe_resource *res) unsigned depth = res->depth0; unsigned size = 0; unsigned level; + unsigned samples = MAX2(1, res->nr_samples); for (level = 0; level <= res->last_level; level++) { unsigned slices; @@ -54,7 +55,7 @@ util_resource_size(const struct pipe_resource *res) slices = res->array_size; size += (util_format_get_nblocksy(res->format, height) * - util_format_get_stride(res->format, width) * slices); + util_format_get_stride(res->format, width) * slices * samples); width = u_minify(width, 1); height = u_minify(height, 1);