Skip to content

Conversation

@gpx1000
Copy link
Contributor

@gpx1000 gpx1000 commented Jul 15, 2025

No description provided.

@gpx1000 gpx1000 linked an issue Jul 15, 2025 that may be closed by this pull request
gpx1000 added 2 commits July 15, 2025 11:11
…ion for consistency.

Or the less professional way to say it: I'm lazy and know how to use python.
# Conflicts:
#	.github/scripts/check_chapter_references.py
@christophe-lunarg christophe-lunarg self-requested a review July 16, 2025 12:43
Copy link
Contributor

@christophe-lunarg christophe-lunarg left a comment

Choose a reason for hiding this comment

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

I left a lot of comments.
Overall, I think it's great, I only think there is a little bit of confusion with the LunarG Desktop Baseline profiles, and the intent of the predefined profiles but probably that's something we need to think about to keep improving the Vulkan Profiles solution...


=== 1. Using the Vulkan Profiles header

The simplest way to use Vulkan Profiles is through the Vulkan Profiles header (`vulkan_profiles.hpp`), which is available in the link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK]. This header provides a C++ API that simplifies working with profiles. The header is documented in the link:https://github.com/KhronosGroup/Vulkan-Profiles/blob/main/library/README.md[Vulkan-Profiles library documentation]:
Copy link
Contributor

Choose a reason for hiding this comment

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

In some way, I think we should not include vulkan_profiles.hpp in the Vulkan SDK. The issue is that I think this file is only useful to check whether profiles are supported on the user device.

Ideally for a Vulkan application initially code, we should only create VkDevice with the set of capabilities required by the application because theorically enabling capabilities that is not useful for the application may hurt the application performance. This is the case with the robustness extensions for example.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

conceptually I agree with you, but one of the features of profiles is to reduce the boilerplate for requesting features/extensions. So, a developer would need it to take advantage of the reduced boilerplate code; thus it would be useful to check the profiles both at time of development and at time of use. Sadly, if we didn't make it so easy to use, as opposed to the "by hand" method then we'd not have this issue.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am not implying that vulkan_profiles.hpp should not be used, I think it should be generated using the python script and the Vulkan application profiles.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Interesting. That would be a different approach and I think I see some merits for developers. Would you like me to suggest that strategy instead of getting it from the SDK or is this more future direction and we should revisit when it's ready?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is future direction as it has been avaiable from the first profiles tools release. Hence my idea that shipping the pre-generated vulkan_profiles.hpp created some confusions. There is a use for the pre-generated but not for release shipping Vulkan applications but for vulkancapsviewer for exemple to determine system capabilities.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am going to merge this PR anyway as it's already realy good but don't hesitate to submit more improvements ^_^

…bility and enhanced initialization guidance.
gpx1000 added 2 commits July 16, 2025 12:37
…ture Enabling" section, roadmap revisions, and improved initialization guidance.
@SaschaWillems SaschaWillems self-requested a review July 17, 2025 16:47
SaschaWillems
SaschaWillems previously approved these changes Jul 17, 2025
@christophe-lunarg christophe-lunarg self-assigned this Jul 17, 2025
…ction, revised profile maintenance details, and additional documentation links.
- Contains profile definitions, library code, and tools
* link:https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/tooling/profiles[Vulkan-Samples profiles examples]
- Sample code demonstrating profile usage
* link:https://www.lunarg.com/wp-content/uploads/2024/02/The-Vulkan-Profiles-Tools-LunarG-Christophe-Riccio-02-01-2024.pdf[Vulkan Profiles pdf]
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks!

@christophe-lunarg christophe-lunarg merged commit 7740121 into KhronosGroup:main Jul 22, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add chapter on using profiles

3 participants