| 2171 | } |
| 2172 | |
| 2173 | bool ValidationState_t::IsValidStorageClass( |
| 2174 | spv::StorageClass storage_class) const { |
| 2175 | if (spvIsVulkanEnv(context()->target_env)) { |
| 2176 | switch (storage_class) { |
| 2177 | case spv::StorageClass::UniformConstant: |
| 2178 | case spv::StorageClass::Uniform: |
| 2179 | case spv::StorageClass::StorageBuffer: |
| 2180 | case spv::StorageClass::Input: |
| 2181 | case spv::StorageClass::Output: |
| 2182 | case spv::StorageClass::Image: |
| 2183 | case spv::StorageClass::Workgroup: |
| 2184 | case spv::StorageClass::Private: |
| 2185 | case spv::StorageClass::Function: |
| 2186 | case spv::StorageClass::PushConstant: |
| 2187 | case spv::StorageClass::PhysicalStorageBuffer: |
| 2188 | case spv::StorageClass::RayPayloadKHR: |
| 2189 | case spv::StorageClass::IncomingRayPayloadKHR: |
| 2190 | case spv::StorageClass::HitAttributeKHR: |
| 2191 | case spv::StorageClass::CallableDataKHR: |
| 2192 | case spv::StorageClass::IncomingCallableDataKHR: |
| 2193 | case spv::StorageClass::ShaderRecordBufferKHR: |
| 2194 | case spv::StorageClass::TaskPayloadWorkgroupEXT: |
| 2195 | case spv::StorageClass::HitObjectAttributeNV: |
| 2196 | case spv::StorageClass::HitObjectAttributeEXT: |
| 2197 | case spv::StorageClass::TileImageEXT: |
| 2198 | case spv::StorageClass::NodePayloadAMDX: |
| 2199 | case spv::StorageClass::TileAttachmentQCOM: |
| 2200 | return true; |
| 2201 | default: |
| 2202 | return false; |
| 2203 | } |
| 2204 | } |
| 2205 | |
| 2206 | return true; |
| 2207 | } |
| 2208 | |
| 2209 | std::string ValidationState_t::MissingFeature(const std::string& feature, |
| 2210 | const std::string& cmdline, |
no test coverage detected