summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2025-09-24 21:49:26 -0700
committerGitHub <noreply@github.com>2025-09-25 04:49:26 +0000
commitdb44c1b732891102199f0ec9d219a33d2ab2d6a1 (patch)
tree2efd3c0cec727dbbdd378721d398b25cb2edf3d0 /source
parent55a7d2a73ef051f6027129f90e73a88b5176ec3b (diff)
Prepare VulkanSDK release Oct 2025 (#8525)
Related to - https://github.com/shader-slang/slang/issues/8519
Diffstat (limited to 'source')
-rw-r--r--source/slang/hlsl.meta.slang494
1 files changed, 247 insertions, 247 deletions
diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang
index ff30a921c..35d210da6 100644
--- a/source/slang/hlsl.meta.slang
+++ b/source/slang/hlsl.meta.slang
@@ -1266,7 +1266,7 @@ extension _Texture<T,Shape,isArray,isMS,sampleCount,0,isShadow,1,format>
}
}
- [__readNone]
+ [__readNone]
[ForceInline]
[require(glsl_hlsl_metal_spirv_wgsl, texture_shadowlod)]
float SampleCmp(vector<float, Shape.dimensions+isArray> location, float compareValue, constexpr vector<int, Shape.planeDimensions> offset)
@@ -1301,7 +1301,7 @@ extension _Texture<T,Shape,isArray,isMS,sampleCount,0,isShadow,1,format>
}
- [__readNone]
+ [__readNone]
[ForceInline]
[require(hlsl_spirv, sm_5_0)]
float SampleCmp(vector<float, Shape.dimensions+isArray> location, float compareValue, constexpr vector<int, Shape.planeDimensions> offset, float clamp, out uint status)
@@ -1450,7 +1450,7 @@ extension _Texture<T,Shape,isArray,isMS,sampleCount,0,isShadow,1,format>
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
OpStore &status %residentCode;
- result:$$float = OpCompositeExtract %sparseResult 1;
+ result:$$float = OpCompositeExtract %sparseResult 1;
};
}
}
@@ -1560,7 +1560,7 @@ extension _Texture<T,Shape,isArray,isMS,sampleCount,0,isShadow,1,format>
%sparseResult:%sparseResultType = OpImageSparseSampleExplicitLod $this $location Grad|ConstOffset|MinLod $gradX $gradY $offset $lodClamp;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
- %sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
+ %sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
@@ -1675,7 +1675,7 @@ extension _Texture<T,Shape,isArray,isMS,sampleCount,0,isShadow,1,format>
%sparseResult:%sparseResultType = OpImageSparseSampleExplicitLod $this $location Lod|ConstOffset $level $offset;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
- %sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
+ %sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
@@ -3488,7 +3488,7 @@ ${{{{
{
__target_switch
{
- case hlsl:
+ case hlsl:
static_assert(Shape.flavor == $(SLANG_TEXTURE_2D) || Shape.flavor == $(SLANG_TEXTURE_CUBE),
"Gather is supported only for 2D and 3D textures");
__intrinsic_asm ".Gather$(compareFunc)$(componentFunc)";
@@ -3536,7 +3536,7 @@ ${{{{
{
__target_switch
{
- case hlsl:
+ case hlsl:
static_assert(Shape.flavor == $(SLANG_TEXTURE_2D) || Shape.flavor == $(SLANG_TEXTURE_CUBE),
"Gather is supported only for 2D and 3D textures");
__intrinsic_asm ".Gather$(compareFunc)$(componentFunc)";
@@ -3852,11 +3852,11 @@ extension _Texture<T,Shape,isArray,0,sampleCount,0,isShadow,isCombined,format>
OpCapability SparseResidency;
%sparseResultType = OpTypeStruct $$uint __sampledType(T);
%image:__imageType(this) = OpImage $this;
-
+
%sparseResult:%sparseResultType = OpImageSparseFetch %image $coord Lod|ConstOffset $lod $offset;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
%sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
-
+
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
};
@@ -3867,11 +3867,11 @@ extension _Texture<T,Shape,isArray,0,sampleCount,0,isShadow,isCombined,format>
{
OpCapability SparseResidency;
%sparseResultType = OpTypeStruct $$uint __sampledType(T);
-
+
%sparseResult:%sparseResultType = OpImageSparseFetch $this $coord Lod|ConstOffset $lod $offset;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
%sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
-
+
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
};
@@ -4065,11 +4065,11 @@ extension _Texture<T,Shape,isArray,1,sampleCount,0,isShadow,isCombined,format>
OpCapability SparseResidency;
%sparseResultType = OpTypeStruct $$uint __sampledType(T);
%image:__imageType(this) = OpImage $this;
-
+
%sparseResult:%sparseResultType = OpImageSparseFetch %image $location ConstOffset|Sample $offset $sampleIndex;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
%sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
-
+
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
};
@@ -4080,11 +4080,11 @@ extension _Texture<T,Shape,isArray,1,sampleCount,0,isShadow,isCombined,format>
{
OpCapability SparseResidency;
%sparseResultType = OpTypeStruct $$uint __sampledType(T);
-
+
%sparseResult:%sparseResultType = OpImageSparseFetch $this $location ConstOffset|Sample $offset $sampleIndex;
%residentCode:$$uint = OpCompositeExtract %sparseResult 0;
%sampled:__sampledType(T) = OpCompositeExtract %sparseResult 1;
-
+
OpStore &status %residentCode;
__truncate $$T result __sampledType(T) %sampled;
};
@@ -4333,7 +4333,7 @@ extension _Texture<T,Shape,isArray,0,sampleCount,$(access),isShadow, 0,format>
{
__intrinsic_asm "imageStore($0, $1, $V2)";
}
-
+
[require(metal, texture_sm_4_1)]
__intrinsic_op($(kIROp_ImageStore))
static void __metalImageStoreArray(This val, vector<uint, Shape.dimensions> location, T value, uint arrayIndex);
@@ -4472,7 +4472,7 @@ extension _Texture<T,Shape,isArray,0,sampleCount,$(access),isShadow, 0,format>
// If a 'Texture[location]' is referred to by a '__ref', call 'kIROp_ImageSubscript(location)'.
// This allows call's to stay aware that the input is from a 'Texture'.
- __intrinsic_op($(kIROp_ImageSubscript))
+ __intrinsic_op($(kIROp_ImageSubscript))
ref;
}
${{{{
@@ -5727,7 +5727,7 @@ ${{{{
return;
}
}
-
+
/// Perform a floating-point atomic bitwise compare-and-store operation at `byteAddress`.
/// @param byteAddress The address at which to perform the atomic compare-and-exchange operation.
/// @param compareValue The value to perform bitwise comparison to the value at `byteAddress`.
@@ -7447,7 +7447,7 @@ matrix<float16_t,R,C> asfloat16<let R : int, let C : int>(matrix<uint16_t,R,C> v
[__unsafeForceInlineEarly]
[__readNone]
-int16_t asint16(float16_t value)
+int16_t asint16(float16_t value)
{
__target_switch
{
@@ -7463,7 +7463,7 @@ int16_t asint16(float16_t value)
[__unsafeForceInlineEarly]
[__readNone]
-vector<int16_t,N> asint16<let N : int>(vector<float16_t,N> value)
+vector<int16_t,N> asint16<let N : int>(vector<float16_t,N> value)
{
__target_switch
{
@@ -7475,7 +7475,7 @@ vector<int16_t,N> asint16<let N : int>(vector<float16_t,N> value)
[__unsafeForceInlineEarly]
[__readNone]
-matrix<int16_t,R,C> asint16<let R : int, let C : int>(matrix<float16_t,R,C> value)
+matrix<int16_t,R,C> asint16<let R : int, let C : int>(matrix<float16_t,R,C> value)
{
__target_switch
{
@@ -7486,7 +7486,7 @@ matrix<int16_t,R,C> asint16<let R : int, let C : int>(matrix<float16_t,R,C> valu
[__readNone]
[__unsafeForceInlineEarly]
-float16_t asfloat16(int16_t value)
+float16_t asfloat16(int16_t value)
{
__target_switch
{
@@ -7502,7 +7502,7 @@ float16_t asfloat16(int16_t value)
[__unsafeForceInlineEarly]
[__readNone]
-vector<float16_t,N> asfloat16<let N : int>(vector<int16_t,N> value)
+vector<float16_t,N> asfloat16<let N : int>(vector<int16_t,N> value)
{
__target_switch
{
@@ -7517,7 +7517,7 @@ vector<float16_t,N> asfloat16<let N : int>(vector<int16_t,N> value)
[__unsafeForceInlineEarly]
[__readNone]
-matrix<float16_t,R,C> asfloat16<let R : int, let C : int>(matrix<int16_t,R,C> value)
+matrix<float16_t,R,C> asfloat16<let R : int, let C : int>(matrix<int16_t,R,C> value)
{
__target_switch
{
@@ -9134,7 +9134,7 @@ T EvaluateAttributeSnapped(__constref T x, int2 offset)
{
__target_switch
{
- case hlsl:
+ case hlsl:
case glsl:
return __EvaluateAttributeSnapped(__ResolveVaryingInputRef(x), offset);
case spirv:
@@ -9158,7 +9158,7 @@ vector<T,N> EvaluateAttributeSnapped(__constref vector<T,N> x, int2 offset)
{
__target_switch
{
- case hlsl:
+ case hlsl:
case glsl:
return __EvaluateAttributeSnapped(__ResolveVaryingInputRef(x), offset);
case spirv:
@@ -9182,7 +9182,7 @@ matrix<T,N,M> EvaluateAttributeSnapped(__constref matrix<T,N,M> x, int2 offset)
{
__target_switch
{
- case hlsl:
+ case hlsl:
case glsl:
return __EvaluateAttributeSnapped(__ResolveVaryingInputRef(x), offset);
default:
@@ -9280,14 +9280,14 @@ T exp2(T x)
case hlsl:
__intrinsic_asm "exp2($0)";
case metal: __intrinsic_asm "exp2";
- case cpp:
+ case cpp:
__intrinsic_asm "$P_exp2($0)";
- case cuda:
+ case cuda:
__intrinsic_asm "$P_exp2($0)";
case wgsl:
__intrinsic_asm "exp2";
}
-
+
}
__generic<T : __BuiltinFloatingPointType, let N : int>
@@ -11029,11 +11029,11 @@ T length(T x)
{
__target_switch
{
- case glsl: __intrinsic_asm "length";
+ case glsl: __intrinsic_asm "length";
case spirv: return spirv_asm {
OpExtInst $$T result glsl450 Length $x
};
- case wgsl: __intrinsic_asm "length";
+ case wgsl: __intrinsic_asm "length";
default:
return abs(x);
}
@@ -12052,9 +12052,9 @@ uint4 msad4(uint reference, uint2 source, uint4 accum)
int4 bytesRef = (reference >> uint4(24, 16, 8, 0)) & 0xFF;
int4 bytesX = (source.x >> uint4(24, 16, 8, 0)) & 0xFF;
int4 bytesY = (source.y >> uint4(24, 16, 8, 0)) & 0xFF;
-
+
uint4 mask = select(bytesRef == 0, 0, 0xFFFFFFFFu);
-
+
uint4 result = accum;
result += mask.x & abs(bytesRef - int4(bytesX.x, bytesY.y, bytesY.z, bytesY.w));
result += mask.y & abs(bytesRef - int4(bytesX.x, bytesX.y, bytesY.z, bytesY.w));
@@ -14999,7 +14999,7 @@ T QuadReadAcrossX(T localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 1U);
case spirv:
uint direction = 0u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$T = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -15026,7 +15026,7 @@ vector<T,N> QuadReadAcrossX(vector<T,N> localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 1U);
case spirv:
uint direction = 0u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$vector<T,N> = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -15055,7 +15055,7 @@ T QuadReadAcrossY(T localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 2U);
case spirv:
uint direction = 1u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$T = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -15081,7 +15081,7 @@ vector<T,N> QuadReadAcrossY(vector<T,N> localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 2U);
case spirv:
uint direction = 1u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$vector<T,N> = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -15110,7 +15110,7 @@ T QuadReadAcrossDiagonal(T localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 3U);
case spirv:
uint direction = 2u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$T = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -15136,7 +15136,7 @@ vector<T,N> QuadReadAcrossDiagonal(vector<T,N> localValue)
return QuadReadLaneAt(localValue, __builtinQuadLaneIndex ^ 3U);
case spirv:
uint direction = 2u;
- return spirv_asm
+ return spirv_asm
{
OpCapability GroupNonUniformQuad;
result:$$vector<T,N> = OpGroupNonUniformQuadSwap Subgroup $localValue $direction;
@@ -17009,8 +17009,8 @@ ${{{{
// Quad Control intrinsics
//
// For SPIRV and GLSL targets, the behavior is taken from Vulkan's `VK_KHR_shader_quad_control` spec.
-// QuadAny/QuadAll will map to OpGroupNonUniformQuadAny/All, and using either of these functions will
-// result in the QuadDerivativesKHR execution mode being used. If MaximallyReconvergesKHR is not already
+// QuadAny/QuadAll will map to OpGroupNonUniformQuadAny/All, and using either of these functions will
+// result in the QuadDerivativesKHR execution mode being used. If MaximallyReconvergesKHR is not already
// specified by other means, it will be added when using either of QuadAny/QuadAll,
//
@@ -17093,7 +17093,7 @@ for (int aa = 0; aa < kBaseBufferAccessLevelCount; ++aa)
sb << "typealias ";
sb << kBaseBufferAccessLevels[aa].name;
sb << "Buffer = _Texture<T, __ShapeBuffer, 0, 0, 0, " << aa << ", 0, 0, format>;\n";
-
+
bool isReadOnly = aa == 0;
char const* glslTextureSizeFunc = (isReadOnly) ? "textureSize" : "imageSize";
@@ -17163,7 +17163,7 @@ extension _Texture<T, __ShapeBuffer, 0, 0, 0, $(aa), 0, 0, format>
${{{{
if (access != SLANG_RESOURCE_ACCESS_READ) {
}}}}
- [nonmutating]
+ [nonmutating]
$(requireToSet)
set
{
@@ -17188,7 +17188,7 @@ ${{{{
}}}}
}
-
+
}; // end extension
${{{{
@@ -17384,7 +17384,7 @@ void CallShader(uint shaderIndex, inout Payload payload)
static Payload p;
p = payload;
- spirv_asm
+ spirv_asm
{
OpExecuteCallableKHR $shaderIndex &p
};
@@ -17395,9 +17395,9 @@ void CallShader(uint shaderIndex, inout Payload payload)
// 10.3.2
-// Some functions only accept a "struct type" parameter. The
+// Some functions only accept a "struct type" parameter. The
// following function addresses this issue by transforming non-struct
-// parameters into a struct.
+// parameters into a struct.
// side effect typed use locations (`inout`,`out`, etc.) are managed.
__generic<T>
__intrinsic_op($(kIROp_ForceVarIntoStructTemporarily))
@@ -17527,9 +17527,9 @@ void TraceRay(
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
- OpTraceRayKHR
+ OpTraceRayKHR
/**/ $AccelerationStructure
/**/ $RayFlags
/**/ $InstanceInclusionMask
@@ -17659,14 +17659,14 @@ void TraceMotionRay(
{
[__vulkanRayPayload]
static payload_t p;
-
+
let origin = Ray.Origin;
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
p = Payload;
- spirv_asm
+ spirv_asm
{
OpCapability RayTracingMotionBlurNV;
OpExtension "SPV_NV_ray_tracing_motion_blur";
@@ -17699,7 +17699,7 @@ bool __reportIntersection(float tHit, uint hitKind)
{
case glsl: __intrinsic_asm "reportIntersectionEXT";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$bool = OpReportIntersectionKHR $tHit $hitKind;
};
@@ -17764,10 +17764,10 @@ void IgnoreHit()
case hlsl: __intrinsic_asm "IgnoreHit";
case glsl: __intrinsic_asm "ignoreIntersectionEXT;";
case cuda: __intrinsic_asm "optixIgnoreIntersection";
- case spirv:
- spirv_asm
- {
- OpIgnoreIntersectionKHR; %_ = OpLabel
+ case spirv:
+ spirv_asm
+ {
+ OpIgnoreIntersectionKHR; %_ = OpLabel
};
}
}
@@ -17784,10 +17784,10 @@ void AcceptHitAndEndSearch()
case hlsl: __intrinsic_asm "AcceptHitAndEndSearch";
case glsl: __intrinsic_asm "terminateRayEXT;";
case cuda: __intrinsic_asm "optixTerminateRay";
- case spirv:
- spirv_asm
- {
- OpTerminateRayKHR; %_ = OpLabel
+ case spirv:
+ spirv_asm
+ {
+ OpTerminateRayKHR; %_ = OpLabel
};
}
}
@@ -17813,7 +17813,7 @@ uint3 DispatchRaysIndex()
case glsl: __intrinsic_asm "(gl_LaunchIDEXT)";
case cuda: __intrinsic_asm "optixGetLaunchIndex";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint3 = OpLoad builtin(LaunchIdKHR:uint3);
};
@@ -17833,7 +17833,7 @@ uint3 DispatchRaysDimensions()
case glsl: __intrinsic_asm "(gl_LaunchSizeEXT)";
case cuda: __intrinsic_asm "optixGetLaunchDimensions";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint3 = OpLoad builtin(LaunchSizeKHR:uint3);
};
@@ -17856,7 +17856,7 @@ float3 WorldRayOrigin()
case glsl: __intrinsic_asm "(gl_WorldRayOriginEXT)";
case cuda: __intrinsic_asm "optixGetWorldRayOrigin";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpLoad builtin(WorldRayOriginKHR:float3);
};
@@ -17877,7 +17877,7 @@ float3 WorldRayDirection()
case glsl: __intrinsic_asm "(gl_WorldRayDirectionEXT)";
case cuda: __intrinsic_asm "optixGetWorldRayDirection";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpLoad builtin(WorldRayDirectionKHR:float3);
};
@@ -17898,7 +17898,7 @@ float RayTMin()
case glsl: __intrinsic_asm "(gl_RayTminEXT)";
case cuda: __intrinsic_asm "optixGetRayTmin";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float = OpLoad builtin(RayTminKHR:float);
};
@@ -17930,7 +17930,7 @@ float RayTCurrent()
case glsl: __intrinsic_asm "(gl_RayTmaxEXT)";
case cuda: __intrinsic_asm "optixGetRayTmax";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float = OpLoad builtin(RayTmaxKHR:float);
};
@@ -17950,7 +17950,7 @@ uint RayFlags()
case glsl: __intrinsic_asm "(gl_IncomingRayFlagsEXT)";
case cuda: __intrinsic_asm "optixGetRayFlags";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpLoad builtin(IncomingRayFlagsKHR:uint);
};
@@ -17973,7 +17973,7 @@ uint InstanceIndex()
case glsl: __intrinsic_asm "(gl_InstanceID)";
case cuda: __intrinsic_asm "optixGetInstanceIndex";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpLoad builtin(InstanceId:uint);
};
@@ -17994,7 +17994,7 @@ uint InstanceID()
case glsl: __intrinsic_asm "(gl_InstanceCustomIndexEXT)";
case cuda: __intrinsic_asm "optixGetInstanceId";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpLoad builtin(InstanceCustomIndexKHR:uint);
};
@@ -18015,7 +18015,7 @@ uint PrimitiveIndex()
case glsl: __intrinsic_asm "(gl_PrimitiveID)";
case cuda: __intrinsic_asm "optixGetPrimitiveIndex";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpLoad builtin(PrimitiveId:uint);
};
@@ -18036,7 +18036,7 @@ float3 ObjectRayOrigin()
case glsl: __intrinsic_asm "(gl_ObjectRayOriginEXT)";
case cuda: __intrinsic_asm "optixGetObjectRayOrigin";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpLoad builtin(ObjectRayOriginKHR:float3);
};
@@ -18057,7 +18057,7 @@ float3 ObjectRayDirection()
case glsl: __intrinsic_asm "(gl_ObjectRayDirectionEXT)";
case cuda: __intrinsic_asm "optixGetObjectRayDirection";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpLoad builtin(ObjectRayDirectionKHR:float3);
};
@@ -18079,7 +18079,7 @@ float3x4 ObjectToWorld3x4()
case hlsl: __intrinsic_asm "ObjectToWorld3x4";
case glsl: __intrinsic_asm "transpose(gl_ObjectToWorldEXT)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
%mat:$$float4x3 = OpLoad builtin(ObjectToWorldKHR:float4x3);
result:$$float3x4 = OpTranspose %mat;
@@ -18100,7 +18100,7 @@ float3x4 WorldToObject3x4()
case hlsl: __intrinsic_asm "WorldToObject3x4";
case glsl: __intrinsic_asm "transpose(gl_WorldToObjectEXT)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
%mat:$$float4x3 = OpLoad builtin(WorldToObjectKHR:float4x3);
result:$$float3x4 = OpTranspose %mat;
@@ -18121,7 +18121,7 @@ float4x3 ObjectToWorld4x3()
case hlsl: __intrinsic_asm "ObjectToWorld4x3";
case glsl: __intrinsic_asm "(gl_ObjectToWorldEXT)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float4x3 = OpLoad builtin(ObjectToWorldKHR:float4x3);
};
@@ -18141,7 +18141,7 @@ float4x3 WorldToObject4x3()
case hlsl: __intrinsic_asm "WorldToObject4x3";
case glsl: __intrinsic_asm "(gl_WorldToObjectEXT)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float4x3 = OpLoad builtin(WorldToObjectKHR:float4x3);
};
@@ -18167,7 +18167,7 @@ float RayCurrentTime()
case hlsl: __intrinsic_asm "RayCurrentTime";
case glsl: __intrinsic_asm "(gl_CurrentRayTimeNV)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float = OpLoad builtin(CurrentRayTimeNV:float);
};
@@ -18250,7 +18250,7 @@ float2x4 GetLssPositionsAndRadii()
%b:$$float4 = OpCompositeConstruct %p1 %r1;
result:$$float2x4 = OpCompositeConstruct %a %b;
};
-
+
}
}
@@ -18333,7 +18333,7 @@ uint HitKind()
case glsl: __intrinsic_asm "(gl_HitKindEXT)";
case cuda: __intrinsic_asm "optixGetHitKind";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpLoad builtin(HitKindKHR:uint);
};
@@ -18884,7 +18884,7 @@ struct RayQuery <let rayFlagsGeneric : RAY_FLAG = RAY_FLAG_NONE>
ray.TMax);
}
}
-
+
/// Resume the ray query coroutine.
///
/// If the coroutine suspends because of encountering
@@ -19116,7 +19116,7 @@ struct RayQuery <let rayFlagsGeneric : RAY_FLAG = RAY_FLAG_NONE>
{
OpExtension "SPV_NV_cluster_acceleration_structure";
OpCapability RayTracingClusterAccelerationStructureNV;
- result:$$int = OpRayQueryGetClusterIdNV &this $iCandidateOrCommitted;
+ result:$$int = OpRayQueryGetIntersectionClusterIdNV &this $iCandidateOrCommitted;
};
}
}
@@ -19161,7 +19161,7 @@ struct RayQuery <let rayFlagsGeneric : RAY_FLAG = RAY_FLAG_NONE>
{
OpExtension "SPV_NV_cluster_acceleration_structure";
OpCapability RayTracingClusterAccelerationStructureNV;
- result:$$int = OpRayQueryGetClusterIdNV &this $iCandidateOrCommitted;
+ result:$$int = OpRayQueryGetIntersectionClusterIdNV &this $iCandidateOrCommitted;
};
}
}
@@ -19637,7 +19637,7 @@ ${{{{
case hlsl: __intrinsic_asm ".$(ccName)$(matName)3x4";
case spirv:
uint iCandidateOrCommitted = $(candidateOrCommitted);
- return spirv_asm
+ return spirv_asm
{
%m:$$float4x3 = OpRayQueryGetIntersection$(matName)KHR &this $iCandidateOrCommitted;
result:$$float3x4 = OpTranspose %m;
@@ -19660,7 +19660,7 @@ ${{{{
case hlsl: __intrinsic_asm ".$(ccName)$(matName)4x3";
case spirv:
uint iCandidateOrCommitted = $(candidateOrCommitted);
- return spirv_asm
+ return spirv_asm
{
result:$$float4x3 = OpRayQueryGetIntersection$(matName)KHR &this $iCandidateOrCommitted;
};
@@ -19703,7 +19703,7 @@ ${{{{
case glsl: __intrinsic_asm "rayQueryGetIntersection$(method.glslName)EXT($0, $(ccTF))";
case spirv:
uint iCandidateOrCommitted = $(candidateOrCommitted);
- return spirv_asm
+ return spirv_asm
{
result:$$$(method.type) = OpRayQueryGetIntersection$(method.glslName)KHR &this $iCandidateOrCommitted;
};
@@ -19727,7 +19727,7 @@ ${{{{
case hlsl: __intrinsic_asm ".RayFlags";
case glsl: __intrinsic_asm "rayQueryGetRayFlagsEXT";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$uint = OpRayQueryGetRayFlagsKHR &this;
};
@@ -19747,7 +19747,7 @@ ${{{{
case hlsl: __intrinsic_asm ".WorldRayOrigin";
case glsl: __intrinsic_asm "rayQueryGetWorldRayOriginEXT";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpRayQueryGetWorldRayOriginKHR &this;
};
@@ -19767,7 +19767,7 @@ ${{{{
case hlsl: __intrinsic_asm ".WorldRayDirection";
case glsl: __intrinsic_asm "rayQueryGetWorldRayDirectionEXT";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float3 = OpRayQueryGetWorldRayDirectionKHR &this;
};
@@ -19788,7 +19788,7 @@ ${{{{
case hlsl: __intrinsic_asm ".RayTMin";
case glsl: __intrinsic_asm "rayQueryGetRayTMinEXT";
case spirv:
- return spirv_asm
+ return spirv_asm
{
result:$$float = OpRayQueryGetRayTMinKHR &this;
};
@@ -19888,14 +19888,14 @@ extension __SubpassImpl<T, 1>
// It relies on [ForceInline] removing the surrounding function and just inserting the *contained* `t` as a global
// The __ref should indicate the desire for the returned value to not be a copy of t, but *t*.
// In practive __ref doesn't have this effect in practice.
-//
+//
// We need this to be able access the payload outside of a function (which is all that TraceRay for example needs)
// We access the HitObjectAttributes via this function for the desired type, and it acts *as if* it's just an access
// to the global t.
[ForceInline]
Ref<T> __hitObjectAttributes<T>()
{
- [__vulkanHitObjectAttributes]
+ [__vulkanHitObjectAttributes]
static T t;
return t;
}
@@ -19947,13 +19947,13 @@ struct HitObject
{
HitObject hitObj;
__hlslTraceRay(
- AccelerationStructure,
- RayFlags,
- InstanceInclusionMask,
- RayContributionToHitGroupIndex,
- MultiplierForGeometryContributionToHitGroupIndex,
- MissShaderIndex,
- Ray,
+ AccelerationStructure,
+ RayFlags,
+ InstanceInclusionMask,
+ RayContributionToHitGroupIndex,
+ MultiplierForGeometryContributionToHitGroupIndex,
+ MissShaderIndex,
+ Ray,
__forceVarIntoRayPayloadStructTemporarily(Payload),
hitObj);
return hitObj;
@@ -19976,10 +19976,10 @@ struct HitObject
MissShaderIndex,
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
__rayPayloadLocation(p));
-
+
// Write the payload out
Payload = p;
}
@@ -19996,7 +19996,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20025,13 +20025,13 @@ struct HitObject
/// resulting hit information as a HitObject and does not trigger closesthit or miss shaders.
[ForceInline]
[require(cuda_glsl_hlsl_spirv, ser_motion_raygen_closesthit_miss)]
- static HitObject TraceMotionRay<payload_t>(
- RaytracingAccelerationStructure AccelerationStructure,
- uint RayFlags,
- uint InstanceInclusionMask,
- uint RayContributionToHitGroupIndex,
- uint MultiplierForGeometryContributionToHitGroupIndex,
- uint MissShaderIndex,
+ static HitObject TraceMotionRay<payload_t>(
+ RaytracingAccelerationStructure AccelerationStructure,
+ uint RayFlags,
+ uint InstanceInclusionMask,
+ uint RayContributionToHitGroupIndex,
+ uint MultiplierForGeometryContributionToHitGroupIndex,
+ uint MissShaderIndex,
RayDesc Ray,
float CurrentTime,
inout payload_t Payload)
@@ -20067,11 +20067,11 @@ struct HitObject
MissShaderIndex,
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
CurrentTime,
__rayPayloadLocation(p));
-
+
// Write the payload out
Payload = p;
}
@@ -20088,7 +20088,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20109,12 +20109,12 @@ struct HitObject
/**/ $CurrentTime
/**/ &p;
};
-
+
// Write the payload out
Payload = p;
}
}
-
+
}
/// Creates a HitObject representing a hit based on values explicitly passed as arguments, without
@@ -20141,7 +20141,7 @@ struct HitObject
case hlsl:
HitObject hitObj;
__hlslMakeHit(
- AccelerationStructure,
+ AccelerationStructure,
InstanceIndex,
GeometryIndex,
PrimitiveIndex,
@@ -20168,7 +20168,7 @@ struct HitObject
MultiplierForGeometryContributionToHitGroupIndex, /// sbtRecordStride?
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
__hitObjectAttributesLocation(__hitObjectAttributes<attr_t>()));
}
@@ -20184,7 +20184,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20207,18 +20207,18 @@ struct HitObject
}
}
- /// See MakeHit but handles Motion
+ /// See MakeHit but handles Motion
/// Currently only supported on VK
- [ForceInline]
+ [ForceInline]
[require(cuda_glsl_hlsl_spirv, ser_motion_raygen_closesthit_miss)]
- static HitObject MakeMotionHit<attr_t>(
- RaytracingAccelerationStructure AccelerationStructure,
- uint InstanceIndex,
- uint GeometryIndex,
- uint PrimitiveIndex,
- uint HitKind,
- uint RayContributionToHitGroupIndex,
- uint MultiplierForGeometryContributionToHitGroupIndex,
+ static HitObject MakeMotionHit<attr_t>(
+ RaytracingAccelerationStructure AccelerationStructure,
+ uint InstanceIndex,
+ uint GeometryIndex,
+ uint PrimitiveIndex,
+ uint HitKind,
+ uint RayContributionToHitGroupIndex,
+ uint MultiplierForGeometryContributionToHitGroupIndex,
RayDesc Ray,
float CurrentTime,
attr_t attributes)
@@ -20242,7 +20242,7 @@ struct HitObject
MultiplierForGeometryContributionToHitGroupIndex, /// sbtRecordStride?
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
CurrentTime,
__hitObjectAttributesLocation(__hitObjectAttributes<attr_t>()));
@@ -20259,7 +20259,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_ray_tracing_motion_blur";
OpCapability RayTracingMotionBlurNV;
@@ -20309,8 +20309,8 @@ struct HitObject
case hlsl:
HitObject hitObj;
__hlslMakeHitWithRecordIndex(
- HitGroupRecordIndex,
- AccelerationStructure,
+ HitGroupRecordIndex,
+ AccelerationStructure,
InstanceIndex,
GeometryIndex,
PrimitiveIndex,
@@ -20334,7 +20334,7 @@ struct HitObject
HitGroupRecordIndex, /// sbtRecordIndex
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
__hitObjectAttributesLocation(__hitObjectAttributes<attr_t>()));
}
@@ -20348,7 +20348,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20369,18 +20369,18 @@ struct HitObject
}
}
}
- /// See MakeHit but handles Motion
+ /// See MakeHit but handles Motion
/// Currently only supported on VK
[ForceInline]
[require(cuda_glsl_spirv, ser_motion_raygen_closesthit_miss)]
- static HitObject MakeMotionHit<attr_t>(
- uint HitGroupRecordIndex,
- RaytracingAccelerationStructure AccelerationStructure,
- uint InstanceIndex,
- uint GeometryIndex,
- uint PrimitiveIndex,
- uint HitKind,
- RayDesc Ray,
+ static HitObject MakeMotionHit<attr_t>(
+ uint HitGroupRecordIndex,
+ RaytracingAccelerationStructure AccelerationStructure,
+ uint InstanceIndex,
+ uint GeometryIndex,
+ uint PrimitiveIndex,
+ uint HitKind,
+ RayDesc Ray,
float CurrentTime,
attr_t attributes)
{
@@ -20395,13 +20395,13 @@ struct HitObject
__return_val,
AccelerationStructure,
InstanceIndex, ///? Same as instanceid ?
- PrimitiveIndex,
+ PrimitiveIndex,
GeometryIndex,
HitKind, /// Assuming HitKinds are compatible
HitGroupRecordIndex, /// sbtRecordIndex
Ray.Origin,
Ray.TMin,
- Ray.Direction,
+ Ray.Direction,
Ray.TMax,
CurrentTime,
__hitObjectAttributesLocation(__hitObjectAttributes<attr_t>()));
@@ -20416,7 +20416,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_ray_tracing_motion_blur";
OpCapability RayTracingMotionBlurNV;
@@ -20445,8 +20445,8 @@ struct HitObject
[__requiresNVAPI]
[ForceInline]
[require(cuda_glsl_hlsl_spirv, ser_raygen_closesthit_miss)]
- static HitObject MakeMiss(
- uint MissShaderIndex,
+ static HitObject MakeMiss(
+ uint MissShaderIndex,
RayDesc Ray)
{
__target_switch
@@ -20461,7 +20461,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20477,12 +20477,12 @@ struct HitObject
}
}
- /// See MakeMiss but handles Motion
+ /// See MakeMiss but handles Motion
/// Currently only supported on VK
[ForceInline]
[require(cuda_glsl_hlsl_spirv, ser_motion_raygen_closesthit_miss)]
- static HitObject MakeMotionMiss(
- uint MissShaderIndex,
+ static HitObject MakeMotionMiss(
+ uint MissShaderIndex,
RayDesc Ray,
float CurrentTime)
{
@@ -20498,7 +20498,7 @@ struct HitObject
let direction = Ray.Direction;
let tmin = Ray.TMin;
let tmax = Ray.TMax;
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_ray_tracing_motion_blur";
OpCapability RayTracingMotionBlurNV;
@@ -20535,7 +20535,7 @@ struct HitObject
__glslMakeNop(__return_val);
case cuda: __intrinsic_asm "slangOptixMakeNopHitObject";
case spirv:
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20597,10 +20597,10 @@ struct HitObject
// Save the payload
p = Payload;
- spirv_asm
- {
+ spirv_asm
+ {
OpExtension "SPV_NV_shader_invocation_reorder";
- OpCapability ShaderInvocationReorderNV;
+ OpCapability ShaderInvocationReorderNV;
OpHitObjectExecuteShaderNV
/**/ &HitOrMiss
/**/ &p;
@@ -20624,7 +20624,7 @@ struct HitObject
case glsl: __intrinsic_asm "hitObjectIsMissNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectIsMiss";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20644,8 +20644,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".IsHit";
case glsl: __intrinsic_asm "hitObjectIsHitNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectIsHit";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20665,8 +20665,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".IsNop";
case glsl: __intrinsic_asm "hitObjectIsEmptyNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectIsNop";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20692,7 +20692,7 @@ struct HitObject
}
case cuda: __intrinsic_asm "optixHitObjectGetRayDesc";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20717,8 +20717,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".GetShaderTableIndex";
case glsl: __intrinsic_asm "hitObjectGetShaderBindingTableRecordIndexNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectGetSbtRecordIndex";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20751,8 +20751,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".GetInstanceIndex";
case glsl: __intrinsic_asm "hitObjectGetInstanceIdNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectGetInstanceIndex";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20774,7 +20774,7 @@ struct HitObject
case glsl: __intrinsic_asm "hitObjectGetInstanceCustomIndexNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectGetInstanceId";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20795,8 +20795,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".GetGeometryIndex";
case glsl: __intrinsic_asm "hitObjectGetGeometryIndexNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectGetSbtGASIndex";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20817,8 +20817,8 @@ struct HitObject
case hlsl: __intrinsic_asm ".GetPrimitiveIndex";
case glsl: __intrinsic_asm "hitObjectGetPrimitiveIndexNV($0)";
case cuda: __intrinsic_asm "slangOptixHitObjectGetPrimitiveIndex";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20838,8 +20838,8 @@ struct HitObject
{
case hlsl: __intrinsic_asm ".GetHitKind";
case glsl: __intrinsic_asm "hitObjectGetHitKindNV($0)";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -20981,8 +20981,8 @@ struct HitObject
{
case hlsl: __intrinsic_asm ".GetWorldToObject";
case glsl: __intrinsic_asm "hitObjectGetWorldToObjectNV($0)";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21001,8 +21001,8 @@ struct HitObject
{
case hlsl: __intrinsic_asm ".GetObjectToWorld";
case glsl: __intrinsic_asm "hitObjectGetObjectToWorldNV($0)";
- case spirv:
- return spirv_asm
+ case spirv:
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21019,7 +21019,7 @@ struct HitObject
case glsl:
__intrinsic_asm "hitObjectGetCurrentTimeNV($0)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21036,7 +21036,7 @@ struct HitObject
case glsl:
__intrinsic_asm "hitObjectGetObjectRayOriginNV($0)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21053,7 +21053,7 @@ struct HitObject
case glsl:
__intrinsic_asm "hitObjectGetObjectRayDirectionNV($0)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21070,7 +21070,7 @@ struct HitObject
case glsl:
__intrinsic_asm "hitObjectGetShaderRecordBufferHandleNV($0)";
case spirv:
- return spirv_asm
+ return spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21107,7 +21107,7 @@ struct HitObject
case spirv:
{
__Addr<attr_t> attr = __allocHitObjectAttributes<attr_t>();
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21130,9 +21130,9 @@ struct HitObject
}
}
- ///
+ ///
/// !!!! Internal NVAPI HLSL impl. Not part of interface! !!!!!!!!!!!!
- ///
+ ///
[__requiresNVAPI]
[require(hlsl, ser_raygen_closesthit_miss)]
@@ -21147,14 +21147,14 @@ struct HitObject
[__requiresNVAPI]
[require(hlsl, ser_raygen_closesthit_miss)]
static void __hlslMakeHitWithRecordIndex<attr_t>(
- uint HitGroupRecordIndex,
- RaytracingAccelerationStructure AccelerationStructure,
- uint InstanceIndex,
- uint GeometryIndex,
- uint PrimitiveIndex,
- uint HitKind,
- RayDesc Ray,
- attr_t attributes,
+ uint HitGroupRecordIndex,
+ RaytracingAccelerationStructure AccelerationStructure,
+ uint InstanceIndex,
+ uint GeometryIndex,
+ uint PrimitiveIndex,
+ uint HitKind,
+ RayDesc Ray,
+ attr_t attributes,
out HitObject hitObj)
{
__target_switch
@@ -21165,15 +21165,15 @@ struct HitObject
[__requiresNVAPI]
[require(hlsl, ser_raygen_closesthit_miss)]
- static void __hlslMakeHit<attr_t>(RaytracingAccelerationStructure AccelerationStructure,
- uint InstanceIndex,
- uint GeometryIndex,
- uint PrimitiveIndex,
- uint HitKind,
- uint RayContributionToHitGroupIndex,
- uint MultiplierForGeometryContributionToHitGroupIndex,
- RayDesc Ray,
- attr_t attributes,
+ static void __hlslMakeHit<attr_t>(RaytracingAccelerationStructure AccelerationStructure,
+ uint InstanceIndex,
+ uint GeometryIndex,
+ uint PrimitiveIndex,
+ uint HitKind,
+ uint RayContributionToHitGroupIndex,
+ uint MultiplierForGeometryContributionToHitGroupIndex,
+ RayDesc Ray,
+ attr_t attributes,
out HitObject hitObj)
{
__target_switch
@@ -21184,14 +21184,14 @@ struct HitObject
[__requiresNVAPI]
[require(hlsl, ser_raygen_closesthit_miss)]
- static void __hlslTraceRay<payload_t>(
- RaytracingAccelerationStructure AccelerationStructure,
- uint RayFlags,
- uint InstanceInclusionMask,
- uint RayContributionToHitGroupIndex,
- uint MultiplierForGeometryContributionToHitGroupIndex,
- uint MissShaderIndex,
- RayDesc Ray,
+ static void __hlslTraceRay<payload_t>(
+ RaytracingAccelerationStructure AccelerationStructure,
+ uint RayFlags,
+ uint InstanceInclusionMask,
+ uint RayContributionToHitGroupIndex,
+ uint MultiplierForGeometryContributionToHitGroupIndex,
+ uint MissShaderIndex,
+ RayDesc Ray,
inout payload_t Payload,
out HitObject hitObj)
{
@@ -21201,9 +21201,9 @@ struct HitObject
}
}
- ///
+ ///
/// !!!! Internal GLSL GL_NV_shader_invocation_reorder impl. Not part of interface! !!!!!!!!!!!!
- ///
+ ///
__glsl_extension(GL_NV_shader_invocation_reorder)
__glsl_extension(GL_EXT_ray_tracing)
@@ -21225,7 +21225,7 @@ struct HitObject
// "void hitObjectRecordMissNV(hitObjectNV, uint, vec3, float, vec3, float);"
__glsl_extension(GL_NV_shader_invocation_reorder)
__glsl_extension(GL_EXT_ray_tracing)
- __glsl_extension(GL_NV_ray_tracing_motion_blur)
+ __glsl_extension(GL_NV_ray_tracing_motion_blur)
[require(glsl, ser_motion_raygen_closesthit_miss)]
static void __glslMakeMotionMiss(
out HitObject hitObj,
@@ -21233,7 +21233,7 @@ struct HitObject
float3 Origin,
float TMin,
float3 Direction,
- float TMax,
+ float TMax,
float CurrentTime)
{
__target_switch
@@ -21263,7 +21263,7 @@ struct HitObject
case glsl: __intrinsic_asm "hitObjectGetObjectRayDirectionNV($0)";
}
}
-
+
__glsl_extension(GL_EXT_ray_tracing)
__glsl_extension(GL_NV_shader_invocation_reorder)
[require(glsl, ser_raygen_closesthit_miss)]
@@ -21410,7 +21410,7 @@ struct HitObject
}
}
-
+
__glsl_extension(GL_EXT_ray_tracing)
__glsl_extension(GL_NV_shader_invocation_reorder)
[require(glsl, ser_raygen_closesthit_miss)]
@@ -21504,7 +21504,7 @@ void ReorderThread( uint CoherenceHint, uint NumCoherenceHintBitsFromLSB )
case glsl: __intrinsic_asm "reorderThreadNV";
case cuda: __intrinsic_asm "optixReorder";
case spirv:
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21542,7 +21542,7 @@ void ReorderThread( HitObject HitOrMiss, uint CoherenceHint, uint NumCoherenceHi
case glsl: __intrinsic_asm "reorderThreadNV";
case cuda: __intrinsic_asm "optixReorder($1, $2)";
case spirv:
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21570,7 +21570,7 @@ void ReorderThread( HitObject HitOrMiss )
case glsl: __intrinsic_asm "reorderThreadNV";
case cuda: __intrinsic_asm "optixReorder()";
case spirv:
- spirv_asm
+ spirv_asm
{
OpExtension "SPV_NV_shader_invocation_reorder";
OpCapability ShaderInvocationReorderNV;
@@ -21580,7 +21580,7 @@ void ReorderThread( HitObject HitOrMiss )
}
///
-/// DebugBreak support
+/// DebugBreak support
///
/// There doesn't appear to be an equivalent for debugBreak for HLSL
@@ -21591,7 +21591,7 @@ void __glslDebugBreak();
[ForceInline]
[require(cpp_cuda_glsl_hlsl, breakpoint)]
-void debugBreak()
+void debugBreak()
{
__target_switch
{
@@ -21605,7 +21605,7 @@ void debugBreak()
}
-//
+//
// Realtime Clock support
//
@@ -21669,9 +21669,9 @@ uint2 getRealtimeClock()
}
}
-//
-// CUDA specific
-//
+//
+// CUDA specific
+//
[__readNone]
[NonUniformReturn]
@@ -22323,7 +22323,7 @@ for(auto levelChoice : kLevelChoices)
uint samplerSpace,
uint samplerIndex,
float3 coords,
- FootprintGranularity granularity,
+ FootprintGranularity granularity,
out uint isSingleLod)
{
__target_switch
@@ -22343,7 +22343,7 @@ for(auto levelChoice : kLevelChoices)
uint samplerIndex,
float3 coords,
FootprintGranularity granularity,
- float lodBias,
+ float lodBias,
out uint isSingleLod)
{
__target_switch
@@ -22363,7 +22363,7 @@ for(auto levelChoice : kLevelChoices)
uint samplerIndex,
float3 coords,
FootprintGranularity granularity,
- float lod,
+ float lod,
out uint isSingleLod)
{
__target_switch
@@ -22384,7 +22384,7 @@ for(auto levelChoice : kLevelChoices)
float3 coords,
FootprintGranularity granularity,
float3 dx,
- float3 dy,
+ float3 dy,
out uint isSingleLod)
{
__target_switch
@@ -22758,7 +22758,7 @@ struct ConstBufferPointer<T, int alignment = 16>
// https://microsoft.github.io/DirectX-Specs/d3d/HLSL_SM_6_6_DynamicResources.html
//
// For Khronos targets, `__DynamicResource` can be used to declare "untyped" global bindings as
-// usual (e.g. unsized arrays for descriptor indexing), which will then be materialized into
+// usual (e.g. unsized arrays for descriptor indexing), which will then be materialized into
// new aliased bindings for each distinct cast type.
//
@@ -23022,7 +23022,7 @@ T defaultGetDescriptorFromHandle<T:IOpaqueDescriptor>(DescriptorHandle<T> handle
{
${{{{
{
- static const struct
+ static const struct
{
char const* option;
char const* enumType;
@@ -24585,7 +24585,7 @@ __intrinsic_type($(kIROp_CoopVectorType))
struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmetic
{
//
- // Initialization
+ // Initialization
//
[ForceInline]
@@ -24643,15 +24643,15 @@ struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmeti
/// Copy values from another CoopVec instance into this one. The source CoopVec can have a different element type,
/// in which case appropriate type conversion will be performed.
/// @param other The source CoopVec to copy from.
- [mutating]
+ [mutating]
[ForceInline]
[require(cooperative_vector)]
[require(hlsl_coopvec_poc)]
[require(optix_coopvec)]
void copyFrom<U : __BuiltinArithmeticType>(CoopVec<U,N> other)
- {
- __target_switch
- {
+ {
+ __target_switch
+ {
case hlsl:
__intrinsic_asm "$0 = $1";
case hlsl_coopvec_poc:
@@ -24672,11 +24672,11 @@ struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmeti
/// Fill all elements of this CoopVec with the specified value.
/// @param t The value to fill all elements with.
- [mutating]
+ [mutating]
[require(cooperative_vector)]
[require(hlsl_coopvec_poc)]
void fill(T t)
- {
+ {
__target_switch
{
case spirv:
@@ -25144,13 +25144,13 @@ struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmeti
[require(hlsl_coopvec_poc)]
void __mutAdd(This other)
{
- __target_switch
- {
+ __target_switch
+ {
case hlsl:
__intrinsic_asm "$0 += $1";
case hlsl_coopvec_poc:
__intrinsic_asm ".Add";
- }
+ }
}
/// Performs component-wise addition with another cooperative vector.
@@ -25166,12 +25166,12 @@ struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmeti
__target_switch
{
case hlsl:
- __intrinsic_asm "$0 + $1";
+ __intrinsic_asm "$0 + $1";
case hlsl_coopvec_poc:
This ret = this;
ret.__mutAdd(other);
return ret;
- case optix_coopvec:
+ case optix_coopvec:
__intrinsic_asm "optixCoopVecAdd($0, $1)";
default: return __pureAdd(other);
}
@@ -25209,7 +25209,7 @@ struct CoopVec<T : __BuiltinArithmeticType, let N : int> : IArray<T>, IArithmeti
This ret = this;
ret.__mutSub(other);
return ret;
- case optix_coopvec:
+ case optix_coopvec:
__intrinsic_asm "optixCoopVecSub($0, $1)";
default: return __pureSub(other);
}
@@ -25651,7 +25651,7 @@ for(auto buffer : kByteAddressBufferCases) {
matrixInterpretation,
memoryLayout,
transpose,
- matrixStride
+ matrixStride
);
}
@@ -25715,7 +25715,7 @@ for(auto buffer : kByteAddressBufferCases) {
biasInterpretation,
memoryLayout,
transpose,
- matrixStride
+ matrixStride
);
}
}
@@ -26199,7 +26199,7 @@ CoopVec<T, N> tanh<T : __BuiltinFloatingPointType, let N : int>(CoopVec<T, N> x)
{
result:$$CoopVec<T, N> = OpExtInst glsl450 Tanh $x;
};
- case optix_coopvec:
+ case optix_coopvec:
__intrinsic_asm "optixCoopVecTanh($0)";
default:
CoopVec<T, N> ret;
@@ -26261,7 +26261,7 @@ CoopVec<T, N> fma<T : __BuiltinFloatingPointType, let N : int>(CoopVec<T, N> a,
{
result:$$CoopVec<T, N> = OpExtInst glsl450 Fma $a $b $c;
};
- case optix_coopvec:
+ case optix_coopvec:
__intrinsic_asm "optixCoopVecFFMA($0, $1, $2)";
default:
CoopVec<T, N> ret;