|
4 | 4 | ifndef::chapters[:chapters: ../] |
5 | 5 | ifndef::images[:images: ../images/] |
6 | 6 |
|
7 | | -[[deprecated_items_guide]] |
8 | | -= Deprecated Items Guide |
| 7 | +[[feature_availability_dashboard]] |
| 8 | += Feature Availability Dashboard |
9 | 9 |
|
10 | 10 | This guide provides fallback instructions for deprecated items in Vulkan. It helps developers understand what deprecated features were, what they did, and how to use their modern replacements while maintaining backward compatibility where needed. |
11 | 11 |
|
12 | 12 | == Deprecated Items |
13 | 13 |
|
14 | 14 | The following table lists deprecated items in Vulkan along with their replacements and links to detailed fallback instructions: |
15 | 15 |
|
16 | | -[cols="2,3,3,2", options="header"] |
| 16 | +[cols="2,3,3,1,1,1,1,1,1,2,2", options="header"] |
17 | 17 | |=== |
18 | | -|Deprecated Item |What it was/did |Replacement |When Deprecated |
| 18 | +|Deprecated Item |What it was/did |Replacement |AMD Desktop |NVIDIA Desktop |Intel Desktop |Qualcomm Mobile |ARM Mobile |PowerVR Mobile |When Deprecated |GPU Info Link |
19 | 19 |
|
20 | 20 | |Device Layers |
21 | 21 | |Device layers were a way to intercept, evaluate, and modify Vulkan functions at the device level. |
22 | 22 | |Instance layers should be used instead. All layer functionality is now available through instance layers. |
| 23 | +|✓ |
| 24 | +|✓ |
| 25 | +|✓ |
| 26 | +|✓ |
| 27 | +|✓ |
| 28 | +|✓ |
23 | 29 | |Early in Vulkan's life |
| 30 | +|link:https://vulkan.gpuinfo.org/listdeviceslayers.php[View on GPU Info] |
24 | 31 |
|
25 | 32 | |Physical Device Queries |
26 | 33 | |Functions like `vkGetPhysicalDeviceFeatures` used to query device capabilities. |
27 | 34 | |Use `vkGetPhysicalDeviceFeatures2` and related functions that provide greater extensibility. See <<physical_device_queries_replacement>> for details. |
| 35 | +|✓ |
| 36 | +|✓ |
| 37 | +|✓ |
| 38 | +|✓ |
| 39 | +|✓ |
| 40 | +|✓ |
28 | 41 | |Vulkan 1.1 |
| 42 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_get_physical_device_properties2[View on GPU Info] |
29 | 43 |
|
30 | 44 | |Version Macros |
31 | 45 | |Macros like `VK_MAKE_VERSION` and `VK_VERSION_MAJOR` that don't account for API variant. |
32 | 46 | |Use macros that include API variant like `VK_MAKE_API_VERSION` and `VK_API_VERSION_MAJOR`. See <<version_macros_replacement>> for details. |
| 47 | +|✓ |
| 48 | +|✓ |
| 49 | +|✓ |
| 50 | +|✓ |
| 51 | +|✓ |
| 52 | +|✓ |
33 | 53 | |Vulkan 1.1 |
| 54 | +|link:https://docs.vulkan.org/spec/latest/appendices/versions.html#versions-1.1[View in Spec] |
34 | 55 |
|
35 | 56 | |Render Pass Functions |
36 | 57 | |Original render pass creation and management functions. |
37 | 58 | |Use version 2 functions like `vkCreateRenderPass2` that provide greater extensibility. See <<render_pass_functions_replacement>> for details. |
| 59 | +|✓ |
| 60 | +|✓ |
| 61 | +|✓ |
| 62 | +|✓ |
| 63 | +|✓ |
| 64 | +|✓ |
38 | 65 | |Vulkan 1.2 |
| 66 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_create_renderpass2[View on GPU Info] |
39 | 67 |
|
40 | 68 | |Render Pass Objects |
41 | 69 | |`VkRenderPass` and `VkFramebuffer` objects for defining rendering operations. |
42 | 70 | |Use dynamic rendering via `vkCmdBeginRendering` and `vkCmdEndRendering`. See <<render_pass_objects_replacement>> for details. |
| 71 | +|✓ |
| 72 | +|✓ |
| 73 | +|✓ |
| 74 | +|✓ |
| 75 | +|✓ |
| 76 | +|✓ |
43 | 77 | |Vulkan 1.4 |
| 78 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_dynamic_rendering[View on GPU Info] |
44 | 79 |
|
45 | 80 | |VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT |
46 | 81 | |Used in synchronization to represent the earliest possible pipeline stage. |
47 | 82 | |Different replacements depending on usage context. See <<top_of_pipe_replacement>> for details. |
| 83 | +|✓ |
| 84 | +|✓ |
| 85 | +|✓ |
| 86 | +|✓ |
| 87 | +|✓ |
| 88 | +|✓ |
48 | 89 | |With VK_KHR_synchronization2 |
| 90 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
49 | 91 |
|
50 | 92 | |VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT |
51 | 93 | |Used in synchronization to represent the latest possible pipeline stage. |
52 | 94 | |Different replacements depending on usage context. See <<bottom_of_pipe_replacement>> for details. |
| 95 | +|✓ |
| 96 | +|✓ |
| 97 | +|✓ |
| 98 | +|✓ |
| 99 | +|✓ |
| 100 | +|✓ |
53 | 101 | |With VK_KHR_synchronization2 |
| 102 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
54 | 103 |
|
55 | 104 | |VK_PIPELINE_STAGE_VERTEX_INPUT_BIT |
56 | 105 | |Used to represent the vertex input stage in the pipeline. |
57 | 106 | |Split into more specific flags: `VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR` and `VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR`. |
| 107 | +|✓ |
| 108 | +|✓ |
| 109 | +|✓ |
| 110 | +|✓ |
| 111 | +|✓ |
| 112 | +|✓ |
58 | 113 | |With VK_KHR_synchronization2 |
| 114 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
59 | 115 |
|
60 | 116 | |VK_PIPELINE_STAGE_ALL_TRANSFER_BIT |
61 | 117 | |Used to represent all transfer operations in the pipeline. |
62 | 118 | |Split into more specific flags: `VK_PIPELINE_STAGE_2_COPY_BIT_KHR`, `VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR`, `VK_PIPELINE_STAGE_2_BLIT_BIT_KHR`, and `VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR`. |
| 119 | +|✓ |
| 120 | +|✓ |
| 121 | +|✓ |
| 122 | +|✓ |
| 123 | +|✓ |
| 124 | +|✓ |
63 | 125 | |With VK_KHR_synchronization2 |
| 126 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
64 | 127 |
|
65 | 128 | |VK_ACCESS_SHADER_READ_BIT |
66 | 129 | |Used to represent all shader read operations. |
67 | 130 | |Split into more specific flags: `VK_ACCESS_2_UNIFORM_READ_BIT_KHR`, `VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR`, and `VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR`. |
| 131 | +|✓ |
| 132 | +|✓ |
| 133 | +|✓ |
| 134 | +|✓ |
| 135 | +|✓ |
| 136 | +|✓ |
68 | 137 | |With VK_KHR_synchronization2 |
| 138 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
69 | 139 |
|
70 | 140 | |VK_ACCESS_SHADER_WRITE_BIT |
71 | 141 | |Used to represent shader write operations. |
72 | 142 | |Renamed to `VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR` to better describe the scope of what resources in the shader are described by the access flag. |
| 143 | +|✓ |
| 144 | +|✓ |
| 145 | +|✓ |
| 146 | +|✓ |
| 147 | +|✓ |
| 148 | +|✓ |
73 | 149 | |With VK_KHR_synchronization2 |
| 150 | +|link:https://vulkan.gpuinfo.org/listextensions.php?extension=VK_KHR_synchronization2[View on GPU Info] |
74 | 151 | |=== |
75 | 152 |
|
76 | 153 | == How to Use This Guide |
|
0 commit comments