[Mesa-dev] [PATCH 3/3] gallium: remove user_buffer_create from the interface

Jose Fonseca jfonseca at vmware.com
Sat May 12 10:31:35 PDT 2012


Patch 2 and 3 look good to me.

I think this is a nice cleanup.

Jose

----- Original Message -----
> Nothing uses it now.
> ---
>  src/gallium/auxiliary/util/u_inlines.h       |    8 -----
>  src/gallium/auxiliary/util/u_slab.h          |    2 +-
>  src/gallium/drivers/galahad/glhd_screen.c    |   23 --------------
>  src/gallium/drivers/i915/i915_resource.c     |    1 -
>  src/gallium/drivers/identity/id_screen.c     |   23 --------------
>  src/gallium/drivers/llvmpipe/lp_texture.c    |    2 --
>  src/gallium/drivers/noop/noop_pipe.c         |   18 -----------
>  src/gallium/drivers/nv30/nv30_resource.c     |    1 -
>  src/gallium/drivers/nv50/nv50_resource.c     |    1 -
>  src/gallium/drivers/nvc0/nvc0_resource.c     |    1 -
>  src/gallium/drivers/r600/r600_buffer.c       |   25 ---------------
>  src/gallium/drivers/r600/r600_pipe.h         |    3 --
>  src/gallium/drivers/r600/r600_resource.c     |    1 -
>  src/gallium/drivers/radeonsi/r600_buffer.c   |   25 ---------------
>  src/gallium/drivers/radeonsi/r600_resource.c |    1 -
>  src/gallium/drivers/radeonsi/radeonsi_pipe.h |    3 --
>  src/gallium/drivers/rbug/rbug_screen.c       |   23 --------------
>  src/gallium/drivers/softpipe/sp_texture.c    |    2 --
>  src/gallium/drivers/svga/svga_resource.c     |    1 -
>  src/gallium/drivers/trace/tr_screen.c        |   44
>  --------------------------
>  src/gallium/include/pipe/p_screen.h          |   26 ---------------
>  21 files changed, 1 insertion(+), 233 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/util/u_inlines.h
> b/src/gallium/auxiliary/util/u_inlines.h
> index e78cdda..ebc64a2 100644
> --- a/src/gallium/auxiliary/util/u_inlines.h
> +++ b/src/gallium/auxiliary/util/u_inlines.h
> @@ -233,14 +233,6 @@ pipe_buffer_create( struct pipe_screen *screen,
>     return screen->resource_create(screen, &buffer);
>  }
>  
> -
> -static INLINE struct pipe_resource *
> -pipe_user_buffer_create( struct pipe_screen *screen, void *ptr,
> unsigned size,
> -			 unsigned usage )
> -{
> -   return screen->user_buffer_create(screen, ptr, size, usage);
> -}
> -
>  static INLINE void *
>  pipe_buffer_map_range(struct pipe_context *pipe,
>  		      struct pipe_resource *buffer,
> diff --git a/src/gallium/auxiliary/util/u_slab.h
> b/src/gallium/auxiliary/util/u_slab.h
> index 6b9718d..3ed8b12 100644
> --- a/src/gallium/auxiliary/util/u_slab.h
> +++ b/src/gallium/auxiliary/util/u_slab.h
> @@ -28,7 +28,7 @@
>   * Good for allocations which have very low lifetime and are
>   allocated
>   * and freed very often. Use a profiler first to know if it's worth
>   using it!
>   *
> - * Candidates: get_transfer, user_buffer_create
> + * Candidates: get_transfer
>   *
>   * @author Marek Olšák
>   */
> diff --git a/src/gallium/drivers/galahad/glhd_screen.c
> b/src/gallium/drivers/galahad/glhd_screen.c
> index 49702b6..7d03763 100644
> --- a/src/gallium/drivers/galahad/glhd_screen.c
> +++ b/src/gallium/drivers/galahad/glhd_screen.c
> @@ -222,28 +222,6 @@ galahad_screen_resource_destroy(struct
> pipe_screen *screen,
>  }
>  
>  
> -static struct pipe_resource *
> -galahad_screen_user_buffer_create(struct pipe_screen *_screen,
> -                                   void *ptr,
> -                                   unsigned bytes,
> -                                   unsigned usage)
> -{
> -   struct galahad_screen *glhd_screen = galahad_screen(_screen);
> -   struct pipe_screen *screen = glhd_screen->screen;
> -   struct pipe_resource *result;
> -
> -   result = screen->user_buffer_create(screen,
> -                                       ptr,
> -                                       bytes,
> -                                       usage);
> -
> -   if (result)
> -      return galahad_resource_create(glhd_screen, result);
> -   return NULL;
> -}
> -
> -
> -
>  static void
>  galahad_screen_flush_frontbuffer(struct pipe_screen *_screen,
>                                    struct pipe_resource *_resource,
> @@ -323,7 +301,6 @@ galahad_screen_create(struct pipe_screen *screen)
>     glhd_screen->base.resource_from_handle =
>     galahad_screen_resource_from_handle;
>     glhd_screen->base.resource_get_handle =
>     galahad_screen_resource_get_handle;
>     glhd_screen->base.resource_destroy =
>     galahad_screen_resource_destroy;
> -   glhd_screen->base.user_buffer_create =
> galahad_screen_user_buffer_create;
>     glhd_screen->base.flush_frontbuffer =
>     galahad_screen_flush_frontbuffer;
>     glhd_screen->base.fence_reference =
>     galahad_screen_fence_reference;
>     glhd_screen->base.fence_signalled =
>     galahad_screen_fence_signalled;
> diff --git a/src/gallium/drivers/i915/i915_resource.c
> b/src/gallium/drivers/i915/i915_resource.c
> index b4719af..253c7d0 100644
> --- a/src/gallium/drivers/i915/i915_resource.c
> +++ b/src/gallium/drivers/i915/i915_resource.c
> @@ -46,5 +46,4 @@ i915_init_screen_resource_functions(struct
> i915_screen *is)
>     is->base.resource_from_handle = i915_resource_from_handle;
>     is->base.resource_get_handle = u_resource_get_handle_vtbl;
>     is->base.resource_destroy = u_resource_destroy_vtbl;
> -   is->base.user_buffer_create = i915_user_buffer_create;
>  }
> diff --git a/src/gallium/drivers/identity/id_screen.c
> b/src/gallium/drivers/identity/id_screen.c
> index a173235..ab82e29 100644
> --- a/src/gallium/drivers/identity/id_screen.c
> +++ b/src/gallium/drivers/identity/id_screen.c
> @@ -188,28 +188,6 @@ identity_screen_resource_destroy(struct
> pipe_screen *screen,
>  }
>  
>  
> -static struct pipe_resource *
> -identity_screen_user_buffer_create(struct pipe_screen *_screen,
> -                                   void *ptr,
> -                                   unsigned bytes,
> -                                   unsigned usage)
> -{
> -   struct identity_screen *id_screen = identity_screen(_screen);
> -   struct pipe_screen *screen = id_screen->screen;
> -   struct pipe_resource *result;
> -
> -   result = screen->user_buffer_create(screen,
> -                                       ptr,
> -                                       bytes,
> -                                       usage);
> -
> -   if (result)
> -      return identity_resource_create(id_screen, result);
> -   return NULL;
> -}
> -
> -
> -
>  static void
>  identity_screen_flush_frontbuffer(struct pipe_screen *_screen,
>                                    struct pipe_resource *_resource,
> @@ -286,7 +264,6 @@ identity_screen_create(struct pipe_screen
> *screen)
>     id_screen->base.resource_from_handle =
>     identity_screen_resource_from_handle;
>     id_screen->base.resource_get_handle =
>     identity_screen_resource_get_handle;
>     id_screen->base.resource_destroy =
>     identity_screen_resource_destroy;
> -   id_screen->base.user_buffer_create =
> identity_screen_user_buffer_create;
>     id_screen->base.flush_frontbuffer =
>     identity_screen_flush_frontbuffer;
>     id_screen->base.fence_reference =
>     identity_screen_fence_reference;
>     id_screen->base.fence_signalled =
>     identity_screen_fence_signalled;
> diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c
> b/src/gallium/drivers/llvmpipe/lp_texture.c
> index 198874b..4495e8d 100644
> --- a/src/gallium/drivers/llvmpipe/lp_texture.c
> +++ b/src/gallium/drivers/llvmpipe/lp_texture.c
> @@ -1432,8 +1432,6 @@ llvmpipe_init_screen_resource_funcs(struct
> pipe_screen *screen)
>     screen->resource_destroy = llvmpipe_resource_destroy;
>     screen->resource_from_handle = llvmpipe_resource_from_handle;
>     screen->resource_get_handle = llvmpipe_resource_get_handle;
> -   screen->user_buffer_create = llvmpipe_user_buffer_create;
> -
>  }
>  
>  
> diff --git a/src/gallium/drivers/noop/noop_pipe.c
> b/src/gallium/drivers/noop/noop_pipe.c
> index e47f944..4c233d1 100644
> --- a/src/gallium/drivers/noop/noop_pipe.c
> +++ b/src/gallium/drivers/noop/noop_pipe.c
> @@ -142,23 +142,6 @@ static void noop_resource_destroy(struct
> pipe_screen *screen,
>  	FREE(resource);
>  }
>  
> -static struct pipe_resource *noop_user_buffer_create(struct
> pipe_screen *screen,
> -							void *ptr, unsigned bytes,
> -							unsigned bind)
> -{
> -	struct pipe_resource templ;
> -
> -	templ.target = PIPE_BUFFER;
> -	templ.format = PIPE_FORMAT_R8_UNORM;
> -	templ.usage = PIPE_USAGE_IMMUTABLE;
> -	templ.bind = bind;
> -	templ.width0 = bytes;
> -	templ.height0 = 1;
> -	templ.depth0 = 1;
> -	templ.flags = 0;
> -	return noop_resource_create(screen, &templ);
> -}
> -
>  
>  /*
>   * transfer
> @@ -392,7 +375,6 @@ struct pipe_screen *noop_screen_create(struct
> pipe_screen *oscreen)
>  	screen->resource_from_handle = noop_resource_from_handle;
>  	screen->resource_get_handle = noop_resource_get_handle;
>  	screen->resource_destroy = noop_resource_destroy;
> -	screen->user_buffer_create = noop_user_buffer_create;
>  	screen->flush_frontbuffer = noop_flush_frontbuffer;
>  
>  	return screen;
> diff --git a/src/gallium/drivers/nv30/nv30_resource.c
> b/src/gallium/drivers/nv30/nv30_resource.c
> index 6bcee4d..3d8e7d7 100644
> --- a/src/gallium/drivers/nv30/nv30_resource.c
> +++ b/src/gallium/drivers/nv30/nv30_resource.c
> @@ -61,7 +61,6 @@ nv30_resource_screen_init(struct pipe_screen
> *pscreen)
>     pscreen->resource_from_handle = nv30_resource_from_handle;
>     pscreen->resource_get_handle = u_resource_get_handle_vtbl;
>     pscreen->resource_destroy = u_resource_destroy_vtbl;
> -   pscreen->user_buffer_create = nouveau_user_buffer_create;
>  }
>  
>  void
> diff --git a/src/gallium/drivers/nv50/nv50_resource.c
> b/src/gallium/drivers/nv50/nv50_resource.c
> index a66a6a0..9fe18a6 100644
> --- a/src/gallium/drivers/nv50/nv50_resource.c
> +++ b/src/gallium/drivers/nv50/nv50_resource.c
> @@ -103,5 +103,4 @@ nv50_screen_init_resource_functions(struct
> pipe_screen *pscreen)
>     pscreen->resource_from_handle = nv50_resource_from_handle;
>     pscreen->resource_get_handle = u_resource_get_handle_vtbl;
>     pscreen->resource_destroy = u_resource_destroy_vtbl;
> -   pscreen->user_buffer_create = nouveau_user_buffer_create;
>  }
> diff --git a/src/gallium/drivers/nvc0/nvc0_resource.c
> b/src/gallium/drivers/nvc0/nvc0_resource.c
> index e8d83ca..daf5c90 100644
> --- a/src/gallium/drivers/nvc0/nvc0_resource.c
> +++ b/src/gallium/drivers/nvc0/nvc0_resource.c
> @@ -61,5 +61,4 @@ nvc0_screen_init_resource_functions(struct
> pipe_screen *pscreen)
>     pscreen->resource_from_handle = nvc0_resource_from_handle;
>     pscreen->resource_get_handle = u_resource_get_handle_vtbl;
>     pscreen->resource_destroy = u_resource_destroy_vtbl;
> -   pscreen->user_buffer_create = nouveau_user_buffer_create;
>  }
> diff --git a/src/gallium/drivers/r600/r600_buffer.c
> b/src/gallium/drivers/r600/r600_buffer.c
> index 857d860..2f7eb51 100644
> --- a/src/gallium/drivers/r600/r600_buffer.c
> +++ b/src/gallium/drivers/r600/r600_buffer.c
> @@ -220,28 +220,3 @@ struct pipe_resource *r600_buffer_create(struct
> pipe_screen *screen,
>  	}
>  	return &rbuffer->b.b;
>  }
> -
> -struct pipe_resource *r600_user_buffer_create(struct pipe_screen
> *screen,
> -					      void *ptr, unsigned bytes,
> -					      unsigned bind)
> -{
> -	struct r600_screen *rscreen = (struct r600_screen*)screen;
> -	struct r600_resource *rbuffer;
> -
> -	rbuffer = util_slab_alloc(&rscreen->pool_buffers);
> -
> -	pipe_reference_init(&rbuffer->b.b.reference, 1);
> -	rbuffer->b.vtbl = &r600_buffer_vtbl;
> -	rbuffer->b.b.screen = screen;
> -	rbuffer->b.b.target = PIPE_BUFFER;
> -	rbuffer->b.b.format = PIPE_FORMAT_R8_UNORM;
> -	rbuffer->b.b.usage = PIPE_USAGE_IMMUTABLE;
> -	rbuffer->b.b.bind = bind;
> -	rbuffer->b.b.width0 = bytes;
> -	rbuffer->b.b.height0 = 1;
> -	rbuffer->b.b.depth0 = 1;
> -	rbuffer->b.b.array_size = 1;
> -	rbuffer->b.b.flags = 0;
> -	rbuffer->buf = NULL;
> -	return &rbuffer->b.b;
> -}
> diff --git a/src/gallium/drivers/r600/r600_pipe.h
> b/src/gallium/drivers/r600/r600_pipe.h
> index a3ec9e5..d6a9707 100644
> --- a/src/gallium/drivers/r600/r600_pipe.h
> +++ b/src/gallium/drivers/r600/r600_pipe.h
> @@ -400,9 +400,6 @@ bool r600_init_resource(struct r600_screen
> *rscreen,
>  			unsigned bind, unsigned usage);
>  struct pipe_resource *r600_buffer_create(struct pipe_screen *screen,
>  					 const struct pipe_resource *templ);
> -struct pipe_resource *r600_user_buffer_create(struct pipe_screen
> *screen,
> -					      void *ptr, unsigned bytes,
> -					      unsigned bind);
>  
>  /* r600_pipe.c */
>  void r600_flush(struct pipe_context *ctx, struct pipe_fence_handle
>  **fence,
> diff --git a/src/gallium/drivers/r600/r600_resource.c
> b/src/gallium/drivers/r600/r600_resource.c
> index de339e0..ef0b4ce 100644
> --- a/src/gallium/drivers/r600/r600_resource.c
> +++ b/src/gallium/drivers/r600/r600_resource.c
> @@ -50,7 +50,6 @@ void r600_init_screen_resource_functions(struct
> pipe_screen *screen)
>  	screen->resource_from_handle = r600_resource_from_handle;
>  	screen->resource_get_handle = u_resource_get_handle_vtbl;
>  	screen->resource_destroy = u_resource_destroy_vtbl;
> -	screen->user_buffer_create = r600_user_buffer_create;
>  }
>  
>  void r600_init_context_resource_functions(struct r600_context *r600)
> diff --git a/src/gallium/drivers/radeonsi/r600_buffer.c
> b/src/gallium/drivers/radeonsi/r600_buffer.c
> index c6b7071..8fd7e27 100644
> --- a/src/gallium/drivers/radeonsi/r600_buffer.c
> +++ b/src/gallium/drivers/radeonsi/r600_buffer.c
> @@ -178,31 +178,6 @@ struct pipe_resource *r600_buffer_create(struct
> pipe_screen *screen,
>  	return &rbuffer->b.b;
>  }
>  
> -struct pipe_resource *r600_user_buffer_create(struct pipe_screen
> *screen,
> -					      void *ptr, unsigned bytes,
> -					      unsigned bind)
> -{
> -	struct r600_screen *rscreen = (struct r600_screen*)screen;
> -	struct r600_resource *rbuffer;
> -
> -	rbuffer = util_slab_alloc(&rscreen->pool_buffers);
> -
> -	pipe_reference_init(&rbuffer->b.b.reference, 1);
> -	rbuffer->b.vtbl = &r600_buffer_vtbl;
> -	rbuffer->b.b.screen = screen;
> -	rbuffer->b.b.target = PIPE_BUFFER;
> -	rbuffer->b.b.format = PIPE_FORMAT_R8_UNORM;
> -	rbuffer->b.b.usage = PIPE_USAGE_IMMUTABLE;
> -	rbuffer->b.b.bind = bind;
> -	rbuffer->b.b.width0 = bytes;
> -	rbuffer->b.b.height0 = 1;
> -	rbuffer->b.b.depth0 = 1;
> -	rbuffer->b.b.array_size = 1;
> -	rbuffer->b.b.flags = 0;
> -	rbuffer->buf = NULL;
> -	return &rbuffer->b.b;
> -}
> -
>  void r600_upload_index_buffer(struct r600_context *rctx,
>  			      struct pipe_index_buffer *ib, unsigned count)
>  {
> diff --git a/src/gallium/drivers/radeonsi/r600_resource.c
> b/src/gallium/drivers/radeonsi/r600_resource.c
> index 0e861c1..d9be706 100644
> --- a/src/gallium/drivers/radeonsi/r600_resource.c
> +++ b/src/gallium/drivers/radeonsi/r600_resource.c
> @@ -50,7 +50,6 @@ void r600_init_screen_resource_functions(struct
> pipe_screen *screen)
>  	screen->resource_from_handle = r600_resource_from_handle;
>  	screen->resource_get_handle = u_resource_get_handle_vtbl;
>  	screen->resource_destroy = u_resource_destroy_vtbl;
> -	screen->user_buffer_create = r600_user_buffer_create;
>  }
>  
>  void r600_init_context_resource_functions(struct r600_context *r600)
> diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.h
> b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
> index bba4cf2..b16ec10 100644
> --- a/src/gallium/drivers/radeonsi/radeonsi_pipe.h
> +++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
> @@ -384,9 +384,6 @@ bool r600_init_resource(struct r600_screen
> *rscreen,
>  			unsigned bind, unsigned usage);
>  struct pipe_resource *r600_buffer_create(struct pipe_screen *screen,
>  					 const struct pipe_resource *templ);
> -struct pipe_resource *r600_user_buffer_create(struct pipe_screen
> *screen,
> -					      void *ptr, unsigned bytes,
> -					      unsigned bind);
>  void r600_upload_index_buffer(struct r600_context *rctx,
>  			      struct pipe_index_buffer *ib, unsigned count);
>  
> diff --git a/src/gallium/drivers/rbug/rbug_screen.c
> b/src/gallium/drivers/rbug/rbug_screen.c
> index 1b7ca7c..2471fdb 100644
> --- a/src/gallium/drivers/rbug/rbug_screen.c
> +++ b/src/gallium/drivers/rbug/rbug_screen.c
> @@ -186,28 +186,6 @@ rbug_screen_resource_destroy(struct pipe_screen
> *screen,
>     rbug_resource_destroy(rbug_resource(_resource));
>  }
>  
> -static struct pipe_resource *
> -rbug_screen_user_buffer_create(struct pipe_screen *_screen,
> -                               void *ptr,
> -                               unsigned bytes,
> -                               unsigned usage)
> -{
> -   struct rbug_screen *rb_screen = rbug_screen(_screen);
> -   struct pipe_screen *screen = rb_screen->screen;
> -   struct pipe_resource *result;
> -
> -   result = screen->user_buffer_create(screen,
> -                                       ptr,
> -                                       bytes,
> -                                       usage);
> -
> -   if (result)
> -      return rbug_resource_create(rb_screen, result);
> -   return NULL;
> -}
> -
> -
> -
>  static void
>  rbug_screen_flush_frontbuffer(struct pipe_screen *_screen,
>                                struct pipe_resource *_resource,
> @@ -298,7 +276,6 @@ rbug_screen_create(struct pipe_screen *screen)
>     rb_screen->base.resource_from_handle =
>     rbug_screen_resource_from_handle;
>     rb_screen->base.resource_get_handle =
>     rbug_screen_resource_get_handle;
>     rb_screen->base.resource_destroy = rbug_screen_resource_destroy;
> -   rb_screen->base.user_buffer_create =
> rbug_screen_user_buffer_create;
>     rb_screen->base.flush_frontbuffer =
>     rbug_screen_flush_frontbuffer;
>     rb_screen->base.fence_reference = rbug_screen_fence_reference;
>     rb_screen->base.fence_signalled = rbug_screen_fence_signalled;
> diff --git a/src/gallium/drivers/softpipe/sp_texture.c
> b/src/gallium/drivers/softpipe/sp_texture.c
> index ee8d423..978fbe1 100644
> --- a/src/gallium/drivers/softpipe/sp_texture.c
> +++ b/src/gallium/drivers/softpipe/sp_texture.c
> @@ -506,6 +506,4 @@ softpipe_init_screen_texture_funcs(struct
> pipe_screen *screen)
>     screen->resource_destroy = softpipe_resource_destroy;
>     screen->resource_from_handle = softpipe_resource_from_handle;
>     screen->resource_get_handle = softpipe_resource_get_handle;
> -   screen->user_buffer_create = softpipe_user_buffer_create;
> -
>  }
> diff --git a/src/gallium/drivers/svga/svga_resource.c
> b/src/gallium/drivers/svga/svga_resource.c
> index b86469a..890c953 100644
> --- a/src/gallium/drivers/svga/svga_resource.c
> +++ b/src/gallium/drivers/svga/svga_resource.c
> @@ -73,5 +73,4 @@ svga_init_screen_resource_functions(struct
> svga_screen *is)
>     is->screen.resource_from_handle = svga_resource_from_handle;
>     is->screen.resource_get_handle = u_resource_get_handle_vtbl;
>     is->screen.resource_destroy = u_resource_destroy_vtbl;
> -   is->screen.user_buffer_create = svga_user_buffer_create;
>  }
> diff --git a/src/gallium/drivers/trace/tr_screen.c
> b/src/gallium/drivers/trace/tr_screen.c
> index fd5acbe..4a1aa99 100644
> --- a/src/gallium/drivers/trace/tr_screen.c
> +++ b/src/gallium/drivers/trace/tr_screen.c
> @@ -319,49 +319,6 @@ trace_screen_resource_destroy(struct pipe_screen
> *_screen,
>  }
>  
>  
> -
> -/********************************************************************
> - * buffer
> - */
> -
> -
> -
> -static struct pipe_resource *
> -trace_screen_user_buffer_create(struct pipe_screen *_screen,
> -                                void *data,
> -                                unsigned size,
> -				unsigned usage)
> -{
> -   struct trace_screen *tr_scr = trace_screen(_screen);
> -   struct pipe_screen *screen = tr_scr->screen;
> -   struct pipe_resource *result;
> -
> -   trace_dump_call_begin("pipe_screen", "user_buffer_create");
> -
> -   trace_dump_arg(ptr, screen);
> -   trace_dump_arg_begin("data");
> -   trace_dump_bytes(data, size);
> -   trace_dump_arg_end();
> -   trace_dump_arg(uint, size);
> -   trace_dump_arg(uint, usage);
> -
> -   result = screen->user_buffer_create(screen, data, size, usage);
> -
> -   trace_dump_ret(ptr, result);
> -
> -   trace_dump_call_end();
> -
> -   if(result) {
> -      assert(!(result->flags & TRACE_FLAG_USER_BUFFER));
> -      result->flags |= TRACE_FLAG_USER_BUFFER;
> -   }
> -
> -   return trace_resource_create(tr_scr, result);
> -}
> -
> -
> -
> -
>  /********************************************************************
>   * fence
>   */
> @@ -506,7 +463,6 @@ trace_screen_create(struct pipe_screen *screen)
>     tr_scr->base.resource_from_handle =
>     trace_screen_resource_from_handle;
>     tr_scr->base.resource_get_handle =
>     trace_screen_resource_get_handle;
>     tr_scr->base.resource_destroy = trace_screen_resource_destroy;
> -   tr_scr->base.user_buffer_create =
> trace_screen_user_buffer_create;
>     tr_scr->base.fence_reference = trace_screen_fence_reference;
>     tr_scr->base.fence_signalled = trace_screen_fence_signalled;
>     tr_scr->base.fence_finish = trace_screen_fence_finish;
> diff --git a/src/gallium/include/pipe/p_screen.h
> b/src/gallium/include/pipe/p_screen.h
> index 7ae7c9a..b4a7f01 100644
> --- a/src/gallium/include/pipe/p_screen.h
> +++ b/src/gallium/include/pipe/p_screen.h
> @@ -162,32 +162,6 @@ struct pipe_screen {
>  
>  
>     /**
> -    * Create a buffer that wraps user-space data.
> -    *
> -    * Effectively this schedules a delayed call to buffer_create
> -    * followed by an upload of the data at *some point in the
> future*,
> -    * or perhaps never.  Basically the allocate/upload is delayed
> -    * until the buffer is actually passed to hardware.
> -    *
> -    * The intention is to provide a quick way to turn regular data
> -    * into a buffer, and secondly to avoid a copy operation if that
> -    * data subsequently turns out to be only accessed by the CPU.
> -    *
> -    * Common example is OpenGL vertex buffers that are subsequently
> -    * processed either by software TNL in the driver or by passing
> to
> -    * hardware.
> -    *
> -    * XXX: What happens if the delayed call to buffer_create()
> fails?
> -    *
> -    * Note that ptr may be accessed at any time upto the time when
> the
> -    * buffer is destroyed, so the data must not be freed before
> then.
> -    */
> -   struct pipe_resource *(*user_buffer_create)(struct pipe_screen
> *screen,
> -					       void *ptr,
> -					       unsigned bytes,
> -					       unsigned bind_flags);
> -
> -   /**
>      * Do any special operations to ensure frontbuffer contents are
>      * displayed, eg copy fake frontbuffer.
>      * \param winsys_drawable_handle  an opaque handle that the
>      calling context
> --
> 1.7.9.5
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list