summaryrefslogtreecommitdiff
path: root/tests/serialization/extern
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-02-23 16:39:46 -0800
committerGitHub <noreply@github.com>2024-02-23 16:39:46 -0800
commit401d8cdb12ae69aeb216c80c9bb90240d8359649 (patch)
tree4548c9de52bdeff424a0a3969ad407fccb3c0f09 /tests/serialization/extern
parent58eb6f7da01af1767282ee12b0b4b25c57e52afb (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.slang12
-rw-r--r--tests/serialization/extern/module-a.slang6
-rw-r--r--tests/serialization/extern/module-b.slang6
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);
}