diff options
author | Marek Olšák <marek.olsak@amd.com> | 2022-04-25 00:04:41 -0400 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2022-05-03 11:11:08 -0400 |
commit | 8c0669fe3f8b28735483e0e4aa17268fb6732097 (patch) | |
tree | b8ea5f641858574f3c354724e72a46281c4752cf /src/gallium/drivers/radeonsi/si_pipe.h | |
parent | 01d994f5e63586004128597a18f0253801d65d04 (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.h | 5 |
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); |