From: Alyssa Rosenzweig Date: Thu, 9 Dec 2021 23:41:27 +0000 (-0500) Subject: panfrost: Extract panfrost_draw_emit_vertex_section X-Git-Tag: upstream/22.3.5~14622 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5b0c514d8ab9c7722425dc5ceda6347b68dd429;p=platform%2Fupstream%2Fmesa.git panfrost: Extract panfrost_draw_emit_vertex_section To be shared with IDVS. Signed-off-by: Alyssa Rosenzweig Part-of: --- diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c index dbcdef7..c749a74 100644 --- a/src/gallium/drivers/panfrost/pan_cmdstream.c +++ b/src/gallium/drivers/panfrost/pan_cmdstream.c @@ -2524,6 +2524,24 @@ panfrost_translate_index_size(unsigned size) } static void +panfrost_draw_emit_vertex_section(struct panfrost_batch *batch, + mali_ptr vs_vary, mali_ptr varyings, + mali_ptr attribs, mali_ptr attrib_bufs, + void *section) +{ + pan_pack(section, DRAW, cfg) { + cfg.draw_descriptor_is_64b = true; + cfg.state = batch->rsd[PIPE_SHADER_VERTEX]; + cfg.attributes = attribs; + cfg.attribute_buffers = attrib_bufs; + cfg.varyings = vs_vary; + cfg.varying_buffers = vs_vary ? varyings : 0; + cfg.thread_storage = batch->tls.gpu; + pan_emit_draw_descs(batch, &cfg, PIPE_SHADER_VERTEX); + } +} + +static void panfrost_draw_emit_vertex(struct panfrost_batch *batch, const struct pipe_draw_info *info, void *invocation_template, @@ -2539,16 +2557,9 @@ panfrost_draw_emit_vertex(struct panfrost_batch *batch, cfg.job_task_split = 5; } - pan_section_pack(job, COMPUTE_JOB, DRAW, cfg) { - cfg.draw_descriptor_is_64b = true; - cfg.state = batch->rsd[PIPE_SHADER_VERTEX]; - cfg.attributes = attribs; - cfg.attribute_buffers = attrib_bufs; - cfg.varyings = vs_vary; - cfg.varying_buffers = vs_vary ? varyings : 0; - cfg.thread_storage = batch->tls.gpu; - pan_emit_draw_descs(batch, &cfg, PIPE_SHADER_VERTEX); - } + section = pan_section_ptr(job, COMPUTE_JOB, DRAW); + panfrost_draw_emit_vertex_section(batch, vs_vary, varyings, + attribs, attrib_bufs, section); } static void