Jeden Skill in Manus ausführen
mit einem Klick
mit einem Klick
Jeden Skill in Manus mit einem Klick ausführen
Loslegen$pwd:
$ git log --oneline --stat
stars:9
forks:11
updated:22. April 2026 um 12:43
SKILL.md
Check support for a particular Vulkan extension
Add a test case for a particular Vulkan extension
Use this skill to update chameleon to the latest Khronos specs
Add Vulkan unused feature detection
| name | vulkan-extension-detection |
| description | Add extension usage detection |
| metadata | {"short-description":"Generate code to detect whether an extension was actually used or not"} |
https://docs.vulkan.org/refpages/latest/refpages/source/<extension name>.html and read it.~/.codex/config.toml:[network]
enable_domain_allowlist = true
domain_allowlist = [
"docs.vulkan.org",
"github.com",
"api.github.com"
]
src/usagetracker/vulkan_feature_detect.cpp and src/usagetracker/vulkan_feature_detect.h.
There is a test for it at src/vulkan_feature.cpp.feature_detection struct in the header, like this: std::atomic_bool has_<name of extension> { false };
VK_STRUCTURE_TYPE_<something>_FEATURES), then we need
to make a decision: Do we need to check this feature struct to determine if the extension is used or will we have sufficient
evidence without it? If we need to check it, then add this check to check_vkCreateDevice and count it as used if its feature
bit is set. If we can do without it, then do not add this check there and we instead allow check_prune_device to later remove
the feature struct of unused extensions. Inform the user of the decision you make here.
adjust_device_extensions if it is a device extension, or adjust_instance_extensions if
it is an instance extension. If we have a feature enable struct in our extension, then we should add a removal of it also
to adjust_VkDeviceCreateInfo (if device extension) or to adjust_VkInstanceCreateInfo (if instance extension).parse_SPIRV. If any of our new
Vulkan commands or structs or SPIRV capabilities are used, we must flag the extension as in use.src/vulkan_feature.cpp. Compile and test that it all works fine.