summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorMukund Keshava <mkeshava@nvidia.com>2025-06-13 11:50:17 +0530
committerGitHub <noreply@github.com>2025-06-13 06:20:17 +0000
commite9dcdd884ac616b4c9f5b258fb2a78d10bfce293 (patch)
tree345f47b5969379d3d03e1d58141d760fd6fa3ffb /source
parent9c8fab83a53c43e345566c35f87c16fe7b815e01 (diff)
Add new capdef for lss intrinsics (#7427)
* Add new capdef for lss intrinsics Fixes #7426 Raygen shaders need to be supported for only hitobject APIs. So we need a special capability for that, instead of a common one. * regenerate command line reference --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
Diffstat (limited to 'source')
-rw-r--r--source/slang/hlsl.meta.slang8
-rw-r--r--source/slang/slang-capabilities.capdef6
2 files changed, 10 insertions, 4 deletions
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang
index 3cfa9410b..ec7ff0e0d 100644
--- a/source/slang/hlsl.meta.slang
+++ b/source/slang/hlsl.meta.slang
@@ -20662,7 +20662,7 @@ struct HitObject
[__requiresNVAPI]
[NonUniformReturn]
- [require(cuda_hlsl_spirv, raytracing_lss)]
+ [require(cuda_hlsl_spirv, raytracing_lss_ho)]
float4 GetSpherePositionAndRadius()
{
__target_switch
@@ -20687,7 +20687,7 @@ struct HitObject
[__requiresNVAPI]
[NonUniformReturn]
- [require(cuda_hlsl_spirv, raytracing_lss)]
+ [require(cuda_hlsl_spirv, raytracing_lss_ho)]
float2x4 GetLssPositionsAndRadii()
{
__target_switch
@@ -20718,7 +20718,7 @@ struct HitObject
[__requiresNVAPI]
[NonUniformReturn]
- [require(cuda_hlsl_spirv, raytracing_lss)]
+ [require(cuda_hlsl_spirv, raytracing_lss_ho)]
bool IsSphereHit()
{
__target_switch
@@ -20740,7 +20740,7 @@ struct HitObject
[__requiresNVAPI]
[NonUniformReturn]
- [require(cuda_hlsl_spirv, raytracing_lss)]
+ [require(cuda_hlsl_spirv, raytracing_lss_ho)]
bool IsLssHit()
{
__target_switch
diff --git a/source/slang/slang-capabilities.capdef b/source/slang/slang-capabilities.capdef
index 343f89687..312777340 100644
--- a/source/slang/slang-capabilities.capdef
+++ b/source/slang/slang-capabilities.capdef
@@ -2260,6 +2260,12 @@ alias raytracing_anyhit_closesthit = anyhit_closesthit + raytracing;
/// [Compound]
alias raytracing_lss = raytracing_anyhit_closesthit | spvRayTracingLinearSweptSpheresGeometryNV;
+/// hit object APIs allow raygen shaders, but not the non-hit object APIs. So we have this special
+/// capdef specifically for the hitobject variant.
+/// Collection of capabilities for linear swept spheres.
+/// [Compound]
+alias raytracing_lss_ho = raytracing_lss | raygen;
+
/// Collection of capabilities for raytracing with the shader stages of anyhit, closesthit, and intersection.
/// [Compound]
alias raytracing_anyhit_closesthit_intersection = anyhit_closesthit_intersection + raytracing;