layers: Additional vkCreateImage param validation
Add more vkCreateImage parameter validation, based on the valid usage
section for VkImageCreateInfo.
Issues-Addressed: GitHub #354
Change-Id: Ia978a64f6c03c3cf115a07e707099253104e04a1
diff --git a/layers/parameter_validation_utils.h b/layers/parameter_validation_utils.h
index 6660ab3..1683f31 100644
--- a/layers/parameter_validation_utils.h
+++ b/layers/parameter_validation_utils.h
@@ -85,6 +85,32 @@
}
/**
+* Validate a minimum value.
+*
+* Verify that the specified value is greater than the specified lower bound.
+*
+* @param report_data debug_report_data object for routing validation messages.
+* @param api_name Name of API call being validated.
+* @param parameter_name Name of parameter being validated.
+* @param value Value to validate.
+* @param lower_bound Lower bound value to use for validation.
+* @return Boolean value indicating that the call should be skipped.
+*/
+template <typename T>
+bool ValidateGreaterThan(debug_report_data *report_data, const char *api_name, const char *parameter_name, T value,
+ T lower_bound) {
+ bool skip_call = false;
+
+ if (value <= lower_bound) {
+ skip_call |=
+ log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, 1,
+ LayerName, "%s: parameter %s must be greater than %d", api_name, parameter_name, lower_bound);
+ }
+
+ return skip_call;
+}
+
+/**
* Validate a required pointer.
*
* Verify that a required pointer is not NULL.