if (!pPropertyCount) {
skipCall |= LOG_ERROR_NULL_POINTER(VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pPhysicalDevice->pInstance, "pPropertyCount");
}
+ // TODO add check for the count being consistent
lock.unlock();
if (!skipCall) {
if (!pPropertyCount) {
skipCall |= LOG_ERROR_NULL_POINTER(VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pPhysicalDevice->pInstance, "pPropertyCount");
}
+ // TODO add check for the count being consistent
lock.unlock();
if (!skipCall) {
pPhysicalDevice->displayPlanePropertyCount = *pPropertyCount;
pPhysicalDevice->gotDisplayPlanePropertyCount = true;
}
+ // TODO store the properties for later checks
lock.unlock();
return result;
if (!pDisplayCount) {
skipCall |= LOG_ERROR_NULL_POINTER(VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pPhysicalDevice->pInstance, "pDisplayCount");
}
+ // TODO add check for the count being consistent
if (!pPhysicalDevice->gotDisplayPlanePropertyCount)
{
return result;
}
+ // TODO validate the returned display objects
return VK_ERROR_VALIDATION_FAILED_EXT;
}
if (!pPropertyCount) {
skipCall |= LOG_ERROR_NULL_POINTER(VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pPhysicalDevice->pInstance, "pPropertyCount");
}
+ // TODO add check for the count being consistent
lock.unlock();
if (!skipCall) {
result = my_data->instance_dispatch_table->GetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties);
return result;
}
+ // TODO store the displayMode for later checking
return VK_ERROR_VALIDATION_FAILED_EXT;
}
}
lock.unlock();
+ // TODO more validation checks needed
if (!skipCall) {
result = my_data->instance_dispatch_table->CreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode);
return result;
}
}
+ // TODO more validation checks
if (!skipCall) {
// Call down the call chain:
lock.unlock();