Skip to content

Latest commit

 

History

History
80 lines (58 loc) · 3.5 KB

Roadmap-2024.adoc

File metadata and controls

80 lines (58 loc) · 3.5 KB

Roadmap 2024

The Roadmap 2024 milestone is intended to be supported by newer mid-to-high-end devices shipping in 2024 or shortly thereafter across mainstream smartphone, tablet, laptops, console and desktop devices.

Two of the core aims of this roadmap profile are to enable developers to rely on a number of important rasterization and shader features have been available for a long time, but until now have not enjoyed wide support.

Shader features required include smaller types (8/16-bit integers and 16-bit floats), reconvergence guarantees for subgroup ops (apiext:VK_KHR_shader_maximal_reconvergence and apiext:VK_KHR_shader_quad_control), and more consistent floating-point handling (apiext:VK_KHR_shader_float_controls2 and round-to-nearest-even for 32-/16-bit floats). Rasterization features include requiring support for multi-draw indirect, shader draw parameters, 8-bit indices, better line rasterization definitions, and local reads when using dynamic rendering. A few other features have been added opportunistically, in lieu of shipping a Vulkan 1.4 in the same time frame, such as push descriptors and the various minor improvements included in apiext:VK_KHR_maintenance5.

Required Profiles

This profile requires the Roadmap 2022 profile.

Required Features

The following core optional features are required to be supported:

Required Limits

The following core increased limits are required:

Table 1. Vulkan 1.0 Limits
Limit Name Unsupported Limit Core Limit Profile Limit Limit Type1

pname:maxBoundDescriptorSets

-

4

7

min

pname:maxColorAttachments

-

4

8

min

pname:timestampComputeAndGraphics

-

FALSE

TRUE

Boolean

Table 2. Vulkan 1.2 Limits
Limit Name Unsupported Limit Core Limit Profile Limit Limit Type1

pname:shaderRoundingModeRTEFloat16

-

FALSE

TRUE

Boolean

pname:shaderRoundingModeRTEFloat32

-

FALSE

TRUE

Boolean

Required Extensions

The following extensions are required:

  • apiext:VK_KHR_dynamic_rendering_local_read

  • apiext:VK_KHR_load_store_op_none

  • apiext:VK_KHR_shader_quad_control

  • apiext:VK_KHR_shader_maximal_reconvergence

  • apiext:VK_KHR_shader_subgroup_uniform_control_flow

  • apiext:VK_KHR_shader_subgroup_rotate

  • apiext:VK_KHR_shader_float_controls2

  • apiext:VK_KHR_shader_expect_assume

  • apiext:VK_KHR_line_rasterization

  • apiext:VK_KHR_vertex_attribute_divisor

  • apiext:VK_KHR_index_type_uint8

  • apiext:VK_KHR_map_memory2

  • apiext:VK_KHR_maintenance5

  • apiext:VK_KHR_push_descriptor