+static void
+pan_upload_shader_descriptor(struct panfrost_context *ctx,
+ struct panfrost_shader_state *state)
+{
+ const struct panfrost_device *dev = pan_device(ctx->base.screen);
+ struct mali_shader_meta meta;
+
+ memset(&meta, 0, sizeof(meta));
+ memcpy(&meta.shader, &state->shader, sizeof(state->shader));
+ memcpy(&meta.midgard_props, &state->properties, sizeof(state->properties));
+
+ if (dev->quirks & IS_BIFROST)
+ memcpy(&meta.bifrost_preload, &state->preload, sizeof(state->preload));
+
+ u_upload_data(ctx->state_uploader, 0, sizeof(meta), sizeof(meta),
+ &meta, &state->upload.offset, &state->upload.rsrc);
+}
+