Skip to content

Commit b114fb6

Browse files
committed
Ported changes to chapters 10 to 17. Other chapters don't need that.
1 parent 1616d27 commit b114fb6

File tree

6 files changed

+75
-18
lines changed

6 files changed

+75
-18
lines changed

attachments/10_fixed_functions.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,12 @@ class HelloTriangleApplication {
193193
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
194194
} );
195195

196-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
197-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
196+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
197+
vk::PhysicalDeviceVulkan11Features,
198+
vk::PhysicalDeviceVulkan13Features,
199+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
200+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
201+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
198202
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
199203

200204
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -230,8 +234,13 @@ class HelloTriangleApplication {
230234
}
231235

232236
// query for Vulkan 1.3 features
233-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
237+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
238+
vk::PhysicalDeviceVulkan11Features,
239+
vk::PhysicalDeviceVulkan13Features,
240+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
241+
featureChain = {
234242
{}, // vk::PhysicalDeviceFeatures2
243+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
235244
{.dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
236245
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
237246
};

attachments/12_graphics_pipeline_complete.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,12 @@ class HelloTriangleApplication {
194194
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
195195
} );
196196

197-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
198-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
197+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
198+
vk::PhysicalDeviceVulkan11Features,
199+
vk::PhysicalDeviceVulkan13Features,
200+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
201+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
202+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
199203
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
200204

201205
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -231,8 +235,13 @@ class HelloTriangleApplication {
231235
}
232236

233237
// query for Vulkan 1.3 features
234-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
238+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
239+
vk::PhysicalDeviceVulkan11Features,
240+
vk::PhysicalDeviceVulkan13Features,
241+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
242+
featureChain = {
235243
{}, // vk::PhysicalDeviceFeatures2
244+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
236245
{.dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
237246
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
238247
};

attachments/14_command_buffers.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,12 @@ class HelloTriangleApplication {
199199
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
200200
} );
201201

202-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
203-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
202+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
203+
vk::PhysicalDeviceVulkan11Features,
204+
vk::PhysicalDeviceVulkan13Features,
205+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
206+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
207+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
204208
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
205209

206210
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -235,8 +239,13 @@ class HelloTriangleApplication {
235239
}
236240

237241
// query for Vulkan 1.3 features
238-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
242+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
243+
vk::PhysicalDeviceVulkan11Features,
244+
vk::PhysicalDeviceVulkan13Features,
245+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
246+
featureChain = {
239247
{}, // vk::PhysicalDeviceFeatures2
248+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
240249
{.dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
241250
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
242251
};

attachments/15_hello_triangle.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,13 @@ class HelloTriangleApplication {
208208
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
209209
} );
210210

211-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
212-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
211+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
212+
vk::PhysicalDeviceVulkan11Features,
213+
vk::PhysicalDeviceVulkan13Features,
214+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
215+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
216+
features.template get<vk::PhysicalDeviceVulkan13Features>().synchronization2 &&
217+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
213218
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
214219

215220
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -244,8 +249,13 @@ class HelloTriangleApplication {
244249
}
245250

246251
// query for Vulkan 1.3 features
247-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
252+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
253+
vk::PhysicalDeviceVulkan11Features,
254+
vk::PhysicalDeviceVulkan13Features,
255+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
256+
featureChain = {
248257
{}, // vk::PhysicalDeviceFeatures2
258+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
249259
{.synchronization2 = true, .dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
250260
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
251261
};

attachments/16_frames_in_flight.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,13 @@ class HelloTriangleApplication {
212212
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
213213
} );
214214

215-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
216-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
215+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
216+
vk::PhysicalDeviceVulkan11Features,
217+
vk::PhysicalDeviceVulkan13Features,
218+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
219+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
220+
features.template get<vk::PhysicalDeviceVulkan13Features>().synchronization2 &&
221+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
217222
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
218223

219224
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -248,8 +253,13 @@ class HelloTriangleApplication {
248253
}
249254

250255
// query for Vulkan 1.3 features
251-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
256+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
257+
vk::PhysicalDeviceVulkan11Features,
258+
vk::PhysicalDeviceVulkan13Features,
259+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
260+
featureChain = {
252261
{}, // vk::PhysicalDeviceFeatures2
262+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
253263
{.synchronization2 = true, .dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
254264
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
255265
};

attachments/17_swap_chain_recreation.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,13 @@ class HelloTriangleApplication {
239239
{ return strcmp( availableDeviceExtension.extensionName, requiredDeviceExtension ) == 0; } );
240240
} );
241241

242-
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
243-
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
242+
auto features = device.template getFeatures2<vk::PhysicalDeviceFeatures2,
243+
vk::PhysicalDeviceVulkan11Features,
244+
vk::PhysicalDeviceVulkan13Features,
245+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>();
246+
bool supportsRequiredFeatures = features.template get<vk::PhysicalDeviceVulkan11Features>().shaderDrawParameters &&
247+
features.template get<vk::PhysicalDeviceVulkan13Features>().synchronization2 &&
248+
features.template get<vk::PhysicalDeviceVulkan13Features>().dynamicRendering &&
244249
features.template get<vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>().extendedDynamicState;
245250

246251
return supportsVulkan1_3 && supportsGraphics && supportsAllRequiredExtensions && supportsRequiredFeatures;
@@ -275,8 +280,13 @@ class HelloTriangleApplication {
275280
}
276281

277282
// query for Vulkan 1.3 features
278-
vk::StructureChain<vk::PhysicalDeviceFeatures2, vk::PhysicalDeviceVulkan13Features, vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT> featureChain = {
283+
vk::StructureChain<vk::PhysicalDeviceFeatures2,
284+
vk::PhysicalDeviceVulkan11Features,
285+
vk::PhysicalDeviceVulkan13Features,
286+
vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT>
287+
featureChain = {
279288
{}, // vk::PhysicalDeviceFeatures2
289+
{.shaderDrawParameters = true }, // vk::PhysicalDeviceVulkan11Features
280290
{.synchronization2 = true, .dynamicRendering = true }, // vk::PhysicalDeviceVulkan13Features
281291
{.extendedDynamicState = true } // vk::PhysicalDeviceExtendedDynamicStateFeaturesEXT
282292
};

0 commit comments

Comments
 (0)