[v1] anv/skylake: disable ForceThreadDispatchEnable

Submitted by Sergii Romantsov on Sept. 19, 2018, 3:55 p.m.

Details

Message ID 1537372531-9024-1-git-send-email-sergii.romantsov@globallogic.com
State New
Headers show
Series "anv/skylake: disable ForceThreadDispatchEnable" ( rev: 1 ) in Mesa

Not browsing as part of any series.

Commit Message

Sergii Romantsov Sept. 19, 2018, 3:55 p.m.
On Skylake enabling of ForceThreadDispatchEnable causes gpu-hang.

CC: Jason Ekstrand <jason.ekstrand@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107941
Fixes: 79270d2140ec (anv: Stop setting 3DSTATE_PS_EXTRA::PixelShaderHasUAV)
Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
---
 src/intel/vulkan/genX_pipeline.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c
index 9595a71..bf5150d 100644
--- a/src/intel/vulkan/genX_pipeline.c
+++ b/src/intel/vulkan/genX_pipeline.c
@@ -1462,7 +1462,8 @@  emit_3dstate_wm(struct anv_pipeline *pipeline, struct anv_subpass *subpass,
           * is 3DSTATE_PS_EXTRA::PixelShaderHasUAV which causes hangs on BDW.
           * Given two bad options, we choose the one which works.
           */
-         if ((wm_prog_data->has_side_effects || wm_prog_data->uses_kill) &&
+         if (!pipeline->device->info.is_skylake &&
+             (wm_prog_data->has_side_effects || wm_prog_data->uses_kill) &&
              !has_color_buffer_write_enabled(pipeline, blend))
             wm.ForceThreadDispatchEnable = ForceON;
 #endif

Comments

Probably there should be some much more complex conditions for doing that,
but as initial solution...

On Wed, Sep 19, 2018 at 6:55 PM, Sergii Romantsov <
sergii.romantsov@gmail.com> wrote:

> On Skylake enabling of ForceThreadDispatchEnable causes gpu-hang.
>
> CC: Jason Ekstrand <jason.ekstrand@intel.com>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107941
> Fixes: 79270d2140ec (anv: Stop setting 3DSTATE_PS_EXTRA::
> PixelShaderHasUAV)
> Signed-off-by: Sergii Romantsov <sergii.romantsov@globallogic.com>
> ---
>  src/intel/vulkan/genX_pipeline.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_
> pipeline.c
> index 9595a71..bf5150d 100644
> --- a/src/intel/vulkan/genX_pipeline.c
> +++ b/src/intel/vulkan/genX_pipeline.c
> @@ -1462,7 +1462,8 @@ emit_3dstate_wm(struct anv_pipeline *pipeline,
> struct anv_subpass *subpass,
>            * is 3DSTATE_PS_EXTRA::PixelShaderHasUAV which causes hangs on
> BDW.
>            * Given two bad options, we choose the one which works.
>            */
> -         if ((wm_prog_data->has_side_effects || wm_prog_data->uses_kill)
> &&
> +         if (!pipeline->device->info.is_skylake &&
> +             (wm_prog_data->has_side_effects || wm_prog_data->uses_kill)
> &&
>               !has_color_buffer_write_enabled(pipeline, blend))
>              wm.ForceThreadDispatchEnable = ForceON;
>  #endif
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>