[Mesa-dev] [PATCH] st/mesa: move, clean-up shader variant key decls/inits

Brian Paul brianp at vmware.com
Thu Mar 7 16:20:22 UTC 2019


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



More information about the mesa-dev mailing list