From ef5a5e170fe74c8b68dfb8ea40be3928edb1a64d Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Wed, 28 Jun 2023 16:45:54 -0400 Subject: [PATCH] asahi: Permit meta shaders to use preambles Preambles are occassionally useful with background programs. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/lib/agx_meta.c | 6 +++++- src/asahi/lib/agx_meta.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/asahi/lib/agx_meta.c b/src/asahi/lib/agx_meta.c index bab4c3c9644..e536c755e0a 100644 --- a/src/asahi/lib/agx_meta.c +++ b/src/asahi/lib/agx_meta.c @@ -79,6 +79,7 @@ agx_build_background_shader(struct agx_meta_cache *cache, struct agx_shader_key compiler_key = { .fs.ignore_tib_dependencies = true, .fs.nr_samples = key->tib.nr_samples, + .reserved_preamble = key->reserved_preamble, }; for (unsigned rt = 0; rt < ARRAY_SIZE(key->op); ++rt) { @@ -131,7 +132,10 @@ agx_build_end_of_tile_shader(struct agx_meta_cache *cache, .image_dim = dim); } - struct agx_shader_key compiler_key = {0}; + struct agx_shader_key compiler_key = { + .reserved_preamble = key->reserved_preamble, + }; + return agx_compile_meta_shader(cache, b.shader, &compiler_key, NULL); } diff --git a/src/asahi/lib/agx_meta.h b/src/asahi/lib/agx_meta.h index 8bc84a9ecac..4a1a6ab2b5f 100644 --- a/src/asahi/lib/agx_meta.h +++ b/src/asahi/lib/agx_meta.h @@ -27,6 +27,7 @@ enum agx_meta_op { struct agx_meta_key { struct agx_tilebuffer_layout tib; enum agx_meta_op op[8]; + unsigned reserved_preamble; }; struct agx_meta_shader {