The restriction of executeCallableEXT described by GLSL_EXT_ray_tracing.txt is different from the Ray Tracing chapter of the Vulkan specification:
GLSL_EXT_ray_tracing.txt:
Syntax:
void executeCallableEXT(uint sbtRecordIndex, int callable)
This function is available only in ray generation, closest-hit, miss, and
callable stage. Invokes the callable located at 'sbtRecordIndex' in the
shader binding table. Refer to Ray Tracing chapter of Vulkan specification
for details.
Vulkan specification:
https://docs.vulkan.org/spec/latest/chapters/raytracing.html
OpExecuteCallableKHR cannot directly call in callable stage by the table of Shader Call Instructions
So which spec we should follow?