diff options
| author | venkataram-nv <vedavamadath@nvidia.com> | 2024-08-16 23:08:00 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-16 23:08:00 -0700 |
| commit | 25bc5a3ada5a2404f25ecf2de7d035ba60cd9fdf (patch) | |
| tree | 8cb0092f1bf09756f3e1adca60963413742413fe /tests/modules | |
| parent | b411c05bc074f53037e32b23583b85adcfbf81fc (diff) | |
Avoiding the use of the global AST builder in DeclRefType::create (#4866)
Diffstat (limited to 'tests/modules')
| -rw-r--r-- | tests/modules/environment.slang | 29 | ||||
| -rw-r--r-- | tests/modules/hit.slang | 24 |
2 files changed, 53 insertions, 0 deletions
diff --git a/tests/modules/environment.slang b/tests/modules/environment.slang new file mode 100644 index 000000000..915e04c54 --- /dev/null +++ b/tests/modules/environment.slang @@ -0,0 +1,29 @@ +module environment; + +uint lcg(inout uint prev) +{ + const uint LCG_A = 1664525u; + const uint LCG_C = 1013904223u; + prev = (LCG_A * prev + LCG_C); + return prev & 0x00FFFFFF; +} + +public float rnd(inout uint prev) +{ + return ((float) lcg(prev) / (float) 0x01000000); +} + +public struct Environment_sample_data +{ + uint alias; + float q; +}; + +public float3 environment_sample(StructuredBuffer <Environment_sample_data> sample_buffer, inout int seed) +{ + float3 xi; + xi.x = rnd(seed); + xi.y = rnd(seed); + xi.z = rnd(seed); + return xi.z; +} diff --git a/tests/modules/hit.slang b/tests/modules/hit.slang new file mode 100644 index 000000000..d175275b4 --- /dev/null +++ b/tests/modules/hit.slang @@ -0,0 +1,24 @@ +//TEST:COMPILE: tests/modules/environment.slang -o tests/modules/environment.slang-module +//TEST:COMPILE: tests/modules/hit.slang -stage closesthit -entry closesthit -target dxil -o monolithic.dxil + +import environment; + +StructuredBuffer <Environment_sample_data> environment_sample_buffer; + +float3 sample_lights(inout uint seed) +{ + return environment_sample(environment_sample_buffer, seed); +} + +struct RadianceHitInfo +{ + float3 contribution; +}; + +struct Attributes +{ + float2 bary; +}; + +[shader("closesthit")] +void closesthit(inout RadianceHitInfo payload, Attributes attrib) {} |
