Skip to content

vk: use VK_GOOGLE_display_timing to set present time - #10261

Open
poweifeng wants to merge 1 commit into
mainfrom
vk-add-presentation-time
Open

vk: use VK_GOOGLE_display_timing to set present time#10261
poweifeng wants to merge 1 commit into
mainfrom
vk-add-presentation-time

Conversation

@poweifeng

Copy link
Copy Markdown
Contributor
  • Implement Driver::setPresentationTime()
  • Some small simplification in VulkanPlatform.cpp

@poweifeng poweifeng added the internal Issue/PR does not affect clients label Jul 31, 2026

instExts.merge(getRequiredInstanceExtensions());
}
mImpl->mContext.mDebugUtilsSupported = setContains(instExts, VK_EXT_DEBUG_UTILS_EXTENSION_NAME);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why move this? Also the logic is not the same as before

I think its just better to keep it were it was all in one place

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

the flow of setting of context variables is getting spread out, so I'm just trying to do it right after when we know the state. So for instance extensions, it's dependent on instExts, and instExts is immutable at this point. That's why I moved it here. Also it reduces queryAndSetDeviceFeatures's parameters by one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sadly this gets more complicated with the sharedContext flow since it doesnt have any control of the extensions enabled.

So I still think you keep it all inside the queryAndSetDeviceFeatures and pass down the 2 parameters and everything is in one place, this new change is spreading out where the features are enabled.

And what you need to do is in the

if (sharedContext) {
mDebugUtilsSupported = context.mDebugUtilsSupported = scontext->debugUtilsSupported && enabledDebugUtils;
} else {
context.mDebugUtilsSupported =
setContains(instExts, VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

there is no longer mDebugUtilsSupported, just mDebugUtilsEnabled.

Supported was a misnomer because you could support it and not enable it.

The shared context issue, I thought about moving it here as well, but maybe too many refactoring. But in case the shared context is there, the value set here will just be overwritten, which is correct.

Let me just move things back for the debug utils to not confuse issues here. But I do want to do another refactoring to clean all this up.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

resolved.

@poweifeng
poweifeng force-pushed the vk-add-presentation-time branch 4 times, most recently from 8548d5b to d68b4e1 Compare July 31, 2026 17:23
 - Implement Driver::setPresentationTime()
 - Some small simplification in VulkanPlatform.cpp
@poweifeng
poweifeng force-pushed the vk-add-presentation-time branch from d68b4e1 to c7f219d Compare July 31, 2026 21:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Issue/PR does not affect clients

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants