From 37c4c06347ad58d2a259b693e17efc7d646449fc Mon Sep 17 00:00:00 2001 From: Dustin Graves Date: Wed, 11 May 2016 18:31:44 -0600 Subject: 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 --- layers/parameter_validation_utils.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'layers/parameter_validation_utils.h') diff --git a/layers/parameter_validation_utils.h b/layers/parameter_validation_utils.h index 6660ab3d..1683f31f 100644 --- a/layers/parameter_validation_utils.h +++ b/layers/parameter_validation_utils.h @@ -84,6 +84,32 @@ template <> bool is_extension_added_token(VkSamplerAddressMode value) { return (result || (value == VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE)); } +/** +* 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 +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. * -- cgit v1.2.3