graw: Ensure new members are zeroed.
authorJosé Fonseca <jfonseca@vmware.com>
Fri, 26 Oct 2012 14:04:46 +0000 (15:04 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Fri, 26 Oct 2012 15:02:59 +0000 (16:02 +0100)
Several new state members were added, and they were not being zeroed,
causing random crashes.

15 files changed:
src/gallium/targets/graw-null/graw_util.c
src/gallium/tests/graw/fs-fragcoord.c
src/gallium/tests/graw/fs-frontface.c
src/gallium/tests/graw/fs-test.c
src/gallium/tests/graw/fs-write-z.c
src/gallium/tests/graw/gs-test.c
src/gallium/tests/graw/quad-sample.c
src/gallium/tests/graw/quad-tex.c
src/gallium/tests/graw/shader-leak.c
src/gallium/tests/graw/tex-srgb.c
src/gallium/tests/graw/tex-swizzle.c
src/gallium/tests/graw/tri-gs.c
src/gallium/tests/graw/tri-instanced.c
src/gallium/tests/graw/tri.c
src/gallium/tests/graw/vs-test.c

index 09cba895d2a8f334cc5345c4acba6dd4830b848f..07693e85f6a0d9d54a5903e5c2891dec7d65d0ed 100644 (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);
 }
index 893170fe597e48c9de50d8cd13e9a6f0f645c20e..eac9627e86094bb9ac8049405c2902544e777985 100644 (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;
index d46ce5540695ab82eba96d4b5ac6b9f55e017281..5f9d8d2d9106e2cf32c975ac99082d061bfa74bf 100644 (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;
index 04b57323d8aa8d005ebb8d8c328b4433714776fe..f31034406f619dcf890cd4d5bfc99a6d50550ff8 100644 (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;
index 3eee2b2ab4ee03e131e5d8f3c627d85687e39c36..0bcecd7436aba96be19f284270fbf603b99953f4 100644 (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;
index 21ec7b7b0b5b6110e82736085ebca2a7761dffd9..e9b0829e6ceae2afd088d6378fcd1a7428704f41 100644 (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) {
index 6f4b9f6e7e80375deb990a54e3bab61536a61e66..ca6fe3ec9f2655372651f5ed35201ab20a52ae11 100644 (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;
index dc3a73796e7ea68d3e67ccf93faa50f5bef08488..02d78ad1fa8fbe3fa3c2d416e1801f99f5085dd0 100644 (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;
index f24490e349f915202848c1e09429296ffff429c2..6100af3192c347be535a5e78907aabbf0de6c4bc 100644 (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;
index ea07b8d692d63ac25e5278a5bcfbae005bf903ed..af3e1c36f15b369778bda787a56f4d500d375820 100644 (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;
index 0709447f33e1d1a82bbf85e11a1279e6c913ab22..7dc35eb43a360c26a0e72608e792a4ee6222433c 100644 (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;
index 7406fbc8956c3a64a865edba6534c73b8412b5b4..be1f0352029505b6f6932874e1ece0a582d4641b 100644 (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;
index d3de15c32c0e858e4afe4cbc63a52f924f674f31..ce81c9c021733fc6089ca16e9aa49bf127ad29f4 100644 (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 );
index f6b2aa96c9de763e6ba18d0af9f4d790110f700e..7b6507eab11bfda00fab4caa981d7fe6e8886c22 100644 (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;
index 6c6f065af53e5d69099c3395d4da1d4df518e5e0..7fb97d84948ef0932d724af5dd474c04a599f41d 100644 (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,