Swapchain: Change way p*Count is checked--make sure not bigger than should be.
diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp
index 7c19c27..3441c95 100644
--- a/layers/swapchain.cpp
+++ b/layers/swapchain.cpp
@@ -1001,11 +1001,12 @@
pSurfaceFormatCount) {
// Compare the preliminary value of *pSurfaceFormatCount with the
// value this time:
- if (*pSurfaceFormatCount != pPhysicalDevice->surfaceFormatCount) {
+ if (*pSurfaceFormatCount > pPhysicalDevice->surfaceFormatCount) {
LOG_ERROR_INVALID_COUNT(VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
physicalDevice,
"pSurfaceFormatCount",
"pSurfaceFormats",
+ *pSurfaceFormatCount,
pPhysicalDevice->surfaceFormatCount);
}
else if (*pSurfaceFormatCount > 0) {
@@ -1069,11 +1070,12 @@
pPresentModeCount) {
// Compare the preliminary value of *pPresentModeCount with the
// value this time:
- if (*pPresentModeCount != pPhysicalDevice->presentModeCount) {
+ if (*pPresentModeCount > pPhysicalDevice->presentModeCount) {
LOG_ERROR_INVALID_COUNT(VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT,
physicalDevice,
"pPresentModeCount",
"pPresentModes",
+ *pPresentModeCount,
pPhysicalDevice->presentModeCount);
}
else if (*pPresentModeCount > 0) {
@@ -1579,11 +1581,12 @@
pSwapchainImageCount) {
// Compare the preliminary value of *pSwapchainImageCount with the
// value this time:
- if (*pSwapchainImageCount != pSwapchain->imageCount) {
+ if (*pSwapchainImageCount > pSwapchain->imageCount) {
LOG_ERROR_INVALID_COUNT(VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT,
device,
"pSwapchainImageCount",
"pSwapchainImages",
+ *pSwapchainImageCount,
pSwapchain->imageCount);
}
else if (*pSwapchainImageCount > 0) {