You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: chapters/deprecated.adoc
+111Lines changed: 111 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,6 +82,12 @@ The following table lists deprecated items in Vulkan along with their replacemen
82
82
|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.
83
83
|With VK_KHR_synchronization2
84
84
|link:https://vulkan.gpuinfo.org/displayextensiondetail.php?extension=VK_KHR_synchronization2[View on GPU Info]
85
+
86
+
|Pipeline Objects
87
+
|`VkPipeline` objects (graphics and compute) used to bind shaders and fixed-function state as a monolithic unit.
88
+
|Use Shader Objects via `VK_EXT_shader_object` for a pipeline-free workflow that binds shaders and state directly. See <<pipelines_shader_objects_replacement>> for details.
89
+
|With VK_EXT_shader_object
90
+
|link:https://vulkan.gpuinfo.org/displayextensiondetail.php?extension=VK_EXT_shader_object[View on GPU Info]
Pipeline objects (`VkPipeline` for graphics and compute) are not formally deprecated, but when `VK_EXT_shader_object` is available they are recommended to be replaced by Shader Objects for a more flexible, modular workflow.
1109
+
1110
+
==== What They Were
1111
+
1112
+
Pipelines encapsulate shader stages and fixed-function state into a single monolithic object created up front (e.g., via `vkCreateGraphicsPipelines` / `vkCreateComputePipelines`). They are efficient at execution time, but can be expensive to create and inflexible when frequently changing shaders or state.
1113
+
1114
+
==== Replacement
1115
+
1116
+
Shader Objects (`VK_EXT_shader_object`) allow you to:
1117
+
1118
+
* Create shader objects directly from SPIR-V with `vkCreateShadersEXT`.
1119
+
* Bind them per-stage at command recording time with `vkCmdBindShadersEXT`.
1120
+
* Set most fixed-function state dynamically via existing dynamic state commands.
1121
+
1122
+
This “pipeline-free” approach reduces pipeline permutation explosion and can simplify hot-reloading and rapid iteration.
1123
+
1124
+
See also: link:ways_to_provide_spirv.adoc[Shader Objects section of ways to provide spirv].
0 commit comments