Mesa (main): st/texture: use base teximage for compute blits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 03:13:21 UTC 2022


Module: Mesa
Branch: main
Commit: debb016d96f23defd80e6e23e5b2fb7e5b1d9ea4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=debb016d96f23defd80e6e23e5b2fb7e5b1d9ea4

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Fri May 13 15:30:11 2022 -0400

st/texture: use base teximage for compute blits

this matches behavior of st_texture_image_map

Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16545>

---

 src/mesa/state_tracker/st_pbo_compute.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_pbo_compute.c b/src/mesa/state_tracker/st_pbo_compute.c
index ade01432f36..263f46a4147 100644
--- a/src/mesa/state_tracker/st_pbo_compute.c
+++ b/src/mesa/state_tracker/st_pbo_compute.c
@@ -1050,10 +1050,10 @@ st_GetTexSubImage_shader(struct gl_context * ctx,
    struct st_context *st = st_context(ctx);
    struct pipe_screen *screen = st->screen;
    struct gl_texture_object *stObj = texImage->TexObject;
-   struct pipe_resource *src = stObj->pt;
+   struct pipe_resource *src = texImage->pt;
    struct pipe_resource *dst = NULL;
    enum pipe_format dst_format, src_format;
-   unsigned level = texImage->Level + texImage->TexObject->Attrib.MinLevel;
+   unsigned level = (texImage->pt != stObj->pt ? 0 : texImage->Level) + texImage->TexObject->Attrib.MinLevel;
    unsigned layer = texImage->Face + texImage->TexObject->Attrib.MinLayer;
    enum pipe_texture_target view_target;
 



More information about the mesa-commit mailing list