44#![ allow( clippy:: bad_bit_mask) ]
55
66use crate :: matrix:: Matrix4x3 ;
7- use crate :: vector:: Vector ;
87#[ cfg( target_arch = "spirv" ) ]
98use core:: arch:: asm;
9+ use glam:: { UVec2 , Vec2 , Vec3 } ;
1010
1111/// An acceleration structure type which is an opaque reference to an
1212/// acceleration structure handle as defined in the client API specification.
@@ -48,7 +48,7 @@ impl AccelerationStructure {
4848 #[ spirv_std_macros:: gpu_only]
4949 #[ doc( alias = "OpConvertUToAccelerationStructureKHR" ) ]
5050 #[ inline]
51- pub unsafe fn from_vec ( id : impl Vector < u32 , 2 > ) -> AccelerationStructure {
51+ pub unsafe fn from_vec ( id : UVec2 ) -> AccelerationStructure {
5252 unsafe {
5353 // FIXME(eddyb) `let mut result = T::default()` uses (for `asm!`), with this.
5454 let mut result_slot = core:: mem:: MaybeUninit :: uninit ( ) ;
@@ -102,9 +102,9 @@ impl AccelerationStructure {
102102 sbt_offset : i32 ,
103103 sbt_stride : i32 ,
104104 miss_index : i32 ,
105- ray_origin : impl Vector < f32 , 3 > ,
105+ ray_origin : Vec3 ,
106106 ray_tmin : f32 ,
107- ray_direction : impl Vector < f32 , 3 > ,
107+ ray_direction : Vec3 ,
108108 ray_tmax : f32 ,
109109 payload : & mut T ,
110110 ) {
@@ -261,9 +261,9 @@ impl RayQuery {
261261 acceleration_structure : & AccelerationStructure ,
262262 ray_flags : RayFlags ,
263263 cull_mask : u32 ,
264- ray_origin : impl Vector < f32 , 3 > ,
264+ ray_origin : Vec3 ,
265265 ray_tmin : f32 ,
266- ray_direction : impl Vector < f32 , 3 > ,
266+ ray_direction : Vec3 ,
267267 ray_tmax : f32 ,
268268 ) {
269269 unsafe {
@@ -732,7 +732,7 @@ impl RayQuery {
732732 #[ spirv_std_macros:: gpu_only]
733733 #[ doc( alias = "OpRayQueryGetIntersectionBarycentricsKHR" ) ]
734734 #[ inline]
735- pub unsafe fn get_candidate_intersection_barycentrics < V : Vector < f32 , 2 > > ( & self ) -> V {
735+ pub unsafe fn get_candidate_intersection_barycentrics ( & self ) -> Vec2 {
736736 unsafe {
737737 let mut result = Default :: default ( ) ;
738738
@@ -760,7 +760,7 @@ impl RayQuery {
760760 #[ spirv_std_macros:: gpu_only]
761761 #[ doc( alias = "OpRayQueryGetIntersectionBarycentricsKHR" ) ]
762762 #[ inline]
763- pub unsafe fn get_committed_intersection_barycentrics < V : Vector < f32 , 2 > > ( & self ) -> V {
763+ pub unsafe fn get_committed_intersection_barycentrics ( & self ) -> Vec2 {
764764 unsafe {
765765 let mut result = Default :: default ( ) ;
766766
@@ -861,7 +861,7 @@ impl RayQuery {
861861 #[ spirv_std_macros:: gpu_only]
862862 #[ doc( alias = "OpRayQueryGetIntersectionObjectRayDirectionKHR" ) ]
863863 #[ inline]
864- pub unsafe fn get_candidate_intersection_object_ray_direction < V : Vector < f32 , 3 > > ( & self ) -> V {
864+ pub unsafe fn get_candidate_intersection_object_ray_direction ( & self ) -> Vec3 {
865865 unsafe {
866866 let mut result = Default :: default ( ) ;
867867
@@ -888,7 +888,7 @@ impl RayQuery {
888888 #[ spirv_std_macros:: gpu_only]
889889 #[ doc( alias = "OpRayQueryGetIntersectionObjectRayDirectionKHR" ) ]
890890 #[ inline]
891- pub unsafe fn get_committed_intersection_object_ray_direction < V : Vector < f32 , 3 > > ( & self ) -> V {
891+ pub unsafe fn get_committed_intersection_object_ray_direction ( & self ) -> Vec3 {
892892 unsafe {
893893 let mut result = Default :: default ( ) ;
894894
@@ -912,7 +912,7 @@ impl RayQuery {
912912 #[ spirv_std_macros:: gpu_only]
913913 #[ doc( alias = "OpRayQueryGetIntersectionObjectRayOriginKHR" ) ]
914914 #[ inline]
915- pub unsafe fn get_candidate_intersection_object_ray_origin < V : Vector < f32 , 3 > > ( & self ) -> V {
915+ pub unsafe fn get_candidate_intersection_object_ray_origin ( & self ) -> Vec3 {
916916 unsafe {
917917 let mut result = Default :: default ( ) ;
918918
@@ -939,7 +939,7 @@ impl RayQuery {
939939 #[ spirv_std_macros:: gpu_only]
940940 #[ doc( alias = "OpRayQueryGetIntersectionObjectRayOriginKHR" ) ]
941941 #[ inline]
942- pub unsafe fn get_committed_intersection_object_ray_origin < V : Vector < f32 , 3 > > ( & self ) -> V {
942+ pub unsafe fn get_committed_intersection_object_ray_origin ( & self ) -> Vec3 {
943943 unsafe {
944944 let mut result = Default :: default ( ) ;
945945
@@ -960,7 +960,7 @@ impl RayQuery {
960960 #[ spirv_std_macros:: gpu_only]
961961 #[ doc( alias = "OpRayQueryGetWorldRayDirectionKHR" ) ]
962962 #[ inline]
963- pub unsafe fn get_world_ray_direction < V : Vector < f32 , 3 > > ( & self ) -> V {
963+ pub unsafe fn get_world_ray_direction ( & self ) -> Vec3 {
964964 unsafe {
965965 let mut result = Default :: default ( ) ;
966966
@@ -980,7 +980,7 @@ impl RayQuery {
980980 #[ spirv_std_macros:: gpu_only]
981981 #[ doc( alias = "OpRayQueryGetWorldRayOriginKHR" ) ]
982982 #[ inline]
983- pub unsafe fn get_world_ray_origin < V : Vector < f32 , 3 > > ( & self ) -> V {
983+ pub unsafe fn get_world_ray_origin ( & self ) -> Vec3 {
984984 unsafe {
985985 let mut result = Default :: default ( ) ;
986986
@@ -1053,7 +1053,7 @@ impl RayQuery {
10531053 #[ spirv_std_macros:: gpu_only]
10541054 #[ doc( alias = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR" ) ]
10551055 #[ inline]
1056- pub unsafe fn get_intersection_triangle_vertex_positions < V : Vector < f32 , 3 > > ( & self ) -> [ V ; 3 ] {
1056+ pub unsafe fn get_intersection_triangle_vertex_positions ( & self ) -> [ Vec3 ; 3 ] {
10571057 unsafe {
10581058 let mut result = Default :: default ( ) ;
10591059
0 commit comments