[Migrated] Allow keeping linkage annotation
Personne n'a encore pris cette issue.
- Langage dominant
- Rust
- Étoiles
- 3.4k
- Forks
- 126
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/1042
Old labels: t: enhancement
Originally creatd by SiebenCorgie on 2023-04-21T16:42:49Z
SpirV allows defining import and export [0] for linking separate Shader modules [1] post compilation.
Apparently SpirV linking is already used within rust-gpu, but not exposed. Therefore we can't use extern "C" as we usually would.
This functionality would be useful, for instance when building shader permutation systems.
The enhancement would basically be allowing extern C, #[no_mangle] etc. to map to (possibly named) import/export decorated values whenever the Linkage capability on spirv-builder is enabled.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la capability Linkage de spirv-builder et examinez la spécification de linkage SPIR-V associée. Suivez la manière dont rust-gpu gère actuellement les valeurs extern "C" et #[no_mangle", puis déterminez le mappage requis vers des décorations d’import/export nommées. Le travail est considéré comme terminé lorsque les annotations de linkage sont conservées quand Linkage est activé et que des modules de shader distincts peuvent les utiliser.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- compilers
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100