diff options
| author | Tobin Ehlis <tobine@google.com> | 2017-07-19 10:41:29 -0600 |
|---|---|---|
| committer | Tobin Ehlis <tobine@google.com> | 2017-07-19 15:25:08 -0600 |
| commit | 00ce8bd1194626aa64e20b387e5aed4597683fe4 (patch) | |
| tree | 550c0db67d25fd8a405f8be72ebbbd6aed42a2f5 /layers/core_validation.cpp | |
| parent | 7aaa6ddc6fa8bfc0ca233762dd394fe809c03942 (diff) | |
| download | usermoji-00ce8bd1194626aa64e20b387e5aed4597683fe4.tar.xz | |
layers:Validate bufferMemoryBarrierCount
This is VU VALIDATION_ERROR_1b800934.
For a barrier in renderPass, bufferMemoryBarrierCount must be zero.
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index af91ef4c..7c812082 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -6160,8 +6160,8 @@ static VkPipelineStageFlags ExpandPipelineStageFlags(VkPipelineStageFlags inflag static bool ValidateRenderPassPipelineBarriers(layer_data *device_data, const char *funcName, GLOBAL_CB_NODE const *cb_state, VkPipelineStageFlags src_stage_mask, VkPipelineStageFlags dst_stage_mask, VkDependencyFlags dependency_flags, uint32_t mem_barrier_count, - const VkMemoryBarrier *mem_barriers, uint32_t bufferBarrierCount, - const VkBufferMemoryBarrier *pBufferMemBarriers, uint32_t imageMemBarrierCount, + const VkMemoryBarrier *mem_barriers, uint32_t buffer_mem_barrier_count, + const VkBufferMemoryBarrier *pBufferMemBarriers, uint32_t image_mem_barrier_count, const VkImageMemoryBarrier *pImageMemBarriers) { bool skip = false; auto rp_state = cb_state->activeRenderPass; @@ -6197,6 +6197,14 @@ static bool ValidateRenderPassPipelineBarriers(layer_data *device_data, const ch } const auto &sub_src_access_mask = sub_dep.srcAccessMask; const auto &sub_dst_access_mask = sub_dep.dstAccessMask; + if (0 != buffer_mem_barrier_count) { + skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, + rp_handle, __LINE__, VALIDATION_ERROR_1b800934, "CORE", + "%s: bufferMemoryBarrierCount is non-zero (%d) for " + "subpass %d of renderPass 0x%" PRIx64 ". %s", + funcName, buffer_mem_barrier_count, cb_state->activeSubpass, rp_handle, + validation_error_map[VALIDATION_ERROR_1b800934]); + } for (uint32_t i = 0; i < mem_barrier_count; ++i) { const auto &mb_src_access_mask = mem_barriers[i].srcAccessMask; if (mb_src_access_mask != (sub_src_access_mask & mb_src_access_mask)) { |
