[Mesa-dev] [PATCH 1/2] gallium/aux: include nr_samples in util_resource_size() computation

Brian Paul brianp at vmware.com
Thu Dec 7 22:25:04 UTC 2017


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
---
 src/gallium/auxiliary/util/u_resource.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/util/u_resource.c b/src/gallium/auxiliary/util/u_resource.c
index 66caaae..ed6c150 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);
-- 
1.9.1



More information about the mesa-dev mailing list