[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