Mesa (main): panfrost: #ifdef pan_merge_empty_fs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 23 20:28:03 UTC 2021
Module: Mesa
Branch: main
Commit: a222ead4dea56fc40d9dc213e91e01ada8434963
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a222ead4dea56fc40d9dc213e91e01ada8434963
Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date: Mon Jul 12 19:58:22 2021 -0400
panfrost: #ifdef pan_merge_empty_fs
Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11851>
---
src/gallium/drivers/panfrost/pan_cmdstream.c | 32 ++++++++++++----------------
1 file changed, 14 insertions(+), 18 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index e497ddb5cec..f9be81c11e5 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -334,28 +334,24 @@ panfrost_emit_blend(struct panfrost_batch *batch, void *rts, mali_ptr *blend_sha
}
/* Construct a partial RSD corresponding to no executed fragment shader, and
- * merge with the existing partial RSD. This depends only on the architecture,
- * so packing separately allows the packs to be constant folded away. */
+ * merge with the existing partial RSD. */
static void
-pan_merge_empty_fs(struct mali_renderer_state_packed *rsd, bool is_bifrost)
+pan_merge_empty_fs(struct mali_renderer_state_packed *rsd)
{
struct mali_renderer_state_packed empty_rsd;
- if (is_bifrost) {
- pan_pack(&empty_rsd, RENDERER_STATE, cfg) {
- cfg.properties.bifrost.shader_modifies_coverage = true;
- cfg.properties.bifrost.allow_forward_pixel_to_kill = true;
- cfg.properties.bifrost.allow_forward_pixel_to_be_killed = true;
- cfg.properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_STRONG_EARLY;
- }
- } else {
- pan_pack(&empty_rsd, RENDERER_STATE, cfg) {
- cfg.shader.shader = 0x1;
- cfg.properties.midgard.work_register_count = 1;
- cfg.properties.depth_source = MALI_DEPTH_SOURCE_FIXED_FUNCTION;
- cfg.properties.midgard.force_early_z = true;
- }
+ pan_pack(&empty_rsd, RENDERER_STATE, cfg) {
+#if PAN_ARCH >= 6
+ cfg.properties.bifrost.shader_modifies_coverage = true;
+ cfg.properties.bifrost.allow_forward_pixel_to_kill = true;
+ cfg.properties.bifrost.allow_forward_pixel_to_be_killed = true;
+ cfg.properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_STRONG_EARLY;
+#else
+ cfg.shader.shader = 0x1;
+ cfg.properties.midgard.work_register_count = 1;
+ cfg.properties.depth_source = MALI_DEPTH_SOURCE_FIXED_FUNCTION;
+ cfg.properties.midgard.force_early_z = true;
}
pan_merge((*rsd), empty_rsd, RENDERER_STATE);
@@ -511,7 +507,7 @@ panfrost_emit_frag_shader(struct panfrost_context *ctx,
if (panfrost_fs_required(fs, ctx->blend, &ctx->pipe_framebuffer, zsa))
pan_merge(rsd, fs->partial_rsd, RENDERER_STATE);
else
- pan_merge_empty_fs(&rsd, pan_is_bifrost(dev));
+ pan_merge_empty_fs(&rsd);
/* Word 8, 9 Misc state */
rsd.opaque[8] |= zsa->rsd_depth.opaque[0]
More information about the mesa-commit
mailing list