4
4
#![ allow( clippy:: bad_bit_mask) ]
5
5
6
6
use crate :: matrix:: Matrix4x3 ;
7
- use crate :: vector:: Vector ;
8
7
#[ cfg( target_arch = "spirv" ) ]
9
8
use core:: arch:: asm;
9
+ use glam:: { UVec2 , Vec2 , Vec3 } ;
10
10
11
11
/// An acceleration structure type which is an opaque reference to an
12
12
/// acceleration structure handle as defined in the client API specification.
@@ -48,7 +48,7 @@ impl AccelerationStructure {
48
48
#[ spirv_std_macros:: gpu_only]
49
49
#[ doc( alias = "OpConvertUToAccelerationStructureKHR" ) ]
50
50
#[ inline]
51
- pub unsafe fn from_vec ( id : impl Vector < u32 , 2 > ) -> AccelerationStructure {
51
+ pub unsafe fn from_vec ( id : UVec2 ) -> AccelerationStructure {
52
52
unsafe {
53
53
// FIXME(eddyb) `let mut result = T::default()` uses (for `asm!`), with this.
54
54
let mut result_slot = core:: mem:: MaybeUninit :: uninit ( ) ;
@@ -102,9 +102,9 @@ impl AccelerationStructure {
102
102
sbt_offset : i32 ,
103
103
sbt_stride : i32 ,
104
104
miss_index : i32 ,
105
- ray_origin : impl Vector < f32 , 3 > ,
105
+ ray_origin : Vec3 ,
106
106
ray_tmin : f32 ,
107
- ray_direction : impl Vector < f32 , 3 > ,
107
+ ray_direction : Vec3 ,
108
108
ray_tmax : f32 ,
109
109
payload : & mut T ,
110
110
) {
@@ -261,9 +261,9 @@ impl RayQuery {
261
261
acceleration_structure : & AccelerationStructure ,
262
262
ray_flags : RayFlags ,
263
263
cull_mask : u32 ,
264
- ray_origin : impl Vector < f32 , 3 > ,
264
+ ray_origin : Vec3 ,
265
265
ray_tmin : f32 ,
266
- ray_direction : impl Vector < f32 , 3 > ,
266
+ ray_direction : Vec3 ,
267
267
ray_tmax : f32 ,
268
268
) {
269
269
unsafe {
@@ -732,7 +732,7 @@ impl RayQuery {
732
732
#[ spirv_std_macros:: gpu_only]
733
733
#[ doc( alias = "OpRayQueryGetIntersectionBarycentricsKHR" ) ]
734
734
#[ 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 {
736
736
unsafe {
737
737
let mut result = Default :: default ( ) ;
738
738
@@ -760,7 +760,7 @@ impl RayQuery {
760
760
#[ spirv_std_macros:: gpu_only]
761
761
#[ doc( alias = "OpRayQueryGetIntersectionBarycentricsKHR" ) ]
762
762
#[ 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 {
764
764
unsafe {
765
765
let mut result = Default :: default ( ) ;
766
766
@@ -861,7 +861,7 @@ impl RayQuery {
861
861
#[ spirv_std_macros:: gpu_only]
862
862
#[ doc( alias = "OpRayQueryGetIntersectionObjectRayDirectionKHR" ) ]
863
863
#[ 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 {
865
865
unsafe {
866
866
let mut result = Default :: default ( ) ;
867
867
@@ -888,7 +888,7 @@ impl RayQuery {
888
888
#[ spirv_std_macros:: gpu_only]
889
889
#[ doc( alias = "OpRayQueryGetIntersectionObjectRayDirectionKHR" ) ]
890
890
#[ 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 {
892
892
unsafe {
893
893
let mut result = Default :: default ( ) ;
894
894
@@ -912,7 +912,7 @@ impl RayQuery {
912
912
#[ spirv_std_macros:: gpu_only]
913
913
#[ doc( alias = "OpRayQueryGetIntersectionObjectRayOriginKHR" ) ]
914
914
#[ 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 {
916
916
unsafe {
917
917
let mut result = Default :: default ( ) ;
918
918
@@ -939,7 +939,7 @@ impl RayQuery {
939
939
#[ spirv_std_macros:: gpu_only]
940
940
#[ doc( alias = "OpRayQueryGetIntersectionObjectRayOriginKHR" ) ]
941
941
#[ 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 {
943
943
unsafe {
944
944
let mut result = Default :: default ( ) ;
945
945
@@ -960,7 +960,7 @@ impl RayQuery {
960
960
#[ spirv_std_macros:: gpu_only]
961
961
#[ doc( alias = "OpRayQueryGetWorldRayDirectionKHR" ) ]
962
962
#[ 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 {
964
964
unsafe {
965
965
let mut result = Default :: default ( ) ;
966
966
@@ -980,7 +980,7 @@ impl RayQuery {
980
980
#[ spirv_std_macros:: gpu_only]
981
981
#[ doc( alias = "OpRayQueryGetWorldRayOriginKHR" ) ]
982
982
#[ 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 {
984
984
unsafe {
985
985
let mut result = Default :: default ( ) ;
986
986
@@ -1053,7 +1053,7 @@ impl RayQuery {
1053
1053
#[ spirv_std_macros:: gpu_only]
1054
1054
#[ doc( alias = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR" ) ]
1055
1055
#[ 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 ] {
1057
1057
unsafe {
1058
1058
let mut result = Default :: default ( ) ;
1059
1059
0 commit comments