Move the variant key declarations inside the scope they're used. Use designated initializers instead of memset() calls. --- src/mesa/state_tracker/st_atom_shader.c | 8 ++++---- src/mesa/state_tracker/st_program.c | 9 +++------ 2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index c6faa3f..ac7a1a5 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -97,7 +97,6 @@ void st_update_fp( struct st_context *st ) { struct st_fragment_program *stfp; - struct st_fp_variant_key key; assert(st->ctx->FragmentProgram._Current); stfp = st_fragment_program(st->ctx->FragmentProgram._Current); @@ -113,7 +112,8 @@ st_update_fp( struct st_context *st ) !stfp->variants->key.bitmap) { shader = stfp->variants->driver_shader; } else { - memset(&key, 0, sizeof(key)); + struct st_fp_variant_key key = {0}; + key.st = st->has_shareable_shaders ? NULL : st; /* _NEW_FRAG_CLAMP */ @@ -155,7 +155,6 @@ void st_update_vp( struct st_context *st ) { struct st_vertex_program *stvp; - struct st_vp_variant_key key; /* find active shader and params -- Should be covered by * ST_NEW_VERTEX_PROGRAM @@ -169,7 +168,8 @@ st_update_vp( struct st_context *st ) stvp->variants->key.passthrough_edgeflags == st->vertdata_edgeflags) { st->vp_variant = stvp->variants; } else { - memset(&key, 0, sizeof key); + struct st_vp_variant_key key = {0}; + key.st = st->has_shareable_shaders ? NULL : st; /* When this is true, we will add an extra input to the vertex diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index c2daa4d..5e43a2e 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -1772,9 +1772,8 @@ st_get_cp_variant(struct st_context *st, { struct pipe_context *pipe = st->pipe; struct st_basic_variant *v; - struct st_basic_variant_key key; + struct st_basic_variant_key key = {0}; - memset(&key, 0, sizeof(key)); key.st = st->has_shareable_shaders ? NULL : st; /* Search for existing variant */ @@ -1996,9 +1995,8 @@ st_precompile_shader_variant(struct st_context *st, switch (prog->Target) { case GL_VERTEX_PROGRAM_ARB: { struct st_vertex_program *p = (struct st_vertex_program *)prog; - struct st_vp_variant_key key; + struct st_vp_variant_key key = {0}; - memset(&key, 0, sizeof(key)); key.st = st->has_shareable_shaders ? NULL : st; st_get_vp_variant(st, p, &key); break; @@ -2024,9 +2022,8 @@ st_precompile_shader_variant(struct st_context *st, case GL_FRAGMENT_PROGRAM_ARB: { struct st_fragment_program *p = (struct st_fragment_program *)prog; - struct st_fp_variant_key key; + struct st_fp_variant_key key = {0}; - memset(&key, 0, sizeof(key)); key.st = st->has_shareable_shaders ? NULL : st; st_get_fp_variant(st, p, &key); break; -- 1.8.5.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev