aboutsummaryrefslogtreecommitdiff
path: root/layers/buffer_validation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layers/buffer_validation.cpp')
-rw-r--r--layers/buffer_validation.cpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index 59e1fc7b..e57e64c5 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -2716,73 +2716,6 @@ static bool ValidateMaskBits(core_validation::layer_data *device_data, VkCommand
return skip;
}
-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 = false;
- switch (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;
- }
- 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_UNDEFINED: {
- if (accessMask != 0) {
- // TODO: Verify against Valid Use section spec
- skip |= log_msg(report_data, VK_DEBUG_REPORT_WARNING_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
- HandleToUint64(cmdBuffer), __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_PRESENT_SRC_KHR:
- // Notes: QueuePresentKHR performs automatic visibility operations,
- // so the app is /NOT/ required to include VK_ACCESS_MEMORY_READ_BIT
- // when transitioning to this layout.
- //
- // When transitioning /from/ this layout, the application needs to
- // avoid only a WAR hazard -- any writes need to be ordered after
- // the PE's reads. There is no need for a memory dependency for this
- // case.
- // Intentionally fall through
-
- case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR:
- // Todo -- shouldn't be valid unless extension is enabled
- // Intentionally fall through
-
- case VK_IMAGE_LAYOUT_GENERAL:
- default: { break; }
- }
- return skip;
-}
-
// ValidateLayoutVsAttachmentDescription is a general function where we can validate various state associated with the
// VkAttachmentDescription structs that are used by the sub-passes of a renderpass. Initial check is to make sure that READ_ONLY
// layout attachments don't have CLEAR as their loadOp.