panfrost: Use track_image_access on Bifrost
authorAlyssa Rosenzweig <alyssa@collabora.com>
Thu, 7 Apr 2022 15:28:27 +0000 (11:28 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 7 Apr 2022 17:43:38 +0000 (17:43 +0000)
Equivalent logic, as previously extracted.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797>

src/gallium/drivers/panfrost/pan_cmdstream.c

index bcab916..3cc8371 100644 (file)
@@ -1808,19 +1808,7 @@ emit_image_bufs(struct panfrost_batch *batch, enum pipe_shader_type shader,
                                                 is_3d ? 0 : image->u.tex.first_layer,
                                                 is_3d ? image->u.tex.first_layer : 0);
 
-                if (image->shader_access & PIPE_IMAGE_ACCESS_WRITE) {
-                        panfrost_batch_write_rsrc(batch, rsrc, shader);
-
-                        unsigned level = is_buffer ? 0 : image->u.tex.level;
-                        BITSET_SET(rsrc->valid.data, level);
-
-                        if (is_buffer) {
-                                util_range_add(&rsrc->base, &rsrc->valid_buffer_range,
-                                                0, rsrc->base.width0);
-                        }
-                } else {
-                        panfrost_batch_read_rsrc(batch, rsrc, shader);
-                }
+                panfrost_track_image_access(batch, shader, image);
 
                 pan_pack(bufs + (i * 2), ATTRIBUTE_BUFFER, cfg) {
                         cfg.type = pan_modifier_to_attr_type(rsrc->image.layout.modifier);