should we just set the SPIRV version and Vulkan environment based on that?
Do you mean, make VULKAN_1_1 be a kind of proxy for wave ops support, i.e. the client checks `VkPhysicalDeviceSubgroupProperties` for wave op support, and uses VULKAN_1_1 only if they are available?