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

Move transitions of textures from transfer workers to the graphics queue. #98271

Merged
merged 1 commit into from
Oct 18, 2024

Conversation

DarioSamo
Copy link
Contributor

This seems to effectively fix #98158.

When using enhanced barriers, it is not possible to transition to anything but the COMMON layout in D3D12 when using a copy queue. The fix is split in two separate steps: a new layout has been added to represent this type along with a new API trait that says whether copy queues can only use that layout, and any post-copy transitions are now pushed to the graphics queue on the next possible frame.

Requires #98086 to be merged first, as I built the PR on top of it to avoid the future merge conflict.

@DarkKilauea
Copy link
Contributor

Tested this PR, seems to fix #98158

…ain graphics queue.

Also adds a new possible texture layout and API trait to support a particular behavior in D3D12 where only the COMMON layout is supported in copy queues. Fixes godotengine#98158.
@DarioSamo DarioSamo force-pushed the d3d12-enhanced-barrier-fix branch from b5c7d28 to 8c3e46b Compare October 18, 2024 12:15
Copy link
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

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

I can't reproduce #98158, but code looks good to me nonetheless.

Copy link
Member

@Chaosus Chaosus left a comment

Choose a reason for hiding this comment

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

Can confirm this fix a crash for me.

@clayjohn clayjohn merged commit 58a7f9b into godotengine:master Oct 18, 2024
20 checks passed
@clayjohn
Copy link
Member

Thank you!

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

Successfully merging this pull request may close these issues.

[DX12] Crash on startup due to missing transfer worker command buffer
5 participants