On 04/26/2012 12:54 PM, Jose Fonseca wrote:
----- Original Message -----
---
  src/mesa/state_tracker/st_context.c    |    4 +++-
  src/mesa/state_tracker/st_context.h    |    1 +
  src/mesa/state_tracker/st_draw.c       |    5 +++++
  src/mesa/state_tracker/st_extensions.c |    4 ++++
  4 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_context.c
b/src/mesa/state_tracker/st_context.c
index 84aae81..164cc45 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -155,7 +155,9 @@ st_create_context_priv( struct gl_context *ctx,
struct pipe_context *pipe )
     st->dirty.mesa = ~0;
     st->dirty.st = ~0;

-   st->uploader = u_upload_create(st->pipe, 65536, 4,
PIPE_BIND_VERTEX_BUFFER);
+   st->uploader = u_upload_create(st->pipe, 128 * 1024, 4,
+                                  PIPE_BIND_VERTEX_BUFFER |
+                                  PIPE_BIND_INDEX_BUFFER);

Marek,

Instead of lumping this into the same hardware buffer, I think it would be 
better to use two separate uploaders so that the driver can effectively do 
optimization based on PIPE_BIND_VERTEX_BUFFER or PIPE_BIND_INDEX_BUFFER.  A 
quick look on current drivers showed that they do look at these bind flags.

Otherwise I don't see anything wrong with this series. It seems a nice 
cleanup/speedup.

Brian's OOTO till Monday, so allow more time for him to comment.

Also, once you updated the series, please provide it in a clonable git branch 
for testing.

I'm testing the gallium-userbuf branch now. With piglit's draw-batch test there's a failing assertion in svga_resource_buffer_upload.c at line 557 (the buffer in question is in a mapped state). I disabled the assertion but then the test fails (it passes on master). I'll try to dig a big deeper.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to