Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-08 Thread Keith Whitwell
On Tue, 2011-02-08 at 22:51 +0100, Marek Olšák wrote: > > void redefine_user_buffer( > struct pipe_context*, > struct pipe_resource*, > unsigned offset, > unsigned size); > > and new width0 would implicitly be offset+size; > I think this is a great place to start

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-08 Thread Marek Olšák
On Tue, Feb 8, 2011 at 10:39 PM, Keith Whitwell wrote: > On Tue, 2011-02-08 at 22:29 +0100, Marek Olšák wrote: > > > > > > Keith, > > > > redefine_user_buffer() would be a good compromise and I believe the > > performance hit wouldn't be so noticable. It would also allow partial > > uploads of co

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-08 Thread Keith Whitwell
On Tue, 2011-02-08 at 22:29 +0100, Marek Olšák wrote: > > > Keith, > > redefine_user_buffer() would be a good compromise and I believe the > performance hit wouldn't be so noticable. It would also allow partial > uploads of constants in a user buffer, which is something we'd like to > have > too

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-08 Thread Marek Olšák
Keith, redefine_user_buffer() would be a good compromise and I believe the performance hit wouldn't be so noticable. It would also allow partial uploads of constants in a user buffer, which is something we'd like to have too. Currently, st/mesa in st_draw_vbo is doing: - N calls to resource_destr

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-07 Thread Keith Whitwell
Keith - Original Message - From: "Marek Olšák" To: "Keith Whitwell" Cc: mesa-dev@lists.freedesktop.org Sent: Sunday, 6 February, 2011 12:01:01 PM Subject: Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource Hi Keith, 1) Recreating user buffe

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-06 Thread Marek Olšák
Hi Keith, 1) Recreating user buffers is very expensive, even though it's only the CALLOC overhead. Draw-call-heavy apps simply suffer hard there. It's one of the things the gallium-varrays-optim branch tries to optimize, i.e. make the user buffer content mutable. I can't see another way out. 2)

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-01 Thread Christoph Bumiller
On 01.02.2011 18:55, Keith Whitwell wrote: >> In theory, doing user buffer uploads at the state tracker side using >> inline transfers might work and should remove some burden from >> drivers. > This would be an alternate approach -- the state-tracker could itself > figure out min/max_index, and u

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-02-01 Thread Keith Whitwell
On Mon, 2011-01-31 at 10:46 -0800, Marek Olšák wrote: > Hi Keith, > > From my point of view, user buffers are just pointers passed through > the Gallium interface and are well-defined from what I can see. They > might be owned by the application (e.g. set via glVertexPointer etc.), > therefore usi

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread Christoph Bumiller
On 31.01.2011 21:17, José Fonseca wrote: > On Mon, 2011-01-31 at 11:48 -0800, Christoph Bumiller wrote: >> On 31.01.2011 19:46, Marek Olšák wrote: >>> With this manager, the drivers don't have to deal with user buffers when >>> they are bound as vertex buffers. They only get real hardware buffers.

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread Marek Olšák
On Mon, Jan 31, 2011 at 9:17 PM, José Fonseca wrote: > On Mon, 2011-01-31 at 11:48 -0800, Christoph Bumiller wrote: > > On 31.01.2011 19:46, Marek Olšák wrote: > > > With this manager, the drivers don't have to deal with user buffers > when they are bound as vertex buffers. They only get real har

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread José Fonseca
On Mon, 2011-01-31 at 11:48 -0800, Christoph Bumiller wrote: > On 31.01.2011 19:46, Marek Olšák wrote: > > With this manager, the drivers don't have to deal with user buffers when > > they are bound as vertex buffers. They only get real hardware buffers. > > Please do *not* take away my user buff

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread Christoph Bumiller
On 31.01.2011 19:46, Marek Olšák wrote: > > 1) New vertex buffer manager > > This is how I'd like to put the burden of uploading user buffers out > of the drivers. I've made a new vertex buffer manager. It can be found > here: > http://cgit.freedesktop.org/~mareko/mesa/commit/?h=vbuf-mgr&id=94a53b6

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread Marek Olšák
On Mon, Jan 31, 2011 at 3:17 PM, Keith Whitwell wrote: > On Sat, 2011-01-29 at 15:12 -0800, Marek Olšák wrote: > > > > > > Hi, > > > > I am proposing to add a pointer to a user buffer in pipe_resource. > > There are two reasons for this: > > > > 1) I would like to have a way to query outside of a

Re: [Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-31 Thread Keith Whitwell
On Sat, 2011-01-29 at 15:12 -0800, Marek Olšák wrote: > > > Hi, > > I am proposing to add a pointer to a user buffer in pipe_resource. > There are two reasons for this: > > 1) I would like to have a way to query outside of a driver whether a > buffer is a user buffer. Simply comparing the point

[Mesa-dev] Gallium proposal: add a user pointer in pipe_resource

2011-01-29 Thread Marek Olšák
Hi, I am proposing to add a pointer to a user buffer in pipe_resource. There are two reasons for this: 1) I would like to have a way to query outside of a driver whether a buffer is a user buffer. Simply comparing the pointer with NULL would do the trick. 2) I would like to efficiently obtain a