gallium/graw: stop using user_buffer_create

This is compile-tested.
This commit is contained in:
Marek Olšák 2012-05-12 12:56:19 +02:00
parent 685a28fd8a
commit 1a840cc592
16 changed files with 106 additions and 73 deletions

View File

@ -376,6 +376,19 @@ pipe_buffer_write_nooverlap(struct pipe_context *pipe,
0, 0);
}
static INLINE struct pipe_resource *
pipe_buffer_create_with_data(struct pipe_context *pipe,
unsigned bind,
unsigned usage,
unsigned size,
void *ptr)
{
struct pipe_resource *res = pipe_buffer_create(pipe->screen,
bind, usage, size);
pipe_buffer_write_nooverlap(pipe, res, 0, size, ptr);
return res;
}
static INLINE void
pipe_buffer_read(struct pipe_context *pipe,
struct pipe_resource *buf,

View File

@ -67,10 +67,11 @@ set_vertices(void)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -89,10 +89,11 @@ set_vertices(void)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -216,10 +216,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf);
}

View File

@ -93,10 +93,11 @@ set_vertices(void)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -251,15 +251,17 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
if (draw_strip) {
vbuf.buffer = screen->user_buffer_create(screen,
vertices_strip,
sizeof(vertices_strip),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices_strip),
vertices_strip);
} else {
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
}
ctx->set_vertex_buffers(ctx, 1, &vbuf);

View File

@ -94,10 +94,11 @@ set_vertices(struct vertex *vertices, unsigned bytes)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
bytes,
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
bytes,
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -100,10 +100,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf);
}

View File

@ -56,10 +56,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -11,6 +11,7 @@
#include "util/u_memory.h" /* Offset() */
#include "util/u_draw_quad.h"
#include "util/u_inlines.h"
static int num_iters = 100;
@ -89,10 +90,11 @@ static void set_vertices( void )
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf);
}

View File

@ -72,10 +72,11 @@ set_vertices(struct vertex *verts, unsigned num_verts)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
verts,
num_verts *sizeof(struct vertex),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
num_verts * sizeof(struct vertex),
verts);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -54,10 +54,11 @@ static void set_vertices(void)
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -11,6 +11,7 @@
#include "util/u_memory.h" /* Offset() */
#include "util/u_draw_quad.h"
#include "util/u_inlines.h"
enum pipe_format formats[] = {
PIPE_FORMAT_R8G8B8A8_UNORM,
@ -90,10 +91,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf);
}

View File

@ -13,6 +13,7 @@
#include "util/u_memory.h" /* Offset() */
#include "util/u_draw_quad.h"
#include "util/u_inlines.h"
enum pipe_format formats[] = {
@ -133,27 +134,29 @@ static void set_vertices( void )
/* vertex data */
vbuf[0].stride = sizeof( struct vertex );
vbuf[0].buffer_offset = 0;
vbuf[0].buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf[0].buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
/* instance data */
vbuf[1].stride = sizeof( inst_data[0] );
vbuf[1].buffer_offset = 0;
vbuf[1].buffer = screen->user_buffer_create(screen,
inst_data,
sizeof(inst_data),
PIPE_BIND_VERTEX_BUFFER);
vbuf[1].buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(inst_data),
inst_data);
ctx->set_vertex_buffers(ctx, 2, vbuf);
/* index data */
ibuf.buffer = screen->user_buffer_create(screen,
indices,
sizeof(indices),
PIPE_BIND_VERTEX_BUFFER);
ibuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_INDEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(indices),
indices);
ibuf.offset = 0;
ibuf.index_size = 2;

View File

@ -55,10 +55,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf);
}

View File

@ -172,10 +172,11 @@ static void set_vertices( void )
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen,
vertices,
sizeof(vertices),
PIPE_BIND_VERTEX_BUFFER);
vbuf.buffer = pipe_buffer_create_with_data(ctx,
PIPE_BIND_VERTEX_BUFFER,
PIPE_USAGE_STATIC,
sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf);
}