[Mesa-dev] [PATCH 3/3] winsys/radeon: remove use_reusable_pool parameter from buffer_create

Marek Olšák maraeo at gmail.com
Sun Apr 24 10:36:00 UTC 2016


For the series:

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

Marek

On Sat, Apr 23, 2016 at 6:01 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> All callers set this parameter to true.
> ---
>  src/gallium/drivers/r300/r300_query.c           |  2 +-
>  src/gallium/drivers/r300/r300_render.c          |  2 +-
>  src/gallium/drivers/r300/r300_screen_buffer.c   |  4 ++--
>  src/gallium/drivers/r300/r300_texture.c         |  2 +-
>  src/gallium/drivers/radeon/r600_buffer_common.c |  1 -
>  src/gallium/drivers/radeon/radeon_video.c       |  2 +-
>  src/gallium/drivers/radeon/radeon_winsys.h      |  1 -
>  src/gallium/winsys/amdgpu/drm/amdgpu_bo.c       | 14 +++++---------
>  src/gallium/winsys/amdgpu/drm/amdgpu_cs.c       |  2 +-
>  src/gallium/winsys/radeon/drm/radeon_drm_bo.c   | 11 ++++-------
>  src/gallium/winsys/radeon/drm/radeon_drm_cs.c   |  2 +-
>  11 files changed, 17 insertions(+), 26 deletions(-)
>
> diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c
> index 8557eb7..f788f58 100644
> --- a/src/gallium/drivers/r300/r300_query.c
> +++ b/src/gallium/drivers/r300/r300_query.c
> @@ -58,7 +58,7 @@ static struct pipe_query *r300_create_query(struct pipe_context *pipe,
>      else
>          q->num_pipes = r300screen->info.r300_num_gb_pipes;
>
> -    q->buf = r300->rws->buffer_create(r300->rws, 4096, 4096, TRUE,
> +    q->buf = r300->rws->buffer_create(r300->rws, 4096, 4096,
>                                        RADEON_DOMAIN_GTT, 0);
>      if (!q->buf) {
>          FREE(q);
> diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
> index 7eda675..43860f3 100644
> --- a/src/gallium/drivers/r300/r300_render.c
> +++ b/src/gallium/drivers/r300/r300_render.c
> @@ -904,7 +904,7 @@ static boolean r300_render_allocate_vertices(struct vbuf_render* render,
>
>          r300->vbo = rws->buffer_create(rws,
>                                         MAX2(R300_MAX_DRAW_VBO_SIZE, size),
> -                                       R300_BUFFER_ALIGNMENT, TRUE,
> +                                       R300_BUFFER_ALIGNMENT,
>                                         RADEON_DOMAIN_GTT, 0);
>          if (!r300->vbo) {
>              return FALSE;
> diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c
> index 42c8e3a..5b69b24 100644
> --- a/src/gallium/drivers/r300/r300_screen_buffer.c
> +++ b/src/gallium/drivers/r300/r300_screen_buffer.c
> @@ -102,7 +102,7 @@ r300_buffer_transfer_map( struct pipe_context *context,
>
>              /* Create a new one in the same pipe_resource. */
>              new_buf = r300->rws->buffer_create(r300->rws, rbuf->b.b.width0,
> -                                               R300_BUFFER_ALIGNMENT, TRUE,
> +                                               R300_BUFFER_ALIGNMENT,
>                                                 rbuf->domain, 0);
>              if (new_buf) {
>                  /* Discard the old buffer. */
> @@ -183,7 +183,7 @@ struct pipe_resource *r300_buffer_create(struct pipe_screen *screen,
>
>      rbuf->buf =
>          r300screen->rws->buffer_create(r300screen->rws, rbuf->b.b.width0,
> -                                       R300_BUFFER_ALIGNMENT, TRUE,
> +                                       R300_BUFFER_ALIGNMENT,
>                                         rbuf->domain, 0);
>      if (!rbuf->buf) {
>          FREE(rbuf);
> diff --git a/src/gallium/drivers/r300/r300_texture.c b/src/gallium/drivers/r300/r300_texture.c
> index da51661..df01673 100644
> --- a/src/gallium/drivers/r300/r300_texture.c
> +++ b/src/gallium/drivers/r300/r300_texture.c
> @@ -1047,7 +1047,7 @@ r300_texture_create_object(struct r300_screen *rscreen,
>
>      /* Create the backing buffer if needed. */
>      if (!tex->buf) {
> -        tex->buf = rws->buffer_create(rws, tex->tex.size_in_bytes, 2048, TRUE,
> +        tex->buf = rws->buffer_create(rws, tex->tex.size_in_bytes, 2048,
>                                        tex->domain, 0);
>
>          if (!tex->buf) {
> diff --git a/src/gallium/drivers/radeon/r600_buffer_common.c b/src/gallium/drivers/radeon/r600_buffer_common.c
> index 1955dab..6b46dfa 100644
> --- a/src/gallium/drivers/radeon/r600_buffer_common.c
> +++ b/src/gallium/drivers/radeon/r600_buffer_common.c
> @@ -176,7 +176,6 @@ bool r600_init_resource(struct r600_common_screen *rscreen,
>
>         /* Allocate a new resource. */
>         new_buf = rscreen->ws->buffer_create(rscreen->ws, size, alignment,
> -                                            true,
>                                              res->domains, flags);
>         if (!new_buf) {
>                 return false;
> diff --git a/src/gallium/drivers/radeon/radeon_video.c b/src/gallium/drivers/radeon/radeon_video.c
> index 8dd32ea..e2ff037 100644
> --- a/src/gallium/drivers/radeon/radeon_video.c
> +++ b/src/gallium/drivers/radeon/radeon_video.c
> @@ -185,7 +185,7 @@ void rvid_join_surfaces(struct radeon_winsys* ws,
>         /* TODO: 2D tiling workaround */
>         alignment *= 2;
>
> -       pb = ws->buffer_create(ws, size, alignment, TRUE, RADEON_DOMAIN_VRAM, 0);
> +       pb = ws->buffer_create(ws, size, alignment, RADEON_DOMAIN_VRAM, 0);
>         if (!pb)
>                 return;
>
> diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h
> index 431de79..7860909 100644
> --- a/src/gallium/drivers/radeon/radeon_winsys.h
> +++ b/src/gallium/drivers/radeon/radeon_winsys.h
> @@ -454,7 +454,6 @@ struct radeon_winsys {
>      struct pb_buffer *(*buffer_create)(struct radeon_winsys *ws,
>                                         uint64_t size,
>                                         unsigned alignment,
> -                                       boolean use_reusable_pool,
>                                         enum radeon_bo_domain domain,
>                                         enum radeon_bo_flag flags);
>
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> index 036301e..691d9c2 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> @@ -456,7 +456,6 @@ static struct pb_buffer *
>  amdgpu_bo_create(struct radeon_winsys *rws,
>                   uint64_t size,
>                   unsigned alignment,
> -                 boolean use_reusable_pool,
>                   enum radeon_bo_domain domain,
>                   enum radeon_bo_flag flags)
>  {
> @@ -481,13 +480,10 @@ amdgpu_bo_create(struct radeon_winsys *rws,
>     usage |= 1 << (flags + 3);
>
>     /* Get a buffer from the cache. */
> -   if (use_reusable_pool) {
> -       bo = (struct amdgpu_winsys_bo*)
> -            pb_cache_reclaim_buffer(&ws->bo_cache, size, alignment,
> -                                    usage);
> -       if (bo)
> -          return &bo->base;
> -   }
> +   bo = (struct amdgpu_winsys_bo*)
> +        pb_cache_reclaim_buffer(&ws->bo_cache, size, alignment, usage);
> +   if (bo)
> +      return &bo->base;
>
>     /* Create a new one. */
>     bo = amdgpu_create_bo(ws, size, alignment, usage, domain, flags);
> @@ -499,7 +495,7 @@ amdgpu_bo_create(struct radeon_winsys *rws,
>           return NULL;
>     }
>
> -   bo->use_reusable_pool = use_reusable_pool;
> +   bo->use_reusable_pool = true;
>     return &bo->base;
>  }
>
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
> index 69fb9bb..8f50f35 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c
> @@ -236,7 +236,7 @@ static bool amdgpu_get_new_ib(struct radeon_winsys *ws, struct amdgpu_ib *ib,
>        ib->used_ib_space = 0;
>
>        ib->big_ib_buffer = ws->buffer_create(ws, buffer_size,
> -                                            4096, true,
> +                                            4096,
>                                              RADEON_DOMAIN_GTT,
>                                              RADEON_FLAG_CPU_ACCESS);
>        if (!ib->big_ib_buffer)
> diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> index dd6555c..2c3098e 100644
> --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
> @@ -720,7 +720,6 @@ static struct pb_buffer *
>  radeon_winsys_bo_create(struct radeon_winsys *rws,
>                          uint64_t size,
>                          unsigned alignment,
> -                        boolean use_reusable_pool,
>                          enum radeon_bo_domain domain,
>                          enum radeon_bo_flag flags)
>  {
> @@ -748,11 +747,9 @@ radeon_winsys_bo_create(struct radeon_winsys *rws,
>      assert(flags < sizeof(usage) * 8 - 3);
>      usage |= 1 << (flags + 3);
>
> -    if (use_reusable_pool) {
> -        bo = radeon_bo(pb_cache_reclaim_buffer(&ws->bo_cache, size, alignment, usage));
> -        if (bo)
> -            return &bo->base;
> -    }
> +    bo = radeon_bo(pb_cache_reclaim_buffer(&ws->bo_cache, size, alignment, usage));
> +    if (bo)
> +        return &bo->base;
>
>      bo = radeon_create_bo(ws, size, alignment, usage, domain, flags);
>      if (!bo) {
> @@ -763,7 +760,7 @@ radeon_winsys_bo_create(struct radeon_winsys *rws,
>              return NULL;
>      }
>
> -    bo->use_reusable_pool = use_reusable_pool;
> +    bo->use_reusable_pool = true;
>
>      pipe_mutex_lock(ws->bo_handles_mutex);
>      util_hash_table_set(ws->bo_handles, (void*)(uintptr_t)bo->handle, bo);
> diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> index 6b2694c..11ea9bb 100644
> --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c
> @@ -638,7 +638,7 @@ radeon_cs_create_fence(struct radeon_winsys_cs *rcs)
>      struct pb_buffer *fence;
>
>      /* Create a fence, which is a dummy BO. */
> -    fence = cs->ws->base.buffer_create(&cs->ws->base, 1, 1, TRUE,
> +    fence = cs->ws->base.buffer_create(&cs->ws->base, 1, 1,
>                                         RADEON_DOMAIN_GTT, 0);
>      /* Add the fence as a dummy relocation. */
>      cs->ws->base.cs_add_buffer(rcs, fence,
> --
> 2.5.0
>
> _______________________________________________
> 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