From ce87ab925d06a784eec194081e00a1b4c9b94d0c Mon Sep 17 00:00:00 2001 From: "Harsh Aggarwal (NVIDIA)" Date: Mon, 7 Apr 2025 13:26:11 +0530 Subject: Support for Payload Access Qualifiers (#3448) (#6595) * Add support for Ray Payload Access Qualifiers (PAQs) (#3448) - Added [raypayload] attribute for struct declarations - Implemented field validation requiring read/write access qualifiers - Added diagnostic error for missing qualifiers - Enabled PAQs in DXC compiler and HLSL emission - Added new test demonstrating PAQ syntax - Implemented proper handling of ray payload attributes in IR generation * format code * Cleanup: Remove unused vars * Add check to enablePAQ only for profile >= lib_6_7 * Review Fix - Add PAQ support for DX Raytracing add enablePAQ flag to DownstreamCompileOpitons, improve PAQ handling update raypayload-attribute-paq.slang to ensure hlsl and dxil is validated * Add diagnostic test for missing paq for lib_6_7 Compile using `-disable-payload-qualifiers` aka lib_6_6 profile raypayload-attribute-no-struct.slang and raypayload-attribute.slang --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> Co-authored-by: Ellie Hermaszewska --- tests/hlsl/raypayload-attribute-no-struct.slang | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tests/hlsl/raypayload-attribute-no-struct.slang') diff --git a/tests/hlsl/raypayload-attribute-no-struct.slang b/tests/hlsl/raypayload-attribute-no-struct.slang index c7ad94593..4e4921e14 100644 --- a/tests/hlsl/raypayload-attribute-no-struct.slang +++ b/tests/hlsl/raypayload-attribute-no-struct.slang @@ -1,7 +1,8 @@ -//enable when https://github.com/shader-slang/slang/issues/3448 is implemented -//DISABLE_TEST:SIMPLE(filecheck=CHECK): -target hlsl -stage raygeneration -entry rayGenShaderA +//TEST:SIMPLE(filecheck=CHECK): -target hlsl -profile lib_6_6 -stage raygeneration -entry rayGenShaderA +//TEST:SIMPLE(filecheck=DXIL): -target dxil -profile lib_6_6 -stage raygeneration -entry rayGenShaderA -// CHECK: struct [raypayload] +// CHECK: struct RayPayload +// DXIL: define void @ uniform RWTexture2D resultTexture; uniform RaytracingAccelerationStructure sceneBVH; -- cgit v1.2.3