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); 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 static INLINE void
pipe_buffer_read(struct pipe_context *pipe, pipe_buffer_read(struct pipe_context *pipe,
struct pipe_resource *buf, struct pipe_resource *buf,

View File

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

View File

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

View File

@ -93,10 +93,11 @@ set_vertices(void)
vbuf.stride = sizeof(struct vertex); vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0; vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen, vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
vertices, PIPE_BIND_VERTEX_BUFFER,
sizeof(vertices), PIPE_USAGE_STATIC,
PIPE_BIND_VERTEX_BUFFER); sizeof(vertices),
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf); 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.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0; vbuf.buffer_offset = 0;
if (draw_strip) { if (draw_strip) {
vbuf.buffer = screen->user_buffer_create(screen, vbuf.buffer = pipe_buffer_create_with_data(ctx,
vertices_strip, PIPE_BIND_VERTEX_BUFFER,
sizeof(vertices_strip), PIPE_USAGE_STATIC,
PIPE_BIND_VERTEX_BUFFER); sizeof(vertices_strip),
vertices_strip);
} else { } else {
vbuf.buffer = screen->user_buffer_create(screen, vbuf.buffer = pipe_buffer_create_with_data(ctx,
vertices, PIPE_BIND_VERTEX_BUFFER,
sizeof(vertices), PIPE_USAGE_STATIC,
PIPE_BIND_VERTEX_BUFFER); sizeof(vertices),
vertices);
} }
ctx->set_vertex_buffers(ctx, 1, &vbuf); 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.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0; vbuf.buffer_offset = 0;
vbuf.buffer = info.screen->user_buffer_create(info.screen, vbuf.buffer = pipe_buffer_create_with_data(info.ctx,
vertices, PIPE_BIND_VERTEX_BUFFER,
bytes, PIPE_USAGE_STATIC,
PIPE_BIND_VERTEX_BUFFER); bytes,
vertices);
info.ctx->set_vertex_buffers(info.ctx, 1, &vbuf); 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.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0; vbuf.buffer_offset = 0;
vbuf.buffer = screen->user_buffer_create(screen, vbuf.buffer = pipe_buffer_create_with_data(ctx,
vertices, PIPE_BIND_VERTEX_BUFFER,
sizeof(vertices), PIPE_USAGE_STATIC,
PIPE_BIND_VERTEX_BUFFER); sizeof(vertices),
vertices);
ctx->set_vertex_buffers(ctx, 1, &vbuf); ctx->set_vertex_buffers(ctx, 1, &vbuf);
} }

View File

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

View File

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

View File

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

View File

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

View File

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