[Mesa-dev] [PATCH] radeonsi: Don't force dcc disable for loads
Marek Olšák
maraeo at gmail.com
Wed Jun 5 17:38:09 UTC 2019
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Wed, Jun 5, 2019 at 6:49 AM Connor Abbott <cwabbott0 at gmail.com> wrote:
> When e9d935ed0e2 added force_dcc_off(), we forced it off for any
> preloaded image descriptor which had stores associated with them, since
> the same preloaded descriptors were used for loads and stores. However,
> when the preloading was removed in 16be87c9042, the existing logic was
> kept despite it not being necessary anymore. The comment above
> force_dcc_off() only mentions stores, so only force DCC off for stores.
>
> Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
> Cc: Marek Olšák <marek.olsak at amd.com>
> ---
> src/gallium/drivers/radeonsi/si_shader_nir.c | 6 ------
> src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c | 7 -------
> 2 files changed, 13 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c
> b/src/gallium/drivers/radeonsi/si_shader_nir.c
> index 72e6ffbac8a..a852283aff0 100644
> --- a/src/gallium/drivers/radeonsi/si_shader_nir.c
> +++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
> @@ -997,16 +997,10 @@ si_nir_load_sampler_desc(struct ac_shader_abi *abi,
> bool write, bool bindless)
> {
> struct si_shader_context *ctx = si_shader_context_from_abi(abi);
> - const struct tgsi_shader_info *info = &ctx->shader->selector->info;
> LLVMBuilderRef builder = ctx->ac.builder;
> unsigned const_index = base_index + constant_index;
> bool dcc_off = write;
>
> - /* TODO: images_store and images_atomic are not set */
> - if (!dynamic_index && image &&
> - (info->images_store | info->images_atomic) & (1 <<
> const_index))
> - dcc_off = true;
> -
> assert(!descriptor_set);
> assert(!image || desc_type == AC_DESC_IMAGE || desc_type ==
> AC_DESC_BUFFER);
>
> diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
> b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
> index c5704bc0eae..53075f1b546 100644
> --- a/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
> +++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_mem.c
> @@ -218,15 +218,8 @@ image_fetch_rsrc(
> bool dcc_off = is_store;
>
> if (!image->Register.Indirect) {
> - const struct tgsi_shader_info *info = bld_base->info;
> - unsigned images_writemask = info->images_store |
> - info->images_atomic;
> -
> index = LLVMConstInt(ctx->i32,
>
> si_get_image_slot(image->Register.Index), 0);
> -
> - if (images_writemask & (1 << image->Register.Index))
> - dcc_off = true;
> } else {
> /* From the GL_ARB_shader_image_load_store extension spec:
> *
> --
> 2.17.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190605/361531c2/attachment.html>
More information about the mesa-dev
mailing list