Some old versions of the C++ STL have a few bugs with advanced features.
This works around two such issues:
- std::unordered_map::const_reference having the wrong type
- an error with an explicit std::vector constructor
// to present to any native window on Android; require the
// application to have established support on any other platform.
if (!dev_data->instance_data->extensions.vk_khr_android_surface) {
- auto support_predicate = [dev_data](decltype(surface_state->gpu_queue_support)::const_reference qs) -> bool {
+ auto support_predicate = [dev_data](decltype(surface_state->gpu_queue_support)::value_type qs) -> bool {
// TODO: should restrict search only to queue families of VkDeviceQueueCreateInfos, not whole phys. device
return (qs.first.gpu == dev_data->physical_device) && qs.second;
};
lock.lock();
- validate_result(my_instance_data->report_data, "vkCreateDevice", {}, result);
+ std::vector<VkResult> empty_vec;
+ validate_result(my_instance_data->report_data, "vkCreateDevice", empty_vec, result);
if (result == VK_SUCCESS) {
layer_data *my_device_data = GetLayerDataPtr(get_dispatch_key(*pDevice), layer_data_map);