anv: use devinfo for number of thread/eu
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 23 Jun 2017 14:01:47 +0000 (17:01 +0300)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 29 Jun 2017 09:07:52 +0000 (10:07 +0100)
It turns out Gen9LP has fewer threads per EU (6 vs 7).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Plamena Manolova <plamena.manolova@intel.com>
src/intel/vulkan/anv_device.c

index b09caa38a49c34c03ee97ba334cac51555052790..63f37308c118d93275f2730926454c4adea29f4a 100644 (file)
@@ -359,8 +359,9 @@ anv_physical_device_init(struct anv_physical_device *device,
 
    if (device->info.is_cherryview &&
        device->subslice_total > 0 && device->eu_total > 0) {
 
    if (device->info.is_cherryview &&
        device->subslice_total > 0 && device->eu_total > 0) {
-      /* Logical CS threads = EUs per subslice * 7 threads per EU */
-      uint32_t max_cs_threads = device->eu_total / device->subslice_total * 7;
+      /* Logical CS threads = EUs per subslice * num threads per EU */
+      uint32_t max_cs_threads =
+         device->eu_total / device->subslice_total * device->info.num_thread_per_eu;
 
       /* Fuse configurations may give more threads than expected, never less. */
       if (max_cs_threads > device->info.max_cs_threads)
 
       /* Fuse configurations may give more threads than expected, never less. */
       if (max_cs_threads > device->info.max_cs_threads)