Skip to content

Conversation

@marius-pelegrin-arm
Copy link
Contributor

When the captured application enumerates physical devices multiple times, the VulkanPhysicalDeviceInfo instances get overwritten as many times in the table.
This leads to data acquired after the enumeration to be lost because the VulkanPhysicalDeviceInfo instances are not copied before being overwritten.

This is what this commit attempts to fix.

@marius-pelegrin-arm marius-pelegrin-arm requested a review from a team as a code owner January 26, 2026 10:43
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 632169.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8694 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8694 passed.

@marius-pelegrin-arm
Copy link
Contributor Author

I could detect the bug with TraceToolTest vulkan_multidevice_1 (https://github.com/ARM-software/tracetooltests/blob/main/src/vulkan_multidevice_1.cpp)

But it was not deterministic and would succeed/fail depending on the device tested. I t can still be a good base to write a test,

@marius-pelegrin-arm
Copy link
Contributor Author

I will still try to come up with a better matching between newly enumerated physical devices and the existing ones in the vulkan object info table.

@marius-pelegrin-arm marius-pelegrin-arm marked this pull request as draft January 27, 2026 09:51
@marius-pelegrin-arm marius-pelegrin-arm force-pushed the fix-device-enumeration-override branch from c0d1c0e to 3b237f4 Compare January 27, 2026 12:05
@marius-pelegrin-arm marius-pelegrin-arm marked this pull request as ready for review January 27, 2026 12:06
@marius-pelegrin-arm
Copy link
Contributor Author

Here you go, I copy the VulkanPhysicalDeviceInfo based on the handle being the same as the "new" handle =)

When the captured application enumerates physical devices multiple
times, the `VulkanPhysicalDeviceInfo` instances get overwritten as
many times in the table.
This leads to data acquired after the enumeration to be lost
because the `VulkanPhysicalDeviceInfo` instances are not copied
before being overwritten.

This is what this commit attempts to fix.

Change-Id: I3238b30fd3bb1283d6b375499e61dbec10e18b05
@MarkY-LunarG MarkY-LunarG force-pushed the fix-device-enumeration-override branch from 3b237f4 to 271e526 Compare January 28, 2026 23:05
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 634806.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8732 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8732 passed.

Copy link
Contributor

@MarkY-LunarG MarkY-LunarG left a comment

Choose a reason for hiding this comment

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

LGTM. Small request, just put a GFXRECON_LOG_DEBUG in the replace section saying "replacing x with y". Just so we can work backwards if there are issues.

Change-Id: I8ea7f5450af18e4f1359df66fbed8ffa41e334d0
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 635611.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8741 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8741 passed.

@marius-pelegrin-arm
Copy link
Contributor Author

LGTM. Small request, just put a GFXRECON_LOG_DEBUG in the replace section saying "replacing x with y". Just so we can work backwards if there are issues.

Done =)

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 636134.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8748 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8748 passed.

@marius-pelegrin-arm
Copy link
Contributor Author

I've started to repro the error internally again and I don't have time to investigate the issue for now, I will convert this ticket to draft and reopen it later.

@marius-pelegrin-arm marius-pelegrin-arm marked this pull request as draft January 30, 2026 11:29
@marius-pelegrin-arm marius-pelegrin-arm force-pushed the fix-device-enumeration-override branch from 30e4c52 to 2f8af7f Compare January 30, 2026 12:59
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 8741 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.

3 participants