-
Notifications
You must be signed in to change notification settings - Fork 124
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
Add delegate for Vulkan dump resources #1941
base: dev
Are you sure you want to change the base?
Conversation
CI gfxreconstruct build queued with queue ID 336698. |
CI gfxreconstruct build # 5687 running. |
68d39bf
to
628803d
Compare
CI gfxreconstruct build queued with queue ID 336714. |
CI gfxreconstruct build # 5688 running. |
CI gfxreconstruct build # 5688 failed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this change. It abstracts out code that can be reused from both draw calls and dispatch/trace rays classes.
With a first glance one change I would like to request a few high level changes:
DrawCallParameters
,DispatchParameters
andTraceRaysParameters
(and other smaller structs such asRenderTargets
,VertexInputState
,BoundVertexBuffersInfo
etc that are closely related to the original classes) to remain where they were (DrawCallsDumpingContext
andDispatchTraceRaysDumpingContext
)- The new functionality to be moved in a new
.h
+.cpp
pair of files (i.e.vulkan_dump_resources_dumping_delegate.[h|cpp]
or similar) so thatvulkan_replay_dump_resources_json
files contain only json related code. - Creating a forward declaration of the new
VulkanDumpResourcesDelegate
andDefaultVulkanDumpResourcesDelegate
classes invulkan_replay_dump_resources_common.h
should avoid the cyclic header dependencies and the new header filevulkan_dump_resources_dumping_delegate.h
can includevulkan_replay_dump_resources_draw_calls.h
andvulkan_replay_dump_resources_compute_ray_tracing.h
- Rest smaller new structs (
DumpResourceType
,VulkanDumpResourceInfo
,VulkanDumpDrawCallInfo
) can also be declared invulkan_replay_dump_resources_common.h
I built this branch Debug on my Windows box. I tried a replay with dump resources. I immediately got an error: "Run-Time Check Failure #3 - The variable 'quit-frame' is being used without being initialized". I don't think this issue wasn't introduced by this PR, I think it was introduced by a prior commit. Not sure why we haven't encountered this before. |
I fixed this issue last week - #1940 - so this PR branch needs to be updated. |
I get a segmentation fault when dumping resources for vkcube. Here's the command I used:
The file vkcube_1_3.dr-args.txt contains:
The seg fault occurs on line 934 in vulkan_replay_dump_resources_common.cpp because device_info is null. I also noticed that device_table and instance_table are null. vkcube_1_3.gfxr is a copy of //nas./smb_traces/vulkan/GFXR/windows-nvidia/vkcube_1_3/gfxrecon_capture_vkcube_1.3.gfxr Also found that a simple dump resources fails in the same way:
|
628803d
to
0eddabe
Compare
CI gfxreconstruct build queued with queue ID 338832. |
CI gfxreconstruct build # 5695 running. |
CI gfxreconstruct build # 5695 failed. |
0eddabe
to
932abf6
Compare
CI gfxreconstruct build queued with queue ID 338861. |
CI gfxreconstruct build # 5696 running. |
CI gfxreconstruct build # 5696 failed. |
932abf6
to
8d66fe5
Compare
CI gfxreconstruct build queued with queue ID 338887. |
CI gfxreconstruct build # 5697 running. |
CI gfxreconstruct build # 5697 failed. |
8d66fe5
to
ce1e1b0
Compare
CI gfxreconstruct build queued with queue ID 339507. |
CI gfxreconstruct build # 5704 running. |
ce1e1b0
to
c779945
Compare
CI gfxreconstruct build queued with queue ID 339531. |
c779945
to
1a66e5d
Compare
CI gfxreconstruct build queued with queue ID 339548. |
1a66e5d
to
ef8984f
Compare
CI gfxreconstruct build queued with queue ID 339574. |
ef8984f
to
c571dc4
Compare
CI gfxreconstruct build queued with queue ID 339665. |
c571dc4
to
a3507de
Compare
CI gfxreconstruct build queued with queue ID 339719. |
@panos-lunarg Thank you. I made the changes that you mentioned, except that moving @davidlunarg I fixed these two crashes issues. Thank you for test. |
CI gfxreconstruct build # 5713 running. |
CI gfxreconstruct build # 5713 failed. |
a3507de
to
9be8045
Compare
CI gfxreconstruct build queued with queue ID 339876. |
CI gfxreconstruct build # 5715 running. |
9be8045
to
a7c819a
Compare
CI gfxreconstruct build queued with queue ID 339892. |
Move code about writing data from vulkan_replay_dump_resources_draw_calls and vulkan_replay_dump_resources_compute_ray_tracing to vulkan_replay_dump_resources_delegate.
a7c819a
to
307ad26
Compare
CI gfxreconstruct build queued with queue ID 339894. |
CI gfxreconstruct build # 5717 running. |
CI gfxreconstruct build # 5717 failed. |
Move code about writing data from
vulkan_replay_dump_resources_draw_calls
andvulkan_replay_dump_resources_compute_ray_tracing
toDefaultVulkanDumpResourcesDelegate on vulkan_replay_dump_resources_jsonvulkan_replay_dump_resources_delegate
.Closed: #1764