Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing image name in queue submit sync. validation message for layout transition #9278

Open
glebov-andrey opened this issue Jan 21, 2025 · 1 comment
Assignees
Labels
Synchronization Synchronization Validation Object Issue

Comments

@glebov-andrey
Copy link

Environment:

  • SDK or header version if building from repo: current main (760b853)
  • Options enabled (synchronization, best practices, etc.): synchronization

Describe the Issue

This appears to be either a regression or incomplete implementation for #8139 (implemented in #8844).

A submit-time sync. validation error is reported without VkImage handles or names, e.g.

Validation Error: [ SYNC-HAZARD-WRITE-AFTER-WRITE ] Object 0: handle = 0x2b4953b7b40, name = Graphics queue, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x5c0ec5d6 | vkQueueSubmit2(): Hazard WRITE_AFTER_WRITE for entry 0, VkCommandBuffer 0x2b4d0b5cf60[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier2, debug_region: async graphics tasks). Access info (prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, queue: VkQueue 0x2b490fbddb0[Async compute queue], submit: 126, batch: 0, command: vkCmdPipelineBarrier2, command_buffer: VkCommandBuffer 0x2b4a500e330[], debug_region: async compute tasks).

Expected behavior

The VkImage handle and name (if present) is reported.

Additional context

Stack trace
[VkLayer_khronos_validation.dll] DebugReport::DebugLogMsg(unsigned int, const LogObjectList &, const char *, const char *) logging.cpp:256
[VkLayer_khronos_validation.dll] DebugReport::LogMsg(unsigned int, const LogObjectList &, const Location &, basic_string_view<char, std::char_traits<char> >, const char *, char *) logging.cpp:666
[VkLayer_khronos_validation.dll] Logger::LogError(basic_string_view<char,std::char_traits<char> >,const LogObjectList &,const Location &,const char *,...) logging.h:269
[VkLayer_khronos_validation.dll] SyncValidator::SyncError(SyncHazard, const LogObjectList &, const Location &, const std::string &) sync_validation.cpp:44
[VkLayer_khronos_validation.dll] ReplayState::DetectFirstUseHazard(const sparse_container::range<unsigned __int64> &) sync_op.cpp:1237
[VkLayer_khronos_validation.dll] SyncOpPipelineBarrier::ReplayValidate(ReplayState &, unsigned long long) sync_op.cpp:377
[VkLayer_khronos_validation.dll] ReplayState::ValidateFirstUse() sync_op.cpp:1255
[VkLayer_khronos_validation.dll] QueueBatchContext::ValidateSubmit(const std::vector<std::shared_ptr<const syncval_state::CommandBuffer> > &, unsigned long long, unsigned int, std::vector<std::string> &, const ErrorObject &) sync_submit.cpp:631
[VkLayer_khronos_validation.dll] SyncValidator::ValidateQueueSubmit(VkQueue_T *, unsigned int, const VkSubmitInfo2 *, VkFence_T *, const ErrorObject &) sync_validation.cpp:3276
[VkLayer_khronos_validation.dll] SyncValidator::PreCallValidateQueueSubmit2(VkQueue_T *, unsigned int, const VkSubmitInfo2 *, VkFence_T *, const ErrorObject &) sync_validation.cpp:3441
[VkLayer_khronos_validation.dll] vulkan_layer_chassis::QueueSubmit2(VkQueue_T *, unsigned int, const VkSubmitInfo2 *, VkFence_T *) chassis.cpp:6509

@artem-lunarg artem-lunarg added the Synchronization Synchronization Validation Object Issue label Jan 21, 2025
@artem-lunarg artem-lunarg self-assigned this Jan 21, 2025
@artem-lunarg
Copy link
Contributor

artem-lunarg commented Jan 22, 2025

Yes, it's incomplete implementation. Layout transition it's a different codepath which ideally needs some cleanup at first. Trying to come up with some temporary solution.

UPDATE: might be not so easy to do, will target the next SDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Synchronization Synchronization Validation Object Issue
Projects
None yet
Development

No branches or pull requests

2 participants