ilo: fix max thread count for HS on Gen8
authorChia-I Wu <olvaffe@gmail.com>
Thu, 22 Oct 2015 03:19:05 +0000 (11:19 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Thu, 22 Oct 2015 06:06:21 +0000 (14:06 +0800)
It is in DW2 on Gen8.

src/gallium/drivers/ilo/core/ilo_state_shader.c

index f67326c7f10c72a34e3dcfb246f9caeefcfa9277..2e06b07a8e3a44b2dfe095b838153801e1fa25bd 100644 (file)
@@ -282,13 +282,15 @@ hs_set_gen7_3DSTATE_HS(struct ilo_state_hs *hs,
    dw1 = ff.sampler_count << GEN6_THREADDISP_SAMPLER_COUNT__SHIFT |
          ff.surface_count << GEN6_THREADDISP_BINDING_TABLE_SIZE__SHIFT;
 
-   if (ilo_dev_gen(dev) >= ILO_GEN(7.5))
+   dw2 = 0 << GEN7_HS_DW2_INSTANCE_COUNT__SHIFT;
+
+   if (ilo_dev_gen(dev) >= ILO_GEN(8))
+      dw2 |= thread_count << GEN8_HS_DW2_MAX_THREADS__SHIFT;
+   else if (ilo_dev_gen(dev) >= ILO_GEN(7.5))
       dw1 |= thread_count << GEN75_HS_DW1_DISPATCH_MAX_THREADS__SHIFT;
    else
       dw1 |= thread_count << GEN7_HS_DW1_DISPATCH_MAX_THREADS__SHIFT;
 
-   dw2 = 0 << GEN7_HS_DW2_INSTANCE_COUNT__SHIFT;
-
    if (info->dispatch_enable)
       dw2 |= GEN7_HS_DW2_HS_ENABLE;
    if (info->stats_enable)