panfrost: Unify-driven cleanup
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Wed, 31 Jul 2019 21:15:19 +0000 (14:15 -0700)
committerAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 1 Aug 2019 23:23:03 +0000 (16:23 -0700)
Again, now that stages are unified some logic goes away.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
src/gallium/drivers/panfrost/pan_context.c

index b5e50854502a01cc6db7b4b014b2f930b6105aef..fe0d0254d6a6a0ef80cc8f8195a6df0a79d7524b 100644 (file)
@@ -1278,24 +1278,12 @@ panfrost_emit_for_draw(struct panfrost_context *ctx, bool with_vertex_data)
                         memcpy(transfer.cpu + sys_size, cpu, uniform_size);
                 }
 
-                int uniform_count = 0;
+                int uniform_count =
+                        ctx->shader[i]->variants[ctx->shader[i]->active_variant].uniform_count;
 
                 struct mali_vertex_tiler_postfix *postfix =
                         &ctx->payloads[i].postfix;
 
-                switch (i) {
-                case PIPE_SHADER_VERTEX:
-                        uniform_count = ctx->shader[PIPE_SHADER_VERTEX]->variants[ctx->shader[PIPE_SHADER_VERTEX]->active_variant].uniform_count;
-                        break;
-
-                case PIPE_SHADER_FRAGMENT:
-                        uniform_count = ctx->shader[PIPE_SHADER_FRAGMENT]->variants[ctx->shader[PIPE_SHADER_FRAGMENT]->active_variant].uniform_count;
-                        break;
-
-                default:
-                        unreachable("Invalid shader stage\n");
-                }
-
                 /* Next up, attach UBOs. UBO #0 is the uniforms we just
                  * uploaded */
 
@@ -2060,14 +2048,12 @@ panfrost_bind_shader_state(
 {
         struct panfrost_context *ctx = pan_context(pctx);
 
-        if (type == PIPE_SHADER_FRAGMENT) {
-                ctx->shader[PIPE_SHADER_FRAGMENT] = hwcso;
+        ctx->shader[type] = hwcso;
+
+        if (type == PIPE_SHADER_FRAGMENT)
                 ctx->dirty |= PAN_DIRTY_FS;
-        } else {
-                assert(type == PIPE_SHADER_VERTEX);
-                ctx->shader[PIPE_SHADER_VERTEX] = hwcso;
+        else
                 ctx->dirty |= PAN_DIRTY_VS;
-        }
 
         if (!hwcso) return;