diff options
Diffstat (limited to 'src/gallium/tests/graw/tri-instanced.c')
-rw-r--r-- | src/gallium/tests/graw/tri-instanced.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index b1fa21dc3f4..6c6783c930c 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -104,7 +104,6 @@ static void set_vertices( void ) { struct pipe_vertex_element ve[3]; struct pipe_vertex_buffer vbuf[2]; - struct pipe_index_buffer ibuf; void *handle; memset(ve, 0, sizeof ve); @@ -133,7 +132,7 @@ static void set_vertices( void ) /* vertex data */ vbuf[0].stride = sizeof( struct vertex ); vbuf[0].buffer_offset = 0; - vbuf[0].buffer = pipe_buffer_create_with_data(ctx, + vbuf[0].buffer.resource = pipe_buffer_create_with_data(ctx, PIPE_BIND_VERTEX_BUFFER, PIPE_USAGE_DEFAULT, sizeof(vertices), @@ -142,25 +141,13 @@ static void set_vertices( void ) /* instance data */ vbuf[1].stride = sizeof( inst_data[0] ); vbuf[1].buffer_offset = 0; - vbuf[1].buffer = pipe_buffer_create_with_data(ctx, + vbuf[1].buffer.resource = pipe_buffer_create_with_data(ctx, PIPE_BIND_VERTEX_BUFFER, PIPE_USAGE_DEFAULT, sizeof(inst_data), inst_data); ctx->set_vertex_buffers(ctx, 0, 2, vbuf); - - /* index data */ - ibuf.buffer = pipe_buffer_create_with_data(ctx, - PIPE_BIND_INDEX_BUFFER, - PIPE_USAGE_DEFAULT, - sizeof(indices), - indices); - ibuf.offset = 0; - ibuf.index_size = 2; - - ctx->set_index_buffer(ctx, &ibuf); - } static void set_vertex_shader( void ) @@ -203,16 +190,29 @@ static void draw( void ) ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); + util_draw_init_info(&info); - info.indexed = (draw_elements != 0); + info.index_size = draw_elements ? 2 : 0; info.mode = PIPE_PRIM_TRIANGLES; info.start = 0; info.count = 3; /* draw NUM_INST triangles */ info.instance_count = NUM_INST; + /* index data */ + if (info.index_size) { + info.index.resource = + pipe_buffer_create_with_data(ctx, + PIPE_BIND_INDEX_BUFFER, + PIPE_USAGE_DEFAULT, + sizeof(indices), + indices); + } + ctx->draw_vbo(ctx, &info); + pipe_resource_reference(&info.index.resource, NULL); + ctx->flush(ctx, NULL, 0); graw_save_surface_to_file(ctx, surf, NULL); |