From: Kenneth Graunke Date: Mon, 11 Feb 2019 22:22:50 +0000 (-0800) Subject: iris: Set 3DSTATE_WM::ForceThreadDispatchEnable X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d612cd1bf80f36023f0918beb74df08f9bca8abd;p=mesa.git iris: Set 3DSTATE_WM::ForceThreadDispatchEnable The Vulkan driver only sets this if color writes are disabled, which is more conservative - but would require us to inspect blend state. (If color writes are enabled, we don't need to force anything, because the internal signal is already correct. But it shouldn't hurt to do so.) --- diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index 8191141a373..6d75d255eac 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -4407,6 +4407,10 @@ iris_upload_dirty_render_state(struct iris_context *ice, wm.EarlyDepthStencilControl = EDSC_PREPS; else if (wm_prog_data->has_side_effects) wm.EarlyDepthStencilControl = EDSC_PSEXEC; + + /* We could skip this bit if color writes are enabled. */ + if (wm_prog_data->has_side_effects || wm_prog_data->uses_kill) + wm.ForceThreadDispatchEnable = ForceON; } iris_emit_merge(batch, cso->wm, dynamic_wm, ARRAY_SIZE(cso->wm)); }