- panfrost_vt_init(ctx, PIPE_SHADER_COMPUTE, &payload.prefix, &payload.postfix);
+ pan_pack(&postfix, DRAW, cfg) {
+ cfg.unknown_1 = (dev->quirks & IS_BIFROST) ? 0x2 : 0x6;
+ cfg.state = panfrost_emit_compute_shader_meta(batch, PIPE_SHADER_COMPUTE);
+ cfg.shared = panfrost_emit_shared_memory(batch, info);
+ cfg.uniform_buffers = panfrost_emit_const_buf(batch,
+ PIPE_SHADER_COMPUTE, &cfg.push_uniforms);
+ cfg.textures = panfrost_emit_texture_descriptors(batch,
+ PIPE_SHADER_COMPUTE);
+ cfg.samplers = panfrost_emit_sampler_descriptors(batch,
+ PIPE_SHADER_COMPUTE);
+ }
+
+ unsigned magic =
+ util_logbase2_ceil(info->block[0] + 1) +
+ util_logbase2_ceil(info->block[1] + 1) +
+ util_logbase2_ceil(info->block[2] + 1);
+
+ payload.prefix.primitive.opaque[0] = (magic) << 26; /* XXX */