diff --git a/src/gallium/drivers/panfrost/pan_assemble.c b/src/gallium/drivers/panfrost/pan_assemble.c
index f237ded9118..6808a180a01 100644
--- a/src/gallium/drivers/panfrost/pan_assemble.c
+++ b/src/gallium/drivers/panfrost/pan_assemble.c
@@ -78,8 +78,8 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
pan_prepare(&state->preload, PRELOAD);
state->preload.uniform_count = state->uniform_count;
- state->preload.vertex_id = true;
- state->preload.instance_id = true;
+ state->preload.vertex.vertex_id = true;
+ state->preload.vertex.instance_id = true;
break;
case MESA_SHADER_FRAGMENT:
pan_prepare(&state->properties, RENDERER_PROPERTIES);
@@ -91,8 +91,8 @@ pan_prepare_bifrost_props(struct panfrost_shader_state *state,
pan_prepare(&state->preload, PRELOAD);
state->preload.uniform_count = state->uniform_count;
- state->preload.fragment_position = state->reads_frag_coord;
- state->preload.unknown = true;
+ state->preload.fragment.fragment_position = state->reads_frag_coord;
+ state->preload.fragment.coverage = true;
break;
default:
unreachable("TODO");
diff --git a/src/panfrost/bifrost/test/bi_submit.c b/src/panfrost/bifrost/test/bi_submit.c
index da3512c244e..cfa2aa30be6 100644
--- a/src/panfrost/bifrost/test/bi_submit.c
+++ b/src/panfrost/bifrost/test/bi_submit.c
@@ -178,8 +178,8 @@ bit_vertex(struct panfrost_device *dev, panfrost_program prog,
cfg.shader.attribute_count = cfg.shader.varying_count = 1;
cfg.properties.uniform_buffer_count = 1;
cfg.properties.bifrost.zs_update_operation = MALI_PIXEL_KILL_STRONG_EARLY;
- cfg.preload.vertex_id = true;
- cfg.preload.instance_id = true;
+ cfg.preload.vertex.vertex_id = true;
+ cfg.preload.vertex.instance_id = true;
cfg.preload.uniform_count = (sz_ubo / 16);
}
diff --git a/src/panfrost/lib/midgard.xml b/src/panfrost/lib/midgard.xml
index df9c9ccfe48..ede4b0f08c0 100644
--- a/src/panfrost/lib/midgard.xml
+++ b/src/panfrost/lib/midgard.xml
@@ -680,7 +680,8 @@
-
+
+
@@ -689,13 +690,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+