From b39c99661b3ad482bbd419c24991ed325b5738a9 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 2 Jun 2022 14:13:35 -0400 Subject: COM interfaces with host callable (#2258) * #include an absolute path didn't work - because paths were taken to always be relative. * Use TerminatedUnownedStringSlice for literals in output C++. * Remove Escape/Unescape functions used in slang-token-reader.cpp Add target type of 'host-cpp' etc to map to the target types. * Fix some corner cases around string encoding. * Added unit test for string escaping. Fixed some assorted escaping bugs. * Updated test output. * Added decode test. * Stop using hex output, to get around 'greedy' aspect. Use octal instead. * Added HostHostCallable Small changes to use ArtifactDesc/Info instead of large switches. * Fix C++ emit to handle arbitrary function export. * Add options handling for callable without an output being specified. * Can compile with COM interface. Added example using com interface. * Use the IR Ptr type instead of hack in C++ emit for interfaces. * Fix issue with outputting the COM call when ptr is used. * Fix crash issue on compilation failure. --- examples/cpu-com-example/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 examples/cpu-com-example/README.md (limited to 'examples/cpu-com-example/README.md') diff --git a/examples/cpu-com-example/README.md b/examples/cpu-com-example/README.md new file mode 100644 index 000000000..a5e234d15 --- /dev/null +++ b/examples/cpu-com-example/README.md @@ -0,0 +1,8 @@ +Slang COM Example +================= + +The goal of this example is to demonstrate Slang generating CPU code that can be communicated with via Common Object Model (COM) style interfaces. + +The `shader.slang` file contains Slang code that uses COM interfaces. + +The `main.cpp` file contains the C++ application code, showing how to use the Slang API to load and compile the shader code and communicate via interfaces. -- cgit v1.2.3