My little validation layer has just told me that if I set an invalid workgroup size (e.g. 1025) using a specialization constant, that invalid setting will propagate all the way through the compute pipeline build process without any vulkano function erroring out in any place, final pipeline build command included.
Given that vulkano's high level API aims to detect and report invalid Vulkan API usage, and specialization constants are the officially sanctioned way to set a compute shader's workgroup size from CPU code, this behavior does not look right.
My little validation layer has just told me that if I set an invalid workgroup size (e.g. 1025) using a specialization constant, that invalid setting will propagate all the way through the compute pipeline build process without any
vulkanofunction erroring out in any place, final pipeline build command included.Given that
vulkano's high level API aims to detect and report invalid Vulkan API usage, and specialization constants are the officially sanctioned way to set a compute shader's workgroup size from CPU code, this behavior does not look right.