From b6faa6c10a9b05b7d26b44dcd76f3e911808e1bf Mon Sep 17 00:00:00 2001 From: Morten Kristiansen Date: Tue, 30 Dec 2025 05:54:59 +0100 Subject: [PATCH 1/2] Added KHRCreateRenderpass2ExtensionName to requiredDeviceExtension to satisfy VUID-VkShaderModuleCreateInfo-pCode-08740 --- attachments/09_shader_modules.cpp | 3 ++- attachments/10_fixed_functions.cpp | 3 ++- attachments/12_graphics_pipeline_complete.cpp | 3 ++- attachments/14_command_buffers.cpp | 3 ++- attachments/15_hello_triangle.cpp | 3 ++- attachments/16_frames_in_flight.cpp | 3 ++- attachments/17_swap_chain_recreation.cpp | 3 ++- attachments/18_vertex_input.cpp | 3 ++- attachments/19_vertex_buffer.cpp | 3 ++- attachments/20_staging_buffer.cpp | 3 ++- attachments/21_index_buffer.cpp | 3 ++- attachments/22_descriptor_layout.cpp | 3 ++- attachments/23_descriptor_sets.cpp | 3 ++- attachments/24_texture_image.cpp | 3 ++- attachments/25_sampler.cpp | 3 ++- attachments/26_texture_mapping.cpp | 3 ++- attachments/27_depth_buffering.cpp | 3 ++- attachments/28_model_loading.cpp | 3 ++- attachments/29_mipmapping.cpp | 3 ++- attachments/30_multisampling.cpp | 3 ++- attachments/31_compute_shader.cpp | 3 ++- attachments/32_ecosystem_utilities.cpp | 3 ++- attachments/33_vulkan_profiles.cpp | 3 ++- attachments/34_android.cpp | 3 ++- attachments/35_gltf_ktx.cpp | 3 ++- attachments/36_multiple_objects.cpp | 3 ++- attachments/37_multithreading.cpp | 3 ++- attachments/38_ray_tracing.cpp | 3 ++- .../01_Shader_modules.adoc | 13 ++++++++++++- 29 files changed, 68 insertions(+), 29 deletions(-) diff --git a/attachments/09_shader_modules.cpp b/attachments/09_shader_modules.cpp index 24ddf95c..1e968155 100644 --- a/attachments/09_shader_modules.cpp +++ b/attachments/09_shader_modules.cpp @@ -60,7 +60,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/10_fixed_functions.cpp b/attachments/10_fixed_functions.cpp index f90ee1ef..f4a9a004 100644 --- a/attachments/10_fixed_functions.cpp +++ b/attachments/10_fixed_functions.cpp @@ -62,7 +62,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/12_graphics_pipeline_complete.cpp b/attachments/12_graphics_pipeline_complete.cpp index 06c19c1b..5b0bc335 100644 --- a/attachments/12_graphics_pipeline_complete.cpp +++ b/attachments/12_graphics_pipeline_complete.cpp @@ -63,7 +63,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/14_command_buffers.cpp b/attachments/14_command_buffers.cpp index 77c9d7ae..4b4902f1 100644 --- a/attachments/14_command_buffers.cpp +++ b/attachments/14_command_buffers.cpp @@ -66,7 +66,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/15_hello_triangle.cpp b/attachments/15_hello_triangle.cpp index d4edc4f4..c34582f4 100644 --- a/attachments/15_hello_triangle.cpp +++ b/attachments/15_hello_triangle.cpp @@ -71,7 +71,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/16_frames_in_flight.cpp b/attachments/16_frames_in_flight.cpp index a5095b44..c12983b9 100644 --- a/attachments/16_frames_in_flight.cpp +++ b/attachments/16_frames_in_flight.cpp @@ -73,7 +73,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/17_swap_chain_recreation.cpp b/attachments/17_swap_chain_recreation.cpp index a1ada280..6b994540 100644 --- a/attachments/17_swap_chain_recreation.cpp +++ b/attachments/17_swap_chain_recreation.cpp @@ -75,7 +75,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/18_vertex_input.cpp b/attachments/18_vertex_input.cpp index 10061e61..2af607c1 100644 --- a/attachments/18_vertex_input.cpp +++ b/attachments/18_vertex_input.cpp @@ -100,7 +100,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/19_vertex_buffer.cpp b/attachments/19_vertex_buffer.cpp index 07fc80d2..c39c4fe2 100644 --- a/attachments/19_vertex_buffer.cpp +++ b/attachments/19_vertex_buffer.cpp @@ -103,7 +103,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/20_staging_buffer.cpp b/attachments/20_staging_buffer.cpp index 28f1f40b..5b909b04 100644 --- a/attachments/20_staging_buffer.cpp +++ b/attachments/20_staging_buffer.cpp @@ -103,7 +103,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/21_index_buffer.cpp b/attachments/21_index_buffer.cpp index e427a625..af9d1bc4 100644 --- a/attachments/21_index_buffer.cpp +++ b/attachments/21_index_buffer.cpp @@ -109,7 +109,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/22_descriptor_layout.cpp b/attachments/22_descriptor_layout.cpp index bb379979..2dfb4e1a 100644 --- a/attachments/22_descriptor_layout.cpp +++ b/attachments/22_descriptor_layout.cpp @@ -125,7 +125,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/23_descriptor_sets.cpp b/attachments/23_descriptor_sets.cpp index 269a76a9..cbaa5cf2 100644 --- a/attachments/23_descriptor_sets.cpp +++ b/attachments/23_descriptor_sets.cpp @@ -128,7 +128,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/24_texture_image.cpp b/attachments/24_texture_image.cpp index 5a622955..8102d9a5 100644 --- a/attachments/24_texture_image.cpp +++ b/attachments/24_texture_image.cpp @@ -134,7 +134,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/25_sampler.cpp b/attachments/25_sampler.cpp index 9bff8a0b..9da50b9a 100644 --- a/attachments/25_sampler.cpp +++ b/attachments/25_sampler.cpp @@ -136,7 +136,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/26_texture_mapping.cpp b/attachments/26_texture_mapping.cpp index b5d67f96..0bd8d168 100644 --- a/attachments/26_texture_mapping.cpp +++ b/attachments/26_texture_mapping.cpp @@ -138,7 +138,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/27_depth_buffering.cpp b/attachments/27_depth_buffering.cpp index 6fd30340..f0d2b321 100644 --- a/attachments/27_depth_buffering.cpp +++ b/attachments/27_depth_buffering.cpp @@ -149,7 +149,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/28_model_loading.cpp b/attachments/28_model_loading.cpp index adc3e40d..d34cd284 100644 --- a/attachments/28_model_loading.cpp +++ b/attachments/28_model_loading.cpp @@ -157,7 +157,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/29_mipmapping.cpp b/attachments/29_mipmapping.cpp index 77347ebb..05bef431 100644 --- a/attachments/29_mipmapping.cpp +++ b/attachments/29_mipmapping.cpp @@ -158,7 +158,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/30_multisampling.cpp b/attachments/30_multisampling.cpp index 3c0b58b1..81eff850 100644 --- a/attachments/30_multisampling.cpp +++ b/attachments/30_multisampling.cpp @@ -163,7 +163,8 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/31_compute_shader.cpp b/attachments/31_compute_shader.cpp index 6b38a90a..72fe164d 100644 --- a/attachments/31_compute_shader.cpp +++ b/attachments/31_compute_shader.cpp @@ -130,7 +130,8 @@ class ComputeShaderApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/32_ecosystem_utilities.cpp b/attachments/32_ecosystem_utilities.cpp index 8fef1204..61b87166 100644 --- a/attachments/32_ecosystem_utilities.cpp +++ b/attachments/32_ecosystem_utilities.cpp @@ -172,7 +172,8 @@ class HelloTriangleApplication bool framebufferResized = false; std::vector requiredDeviceExtension = { - vk::KHRSwapchainExtensionName}; + vk::KHRSwapchainExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/33_vulkan_profiles.cpp b/attachments/33_vulkan_profiles.cpp index a0627897..819c14b7 100644 --- a/attachments/33_vulkan_profiles.cpp +++ b/attachments/33_vulkan_profiles.cpp @@ -165,7 +165,8 @@ class HelloTriangleApplication }; const std::vector requiredDeviceExtension = { - VK_KHR_SWAPCHAIN_EXTENSION_NAME}; + vk::KHRSwapchainExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/attachments/34_android.cpp b/attachments/34_android.cpp index ce26e3ca..418e9ce4 100644 --- a/attachments/34_android.cpp +++ b/attachments/34_android.cpp @@ -387,7 +387,8 @@ class HelloTriangleApplication // Required device extensions const std::vector deviceExtensions = { - VK_KHR_SWAPCHAIN_EXTENSION_NAME}; + vk::KHRSwapchainExtensionName, + vk::KHRShaderDrawParametersExtensionName}; // Initialize Vulkan void initVulkan() diff --git a/attachments/35_gltf_ktx.cpp b/attachments/35_gltf_ktx.cpp index 89b99135..a6db6752 100644 --- a/attachments/35_gltf_ktx.cpp +++ b/attachments/35_gltf_ktx.cpp @@ -322,7 +322,8 @@ class VulkanApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; #if PLATFORM_DESKTOP void initWindow() diff --git a/attachments/36_multiple_objects.cpp b/attachments/36_multiple_objects.cpp index 3949071b..05774b44 100644 --- a/attachments/36_multiple_objects.cpp +++ b/attachments/36_multiple_objects.cpp @@ -374,7 +374,8 @@ class VulkanApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; #if PLATFORM_DESKTOP void initWindow() diff --git a/attachments/37_multithreading.cpp b/attachments/37_multithreading.cpp index 90c60ff5..b4ba6c88 100644 --- a/attachments/37_multithreading.cpp +++ b/attachments/37_multithreading.cpp @@ -232,7 +232,8 @@ class MultithreadedApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRCreateRenderpass2ExtensionName, + vk::KHRShaderDrawParametersExtensionName}; // Helper functions [[nodiscard]] static std::vector getRequiredExtensions() diff --git a/attachments/38_ray_tracing.cpp b/attachments/38_ray_tracing.cpp index d091c4cb..74bc05da 100644 --- a/attachments/38_ray_tracing.cpp +++ b/attachments/38_ray_tracing.cpp @@ -231,7 +231,8 @@ class VulkanRaytracingApplication vk::KHRAccelerationStructureExtensionName, vk::KHRBufferDeviceAddressExtensionName, vk::KHRDeferredHostOperationsExtensionName, - vk::KHRRayQueryExtensionName}; + vk::KHRRayQueryExtensionName, + vk::KHRShaderDrawParametersExtensionName}; void initWindow() { diff --git a/en/03_Drawing_a_triangle/02_Graphics_pipeline_basics/01_Shader_modules.adoc b/en/03_Drawing_a_triangle/02_Graphics_pipeline_basics/01_Shader_modules.adoc index 86fa1795..66ea6dc4 100644 --- a/en/03_Drawing_a_triangle/02_Graphics_pipeline_basics/01_Shader_modules.adoc +++ b/en/03_Drawing_a_triangle/02_Graphics_pipeline_basics/01_Shader_modules.adoc @@ -520,13 +520,24 @@ Modifying the structure to suit the fragment shader is easy: vk::PipelineShaderStageCreateInfo fragShaderStageInfo{ .stage = vk::ShaderStageFlagBits::eFragment, .module = shaderModule, .pName = "fragMain" }; ---- -Finish by defining an array that contains these two structs, which we'll later use to reference them in the actual pipeline creation step. +Defining an array that contains these two structs, which we'll later use to reference them in the actual pipeline creation step. [,c++] ---- vk::PipelineShaderStageCreateInfo shaderStages[] = {vertShaderStageInfo, fragShaderStageInfo}; ---- +Finish by adding DrawParameters to the deviceExtensions. Otherwise the +validation layers will complain: + +[,c++] +---- +std::vector deviceExtensions = { + ... + vk::KHRShaderDrawParametersExtensionName +}; +---- + That's all there is describing the programmable stages of the pipeline. In the xref:./02_Fixed_functions.adoc[next chapter,] we'll look at the fixed-function stages. From 519a413e1126e0f16b16f61a6251c2f9f2b0780e Mon Sep 17 00:00:00 2001 From: Morten Kristiansen Date: Tue, 30 Dec 2025 21:06:04 +0100 Subject: [PATCH 2/2] Removed vk::KHRCreateRenderpass2ExtensionName as this is core since 1.2 and we use 1.4 --- attachments/03_physical_device_selection.cpp | 3 +-- attachments/04_logical_device.cpp | 3 +-- attachments/05_window_surface.cpp | 3 +-- attachments/06_swap_chain_creation.cpp | 3 +-- attachments/07_image_views.cpp | 3 +-- attachments/08_graphics_pipeline.cpp | 3 +-- attachments/09_shader_modules.cpp | 1 - attachments/10_fixed_functions.cpp | 1 - attachments/12_graphics_pipeline_complete.cpp | 1 - attachments/14_command_buffers.cpp | 1 - attachments/15_hello_triangle.cpp | 1 - attachments/16_frames_in_flight.cpp | 1 - attachments/17_swap_chain_recreation.cpp | 1 - attachments/18_vertex_input.cpp | 1 - attachments/19_vertex_buffer.cpp | 1 - attachments/20_staging_buffer.cpp | 1 - attachments/21_index_buffer.cpp | 1 - attachments/22_descriptor_layout.cpp | 1 - attachments/23_descriptor_sets.cpp | 1 - attachments/24_texture_image.cpp | 1 - attachments/25_sampler.cpp | 1 - attachments/26_texture_mapping.cpp | 1 - attachments/27_depth_buffering.cpp | 1 - attachments/28_model_loading.cpp | 1 - attachments/29_mipmapping.cpp | 1 - attachments/30_multisampling.cpp | 1 - attachments/31_compute_shader.cpp | 1 - attachments/35_gltf_ktx.cpp | 1 - attachments/36_multiple_objects.cpp | 1 - attachments/37_multithreading.cpp | 1 - attachments/38_ray_tracing.cpp | 1 - 31 files changed, 6 insertions(+), 37 deletions(-) diff --git a/attachments/03_physical_device_selection.cpp b/attachments/03_physical_device_selection.cpp index 5cc61133..497e23f3 100644 --- a/attachments/03_physical_device_selection.cpp +++ b/attachments/03_physical_device_selection.cpp @@ -50,8 +50,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/04_logical_device.cpp b/attachments/04_logical_device.cpp index 66da648d..c66110e3 100644 --- a/attachments/04_logical_device.cpp +++ b/attachments/04_logical_device.cpp @@ -54,8 +54,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/05_window_surface.cpp b/attachments/05_window_surface.cpp index 4fbc4932..f7de5115 100644 --- a/attachments/05_window_surface.cpp +++ b/attachments/05_window_surface.cpp @@ -51,8 +51,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/06_swap_chain_creation.cpp b/attachments/06_swap_chain_creation.cpp index 424bf0f2..f0a8bae7 100644 --- a/attachments/06_swap_chain_creation.cpp +++ b/attachments/06_swap_chain_creation.cpp @@ -58,8 +58,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/07_image_views.cpp b/attachments/07_image_views.cpp index c2a2a8e8..fe54db8c 100644 --- a/attachments/07_image_views.cpp +++ b/attachments/07_image_views.cpp @@ -58,8 +58,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/08_graphics_pipeline.cpp b/attachments/08_graphics_pipeline.cpp index 8c6a60c8..a5e7264e 100644 --- a/attachments/08_graphics_pipeline.cpp +++ b/attachments/08_graphics_pipeline.cpp @@ -58,8 +58,7 @@ class HelloTriangleApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, - vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName}; + vk::KHRSynchronization2ExtensionName}; void initWindow() { diff --git a/attachments/09_shader_modules.cpp b/attachments/09_shader_modules.cpp index 1e968155..0840fc4b 100644 --- a/attachments/09_shader_modules.cpp +++ b/attachments/09_shader_modules.cpp @@ -60,7 +60,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/10_fixed_functions.cpp b/attachments/10_fixed_functions.cpp index f4a9a004..1f3fe446 100644 --- a/attachments/10_fixed_functions.cpp +++ b/attachments/10_fixed_functions.cpp @@ -62,7 +62,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/12_graphics_pipeline_complete.cpp b/attachments/12_graphics_pipeline_complete.cpp index 5b0bc335..4a0872c5 100644 --- a/attachments/12_graphics_pipeline_complete.cpp +++ b/attachments/12_graphics_pipeline_complete.cpp @@ -63,7 +63,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/14_command_buffers.cpp b/attachments/14_command_buffers.cpp index 4b4902f1..d4c44990 100644 --- a/attachments/14_command_buffers.cpp +++ b/attachments/14_command_buffers.cpp @@ -66,7 +66,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/15_hello_triangle.cpp b/attachments/15_hello_triangle.cpp index c34582f4..56f2ed4d 100644 --- a/attachments/15_hello_triangle.cpp +++ b/attachments/15_hello_triangle.cpp @@ -71,7 +71,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/16_frames_in_flight.cpp b/attachments/16_frames_in_flight.cpp index c12983b9..8b4f350c 100644 --- a/attachments/16_frames_in_flight.cpp +++ b/attachments/16_frames_in_flight.cpp @@ -73,7 +73,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/17_swap_chain_recreation.cpp b/attachments/17_swap_chain_recreation.cpp index 6b994540..3032cc5a 100644 --- a/attachments/17_swap_chain_recreation.cpp +++ b/attachments/17_swap_chain_recreation.cpp @@ -75,7 +75,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/18_vertex_input.cpp b/attachments/18_vertex_input.cpp index 2af607c1..fd99e2fc 100644 --- a/attachments/18_vertex_input.cpp +++ b/attachments/18_vertex_input.cpp @@ -100,7 +100,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/19_vertex_buffer.cpp b/attachments/19_vertex_buffer.cpp index c39c4fe2..e0c7b49a 100644 --- a/attachments/19_vertex_buffer.cpp +++ b/attachments/19_vertex_buffer.cpp @@ -103,7 +103,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/20_staging_buffer.cpp b/attachments/20_staging_buffer.cpp index 5b909b04..66ff3101 100644 --- a/attachments/20_staging_buffer.cpp +++ b/attachments/20_staging_buffer.cpp @@ -103,7 +103,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/21_index_buffer.cpp b/attachments/21_index_buffer.cpp index af9d1bc4..4d7132ac 100644 --- a/attachments/21_index_buffer.cpp +++ b/attachments/21_index_buffer.cpp @@ -109,7 +109,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/22_descriptor_layout.cpp b/attachments/22_descriptor_layout.cpp index 2dfb4e1a..75bf461d 100644 --- a/attachments/22_descriptor_layout.cpp +++ b/attachments/22_descriptor_layout.cpp @@ -125,7 +125,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/23_descriptor_sets.cpp b/attachments/23_descriptor_sets.cpp index cbaa5cf2..ead9fb1d 100644 --- a/attachments/23_descriptor_sets.cpp +++ b/attachments/23_descriptor_sets.cpp @@ -128,7 +128,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/24_texture_image.cpp b/attachments/24_texture_image.cpp index 8102d9a5..6e608bbb 100644 --- a/attachments/24_texture_image.cpp +++ b/attachments/24_texture_image.cpp @@ -134,7 +134,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/25_sampler.cpp b/attachments/25_sampler.cpp index 9da50b9a..edbbd448 100644 --- a/attachments/25_sampler.cpp +++ b/attachments/25_sampler.cpp @@ -136,7 +136,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/26_texture_mapping.cpp b/attachments/26_texture_mapping.cpp index 0bd8d168..568d1caf 100644 --- a/attachments/26_texture_mapping.cpp +++ b/attachments/26_texture_mapping.cpp @@ -138,7 +138,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/27_depth_buffering.cpp b/attachments/27_depth_buffering.cpp index f0d2b321..17522c1c 100644 --- a/attachments/27_depth_buffering.cpp +++ b/attachments/27_depth_buffering.cpp @@ -149,7 +149,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/28_model_loading.cpp b/attachments/28_model_loading.cpp index d34cd284..ab3b2842 100644 --- a/attachments/28_model_loading.cpp +++ b/attachments/28_model_loading.cpp @@ -157,7 +157,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/29_mipmapping.cpp b/attachments/29_mipmapping.cpp index 05bef431..7f2cab82 100644 --- a/attachments/29_mipmapping.cpp +++ b/attachments/29_mipmapping.cpp @@ -158,7 +158,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/30_multisampling.cpp b/attachments/30_multisampling.cpp index 81eff850..6b69d82d 100644 --- a/attachments/30_multisampling.cpp +++ b/attachments/30_multisampling.cpp @@ -163,7 +163,6 @@ class HelloTriangleApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/31_compute_shader.cpp b/attachments/31_compute_shader.cpp index 72fe164d..ea26054f 100644 --- a/attachments/31_compute_shader.cpp +++ b/attachments/31_compute_shader.cpp @@ -130,7 +130,6 @@ class ComputeShaderApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; void initWindow() diff --git a/attachments/35_gltf_ktx.cpp b/attachments/35_gltf_ktx.cpp index a6db6752..3f289ca0 100644 --- a/attachments/35_gltf_ktx.cpp +++ b/attachments/35_gltf_ktx.cpp @@ -322,7 +322,6 @@ class VulkanApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; #if PLATFORM_DESKTOP diff --git a/attachments/36_multiple_objects.cpp b/attachments/36_multiple_objects.cpp index 05774b44..6667f068 100644 --- a/attachments/36_multiple_objects.cpp +++ b/attachments/36_multiple_objects.cpp @@ -374,7 +374,6 @@ class VulkanApplication std::vector requiredDeviceExtension = { vk::KHRSwapchainExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; #if PLATFORM_DESKTOP diff --git a/attachments/37_multithreading.cpp b/attachments/37_multithreading.cpp index b4ba6c88..a631037a 100644 --- a/attachments/37_multithreading.cpp +++ b/attachments/37_multithreading.cpp @@ -232,7 +232,6 @@ class MultithreadedApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRShaderDrawParametersExtensionName}; // Helper functions diff --git a/attachments/38_ray_tracing.cpp b/attachments/38_ray_tracing.cpp index 74bc05da..d6115b6f 100644 --- a/attachments/38_ray_tracing.cpp +++ b/attachments/38_ray_tracing.cpp @@ -227,7 +227,6 @@ class VulkanRaytracingApplication vk::KHRSwapchainExtensionName, vk::KHRSpirv14ExtensionName, vk::KHRSynchronization2ExtensionName, - vk::KHRCreateRenderpass2ExtensionName, vk::KHRAccelerationStructureExtensionName, vk::KHRBufferDeviceAddressExtensionName, vk::KHRDeferredHostOperationsExtensionName,