OSDN Git Service

mesa/st: move things around a bit in st_create_fp_variant()
authorRob Clark <robclark@freedesktop.org>
Mon, 28 Mar 2016 14:55:59 +0000 (10:55 -0400)
committerRob Clark <robclark@freedesktop.org>
Tue, 17 May 2016 18:22:46 +0000 (14:22 -0400)
Prep work for next patch.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_program.c

index 4e37a17..252e440 100644 (file)
@@ -870,6 +870,13 @@ st_create_fp_variant(struct st_context *st,
    struct pipe_context *pipe = st->pipe;
    struct st_fp_variant *variant = CALLOC_STRUCT(st_fp_variant);
    struct pipe_shader_state tgsi = {0};
+   struct gl_program_parameter_list *params = stfp->Base.Base.Parameters;
+   static const gl_state_index texcoord_state[STATE_LENGTH] =
+      { STATE_INTERNAL, STATE_CURRENT_ATTRIB, VERT_ATTRIB_TEX0 };
+   static const gl_state_index scale_state[STATE_LENGTH] =
+      { STATE_INTERNAL, STATE_PT_SCALE };
+   static const gl_state_index bias_state[STATE_LENGTH] =
+      { STATE_INTERNAL, STATE_PT_BIAS };
 
    if (!variant)
       return NULL;
@@ -930,7 +937,6 @@ st_create_fp_variant(struct st_context *st,
    if (key->drawpixels) {
       const struct tgsi_token *tokens;
       unsigned scale_const = 0, bias_const = 0, texcoord_const = 0;
-      struct gl_program_parameter_list *params = stfp->Base.Base.Parameters;
 
       /* Find the first unused slot. */
       variant->drawpix_sampler = ffs(~stfp->Base.Base.SamplersUsed) - 1;
@@ -943,21 +949,11 @@ st_create_fp_variant(struct st_context *st,
       }
 
       if (key->scaleAndBias) {
-         static const gl_state_index scale_state[STATE_LENGTH] =
-            { STATE_INTERNAL, STATE_PT_SCALE };
-         static const gl_state_index bias_state[STATE_LENGTH] =
-            { STATE_INTERNAL, STATE_PT_BIAS };
-
          scale_const = _mesa_add_state_reference(params, scale_state);
          bias_const = _mesa_add_state_reference(params, bias_state);
       }
 
-      {
-         static const gl_state_index state[STATE_LENGTH] =
-            { STATE_INTERNAL, STATE_CURRENT_ATTRIB, VERT_ATTRIB_TEX0 };
-
-         texcoord_const = _mesa_add_state_reference(params, state);
-      }
+      texcoord_const = _mesa_add_state_reference(params, texcoord_state);
 
       tokens = st_get_drawpix_shader(tgsi.tokens,
                                      st->needs_texcoord_semantic,