zink: enable KHR_shader_draw_parameters on Vulkan <1.2
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9021>
This commit is contained in:
@@ -131,12 +131,21 @@ are required:
|
|||||||
OpenGL 4.2
|
OpenGL 4.2
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
||||||
For OpenGL 4.2 support, Vulkan 1.2 is required, plus the following additional
|
For OpenGL 4.2 support, the following additional
|
||||||
requirements needs to be supported:
|
requirements needs to be supported:
|
||||||
|
|
||||||
* ``VkPhysicalDeviceVulkan11Features``:
|
* For Vulkan 1.2 and above:
|
||||||
|
|
||||||
|
* ``VkPhysicalDeviceVulkan11Features``:
|
||||||
|
|
||||||
|
* ``shaderDrawParameters``
|
||||||
|
|
||||||
|
* For Vulkan 1.1 and below:
|
||||||
|
|
||||||
|
* Device extensions:
|
||||||
|
|
||||||
|
* `VK_KHR_shader_draw_parameters`_
|
||||||
|
|
||||||
* ``shaderDrawParameters``
|
|
||||||
|
|
||||||
* Formats features:
|
* Formats features:
|
||||||
|
|
||||||
@@ -193,3 +202,4 @@ questions, don't hesitate to visit `#zink on FreeNode
|
|||||||
.. _VK_EXT_vertex_attribute_divisor: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_vertex_attribute_divisor.html
|
.. _VK_EXT_vertex_attribute_divisor: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_EXT_vertex_attribute_divisor.html
|
||||||
.. _VK_KHR_maintenance2: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_maintenance2.html
|
.. _VK_KHR_maintenance2: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_maintenance2.html
|
||||||
.. _VK_KHR_vulkan_memory_model: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_vulkan_memory_model.html
|
.. _VK_KHR_vulkan_memory_model: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_vulkan_memory_model.html
|
||||||
|
.. _VK_KHR_shader_draw_parameters: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_KHR_shader_draw_parameters.html
|
||||||
|
@@ -69,6 +69,7 @@ EXTENSIONS = [
|
|||||||
alias="driver",
|
alias="driver",
|
||||||
properties=True),
|
properties=True),
|
||||||
Extension("VK_KHR_draw_indirect_count"),
|
Extension("VK_KHR_draw_indirect_count"),
|
||||||
|
Extension("VK_KHR_shader_draw_parameters"),
|
||||||
Extension("VK_EXT_conditional_rendering",
|
Extension("VK_EXT_conditional_rendering",
|
||||||
alias="cond_render",
|
alias="cond_render",
|
||||||
features=True,
|
features=True,
|
||||||
|
@@ -192,7 +192,8 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||||||
return screen->info.have_KHR_draw_indirect_count;
|
return screen->info.have_KHR_draw_indirect_count;
|
||||||
|
|
||||||
case PIPE_CAP_START_INSTANCE:
|
case PIPE_CAP_START_INSTANCE:
|
||||||
return screen->info.feats11.shaderDrawParameters;
|
return (screen->info.have_vulkan12 && screen->info.feats11.shaderDrawParameters) ||
|
||||||
|
screen->info.have_KHR_shader_draw_parameters;
|
||||||
|
|
||||||
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
|
case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
|
||||||
return screen->info.have_EXT_vertex_attribute_divisor;
|
return screen->info.have_EXT_vertex_attribute_divisor;
|
||||||
|
Reference in New Issue
Block a user