zink: VK_KHR_draw_indirect_count is a device extension

this fixes some testcases on CI.

Fixes: 1c01ad1b80 ("zink: add KHR_draw_indirect_count detection")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9504>
This commit is contained in:
Hoe Hao Cheng 2021-02-12 00:35:15 +08:00 committed by Dylan Baker
parent 5b6b14522d
commit dcfff5cc89
3 changed files with 6 additions and 12 deletions

View file

@ -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,

View file

@ -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"),
]

View file

@ -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);