بنقرة واحدة
update-chameleon
Use this skill to update chameleon to the latest Khronos specs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use this skill to update chameleon to the latest Khronos specs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
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
}