-
Notifications
You must be signed in to change notification settings - Fork 128
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
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 # 5763 passed. |
b012ff7
to
d3513c6
Compare
CI gfxreconstruct build queued with queue ID 344323. |
CI gfxreconstruct build # 5781 running. |
CI gfxreconstruct build queued with queue ID 344338. |
CI gfxreconstruct build # 5782 running. |
CI gfxreconstruct build # 5782 passed. |
CI gfxreconstruct build queued with queue ID 344766. |
CI gfxreconstruct build queued with queue ID 344770. |
CI gfxreconstruct build # 5794 running. |
CI gfxreconstruct build # 5794 passed. |
2a34c12
to
3d9589d
Compare
CI gfxreconstruct build queued with queue ID 345197. |
CI gfxreconstruct build # 5798 running. |
CI gfxreconstruct build # 5798 passed. |
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.
3d9589d
to
f33ce7c
Compare
CI gfxreconstruct build queued with queue ID 348433. |
CI gfxreconstruct build # 5845 running. |
CI gfxreconstruct build # 5845 passed. |
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