Module: Mesa
Branch: staging/21.0
Commit: 57d395bf07bb9146a525ebf67e4249b25a365a7f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=57d395bf07bb9146a525ebf67e4249b25a365a7f

Author: Hoe Hao Cheng <[email protected]>
Date:   Fri Feb 12 00:35:15 2021 +0800

zink: VK_KHR_draw_indirect_count is a device extension

this fixes some testcases on CI.

Fixes: 1c01ad1b804 ("zink: add KHR_draw_indirect_count detection")
Reviewed-By: Mike Blumenkrantz <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9504>

---

 src/gallium/drivers/zink/zink_device_info.py |  1 +
 src/gallium/drivers/zink/zink_instance.py    |  1 -
 src/gallium/drivers/zink/zink_screen.c       | 16 +++++-----------
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_device_info.py 
b/src/gallium/drivers/zink/zink_device_info.py
index f849356105f..2e679e6f6d6 100644
--- a/src/gallium/drivers/zink/zink_device_info.py
+++ b/src/gallium/drivers/zink/zink_device_info.py
@@ -64,6 +64,7 @@ EXTENSIONS = [
     Extension("VK_KHR_external_memory"),
     Extension("VK_KHR_external_memory_fd"),
     Extension("VK_KHR_vulkan_memory_model"),
+    Extension("VK_KHR_draw_indirect_count"),
     Extension("VK_EXT_conditional_rendering",
         alias="cond_render", 
         features=True, 
diff --git a/src/gallium/drivers/zink/zink_instance.py 
b/src/gallium/drivers/zink/zink_instance.py
index d0745d810cf..27b72eea948 100644
--- a/src/gallium/drivers/zink/zink_instance.py
+++ b/src/gallium/drivers/zink/zink_instance.py
@@ -7,7 +7,6 @@ EXTENSIONS = [
     Extension("VK_EXT_debug_utils"),
     Extension("VK_KHR_maintenance2"),
     Extension("VK_KHR_get_physical_device_properties2"),
-    Extension("VK_KHR_draw_indirect_count"),
     Extension("VK_KHR_external_memory_capabilities"),
     Extension("VK_MVK_moltenvk"),
 ]
diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 11b747cfd51..04996156740 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -860,17 +860,6 @@ load_instance_extensions(struct zink_screen *screen)
       GET_PROC_ADDR_INSTANCE(GetPhysicalDeviceProperties2);
    }
 
-   if (screen->instance_info.have_KHR_draw_indirect_count) {
-      GET_PROC_ADDR_INSTANCE_LOCAL(screen->instance, CmdDrawIndirectCountKHR);
-      GET_PROC_ADDR_INSTANCE_LOCAL(screen->instance, 
CmdDrawIndexedIndirectCountKHR);
-      screen->vk_CmdDrawIndirectCount = vk_CmdDrawIndirectCountKHR;
-      screen->vk_CmdDrawIndexedIndirectCount = 
vk_CmdDrawIndexedIndirectCountKHR;
-   } else if (VK_MAKE_VERSION(1,2,0) <= screen->loader_version) {
-      // Get Vk 1.1+ Instance functions
-      GET_PROC_ADDR_INSTANCE(CmdDrawIndirectCount);
-      GET_PROC_ADDR_INSTANCE(CmdDrawIndexedIndirectCount);
-   }
-
    return true;
 }
 
@@ -893,6 +882,11 @@ load_device_extensions(struct zink_screen *screen)
       GET_PROC_ADDR(CmdEndConditionalRenderingEXT);
    }
 
+   if (screen->info.have_KHR_draw_indirect_count) {
+      GET_PROC_ADDR(CmdDrawIndexedIndirectCount);
+      GET_PROC_ADDR(CmdDrawIndirectCount);
+   }
+
    if (screen->info.have_EXT_calibrated_timestamps) {
       GET_PROC_ADDR_INSTANCE(GetPhysicalDeviceCalibrateableTimeDomainsEXT);
       GET_PROC_ADDR(GetCalibratedTimestampsEXT);

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to