diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index f99140d7d74..f780c640f3f 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -219,7 +219,7 @@ try_pbo_readpixels(struct st_context *st, struct gl_renderbuffer *rb, fb.width = surface->width; fb.height = surface->height; fb.samples = 1; - fb.layers = 1; + fb.layers = addr.depth; cso_set_framebuffer(cso, &fb); /* Any blend state would do. Set this just to prevent drivers having diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 3b75d012301..6c9eda1a0b6 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -2014,7 +2014,7 @@ try_pbo_download(struct st_context *st, memset(&fb, 0, sizeof(fb)); fb.width = texture->width0; fb.height = texture->height0; - fb.layers = 1; + fb.layers = addr.depth; fb.samples = 1; cso_set_framebuffer(cso, &fb);