rbug: send the actual number of layers to the client
authorMarek Olšák <marek.olsak@amd.com>
Sat, 16 Aug 2014 23:34:33 +0000 (01:34 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 19 Aug 2014 10:20:18 +0000 (12:20 +0200)
This sends the correct value for array textures.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/gallium/drivers/rbug/rbug_core.c

index c5b26b85085764e4fac02f92d176531bc4394ba1..ece5e2f66b116fdcb791a838925027750be64233 100644 (file)
@@ -204,6 +204,7 @@ rbug_texture_info(struct rbug_rbug *tr_rbug, struct rbug_header *header, uint32_
    struct rbug_proto_texture_info *gpti = (struct rbug_proto_texture_info *)header;
    struct rbug_list *ptr;
    struct pipe_resource *t;
+   unsigned num_layers;
 
    pipe_mutex_lock(rb_screen->list_mutex);
    foreach(ptr, &rb_screen->resources) {
@@ -219,11 +220,13 @@ rbug_texture_info(struct rbug_rbug *tr_rbug, struct rbug_header *header, uint32_
    }
 
    t = tr_tex->resource;
+   num_layers = util_max_layer(t, 0) + 1;
+
    rbug_send_texture_info_reply(tr_rbug->con, serial,
                                t->target, t->format,
                                &t->width0, 1,
                                &t->height0, 1,
-                               &t->depth0, 1,
+                               &num_layers, 1,
                                util_format_get_blockwidth(t->format),
                                util_format_get_blockheight(t->format),
                                util_format_get_blocksize(t->format),