Skip to content

Commit 268b7ba

Browse files
authored
Fix physical device selection (#29)
1 parent b34541f commit 268b7ba

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

apps/viewer/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ int main(int argc, char** argv) {
1515
parser, "validation-layers", "Enable Vulkan validation layers", {"validation"}
1616
};
1717
args::Flag verboseFlag{parser, "verbose", "Enable verbose logging", {'v', "verbose"}};
18-
args::ValueFlag<uint8_t> physicalDeviceIdFlag{
18+
args::ValueFlag<uint32_t> physicalDeviceIdFlag{
1919
parser, "physical-device", "Select physical device by index", {'d', "device"}
2020
};
2121
args::Flag immediateSwapchainFlag{
@@ -73,7 +73,7 @@ int main(int argc, char** argv) {
7373
}
7474

7575
if (physicalDeviceIdFlag) {
76-
config.physicalDeviceId = std::make_optional<uint8_t>(args::get(physicalDeviceIdFlag));
76+
config.physicalDeviceId = std::make_optional<uint8_t>(static_cast<uint8_t>(args::get(physicalDeviceIdFlag)));
7777
}
7878

7979
if (immediateSwapchainFlag) {

src/vulkan/VulkanContext.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ void VulkanContext::selectPhysicalDevice(std::optional<uint8_t> id, std::optiona
145145
spdlog::info("[{}] {}", ind++, device.getProperties().deviceName);
146146
}
147147

148+
if (surface.has_value()) {
149+
deviceExtensions.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
150+
}
151+
148152
if (id.has_value()) {
149153
if (devices.size() <= id.value()) {
150154
throw std::runtime_error("Invalid physical device id");
@@ -154,10 +158,6 @@ void VulkanContext::selectPhysicalDevice(std::optional<uint8_t> id, std::optiona
154158
return;
155159
}
156160

157-
if (surface.has_value()) {
158-
deviceExtensions.push_back(VK_KHR_SWAPCHAIN_EXTENSION_NAME);
159-
}
160-
161161
auto suitableDevices = std::vector<vk::PhysicalDevice>{};
162162
for (auto& device: devices) {
163163
if (isDeviceSuitable(device, surface)) {

0 commit comments

Comments
 (0)