diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2017-10-09 15:12:11 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2017-10-10 09:31:09 -0600 |
| commit | 428703625afda968658a995ed41ec33b5a608cf8 (patch) | |
| tree | d37253dff2926bf712d0fec345b966f1bf730a8c /layers/buffer_validation.cpp | |
| parent | 4fd1896bba381da26f51ab3958a90d612c08e143 (diff) | |
| download | usermoji-428703625afda968658a995ed41ec33b5a608cf8.tar.xz | |
layers: Remove AccessMask->ImageLayout checks
Spec no longer calls out valid usage for image layouts related to
access masks.
Change-Id: Iedbe8689a0c3a569a4f7a473f801afae250c8256
Diffstat (limited to 'layers/buffer_validation.cpp')
| -rw-r--r-- | layers/buffer_validation.cpp | 67 |
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. |
