From dbf79952ff762f42331f82ba8dadfc276cc5d16e Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Tue, 7 Feb 2017 17:00:12 -0700 Subject: [PATCH] layers: Fix ValidateMaskBits routines for style Var names and clang-format. Change-Id: Ie125d03b808c40e35d6cf494230a48eb951195bc --- layers/buffer_validation.cpp | 152 +++++++++++++++++++++---------------------- layers/buffer_validation.h | 4 +- 2 files changed, 78 insertions(+), 78 deletions(-) diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp index 66525d3..8cb0eb5 100644 --- a/layers/buffer_validation.cpp +++ b/layers/buffer_validation.cpp @@ -1561,32 +1561,32 @@ static std::string string_VkAccessFlags(VkAccessFlags accessMask) { return result; } -// AccessFlags MUST have 'required_bit' set, and may have one or more of 'optional_bits' set. -// If required_bit is zero, accessMask must have at least one of 'optional_bits' set +// AccessFlags MUST have 'required_bit' set, and may have one or more of 'optional_bits' set. If required_bit is zero, accessMask +// must have at least one of 'optional_bits' set // TODO: Add tracking to ensure that at least one barrier has been set for these layout transitions -static bool ValidateMaskBits(core_validation::layer_data *my_data, VkCommandBuffer cmdBuffer, const VkAccessFlags &accessMask, - const VkImageLayout &layout, VkAccessFlags required_bit, VkAccessFlags optional_bits, - const char *type) { - const debug_report_data *report_data = core_validation::GetReportData(my_data); - bool skip_call = false; +static bool ValidateMaskBits(core_validation::layer_data *device_data, VkCommandBuffer cmdBuffer, const VkAccessFlags &accessMask, + const VkImageLayout &layout, VkAccessFlags required_bit, VkAccessFlags optional_bits, + const char *type) { + const debug_report_data *report_data = core_validation::GetReportData(device_data); + bool skip = false; if ((accessMask & required_bit) || (!required_bit && (accessMask & optional_bits))) { if (accessMask & ~(required_bit | optional_bits)) { // TODO: Verify against Valid Use - skip_call |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_INVALID_BARRIER, "DS", - "Additional bits in %s accessMask 0x%X %s are specified when layout is %s.", type, accessMask, - string_VkAccessFlags(accessMask).c_str(), string_VkImageLayout(layout)); + skip |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, + DRAWSTATE_INVALID_BARRIER, "DS", + "Additional bits in %s accessMask 0x%X %s are specified when layout is %s.", type, accessMask, + string_VkAccessFlags(accessMask).c_str(), string_VkImageLayout(layout)); } } else { if (!required_bit) { - skip_call |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_INVALID_BARRIER, "DS", - "%s AccessMask %d %s must contain at least one of access bits %d " - "%s when layout is %s, unless the app has previously added a " - "barrier for this transition.", - type, accessMask, string_VkAccessFlags(accessMask).c_str(), optional_bits, - string_VkAccessFlags(optional_bits).c_str(), string_VkImageLayout(layout)); + skip |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, + DRAWSTATE_INVALID_BARRIER, "DS", + "%s AccessMask %d %s must contain at least one of access bits %d " + "%s when layout is %s, unless the app has previously added a " + "barrier for this transition.", + type, accessMask, string_VkAccessFlags(accessMask).c_str(), optional_bits, + string_VkAccessFlags(optional_bits).c_str(), string_VkImageLayout(layout)); } else { std::string opt_bits; if (optional_bits != 0) { @@ -1594,70 +1594,70 @@ static bool ValidateMaskBits(core_validation::layer_data *my_data, VkCommandBuff ss << optional_bits; opt_bits = "and may have optional bits " + ss.str() + ' ' + string_VkAccessFlags(optional_bits); } - skip_call |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, - DRAWSTATE_INVALID_BARRIER, "DS", - "%s AccessMask %d %s must have required access bit %d %s %s when " - "layout is %s, unless the app has previously added a barrier for " - "this transition.", - type, accessMask, string_VkAccessFlags(accessMask).c_str(), required_bit, - string_VkAccessFlags(required_bit).c_str(), opt_bits.c_str(), string_VkImageLayout(layout)); + skip |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, + DRAWSTATE_INVALID_BARRIER, "DS", + "%s AccessMask %d %s must have required access bit %d %s %s when " + "layout is %s, unless the app has previously added a barrier for " + "this transition.", + type, accessMask, string_VkAccessFlags(accessMask).c_str(), required_bit, + string_VkAccessFlags(required_bit).c_str(), opt_bits.c_str(), string_VkImageLayout(layout)); } } - return skip_call; + return skip; } -bool ValidateMaskBitsFromLayouts(core_validation::layer_data *my_data, VkCommandBuffer cmdBuffer, const VkAccessFlags &accessMask, - const VkImageLayout &layout, const char *type) { - const debug_report_data *report_data = core_validation::GetReportData(my_data); +bool ValidateMaskBitsFromLayouts(core_validation::layer_data *device_data, VkCommandBuffer cmdBuffer, + const VkAccessFlags &accessMask, const VkImageLayout &layout, const char *type) { + const debug_report_data *report_data = core_validation::GetReportData(device_data); - bool skip_call = false; + bool skip = false; switch (layout) { - case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, - VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, type); - break; - } - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, - VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, type); - break; - } - case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, VK_ACCESS_TRANSFER_WRITE_BIT, 0, type); - break; - } - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: { - skip_call |= ValidateMaskBits( - my_data, cmdBuffer, accessMask, layout, 0, - VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, - type); - break; - } - case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, 0, - VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT, type); - break; - } - case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, VK_ACCESS_TRANSFER_READ_BIT, 0, type); - break; - } - case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: { - skip_call |= ValidateMaskBits(my_data, cmdBuffer, accessMask, layout, VK_ACCESS_MEMORY_READ_BIT, 0, type); - break; - } - case VK_IMAGE_LAYOUT_UNDEFINED: { - if (accessMask != 0) { - // TODO: Verify against Valid Use section spec - skip_call |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, - __LINE__, DRAWSTATE_INVALID_BARRIER, "DS", - "Additional bits in %s accessMask 0x%X %s are specified when layout is %s.", type, accessMask, - string_VkAccessFlags(accessMask).c_str(), string_VkImageLayout(layout)); + case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, type); + break; } - break; - } - case VK_IMAGE_LAYOUT_GENERAL: - default: { break; } + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, type); + break; + } + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, VK_ACCESS_TRANSFER_WRITE_BIT, 0, type); + break; + } + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: { + skip |= ValidateMaskBits( + device_data, cmdBuffer, accessMask, layout, 0, + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, + type); + break; + } + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, 0, + VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT, type); + break; + } + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, VK_ACCESS_TRANSFER_READ_BIT, 0, type); + break; + } + case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: { + skip |= ValidateMaskBits(device_data, cmdBuffer, accessMask, layout, VK_ACCESS_MEMORY_READ_BIT, 0, type); + break; + } + case VK_IMAGE_LAYOUT_UNDEFINED: { + if (accessMask != 0) { + // TODO: Verify against Valid Use section spec + skip |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0, __LINE__, + DRAWSTATE_INVALID_BARRIER, "DS", + "Additional bits in %s accessMask 0x%X %s are specified when layout is %s.", type, accessMask, + string_VkAccessFlags(accessMask).c_str(), string_VkImageLayout(layout)); + } + break; + } + case VK_IMAGE_LAYOUT_GENERAL: + default: { break; } } - return skip_call; + return skip; } diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h index f393e7e..e8a5754 100644 --- a/layers/buffer_validation.h +++ b/layers/buffer_validation.h @@ -142,7 +142,7 @@ void PreCallRecordCmdBlitImage(core_validation::layer_data *device_data, GLOBAL_ bool ValidateCmdBufImageLayouts(core_validation::layer_data *dev_data, GLOBAL_CB_NODE *pCB); -bool ValidateMaskBitsFromLayouts(core_validation::layer_data *my_data, VkCommandBuffer cmdBuffer, const VkAccessFlags &accessMask, - const VkImageLayout &layout, const char *type); +bool ValidateMaskBitsFromLayouts(core_validation::layer_data *device_data, VkCommandBuffer cmdBuffer, + const VkAccessFlags &accessMask, const VkImageLayout &layout, const char *type); #endif // CORE_VALIDATION_BUFFER_VALIDATION_H_ -- 2.7.4