u64 with `trailing_zeros` returns incorrect values
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- compilers, computer-graphics
Piste de recherche
Commencez par suivre le point d’entrée u64 trailing_zeros() utilisé lors de la compilation du shader, en comparant son comportement avec l’implémentation de la bibliothèque standard de Rust. Exécutez la reproduction du shader avec les trois valeurs u64 indiquées et ajoutez ou utilisez des tests couvrant les résultats 0, 32 et 63. La tâche est terminée lorsque tous les exemples renvoient le nombre attendu de bits nuls en fin de valeur.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Expected Behaviour
We expect the trailing_zeros() function on u64 values to match the behavior of Rust's standard library implementation, returning the count of trailing zero bits.
For example:
0x0000000000000001_u64.trailing_zeros()should return 00x0000000100000000_u64.trailing_zeros()should return 320x8000000000000000_u64.trailing_zeros()should return 63
Example & Steps To Reproduce
0x0000000000000001Expected: 0, Result: 320x0000000100000000Expected: 32, Result: 00x8000000000000000Expected: 63, Result: 31
Run a shader that calculates trailing zeros on a u64. I am creating a pull request that contains test to validate the function and a fix for this issue.
#![no_std]
use spirv_std::spirv;
#[spirv(compute(threads(1)))]
pub fn main_cs(
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] output: &mut [u32],
) {
// Expected: 0, Actual: 32
output[0] = 0x0000000000000001_u64.trailing_zeros();
// Expected: 32, Actual: 0
output[1] = 0x0000000100000000_u64.trailing_zeros();
}
- Langage dominant
- Rust
- Étoiles
- 3.4k
- Forks
- 126
- Métriques de merge des PR
- Aucune PR mergée en 30 j
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.
Autres issues de Rust-GPU/rust-gpu
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
-
enhancement
Rust-GPU/rust-gpu#643 · 2 commentaires · 1 réaction · 1 personne assignée ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
-
async functions cause ICE Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
Toutes les issues de Rust-GPU/rust-gpu
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100