Skip to content

layers: Track debug names at object creation time - #12395

Open
arno-lunarg wants to merge 1 commit into
KhronosGroup:mainfrom
arno-lunarg:arno-debug-utils-new-state-tracking
Open

layers: Track debug names at object creation time#12395
arno-lunarg wants to merge 1 commit into
KhronosGroup:mainfrom
arno-lunarg:arno-debug-utils-new-state-tracking

Conversation

@arno-lunarg

@arno-lunarg arno-lunarg commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Closes #12393
Still need to handle VkDebugUtilsObjectTagInfoEXT

VVL does not use VkDebugUtilsObjectTagInfoEXT

@arno-lunarg
arno-lunarg requested a review from a team as a code owner June 9, 2026 10:18
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 765832.

@arno-lunarg
arno-lunarg force-pushed the arno-debug-utils-new-state-tracking branch from 44f40a1 to 4bc5e58 Compare June 9, 2026 10:19
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 765844.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23524 running.

if (name_info->pObjectName) {
debug_utils_object_name_map[object_handle] = name_info->pObjectName;
}
// Given this function is called at object creation time,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good call, should add a VU to just ban having a null pObjectName when passed in (forgot this was a feature of this extension)


from base_generator import BaseGenerator, SetOutputDirectory, SetTargetApiName, SetMergedApiNames, EnableCaching
_orig_endFile = BaseGenerator.endFile
def _patched_endFile(self):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a bit too crazy of a hack for my taste (also I want to make generate_source.py simpler to begin)

just add something to generator_utils.py that takes the self.vk.structs and returns it with the fields updated

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since it is a hack, goal is to make it simple to remove, having everything in one spot really helps, even though logic is insane

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

having everything in one spot really helps

ya, that is what generator_utils.py right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But then 2 files are modified at 2 spots, IMO it's more cumbersome to remove

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23524 passed.

@arno-lunarg
arno-lunarg force-pushed the arno-debug-utils-new-state-tracking branch from 4bc5e58 to ca275b5 Compare June 9, 2026 12:24
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 765974.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23527 running.

@arno-lunarg
arno-lunarg force-pushed the arno-debug-utils-new-state-tracking branch from ca275b5 to bc4cae0 Compare June 9, 2026 13:13
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 766073.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23528 running.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23528 failed.

@arno-lunarg
arno-lunarg force-pushed the arno-debug-utils-new-state-tracking branch from bc4cae0 to 926f06e Compare June 9, 2026 17:36
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 766812.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23531 running.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23531 aborted.

}
record_obj.result = result;

for (uint32_t i = 0; i < createInfoCount; ++i) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something I realized, with this, if we hit an error while creating the object, we now actually have the opportunity to provide a debug name at object creation time, which we could do if we had some way make it simple to search on an error message (like in LogError or something)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah piping down this new info to LogError is not straightforward

@arno-lunarg
arno-lunarg force-pushed the arno-debug-utils-new-state-tracking branch from 926f06e to 68b1347 Compare June 10, 2026 12:34
@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 767695.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23560 running.

@ci-tester-lunarg

Copy link
Copy Markdown
Collaborator

CI Vulkan-ValidationLayers build # 23560 passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Handle updates to debug utils NameInfo and TagInfo

3 participants