@@ -4393,12 +4393,14 @@ bool ReportHit(float tHit, uint hitKind, A attributes)
4393
4393
__target_intrinsic (hlsl)
4394
4394
__target_intrinsic (GL_NV_ray_tracing, ignoreIntersectionNV)
4395
4395
__target_intrinsic (GL_EXT_ray_tracing, " ignoreIntersectionEXT;" )
4396
+ __target_intrinsic (cuda, " optixIgnoreIntersection" )
4396
4397
void IgnoreHit();
4397
4398
4398
4399
// 10.3.5
4399
4400
__target_intrinsic (hlsl)
4400
4401
__target_intrinsic (GL_NV_ray_tracing, terminateRayNV)
4401
4402
__target_intrinsic (GL_EXT_ray_tracing, " terminateRayEXT;" )
4403
+ __target_intrinsic (cuda, " optixTerminateRay" )
4402
4404
void AcceptHitAndEndSearch();
4403
4405
4404
4406
// 10.4 - System Values and Special Semantics
@@ -4415,20 +4417,24 @@ uint3 DispatchRaysIndex();
4415
4417
4416
4418
__target_intrinsic (GL_NV_ray_tracing, " (gl_LaunchSizeNV)" )
4417
4419
__target_intrinsic (GL_EXT_ray_tracing, " (gl_LaunchSizeEXT)" )
4420
+ __target_intrinsic (cuda, " optixGetLaunchDimensions" )
4418
4421
uint3 DispatchRaysDimensions();
4419
4422
4420
4423
// 10.4.2 - Ray System Values
4421
4424
4422
4425
__target_intrinsic (GL_NV_ray_tracing, " (gl_WorldRayOriginNV)" )
4423
4426
__target_intrinsic (GL_EXT_ray_tracing, " (gl_WorldRayOriginEXT)" )
4427
+ __target_intrinsic (cuda, " optixGetWorldRayOrigin" )
4424
4428
float3 WorldRayOrigin();
4425
4429
4426
4430
__target_intrinsic (GL_NV_ray_tracing, " (gl_WorldRayDirectionNV)" )
4427
4431
__target_intrinsic (GL_EXT_ray_tracing, " (gl_WorldRayDirectionEXT)" )
4432
+ __target_intrinsic (cuda, " optixGetWorldRayDirection" )
4428
4433
float3 WorldRayDirection();
4429
4434
4430
4435
__target_intrinsic (GL_NV_ray_tracing, " (gl_RayTminNV)" )
4431
4436
__target_intrinsic (GL_EXT_ray_tracing, " (gl_RayTminEXT)" )
4437
+ __target_intrinsic (cuda, " optixGetRayTmin" )
4432
4438
float RayTMin();
4433
4439
4434
4440
// Note: The `RayTCurrent()` intrinsic should translate to
@@ -4443,32 +4449,41 @@ float RayTMin();
4443
4449
//
4444
4450
__target_intrinsic (GL_NV_ray_tracing, " (gl_RayTmaxNV)" )
4445
4451
__target_intrinsic (GL_EXT_ray_tracing, " (gl_RayTmaxEXT)" )
4452
+ __target_intrinsic (cuda, " optixGetRayTmax" )
4446
4453
float RayTCurrent();
4447
4454
4448
4455
__target_intrinsic (GL_NV_ray_tracing, " (gl_IncomingRayFlagsNV)" )
4449
4456
__target_intrinsic (GL_EXT_ray_tracing, " (gl_IncomingRayFlagsEXT)" )
4457
+ __target_intrinsic (cuda, " optixGetRayFlags" )
4450
4458
uint RayFlags();
4451
4459
4452
4460
// 10.4.3 - Primitive/Object Space System Values
4453
4461
4454
4462
__target_intrinsic (GL_NV_ray_tracing, " (gl_InstanceCustomIndexNV)" )
4455
4463
__target_intrinsic (GL_EXT_ray_tracing, " (gl_InstanceCustomIndexEXT)" )
4464
+ __target_intrinsic (cuda, " optixGetInstanceIndex" )
4456
4465
uint InstanceIndex();
4457
4466
4458
4467
__target_intrinsic (__glslRayTracing, " (gl_InstanceID)" )
4468
+ __target_intrinsic (cuda, " optixGetInstanceId" )
4459
4469
uint InstanceID();
4460
4470
4461
4471
__target_intrinsic (__glslRayTracing, " (gl_PrimitiveID)" )
4472
+ __target_intrinsic (cuda, " optixGetPrimitiveIndex" )
4462
4473
uint PrimitiveIndex();
4463
4474
4464
4475
__target_intrinsic (GL_NV_ray_tracing, " (gl_ObjectRayOriginNV)" )
4465
4476
__target_intrinsic (GL_EXT_ray_tracing, " (gl_ObjectRayOriginEXT)" )
4477
+ __target_intrinsic (cuda, " optixGetObjectRayOrigin" )
4466
4478
float3 ObjectRayOrigin();
4467
4479
4468
4480
__target_intrinsic (GL_NV_ray_tracing, " (gl_ObjectRayDirectionNV)" )
4469
4481
__target_intrinsic (GL_EXT_ray_tracing, " (gl_ObjectRayDirectionEXT)" )
4482
+ __target_intrinsic (cuda, " optixGetObjectRayDirection" )
4470
4483
float3 ObjectRayDirection();
4471
4484
4485
+ // TODO: optix has an optixGetObjectToWorldTransformMatrix function that returns 12
4486
+ // floats by reference.
4472
4487
__target_intrinsic (GL_NV_ray_tracing, " transpose(gl_ObjectToWorldNV)" )
4473
4488
__target_intrinsic (GL_EXT_ray_tracing, " transpose(gl_ObjectToWorldEXT)" )
4474
4489
float3x4 ObjectToWorld3x4();
@@ -4500,6 +4515,7 @@ float3x4 WorldToObject() { return WorldToObject3x4(); }
4500
4515
// 10.4.4 - Hit Specific System values
4501
4516
__target_intrinsic (GL_NV_ray_tracing, " (gl_HitKindNV)" )
4502
4517
__target_intrinsic (GL_EXT_ray_tracing, " (gl_HitKindEXT)" )
4518
+ __target_intrinsic (cuda, " optixGetHitKind" )
4503
4519
uint HitKind();
4504
4520
4505
4521
// Pre-defined hit kinds (not documented explicitly)
0 commit comments