Skip to content

Commit 9fc7264

Browse files
liamwhiteLegNeato
authored andcommitted
Remove unsafe from subgroup operations for which no undefined results are possible
1 parent 9827e1d commit 9fc7264

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ pub enum GroupOperation {
6767
#[spirv_std_macros::gpu_only]
6868
#[doc(alias = "subgroupBarrier")]
6969
#[inline]
70-
pub unsafe fn subgroup_barrier() {
70+
pub fn subgroup_barrier() {
7171
unsafe {
7272
barrier::control_barrier::<
7373
SUBGROUP,
@@ -92,7 +92,7 @@ pub unsafe fn subgroup_barrier() {
9292
#[spirv_std_macros::gpu_only]
9393
#[doc(alias = "subgroupMemoryBarrier")]
9494
#[inline]
95-
pub unsafe fn subgroup_memory_barrier() {
95+
pub fn subgroup_memory_barrier() {
9696
unsafe {
9797
barrier::memory_barrier::<
9898
SUBGROUP,
@@ -116,7 +116,7 @@ pub unsafe fn subgroup_memory_barrier() {
116116
#[spirv_std_macros::gpu_only]
117117
#[doc(alias = "subgroupMemoryBarrierBuffer")]
118118
#[inline]
119-
pub unsafe fn subgroup_memory_barrier_buffer() {
119+
pub fn subgroup_memory_barrier_buffer() {
120120
unsafe {
121121
barrier::memory_barrier::<
122122
SUBGROUP,
@@ -137,7 +137,7 @@ pub unsafe fn subgroup_memory_barrier_buffer() {
137137
#[spirv_std_macros::gpu_only]
138138
#[doc(alias = "subgroupMemoryBarrierShared")]
139139
#[inline]
140-
pub unsafe fn subgroup_memory_barrier_shared() {
140+
pub fn subgroup_memory_barrier_shared() {
141141
unsafe {
142142
barrier::memory_barrier::<
143143
SUBGROUP,
@@ -156,7 +156,7 @@ pub unsafe fn subgroup_memory_barrier_shared() {
156156
#[spirv_std_macros::gpu_only]
157157
#[doc(alias = "subgroupMemoryBarrierImage")]
158158
#[inline]
159-
pub unsafe fn subgroup_memory_barrier_image() {
159+
pub fn subgroup_memory_barrier_image() {
160160
unsafe {
161161
barrier::memory_barrier::<
162162
SUBGROUP,
@@ -175,7 +175,7 @@ pub unsafe fn subgroup_memory_barrier_image() {
175175
#[spirv_std_macros::gpu_only]
176176
#[doc(alias = "OpGroupNonUniformElect")]
177177
#[inline]
178-
pub unsafe fn subgroup_elect() -> bool {
178+
pub fn subgroup_elect() -> bool {
179179
let mut result = false;
180180

181181
unsafe {
@@ -205,7 +205,7 @@ pub unsafe fn subgroup_elect() -> bool {
205205
#[spirv_std_macros::gpu_only]
206206
#[doc(alias = "OpGroupNonUniformAll")]
207207
#[inline]
208-
pub unsafe fn subgroup_all(predicate: bool) -> bool {
208+
pub fn subgroup_all(predicate: bool) -> bool {
209209
let mut result = false;
210210

211211
unsafe {
@@ -237,7 +237,7 @@ pub unsafe fn subgroup_all(predicate: bool) -> bool {
237237
#[spirv_std_macros::gpu_only]
238238
#[doc(alias = "OpGroupNonUniformAny")]
239239
#[inline]
240-
pub unsafe fn subgroup_any(predicate: bool) -> bool {
240+
pub fn subgroup_any(predicate: bool) -> bool {
241241
let mut result = false;
242242

243243
unsafe {
@@ -269,7 +269,7 @@ pub unsafe fn subgroup_any(predicate: bool) -> bool {
269269
#[spirv_std_macros::gpu_only]
270270
#[doc(alias = "OpGroupNonUniformAllEqual")]
271271
#[inline]
272-
pub unsafe fn subgroup_all_equal<T: VectorOrScalar>(value: T) -> bool {
272+
pub fn subgroup_all_equal<T: VectorOrScalar>(value: T) -> bool {
273273
let mut result = false;
274274

275275
unsafe {
@@ -340,7 +340,7 @@ pub unsafe fn subgroup_broadcast<T: VectorOrScalar>(value: T, id: u32) -> T {
340340
#[spirv_std_macros::gpu_only]
341341
#[doc(alias = "OpGroupNonUniformBroadcastFirst")]
342342
#[inline]
343-
pub unsafe fn subgroup_broadcast_first<T: VectorOrScalar>(value: T) -> T {
343+
pub fn subgroup_broadcast_first<T: VectorOrScalar>(value: T) -> T {
344344
let mut result = T::default();
345345

346346
unsafe {
@@ -373,7 +373,7 @@ pub unsafe fn subgroup_broadcast_first<T: VectorOrScalar>(value: T) -> T {
373373
#[spirv_std_macros::gpu_only]
374374
#[doc(alias = "OpGroupNonUniformBallot")]
375375
#[inline]
376-
pub unsafe fn subgroup_ballot(predicate: bool) -> SubgroupMask {
376+
pub fn subgroup_ballot(predicate: bool) -> SubgroupMask {
377377
let mut result = SubgroupMask::default();
378378

379379
unsafe {
@@ -487,7 +487,7 @@ macro_rules! macro_subgroup_ballot_bit_count {
487487
#[spirv_std_macros::gpu_only]
488488
#[doc(alias = "OpGroupNonUniformBallotBitCount")]
489489
#[inline]
490-
pub unsafe fn $name(subgroup_mask: SubgroupMask) -> u32 {
490+
pub fn $name(subgroup_mask: SubgroupMask) -> u32 {
491491
let mut result = 0;
492492

493493
unsafe {
@@ -739,7 +739,7 @@ macro_rules! macro_subgroup_op {
739739
#[spirv_std_macros::gpu_only]
740740
#[doc(alias = $asm_op)]
741741
#[inline]
742-
pub unsafe fn $name<I: VectorOrScalar<Scalar = $scalar>>(
742+
pub fn $name<I: VectorOrScalar<Scalar = $scalar>>(
743743
value: I,
744744
) -> I {
745745
let mut result = I::default();

0 commit comments

Comments
 (0)