@@ -4,9 +4,7 @@ use crate::ScalarOrVectorTransform;
44use crate :: arch:: { asm, barrier} ;
55#[ cfg( target_arch = "spirv" ) ]
66use crate :: memory:: { Scope , Semantics } ;
7- use crate :: {
8- Float , Integer , ScalarOrVector , ScalarOrVectorComposite , SignedInteger , UnsignedInteger ,
9- } ;
7+ use crate :: { Float , Integer , ScalarComposite , ScalarOrVector , SignedInteger , UnsignedInteger } ;
108
119#[ cfg( target_arch = "spirv" ) ]
1210const SUBGROUP : u32 = Scope :: Subgroup as u32 ;
@@ -244,7 +242,7 @@ pub fn subgroup_any(predicate: bool) -> bool {
244242#[ spirv_std_macros:: gpu_only]
245243#[ doc( alias = "OpGroupNonUniformAllEqual" ) ]
246244#[ inline]
247- pub fn subgroup_all_equal < T : ScalarOrVectorComposite > ( value : T ) -> bool {
245+ pub fn subgroup_all_equal < T : ScalarComposite > ( value : T ) -> bool {
248246 struct Transform ( bool ) ;
249247
250248 impl ScalarOrVectorTransform for Transform {
@@ -299,7 +297,7 @@ pub fn subgroup_all_equal<T: ScalarOrVectorComposite>(value: T) -> bool {
299297#[ spirv_std_macros:: gpu_only]
300298#[ doc( alias = "OpGroupNonUniformBroadcast" ) ]
301299#[ inline]
302- pub unsafe fn subgroup_broadcast < T : ScalarOrVectorComposite > ( value : T , id : u32 ) -> T {
300+ pub unsafe fn subgroup_broadcast < T : ScalarComposite > ( value : T , id : u32 ) -> T {
303301 struct Transform {
304302 id : u32 ,
305303 }
@@ -390,7 +388,7 @@ pub unsafe fn subgroup_broadcast_const<T: ScalarOrVector, const ID: u32>(value:
390388#[ spirv_std_macros:: gpu_only]
391389#[ doc( alias = "OpGroupNonUniformBroadcastFirst" ) ]
392390#[ inline]
393- pub fn subgroup_broadcast_first < T : ScalarOrVectorComposite > ( value : T ) -> T {
391+ pub fn subgroup_broadcast_first < T : ScalarComposite > ( value : T ) -> T {
394392 struct Transform ;
395393
396394 impl ScalarOrVectorTransform for Transform {
@@ -672,7 +670,7 @@ pub fn subgroup_ballot_find_msb(value: SubgroupMask) -> u32 {
672670#[ spirv_std_macros:: gpu_only]
673671#[ doc( alias = "OpGroupNonUniformShuffle" ) ]
674672#[ inline]
675- pub fn subgroup_shuffle < T : ScalarOrVectorComposite > ( value : T , id : u32 ) -> T {
673+ pub fn subgroup_shuffle < T : ScalarComposite > ( value : T , id : u32 ) -> T {
676674 struct Transform {
677675 id : u32 ,
678676 }
@@ -722,7 +720,7 @@ pub fn subgroup_shuffle<T: ScalarOrVectorComposite>(value: T, id: u32) -> T {
722720#[ spirv_std_macros:: gpu_only]
723721#[ doc( alias = "OpGroupNonUniformShuffleXor" ) ]
724722#[ inline]
725- pub fn subgroup_shuffle_xor < T : ScalarOrVectorComposite > ( value : T , mask : u32 ) -> T {
723+ pub fn subgroup_shuffle_xor < T : ScalarComposite > ( value : T , mask : u32 ) -> T {
726724 struct Transform {
727725 mask : u32 ,
728726 }
@@ -772,7 +770,7 @@ pub fn subgroup_shuffle_xor<T: ScalarOrVectorComposite>(value: T, mask: u32) ->
772770#[ spirv_std_macros:: gpu_only]
773771#[ doc( alias = "OpGroupNonUniformShuffleUp" ) ]
774772#[ inline]
775- pub fn subgroup_shuffle_up < T : ScalarOrVectorComposite > ( value : T , delta : u32 ) -> T {
773+ pub fn subgroup_shuffle_up < T : ScalarComposite > ( value : T , delta : u32 ) -> T {
776774 struct Transform {
777775 delta : u32 ,
778776 }
@@ -822,7 +820,7 @@ pub fn subgroup_shuffle_up<T: ScalarOrVectorComposite>(value: T, delta: u32) ->
822820#[ spirv_std_macros:: gpu_only]
823821#[ doc( alias = "OpGroupNonUniformShuffleDown" ) ]
824822#[ inline]
825- pub fn subgroup_shuffle_down < T : ScalarOrVectorComposite > ( value : T , delta : u32 ) -> T {
823+ pub fn subgroup_shuffle_down < T : ScalarComposite > ( value : T , delta : u32 ) -> T {
826824 struct Transform {
827825 delta : u32 ,
828826 }
@@ -1458,7 +1456,7 @@ Requires Capability `GroupNonUniformArithmetic` and `GroupNonUniformClustered`.
14581456#[ spirv_std_macros:: gpu_only]
14591457#[ doc( alias = "OpGroupNonUniformQuadBroadcast" ) ]
14601458#[ inline]
1461- pub fn subgroup_quad_broadcast < T : ScalarOrVectorComposite > ( value : T , index : u32 ) -> T {
1459+ pub fn subgroup_quad_broadcast < T : ScalarComposite > ( value : T , index : u32 ) -> T {
14621460 struct Transform {
14631461 index : u32 ,
14641462 }
@@ -1550,7 +1548,7 @@ pub enum QuadDirection {
15501548#[ spirv_std_macros:: gpu_only]
15511549#[ doc( alias = "OpGroupNonUniformQuadSwap" ) ]
15521550#[ inline]
1553- pub fn subgroup_quad_swap < const DIRECTION : u32 , T : ScalarOrVectorComposite > ( value : T ) -> T {
1551+ pub fn subgroup_quad_swap < const DIRECTION : u32 , T : ScalarComposite > ( value : T ) -> T {
15541552 struct Transform < const DIRECTION : u32 > ;
15551553
15561554 impl < const DIRECTION : u32 > ScalarOrVectorTransform for Transform < DIRECTION > {
0 commit comments