Mesa (master): freedreno: handle images in rebind_resource()

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 11 18:13:18 UTC 2019


Module: Mesa
Branch: master
Commit: 846b8a76bd0c86e7e60e5dfb15fc6f7b1502ed12
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=846b8a76bd0c86e7e60e5dfb15fc6f7b1502ed12

Author: Rob Clark <robdclark at chromium.org>
Date:   Fri Jun  7 11:20:11 2019 -0700

freedreno: handle images in rebind_resource()

Signed-off-by: Rob Clark <robdclark at chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>

---

 src/gallium/drivers/freedreno/freedreno_resource.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/gallium/drivers/freedreno/freedreno_resource.c b/src/gallium/drivers/freedreno/freedreno_resource.c
index 97bead52686..30ef1965d3f 100644
--- a/src/gallium/drivers/freedreno/freedreno_resource.c
+++ b/src/gallium/drivers/freedreno/freedreno_resource.c
@@ -86,6 +86,15 @@ rebind_resource(struct fd_context *ctx, struct pipe_resource *prsc)
 				ctx->dirty_shader[stage] |= FD_DIRTY_SHADER_TEX;
 		}
 
+		/* Images */
+		const unsigned num_images = util_last_bit(ctx->shaderimg[stage].enabled_mask);
+		for (unsigned i = 0; i < num_images; i++) {
+			if (ctx->dirty_shader[stage] & FD_DIRTY_SHADER_IMAGE)
+				break;
+			if (ctx->shaderimg[stage].si[i].resource == prsc)
+				ctx->dirty_shader[stage] |= FD_DIRTY_SHADER_IMAGE;
+		}
+
 		/* SSBOs */
 		const unsigned num_ssbos = util_last_bit(ctx->shaderbuf[stage].enabled_mask);
 		for (unsigned i = 0; i < num_ssbos; i++) {




More information about the mesa-commit mailing list