Commit 6fcfc0b
[VK] Fix EnabledDeviceExtensions redefinition and drop on macOS build
Two local variables both named `EnabledDeviceExtensions` were declared in the same enclosing scope of `VulkanDevice::create`: one added by #1177 (mesh shader) and one added inside `#ifdef VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME` by #1195 (InterlockedOr). On platforms where the Vulkan SDK defines that macro (e.g. the macOS runner with Vulkan 1.4.335), clang rejects the file with `error: redefinition of 'EnabledDeviceExtensions' with a different type`.
Beyond the build break, the inner block also overwrote `DeviceInfo.enabledExtensionCount` and `ppEnabledExtensionNames` that the mesh-shader block had populated, silently dropping `VK_EXT_mesh_shader` whenever both extensions were available.
Append the AtomicInt64 extension to the single `EnabledDeviceExtensions` vector and assign the `DeviceInfo` extension fields once, after both blocks.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent a2e657a commit 6fcfc0b
1 file changed
Lines changed: 6 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1315 | 1315 | | |
1316 | 1316 | | |
1317 | 1317 | | |
1318 | | - | |
1319 | | - | |
1320 | | - | |
1321 | | - | |
1322 | | - | |
1323 | | - | |
1324 | 1318 | | |
1325 | | - | |
1326 | 1319 | | |
1327 | 1320 | | |
1328 | 1321 | | |
1329 | 1322 | | |
1330 | | - | |
1331 | | - | |
1332 | 1323 | | |
1333 | 1324 | | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
1334 | 1331 | | |
1335 | 1332 | | |
1336 | 1333 | | |
| |||
0 commit comments