diff options
| author | Yong He <yonghe@outlook.com> | 2024-02-23 16:39:46 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-23 16:39:46 -0800 |
| commit | 401d8cdb12ae69aeb216c80c9bb90240d8359649 (patch) | |
| tree | 4548c9de52bdeff424a0a3969ad407fccb3c0f09 /tests/serialization/extern | |
| parent | 58eb6f7da01af1767282ee12b0b4b25c57e52afb (diff) | |
Add slangc interface to compile and use ir modules. (#3615)
* Add slangc interface to compile and use ir modules.
* Fix glsl scalar layout settings not copied to target.
* Fix.
* Cleanups.
Diffstat (limited to 'tests/serialization/extern')
| -rw-r--r-- | tests/serialization/extern/extern-test.slang | 12 | ||||
| -rw-r--r-- | tests/serialization/extern/module-a.slang | 6 | ||||
| -rw-r--r-- | tests/serialization/extern/module-b.slang | 6 |
3 files changed, 12 insertions, 12 deletions
diff --git a/tests/serialization/extern/extern-test.slang b/tests/serialization/extern/extern-test.slang index 1efb221dc..c46724603 100644 --- a/tests/serialization/extern/extern-test.slang +++ b/tests/serialization/extern/extern-test.slang @@ -1,18 +1,18 @@ // extern-test.slang -//TEST:COMPILE: -module-name module -no-codegen tests/serialization/extern/module-a.slang -o tests/serialization/extern/module-a.slang-lib -//TEST:COMPILE: -module-name module -no-codegen tests/serialization/extern/module-b.slang -o tests/serialization/extern/module-b.slang-lib -//TEST:COMPARE_COMPUTE_EX: -xslang -module-name -xslang module -slang -compute -xslang -r -xslang tests/serialization/extern/module-a.slang-lib -xslang -r -xslang tests/serialization/extern/module-b.slang-lib -shaderobj +//TEST:COMPILE: -no-codegen tests/serialization/extern/module-a.slang -o tests/serialization/extern/module-a.slang-lib +//TEST:COMPILE: -no-codegen tests/serialization/extern/module-b.slang -o tests/serialization/extern/module-b.slang-lib +//TEST:COMPARE_COMPUTE_EX: -slang -compute -xslang -r -xslang tests/serialization/extern/module-a.slang-lib -xslang -r -xslang tests/serialization/extern/module-b.slang-lib -shaderobj //TEST_INPUT:ubuffer(data=[0 0 0 0 ], stride=4):out,name outputBuffer RWStructuredBuffer<int> outputBuffer; // Declare the type exists -[__extern] struct Thing {}; +extern struct Thing {}; // A mechanism to make a Thing without knowing the specific fields. -[__extern] Thing makeThing(int a, int b); +extern Thing makeThing(int a, int b); -[__extern] int doSomething(Thing a, Thing b); +extern int doSomething(Thing a, Thing b); [numthreads(4, 1, 1)] void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) diff --git a/tests/serialization/extern/module-a.slang b/tests/serialization/extern/module-a.slang index 81816a213..59ccf7bcd 100644 --- a/tests/serialization/extern/module-a.slang +++ b/tests/serialization/extern/module-a.slang @@ -2,13 +2,13 @@ // module-a.slang -struct Thing +export struct Thing { int a; int b; }; -Thing makeThing(int a, int b) +export Thing makeThing(int a, int b) { Thing thing; thing.a = a; @@ -16,7 +16,7 @@ Thing makeThing(int a, int b) return thing; } -int foo(Thing thing) +export int foo(Thing thing) { return thing.a + thing.b * 2; } diff --git a/tests/serialization/extern/module-b.slang b/tests/serialization/extern/module-b.slang index 20371f156..2bc646db8 100644 --- a/tests/serialization/extern/module-b.slang +++ b/tests/serialization/extern/module-b.slang @@ -3,10 +3,10 @@ // module-b.slang // This looks like a definition (and it is) but with [__extern] it's definition will be replaced at link time with a defintion -[__extern] struct Thing {}; -[__extern] int foo(Thing thing); +extern struct Thing {}; +extern int foo(Thing thing); -int doSomething(Thing a, Thing b) +export int doSomething(Thing a, Thing b) { return foo(a) + foo(b); } |
