diff --git a/src/broadcom/cle/v3d_packet_v33.xml b/src/broadcom/cle/v3d_packet_v33.xml
index 9d1a38a79e1..a0242b5f1c2 100644
--- a/src/broadcom/cle/v3d_packet_v33.xml
+++ b/src/broadcom/cle/v3d_packet_v33.xml
@@ -896,10 +896,10 @@
-
-
-
-
+
+
+
+
diff --git a/src/broadcom/vulkan/v3dvx_cmd_buffer.c b/src/broadcom/vulkan/v3dvx_cmd_buffer.c
index f500c5810f4..024decba497 100644
--- a/src/broadcom/vulkan/v3dvx_cmd_buffer.c
+++ b/src/broadcom/vulkan/v3dvx_cmd_buffer.c
@@ -1103,8 +1103,8 @@ v3dX(cmd_buffer_emit_viewport)(struct v3dv_cmd_buffer *cmd_buffer)
}
cl_emit(&job->bcl, VIEWPORT_OFFSET, vp) {
- vp.viewport_centre_x_coordinate = vptranslate[0];
- vp.viewport_centre_y_coordinate = vptranslate[1];
+ vp.fine_x = vptranslate[0];
+ vp.fine_y = vptranslate[1];
}
cmd_buffer->state.dirty &= ~V3DV_CMD_DIRTY_VIEWPORT;
diff --git a/src/gallium/drivers/v3d/v3dx_emit.c b/src/gallium/drivers/v3d/v3dx_emit.c
index becd196b108..5303eaf5e16 100644
--- a/src/gallium/drivers/v3d/v3dx_emit.c
+++ b/src/gallium/drivers/v3d/v3dx_emit.c
@@ -587,10 +587,15 @@ v3dX(emit_state)(struct pipe_context *pctx)
}
cl_emit(&job->bcl, VIEWPORT_OFFSET, vp) {
+#if V3D_VERSION < 41
vp.viewport_centre_x_coordinate =
v3d->viewport.translate[0];
vp.viewport_centre_y_coordinate =
v3d->viewport.translate[1];
+#else
+ vp.fine_x = v3d->viewport.translate[0];
+ vp.fine_y = v3d->viewport.translate[1];
+#endif
}
}