diff options
| author | Jay Kwak <82421531+jkwak-work@users.noreply.github.com> | 2025-09-24 21:49:26 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-25 04:49:26 +0000 |
| commit | db44c1b732891102199f0ec9d219a33d2ab2d6a1 (patch) | |
| tree | 2efd3c0cec727dbbdd378721d398b25cb2edf3d0 /source | |
| parent | 55a7d2a73ef051f6027129f90e73a88b5176ec3b (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.slang | 494 |
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; |
