diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index c95ded598c1..a5a27f3570b 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -1232,6 +1232,12 @@ toggle_protected(struct iris_batch *batch)
#endif
}
+#if GFX_VER >= 20
+#define _3DSTATE_DRAWING_RECTANGLE GENX(3DSTATE_DRAWING_RECTANGLE_FAST)
+#else
+#define _3DSTATE_DRAWING_RECTANGLE GENX(3DSTATE_DRAWING_RECTANGLE)
+#endif
+
/**
* Upload the initial GPU state for a render context.
*
@@ -1383,7 +1389,7 @@ iris_init_render_context(struct iris_batch *batch)
* instead include the render target dimensions in the viewport, so
* viewport extents clipping takes care of pruning stray geometry.
*/
- iris_emit_cmd(batch, GENX(3DSTATE_DRAWING_RECTANGLE), rect) {
+ iris_emit_cmd(batch, _3DSTATE_DRAWING_RECTANGLE, rect) {
rect.ClippedDrawingRectangleXMax = UINT16_MAX;
rect.ClippedDrawingRectangleYMax = UINT16_MAX;
}
diff --git a/src/intel/genxml/gen20.xml b/src/intel/genxml/gen20.xml
index 895dcf5319d..e911791bfeb 100644
--- a/src/intel/genxml/gen20.xml
+++ b/src/intel/genxml/gen20.xml
@@ -439,6 +439,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/intel/vulkan/genX_init_state.c b/src/intel/vulkan/genX_init_state.c
index 2abe70ce8f8..83aa7e401b8 100644
--- a/src/intel/vulkan/genX_init_state.c
+++ b/src/intel/vulkan/genX_init_state.c
@@ -338,6 +338,12 @@ init_common_queue_state(struct anv_queue *queue, struct anv_batch *batch)
#endif
}
+#if GFX_VER >= 20
+#define _3DSTATE_DRAWING_RECTANGLE GENX(3DSTATE_DRAWING_RECTANGLE_FAST)
+#else
+#define _3DSTATE_DRAWING_RECTANGLE GENX(3DSTATE_DRAWING_RECTANGLE)
+#endif
+
static VkResult
init_render_queue_state(struct anv_queue *queue, bool is_companion_rcs_batch)
{
@@ -369,7 +375,7 @@ init_render_queue_state(struct anv_queue *queue, bool is_companion_rcs_batch)
anv_batch_emit(batch, GENX(3DSTATE_AA_LINE_PARAMETERS), aa);
- anv_batch_emit(batch, GENX(3DSTATE_DRAWING_RECTANGLE), rect) {
+ anv_batch_emit(batch, _3DSTATE_DRAWING_RECTANGLE, rect) {
rect.ClippedDrawingRectangleYMin = 0;
rect.ClippedDrawingRectangleXMin = 0;
rect.ClippedDrawingRectangleYMax = UINT16_MAX;