with one click
update-chameleon
Use this skill to update chameleon to the latest Khronos specs
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Use this skill to update chameleon to the latest Khronos specs
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Add an GLES / OpenGL ES test or microbenchmark
Add an OpenCL test or microbenchmark
Add a Vulkan test or microbenchmark
Check support for a particular Vulkan extension
Add a test case for a particular Vulkan extension
Add extension usage detection
| name | update-chameleon |
| description | Use this skill to update chameleon to the latest Khronos specs |
| metadata | {"short-description":"Use whenever we update our Khronos headers submodule to also update Chameleon to match"} |
Use git to update the Vulkan headers dependency, then build the source to find issues caused by the update. Typical issues include missing implementations of new functions defined in the Vulkan spec.
git submodule update --force --remote --recursive external/Vulkan-Headers
sandbox_permissions=require_escalated to allow network/keyring access.( cd build ; make -j 6 )
src/chameleon/vulkan.cpp for any missing functions defined in the Vulkan spec and not implemented yet by us.Minimal example stub function that is not vkCmd type:
VKAPI_ATTR VkResult VKAPI_CALL vk<name>(<function parameters>)
{
ENTRY(vk<name>);
cVkDevice* cdevice = device_cast(device); // for each Vulkan object passed in as parameter, touch it in this way
TBD_UNSUPPORTED; // mark function as incomplete
return VK_SUCCESS; // fake success
}
Minimal example stub function that is vkCmd type:
VKAPI_ATTR void VKAPI_CALL vkCmd<name>(VkCommandBuffer commandBuffer, <rest of function parameters>)
{
ENTRY(vkCmd<name>);
cVkCommandBuffer* ccommandBuffer = commandbuffer_cast(commandBuffer);
// TBD touch any other function parameters that are Vulkan objects
TBD_UNSUPPORTED; // mark function as incomplete
}