Mesa (master): panfrost: Only set varyings and varying_buffers when varying_count > 0
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Dec 5 12:48:57 UTC 2020
Module: Mesa
Branch: master
Commit: 40a7f6d0477c06cf7eef0cee253cc3de300236d5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=40a7f6d0477c06cf7eef0cee253cc3de300236d5
Author: Boris Brezillon <boris.brezillon at collabora.com>
Date: Sun Nov 22 11:35:29 2020 +0100
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 at collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7921>
---
src/gallium/drivers/panfrost/pan_cmdstream.c | 4 ++--
src/gallium/drivers/panfrost/pan_context.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index 113653bcc6f..b72bf291156 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -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
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index e11077b952f..b9bfc5a99bf 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -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);
More information about the mesa-commit
mailing list