summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/radeonsi/si_pipe.h
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2022-04-25 00:04:41 -0400
committerMarek Olšák <marek.olsak@amd.com>2022-05-03 11:11:08 -0400
commit8c0669fe3f8b28735483e0e4aa17268fb6732097 (patch)
treeb8ea5f641858574f3c354724e72a46281c4752cf /src/gallium/drivers/radeonsi/si_pipe.h
parent01d994f5e63586004128597a18f0253801d65d04 (diff)
radeonsi: implement compute_copy_image between 1D_ARRAY and other texture types
And set more optimal compute block sizes. The compute copy is required to preserve NaNs, so this fixes a lot of AMD_TEST=copyimage cases. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16215>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index a9a9bad88fa..d28a48bc16a 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -965,8 +965,7 @@ struct si_context {
void *cs_clear_buffer;
void *cs_clear_buffer_rmw;
void *cs_copy_buffer;
- void *cs_copy_image_1D;
- void *cs_copy_image_2D;
+ void *cs_copy_image[2][2]; /* [src_is_1d][dst_is_1d] */
void *cs_clear_render_target;
void *cs_clear_render_target_1d_array;
void *cs_clear_12bytes_buffer;
@@ -1519,7 +1518,7 @@ void si_suspend_queries(struct si_context *sctx);
void si_resume_queries(struct si_context *sctx);
/* si_shaderlib_nir.c */
-void *si_create_copy_image_cs(struct si_context *sctx, bool is_1D);
+void *si_create_copy_image_cs(struct si_context *sctx, bool src_is_1d_array, bool dst_is_1d_array);
void *si_create_dcc_retile_cs(struct si_context *sctx, struct radeon_surf *surf);
void *gfx9_create_clear_dcc_msaa_cs(struct si_context *sctx, struct si_texture *tex);