panfrost: Only set varyings and varying_buffers when varying_count > 0
This removes the "warn: No Varying records" printed by pandecode. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7921>
This commit is contained in:
@@ -1818,8 +1818,8 @@ panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
|
||||
pan_emit_special_input(varyings, present, PAN_VARY_FRAGCOORD, MALI_ATTRIBUTE_SPECIAL_FRAG_COORD);
|
||||
|
||||
*buffers = T.gpu;
|
||||
*vs_attribs = trans.gpu;
|
||||
*fs_attribs = trans.gpu + vs_size;
|
||||
*vs_attribs = vs->varying_count ? trans.gpu : 0;
|
||||
*fs_attribs = fs->varying_count ? trans.gpu + vs_size : 0;
|
||||
}
|
||||
|
||||
void
|
||||
|
@@ -304,7 +304,7 @@ panfrost_draw_emit_vertex(struct panfrost_batch *batch,
|
||||
cfg.state = panfrost_emit_compute_shader_meta(batch, PIPE_SHADER_VERTEX);
|
||||
cfg.attributes = panfrost_emit_vertex_data(batch, &cfg.attribute_buffers);
|
||||
cfg.varyings = vs_vary;
|
||||
cfg.varying_buffers = varyings;
|
||||
cfg.varying_buffers = vs_vary ? varyings : 0;
|
||||
cfg.thread_storage = shared_mem;
|
||||
pan_emit_draw_descs(batch, &cfg, PIPE_SHADER_VERTEX);
|
||||
}
|
||||
@@ -402,7 +402,7 @@ panfrost_draw_emit_tiler(struct panfrost_batch *batch,
|
||||
cfg.state = panfrost_emit_frag_shader_meta(batch);
|
||||
cfg.viewport = panfrost_emit_viewport(batch);
|
||||
cfg.varyings = fs_vary;
|
||||
cfg.varying_buffers = varyings;
|
||||
cfg.varying_buffers = fs_vary ? varyings : 0;
|
||||
cfg.thread_storage = shared_mem;
|
||||
|
||||
pan_emit_draw_descs(batch, &cfg, PIPE_SHADER_FRAGMENT);
|
||||
|
Reference in New Issue
Block a user