+ if (!panfrost_fs_required(fs, blend, rt_count)) {
+ struct mali_shader_packed shader = { 0 };
+ struct mali_midgard_properties_packed prop;
+
+ if (dev->quirks & IS_BIFROST) {
+ struct mali_preload_packed preload = { 0 };
+ memcpy(&fragmeta->bifrost_preload, &preload, sizeof(preload));
+
+ pan_pack(&prop, BIFROST_PROPERTIES, cfg) {
+ cfg.unknown = 0x950020; /* XXX */
+ cfg.early_z_enable = true;
+ }
+ } else {
+ pan_pack(&shader, SHADER, cfg) {
+ cfg.shader = 0x1;
+ }
+
+ pan_pack(&prop, MIDGARD_PROPERTIES, cfg) {
+ cfg.work_register_count = 1;
+ cfg.depth_source = MALI_DEPTH_SOURCE_FIXED_FUNCTION;
+ cfg.early_z_enable = true;
+ }
+ }
+
+ memcpy(&fragmeta->shader, &shader, sizeof(shader));
+ memcpy(&fragmeta->midgard_props, &prop, sizeof(prop));
+ } else if (dev->quirks & IS_BIFROST) {