| 20 | struct NegativeSyncValReporting : public VkSyncValTest {}; |
| 21 | |
| 22 | TEST_F(NegativeSyncValReporting, DebugRegion) { |
| 23 | TEST_DESCRIPTION("Prior access debug region reporting: single debug region"); |
| 24 | |
| 25 | AddRequiredExtensions(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); |
| 26 | RETURN_IF_SKIP(InitSyncValFramework()); |
| 27 | RETURN_IF_SKIP(InitState()); |
| 28 | |
| 29 | const VkBufferUsageFlags buffer_usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; |
| 30 | vkt::Buffer buffer_a(*m_device, 256, buffer_usage); |
| 31 | vkt::Buffer buffer_b(*m_device, 256, buffer_usage); |
| 32 | vkt::Buffer buffer_c(*m_device, 256, buffer_usage); |
| 33 | VkDebugUtilsLabelEXT label = vku::InitStructHelper(); |
| 34 | |
| 35 | m_command_buffer.Begin(); |
| 36 | label.pLabelName = "RegionA"; |
| 37 | vk::CmdBeginDebugUtilsLabelEXT(m_command_buffer, &label); |
| 38 | m_command_buffer.Copy(buffer_a, buffer_b); |
| 39 | |
| 40 | m_errorMonitor->SetDesiredError("RegionA"); |
| 41 | m_command_buffer.Copy(buffer_c, buffer_a); |
| 42 | m_errorMonitor->VerifyFound(); // SYNC-HAZARD-WRITE-AFTER-READ error message |
| 43 | |
| 44 | vk::CmdEndDebugUtilsLabelEXT(m_command_buffer); |
| 45 | m_command_buffer.End(); |
| 46 | } |
| 47 | |
| 48 | TEST_F(NegativeSyncValReporting, DebugRegion2) { |
| 49 | TEST_DESCRIPTION("Prior access debug region reporting: two nested debug regions"); |
nothing calls this directly
no test coverage detected