Mesa (master): radeonsi: keep track of the sampler state for texture handles

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Tue Jun 20 08:16:22 UTC 2017


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Jun 19 17:34:45 2017 +0200

radeonsi: keep track of the sampler state for texture handles

Needed for updating all resident texture descriptors when
dirty_tex_counter changes.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_descriptors.c | 1 +
 src/gallium/drivers/radeonsi/si_pipe.h        | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index cb9c47c0d8..e792cf63d5 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -2297,6 +2297,7 @@ static uint64_t si_create_texture_handle(struct pipe_context *ctx,
 	}
 
 	si_set_sampler_view_desc(sctx, sview, sstate, &desc_list[0]);
+	memcpy(&tex_handle->sstate, sstate, sizeof(*sstate));
 	ctx->delete_sampler_state(ctx, sstate);
 
 	tex_handle->desc = si_create_bindless_descriptor(sctx, desc_list,
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index afe68a3d35..0c77f93312 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -243,6 +243,7 @@ struct si_texture_handle
 {
 	struct si_bindless_descriptor	*desc;
 	struct pipe_sampler_view	*view;
+	struct si_sampler_state		sstate;
 };
 
 struct si_image_handle




More information about the mesa-commit mailing list