diff options
Diffstat (limited to 'cube/cube.cpp')
| -rw-r--r-- | cube/cube.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cube/cube.cpp b/cube/cube.cpp index 94f91274..95dd5dc6 100644 --- a/cube/cube.cpp +++ b/cube/cube.cpp @@ -330,6 +330,7 @@ struct Demo { bool use_staging_buffer = false; bool use_xlib = false; bool separate_present_queue = false; + bool invalid_gpu_selection = false; int32_t gpu_number = 0; vk::Instance inst; @@ -902,7 +903,7 @@ void Demo::init(int argc, char **argv) { } if ((strcmp(argv[i], "--gpu_number") == 0) && (i < argc - 1)) { gpu_number = atoi(argv[i + 1]); - assert(gpu_number >= 0); + if (gpu_number < 0) invalid_gpu_selection = true; i++; continue; } @@ -1295,7 +1296,7 @@ void Demo::init_vk() { "vkEnumeratePhysicalDevices Failure"); } - if (gpu_number >= 0 && !(static_cast<uint32_t>(gpu_number) < physical_devices.size())) { + if (invalid_gpu_selection || (gpu_number >= 0 && !(static_cast<uint32_t>(gpu_number) < physical_devices.size()))) { fprintf(stderr, "GPU %d specified is not present, GPU count = %zu\n", gpu_number, physical_devices.size()); ERR_EXIT("Specified GPU number is not present", "User Error"); } |
