X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Ftests%2Fgraw%2Ftri-instanced.c;h=d3de15c32c0e858e4afe4cbc63a52f924f674f31;hb=1a840cc5925f52079916feb2c456816a7a91d627;hp=f33c061b22b861c72c2d49578f2f70aa6a7194ae;hpb=4c7001462607e6e99e474d6271dd481d3f8f201c;p=mesa.git diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index f33c061b22b..d3de15c32c0 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -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[] = { @@ -132,30 +133,30 @@ static void set_vertices( void ) /* vertex data */ vbuf[0].stride = sizeof( struct vertex ); - vbuf[0].max_index = sizeof(vertices) / vbuf[0].stride; 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].max_index = sizeof(inst_data) / vbuf[1].stride; 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; @@ -198,10 +199,10 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {1,0,1,1}; + union pipe_color_union clear_color = { {1,0,1,1} }; struct pipe_draw_info info; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_init_info(&info); info.indexed = (draw_elements != 0); @@ -213,7 +214,7 @@ static void draw( void ) ctx->draw_vbo(ctx, &info); - ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); + ctx->flush(ctx, NULL); graw_save_surface_to_file(ctx, surf, NULL); @@ -234,13 +235,16 @@ static void init( void ) * Also, no easy way of querying supported formats if the screen * cannot be created first. */ - for (i = 0; - window == NULL && formats[i] != PIPE_FORMAT_NONE; - i++) { - - screen = graw_create_window_and_screen(0,0,300,300, + for (i = 0; formats[i] != PIPE_FORMAT_NONE; i++) { + screen = graw_create_window_and_screen(0, 0, 300, 300, formats[i], &window); + if (window && screen) + break; + } + if (!screen || !window) { + fprintf(stderr, "Unable to create window\n"); + exit(1); } ctx = screen->context_create(screen, NULL); @@ -303,6 +307,7 @@ static void init( void ) memset(&rasterizer, 0, sizeof rasterizer); rasterizer.cull_face = PIPE_FACE_NONE; rasterizer.gl_rasterization_rules = 1; + rasterizer.depth_clip = 1; handle = ctx->create_rasterizer_state(ctx, &rasterizer); ctx->bind_rasterizer_state(ctx, handle); }