| 11 | |
| 12 | impl SpirvTarget { |
| 13 | pub fn memory_model(&self) -> MemoryModel { |
| 14 | match self.env { |
| 15 | TargetEnv::Universal_1_0 |
| 16 | | TargetEnv::Universal_1_1 |
| 17 | | TargetEnv::Universal_1_2 |
| 18 | | TargetEnv::Universal_1_3 |
| 19 | | TargetEnv::Universal_1_4 |
| 20 | | TargetEnv::Universal_1_5 => MemoryModel::Simple, |
| 21 | |
| 22 | TargetEnv::OpenGL_4_0 |
| 23 | | TargetEnv::OpenGL_4_1 |
| 24 | | TargetEnv::OpenGL_4_2 |
| 25 | | TargetEnv::OpenGL_4_3 |
| 26 | | TargetEnv::OpenGL_4_5 => MemoryModel::GLSL450, |
| 27 | |
| 28 | TargetEnv::OpenCL_2_1 |
| 29 | | TargetEnv::OpenCL_2_2 |
| 30 | | TargetEnv::OpenCL_1_2 |
| 31 | | TargetEnv::OpenCLEmbedded_1_2 |
| 32 | | TargetEnv::OpenCL_2_0 |
| 33 | | TargetEnv::OpenCLEmbedded_2_0 |
| 34 | | TargetEnv::OpenCLEmbedded_2_1 |
| 35 | | TargetEnv::OpenCLEmbedded_2_2 => MemoryModel::OpenCL, |
| 36 | |
| 37 | TargetEnv::Vulkan_1_0 |
| 38 | | TargetEnv::Vulkan_1_1 |
| 39 | | TargetEnv::WebGPU_0 |
| 40 | | TargetEnv::Vulkan_1_1_Spirv_1_4 |
| 41 | | TargetEnv::Vulkan_1_2 => MemoryModel::Vulkan, |
| 42 | } |
| 43 | } |
| 44 | |
| 45 | pub fn spirv_version(&self) -> (u8, u8) { |
| 46 | #[allow(clippy::match_same_arms)] |