Skip to content

Commit cbcbb63

Browse files
liamwhiteLegNeato
authored andcommitted
Remove unsafe from subgroup_shuffle{,_xor,_up,_down}: undefined result possible, but not undefined behavior
1 parent b1631c7 commit cbcbb63

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

crates/spirv-std/src/arch/subgroup.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -601,7 +601,7 @@ pub fn subgroup_ballot_find_msb(subgroup_mask: SubgroupMask) -> u32 {
601601
#[spirv_std_macros::gpu_only]
602602
#[doc(alias = "OpGroupNonUniformShuffle")]
603603
#[inline]
604-
pub unsafe fn subgroup_shuffle<T: VectorOrScalar>(value: T, id: u32) -> T {
604+
pub fn subgroup_shuffle<T: VectorOrScalar>(value: T, id: u32) -> T {
605605
let mut result = T::default();
606606

607607
unsafe {
@@ -638,7 +638,7 @@ pub unsafe fn subgroup_shuffle<T: VectorOrScalar>(value: T, id: u32) -> T {
638638
#[spirv_std_macros::gpu_only]
639639
#[doc(alias = "OpGroupNonUniformShuffleXor")]
640640
#[inline]
641-
pub unsafe fn subgroup_shuffle_xor<T: VectorOrScalar>(value: T, mask: u32) -> T {
641+
pub fn subgroup_shuffle_xor<T: VectorOrScalar>(value: T, mask: u32) -> T {
642642
let mut result = T::default();
643643

644644
unsafe {
@@ -675,7 +675,7 @@ pub unsafe fn subgroup_shuffle_xor<T: VectorOrScalar>(value: T, mask: u32) -> T
675675
#[spirv_std_macros::gpu_only]
676676
#[doc(alias = "OpGroupNonUniformShuffleUp")]
677677
#[inline]
678-
pub unsafe fn subgroup_shuffle_up<T: VectorOrScalar>(value: T, delta: u32) -> T {
678+
pub fn subgroup_shuffle_up<T: VectorOrScalar>(value: T, delta: u32) -> T {
679679
let mut result = T::default();
680680

681681
unsafe {
@@ -712,7 +712,7 @@ pub unsafe fn subgroup_shuffle_up<T: VectorOrScalar>(value: T, delta: u32) -> T
712712
#[spirv_std_macros::gpu_only]
713713
#[doc(alias = "OpGroupNonUniformShuffleDown")]
714714
#[inline]
715-
pub unsafe fn subgroup_shuffle_down<T: VectorOrScalar>(value: T, delta: u32) -> T {
715+
pub fn subgroup_shuffle_down<T: VectorOrScalar>(value: T, delta: u32) -> T {
716716
let mut result = T::default();
717717

718718
unsafe {

0 commit comments

Comments
 (0)