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

Assertion hit when trying to trace vkd3d-proton #551

Closed
Oschowa opened this issue Jul 15, 2021 · 9 comments
Closed

Assertion hit when trying to trace vkd3d-proton #551

Oschowa opened this issue Jul 15, 2021 · 9 comments
Labels
bug Something isn't working capture Issue with capture P1 Prevents an important capture from being replayed trimming Issue with trimming in capture or in replay

Comments

@Oschowa
Copy link

Oschowa commented Jul 15, 2021

gfxrecon version: v0.9.8
OS: Arch Linux
Driver: Mesa recent main

When trying to trace content running with vkd3d-proton v2.4 with gfxrecon, I hit the following assertion:

src/gfxreconstruct/framework/encode/vulkan_state_tracker.cpp:275: void gfxrecon::encode::VulkanStateTracker::TrackEndRenderPass(VkCommandBuffer): Assertion `attachment_count <= render_pass_wrapper->attachment_final_layouts.size()' failed.
fish: Job 1, 'VK_INSTANCE_LAYERS="VK_LAYER_LU…' terminated by signal SIGABRT (Abort)

This happens both with d3d12 games (tested DEATH STRANDING and Scarlet Nexus on Proton Experimental), as well as with the gears demo app from vkd3d-proton.

To reproduce:

  • clone the vkd3d-proton: git clone --recurse-submodules https://github.com/HansKristian-Work/vkd3d-proton
  • configure with meson -D enable_extras=true
  • build and then try to trace the resultion gears program with gfxrecon
@bradgrantham-lunarg bradgrantham-lunarg added P1 Prevents an important capture from being replayed bug Something isn't working labels Aug 27, 2021
@ghost
Copy link

ghost commented Sep 9, 2021

Currently I cannot repro this issue with the gears demo included with vkd3d-proton.

gfxrecon latest dev branch (as of 9 Sept 2021)
Arch Linux 2021.09.01
AMD RX 6800 XT
Mesa RADV driver

Tried with both vkd3d-proton v2.4 and the latest master branch (as of 9 Sept 2021)...couldn't repro with either.

@Oschowa do you have any more info that might help me repro?

Thanks

@Oschowa
Copy link
Author

Oschowa commented Sep 10, 2021

It turns out i'm also only hitting this assert when using GFXRECON_CAPTURE_TRIGGER="F12", without the capture trigger it seems to work fine.

@ghost
Copy link

ghost commented Sep 10, 2021

That's interesting...Ok, I'll take a look at that.
Thanks

@ghost
Copy link

ghost commented Dec 21, 2021

@Oschowa the issue seems to be a missing handler for VkRenderPassCreateInfo2.
There should be a fix available soon to enable triggering trimmed capture while using Proton.

@bradgrantham-lunarg
Copy link
Contributor

bradgrantham-lunarg commented Dec 21, 2021

To add a little more detail, we do handle capturing and non-trimmed replay of RenderPass2. My guess is that's why capture without trimming works. We don't appear to currently handle tracking the associated state for RenderPass2 properly, and that's why we hit that assertion.

@bradgrantham-lunarg bradgrantham-lunarg added capture Issue with capture trimming Issue with trimming in capture or in replay labels Dec 30, 2021
@ghost ghost mentioned this issue Jan 5, 2022
@ghost
Copy link

ghost commented Jan 12, 2022

@Oschowa PR #625 has been merged to dev. I think it should address this issue. Can you confirm whether or not it clears this for you?

@Oschowa
Copy link
Author

Oschowa commented Jan 17, 2022

I can confirm that recording a triggered capture seems to work fine now, thanks. However, I've been unable to successfully replay a capture taken from any vkd3d-proton application, be it the gears demo or an actual game. Replaying either crashes with device lost errors or just hangs the GPU with both RADV and the proprietary vulkan dirver. But since this is probably out of scope of this issue, I'll close this.

@bradgrantham-lunarg
Copy link
Contributor

bradgrantham-lunarg commented Jan 18, 2022

I can confirm that recording a triggered capture seems to work fine now, thanks. However, I've been unable to successfully replay a capture taken from any vkd3d-proton application [...] Replaying either crashes with device lost errors or just hangs the GPU with both RADV and the proprietary vulkan dirver

@Oschowa - do you have time to open another issue stating this? I wasn't able to replay trimmed output from vkd3d gears, but I could replay a non-trimmed capture. Can you replay non-trimmed captures?

(I will open the issue myself if you'd like, but I thought it would be good to have your name attached to it for tracking.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working capture Issue with capture P1 Prevents an important capture from being replayed trimming Issue with trimming in capture or in replay
Projects
None yet
Development

No branches or pull requests

4 participants