MCPcopy Create free account
hub / github.com/Rust-GPU/rust-gpu / new

Method new

crates/rustc_codegen_spirv/src/symbols.rs:307–407  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

305
306impl Symbols {
307 fn new() -> Self {
308 let builtins = BUILTINS
309 .iter()
310 .map(|&(a, b)| (a, SpirvAttribute::Builtin(b)));
311 let storage_classes = STORAGE_CLASSES
312 .iter()
313 .map(|&(a, b)| (a, SpirvAttribute::StorageClass(b)));
314 let execution_models = EXECUTION_MODELS
315 .iter()
316 .map(|&(a, b)| (a, SpirvAttribute::Entry(b.into())));
317 let custom_attributes = [
318 (
319 "sampler",
320 SpirvAttribute::IntrinsicType(IntrinsicType::Sampler),
321 ),
322 (
323 "generic_image_type",
324 SpirvAttribute::IntrinsicType(IntrinsicType::GenericImageType),
325 ),
326 (
327 "acceleration_structure",
328 SpirvAttribute::IntrinsicType(IntrinsicType::AccelerationStructureKhr),
329 ),
330 (
331 "ray_query",
332 SpirvAttribute::IntrinsicType(IntrinsicType::RayQueryKhr),
333 ),
334 ("block", SpirvAttribute::Block),
335 ("flat", SpirvAttribute::Flat),
336 ("invariant", SpirvAttribute::Invariant),
337 (
338 "sampled_image",
339 SpirvAttribute::IntrinsicType(IntrinsicType::SampledImage),
340 ),
341 (
342 "runtime_array",
343 SpirvAttribute::IntrinsicType(IntrinsicType::RuntimeArray),
344 ),
345 (
346 "matrix",
347 SpirvAttribute::IntrinsicType(IntrinsicType::Matrix),
348 ),
349 ("buffer_load_intrinsic", SpirvAttribute::BufferLoadIntrinsic),
350 (
351 "buffer_store_intrinsic",
352 SpirvAttribute::BufferStoreIntrinsic,
353 ),
354 ]
355 .iter()
356 .cloned();
357 let attributes_iter = builtins
358 .chain(storage_classes)
359 .chain(execution_models)
360 .chain(custom_attributes)
361 .map(|(a, b)| (Symbol::intern(a), b));
362 let mut attributes = FxHashMap::default();
363 for (a, b) in attributes_iter {
364 let old = attributes.insert(a, b);

Callers

nothing calls this directly

Calls 4

EntryClass · 0.85
IntrinsicTypeEnum · 0.85
iterMethod · 0.80
insertMethod · 0.80

Tested by

no test coverage detected