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:
-* ``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:
.. _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_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
alias="driver",
properties=True),
Extension("VK_KHR_draw_indirect_count"),
+ Extension("VK_KHR_shader_draw_parameters"),
Extension("VK_EXT_conditional_rendering",
alias="cond_render",
features=True,
return screen->info.have_KHR_draw_indirect_count;
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:
return screen->info.have_EXT_vertex_attribute_divisor;