[Mesa-dev] [PATCH 1/2] intel/icl: Disable combining of vertices from separate instances
Topi Pohjolainen
topi.pohjolainen at gmail.com
Mon Oct 29 12:38:57 UTC 2018
This is new hardware feature, and should be disabled until it is
clear our VS kernels are prepared for it. Thread payload has new
bit (See Bspec: Pipeline Stages - 3D Pipeline Geometry -
Vertex Shader (VS) Stage - Payloads - SIMD8 Payload [BDW+])
that vertex shaders could consult.
CC: Jason Ekstrand <jason at jlekstrand.net>
CC: Kenneth Graunke <kenneth at whitecape.org>
CC: Anuj Phogat <anuj.phogat at gmail.com>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
src/intel/blorp/blorp_genX_exec.h | 6 ++++++
src/intel/vulkan/genX_pipeline.c | 6 ++++++
src/mesa/drivers/dri/i965/genX_state_upload.c | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 50341ab0ec..10865b9c15 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -629,6 +629,12 @@ blorp_emit_vs_config(struct blorp_batch *batch,
#if GEN_GEN >= 8
vs.SIMD8DispatchEnable =
vs_prog_data->base.dispatch_mode == DISPATCH_MODE_SIMD8;
+#endif
+#if GEN_GEN >= 11
+ /* TODO: Disable combining of instances until it is clear VS kernels
+ * are prepared for it.
+ */
+ vs.SIMD8SingleInstanceDispatchEnable = vs.SIMD8DispatchEnable;
#endif
}
}
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 33f1f7832a..9762fc78b5 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -1157,6 +1157,12 @@ emit_3dstate_vs(struct anv_pipeline *pipeline)
vs.SIMD8DispatchEnable =
vs_prog_data->base.dispatch_mode == DISPATCH_MODE_SIMD8;
#endif
+#if GEN_GEN >= 11
+ /* TODO: Disable combining of instances until it is clear VS kernels
+ * are prepared for it.
+ */
+ vs.SIMD8SingleInstanceDispatchEnable = vs.SIMD8DispatchEnable;
+#endif
assert(!vs_prog_data->base.base.use_alt_mode);
#if GEN_GEN < 11
diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index 740cb0c4d2..9198a2953a 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -2277,6 +2277,12 @@ genX(upload_vs_state)(struct brw_context *brw)
vs.UserClipDistanceCullTestEnableBitmask =
vue_prog_data->cull_distance_mask;
+#endif
+#if GEN_GEN >= 11
+ /* TODO: Disable combining of instances until it is clear VS kernels
+ * are prepared for it.
+ */
+ vs.SIMD8SingleInstanceDispatchEnable = vs.SIMD8DispatchEnable;
#endif
}
--
2.17.1
More information about the mesa-dev
mailing list