graw: Ensure new members are zeroed.

Several new state members were added, and they were not being zeroed,
causing random crashes.
This commit is contained in:
José Fonseca 2012-10-26 15:04:46 +01:00
parent 2532f0d063
commit 91332e455a
15 changed files with 19 additions and 0 deletions

View File

@ -21,6 +21,7 @@ graw_parse_geometry_shader(struct pipe_context *pipe,
if (!tgsi_text_translate(text, tokens, Elements(tokens)))
return NULL;
memset(&state, 0, sizeof state);
state.tokens = tokens;
return pipe->create_gs_state(pipe, &state);
}
@ -35,6 +36,7 @@ graw_parse_vertex_shader(struct pipe_context *pipe,
if (!tgsi_text_translate(text, tokens, Elements(tokens)))
return NULL;
memset(&state, 0, sizeof state);
state.tokens = tokens;
return pipe->create_vs_state(pipe, &state);
}
@ -49,6 +51,7 @@ graw_parse_fragment_shader(struct pipe_context *pipe,
if (!tgsi_text_translate(text, tokens, Elements(tokens)))
return NULL;
memset(&state, 0, sizeof state);
state.tokens = tokens;
return pipe->create_fs_state(pipe, &state);
}

View File

@ -64,6 +64,7 @@ set_vertices(void)
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -86,6 +86,7 @@ set_vertices(void)
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -213,6 +213,7 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 3, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;

View File

@ -90,6 +90,7 @@ set_vertices(void)
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -248,6 +248,8 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 4, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
if (draw_strip) {

View File

@ -97,6 +97,7 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 2, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;

View File

@ -53,6 +53,7 @@ static void set_vertices( void )
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;

View File

@ -87,6 +87,7 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 2, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -69,6 +69,7 @@ set_vertices(struct vertex *verts, unsigned num_verts)
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -51,6 +51,7 @@ static void set_vertices(void)
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof(struct vertex);
vbuf.buffer_offset = 0;

View File

@ -88,6 +88,7 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 2, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;

View File

@ -130,6 +130,7 @@ static void set_vertices( void )
handle = ctx->create_vertex_elements_state(ctx, 3, ve);
ctx->bind_vertex_elements_state(ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
/* vertex data */
vbuf[0].stride = sizeof( struct vertex );

View File

@ -52,6 +52,7 @@ static void set_vertices( void )
handle = info.ctx->create_vertex_elements_state(info.ctx, 2, ve);
info.ctx->bind_vertex_elements_state(info.ctx, handle);
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;

View File

@ -170,6 +170,8 @@ static void set_vertices( void )
}
}
memset(&vbuf, 0, sizeof vbuf);
vbuf.stride = sizeof( struct vertex );
vbuf.buffer_offset = 0;
vbuf.buffer = pipe_buffer_create_with_data(ctx,