[Mesa-dev] [PATCH] nvc0: save some CPU cycles in nvc0_context_unreference_resources()

Ilia Mirkin imirkin at alum.mit.edu
Thu May 12 19:13:02 UTC 2016


Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

On Thu, May 12, 2016 at 3:08 PM, Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
> This reduces the number of loop iterations for invalidating buffers
> and images.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/gallium/drivers/nouveau/nvc0/nvc0_context.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
> index 428b33d..85c7961 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
> @@ -150,20 +150,18 @@ nvc0_context_unreference_resources(struct nvc0_context *nvc0)
>        for (i = 0; i < NVC0_MAX_PIPE_CONSTBUFS; ++i)
>           if (!nvc0->constbuf[s][i].user)
>              pipe_resource_reference(&nvc0->constbuf[s][i].u.buf, NULL);
> -   }
> -
> -   for (s = 0; s < 2; ++s) {
> -      for (i = 0; i < NVC0_MAX_SURFACE_SLOTS; ++i)
> -         pipe_surface_reference(&nvc0->surfaces[s][i], NULL);
> -   }
>
> -   for (s = 0; s < 6; ++s)
>        for (i = 0; i < NVC0_MAX_BUFFERS; ++i)
>           pipe_resource_reference(&nvc0->buffers[s][i].buffer, NULL);
>
> -   for (s = 0; s < 6; ++s)
>        for (i = 0; i < NVC0_MAX_IMAGES; ++i)
>           pipe_resource_reference(&nvc0->images[s][i].resource, NULL);
> +   }
> +
> +   for (s = 0; s < 2; ++s) {
> +      for (i = 0; i < NVC0_MAX_SURFACE_SLOTS; ++i)
> +         pipe_surface_reference(&nvc0->surfaces[s][i], NULL);
> +   }
>
>     for (i = 0; i < nvc0->num_tfbbufs; ++i)
>        pipe_so_target_reference(&nvc0->tfbbuf[i], NULL);
> --
> 2.8.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list