<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/core/slang-shared-library.cpp, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2024-10-29T06:49:26+00:00</updated>
<entry>
<title>format</title>
<updated>2024-10-29T06:49:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-10-29T06:49:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21'/>
<id>urn:sha1:f65d756bff8d4c5cbc15bd0322a2ae8e6b896a21</id>
<content type='text'>
* format

* Minor test fixes

* enable checking cpp format in ci</content>
</entry>
<entry>
<title>Move the file public header files to `include` dir (#4636)</title>
<updated>2024-07-17T17:53:19+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2024-07-17T17:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2db15080085856ed9b5f20642dbb354aac59a888'/>
<id>urn:sha1:2db15080085856ed9b5f20642dbb354aac59a888</id>
<content type='text'>
* Move the file public header files to `include` dir

Close the issue (#4635).

Move the following headers files to a `include` dir
located at root dir of slang repo:

 slang-com-helper.h -&gt; include/slang-com-helper.h
 slang-com-ptr.h -&gt; include/slang-com-ptr.h
 slang-gfx.h -&gt; include/slang-gfx.h
 slang.h -&gt; include/slang.h

Change cmake/SlangTarget.cmake to add include path to
every target, and change the source file to use
"#include &lt;slang.h&gt;" to include the public headers.

The source code update is by the script like follow:

```
fileNames_slang=$(grep -r "\".*slang\.h\"" source/ -l)

for fileName in "${fileNames_slang[@]}"
do
    echo "$fileName"
    sed -i "s/\".*slang\.h\"/\"slang\.h\"/" $fileName
done
```

* Fix the test issues

* Fix cpu test issues by adding include seach path

* Update cmake to not add include path for every target

Also change "#include &lt;slang.h&gt;" to "include "slang.h" " to
make the coding style consistent with other slang code.

* Change public include to private include for unit-test and slang-glslang</content>
</entry>
<entry>
<title>Some small fixes with Windows/DX usage (#2797)</title>
<updated>2023-04-14T09:08:18+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-04-14T09:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4c9c8a7a4d9b97fec6041a562638fbea521533ed'/>
<id>urn:sha1:4c9c8a7a4d9b97fec6041a562638fbea521533ed</id>
<content type='text'>
* Correct case of windows.h includes

* Use Slang::SharedLibrary to load directx dlls

* s/max/std::max/

* Factor common OS code in calcHasApi

* Add DXIL test for compute/simple

* s/false/FALSE for calls to WinAPI functions

* Factor common OS code in gfxGetAdapters

* 2 missing headers

d3d12sdklayers for ID3DDebug

climits for UINT_MAX

* Define out unused function on Linux

* Only try to load Vulkan and CUDA on Windows or Linux

* simplify D3DUtil::getDxgiModule

* Remove WIN32_LEAN_AND_MEAN &amp;co from source files

Add a global define

* Set WIN32_LEAN_AND_MEAN &amp;friends in headers

Restore previous state also

* regenerate vs projects</content>
</entry>
<entry>
<title>Assorted Artifact improvements (#2374)</title>
<updated>2022-08-24T13:25:51+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-08-24T13:25:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f5755019246504ad4da4614d1e34a00d74970ea7'/>
<id>urn:sha1:f5755019246504ad4da4614d1e34a00d74970ea7</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP replacing DownstreamCompileResult.

* First attempt at replacing DownstreamCompileResult with IArtifact and associated types.

* Small renaming around CharSlice.

* ICastable -&gt; ISlangCastable
Added IClonable
Fix issue with cloning in ArtifactDiagnostics.

* Only add the blob if one is defined in DXC.

* Guard adding blob representation.

* Make cloneInterface available across code base.
Set enums backing type for ArtifactDiagnostic.

* Added ::create for ArtifactDiagnostics.

* Use SemanticVersion for DownstreamCompilerDesc.
Set sizes for enum types.

* Depreciate old incompatible CompileOptions.
Change SemanticVersion use 32 bits for the patch.

* Split out CastableUtil.

* Change IDownstreamCompiler to use canConvert and convert to use artifact types.

* Fix typos.

* Fix typo bug.
Allow trafficing in PTX assembly/binaries

* struct DownstreamCompilerBaseUtil -&gt; struct DownstreamCompilerUtilBase

* Add other riff types.

* Small fix around artifact kind.

* Make using slices instead of strings explicit on atomic ref counted types. (not complete).
Added IArtifactList.
Use IArtifactList to hold the 'associated' files.
Use IUnknown for scoping for atomic ref counting.
Small naming improvements.

* Make artifact not use String in construction (so it owns contents).

* Calculate compile products as artifacts.

* Small improvements around ArtifactDesc.

* Use ICastableList for list of artifacts and remove IArtifactList.</content>
</entry>
<entry>
<title>Artifact closer to being able to replace CompileResult (#2354)</title>
<updated>2022-08-11T15:55:49+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-08-11T15:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b5d84f60d36b81c7e8263048dda031a9be14a106'/>
<id>urn:sha1:b5d84f60d36b81c7e8263048dda031a9be14a106</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP with hierarchical enums.

* Some small fixes and improvements around artifact desc related types.

* Improvements around hierarchical enum.

* Fixes to get Artifact types refactor to be able to execute tests.

* Attempt to better categorize PTX.

* Work around for potentially unused function warning.

* Typo fix.

* Simplify Artifact header.

* Small improvements around Artifact kind/payload/style.

* Added IDestroyable/ICastable

* Add IArtifactList.

* First impl of IArtifactUtil.

* Use the ICastable interface for IArtifactRepresentation.

* Added IArtifactRepresentation &amp; IArtifactAssociated.

* Add SLANG_OVERRIDE to avoid gcc/clang warning.

* Fix calling convention issue on win32.

* Fix missing SLANG_OVERRIDE.

* First attempt at file abstraction around Artifact.

* Added creation of lock file.

* Move functionality for determining file paths to the IArtifactUtil.
Add casting to ICastable.

* Added some casting/finding mechanisms.

* Simplify IArtifact interface, and use Items for file reps.

* Fix problem with libraries on DXIL.

* Split out ArtifactRepresentation.

* Move ArtifactDesc functionality to ArtifactDescUtil. ArtifactInfoUtil becomes ArtifactDescUtil.

* Split implementations from the interfaces for Artifact.

* Use TypeTextUtil for target name outputting.

* Add artifact impls.

* Add ICastableList

* Added UnknownCastableAdapter

* Make ISlangSharedLibrary derive from ICastable, and remain backwards compatible with slang-llvm.

* Refactor Representation on Artifact.

* Make our ISlangBlobs also derive from ICastable.
Make ISlangBlob atomic ref counted.

* Split out CastableList and related types, and placed in core.

* Small fixes around IArtifact.
Improve IArtifact docs.
First impl of getChildren for IArtifact.

* Documentation improvements for Artifact related types.

* Fix typo.

* Special case adding a ICastableList to a LazyCastableList.

* Small simplification of LazyCastableList, by adding State member.

* Removed the ILockFile interface because IFileArtifactRepresentation can be used.

* Implement DiagnosticsArtifactRepresentation.

* Added PostEmitMetadataArtifactRepresentation

* Add searching by predicate.
Added handling of accessing Artifact as ISharedLibrary

* Fix typo.

* Add find to IArtifacgtList.
Fix some missing SLANG_NO_THROW.

* Small improvements around ArtifactDesc types.

* Another small change around ArtifactKind.

* Some more shuffling of ArtifactDesc.

* Make IArtifact castable
Remove IArtifactList
Made IArtifactContainer derive from IArtifact
Made ModuleLibrary atomic ref counted/given IModuleLibrary interface.

* Must call _requireChildren before any children access.

* Fix missing SLANG_MCALL on castAs.

* Fix missing SLANG_OVERRIDE.

* Added IArtifactHandler

* Use ICastable for basis of scope/lookup.</content>
</entry>
<entry>
<title>Artifact and ICastable (#2351)</title>
<updated>2022-08-10T14:04:06+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-08-10T14:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1378fffd9da094beb41b2db89b96f556c23ab6cb'/>
<id>urn:sha1:1378fffd9da094beb41b2db89b96f556c23ab6cb</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP with hierarchical enums.

* Some small fixes and improvements around artifact desc related types.

* Improvements around hierarchical enum.

* Fixes to get Artifact types refactor to be able to execute tests.

* Attempt to better categorize PTX.

* Work around for potentially unused function warning.

* Typo fix.

* Simplify Artifact header.

* Small improvements around Artifact kind/payload/style.

* Added IDestroyable/ICastable

* Add IArtifactList.

* First impl of IArtifactUtil.

* Use the ICastable interface for IArtifactRepresentation.

* Added IArtifactRepresentation &amp; IArtifactAssociated.

* Add SLANG_OVERRIDE to avoid gcc/clang warning.

* Fix calling convention issue on win32.

* Fix missing SLANG_OVERRIDE.

* First attempt at file abstraction around Artifact.

* Added creation of lock file.

* Move functionality for determining file paths to the IArtifactUtil.
Add casting to ICastable.

* Added some casting/finding mechanisms.

* Simplify IArtifact interface, and use Items for file reps.

* Fix problem with libraries on DXIL.

* Split out ArtifactRepresentation.

* Move ArtifactDesc functionality to ArtifactDescUtil. ArtifactInfoUtil becomes ArtifactDescUtil.

* Split implementations from the interfaces for Artifact.

* Use TypeTextUtil for target name outputting.

* Add artifact impls.

* Add ICastableList

* Added UnknownCastableAdapter

* Make ISlangSharedLibrary derive from ICastable, and remain backwards compatible with slang-llvm.

* Refactor Representation on Artifact.

* Make our ISlangBlobs also derive from ICastable.
Make ISlangBlob atomic ref counted.

* Fix typo.</content>
</entry>
<entry>
<title>Language server pointer type support + add `DLLImport` test (#2350)</title>
<updated>2022-08-10T08:58:41+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2022-08-10T08:58:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=89083c4b50af8e48e70b25b63cc62aca21ab706c'/>
<id>urn:sha1:89083c4b50af8e48e70b25b63cc62aca21ab706c</id>
<content type='text'>
* Language server pointer type support.

+ Natvis for AST.

* Add completion suggestion for GUID.

* Make executable test able to use slang-rt.

* Fix gcc argument for rpath.

* Fix DLLImport on linux.

* Fix windows.

* Fix.

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Atomic ref counting for ISlangSharedLibrary (#2332)</title>
<updated>2022-07-18T19:44:29+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-07-18T19:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2e4b5770fa7e6dbf56845382706b33a22d6a025b'/>
<id>urn:sha1:2e4b5770fa7e6dbf56845382706b33a22d6a025b</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Make ISlangSharedLibrary atomic ref counted.
Update docs to say most COM interfaces are *not* atomic ref counted.

* Upgrade slang-llvm to use version that atomic ref counts ISlangSharedLibrary.

* Fix some typos in docs.

* Fix ref count typo.

* Fix missing 'override'</content>
</entry>
<entry>
<title>Work around MacOS compilation issue with embed stlib (#2255)</title>
<updated>2022-05-31T18:16:34+00:00</updated>
<author>
<name>Craig Kolb</name>
<email>craig.kolb@gmail.com</email>
</author>
<published>2022-05-31T18:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1a83d50a5d9e85934386310c17a14860cc92e75c'/>
<id>urn:sha1:1a83d50a5d9e85934386310c17a14860cc92e75c</id>
<content type='text'>
- The enable-stdlib-generator project is created with
  'kind = StaticLib' to allow the build to work, even though
  the project doesn't actually create a library.

- Unlike some other platforms, MacOs "ar" emits an error if no
  object files are listed to be added to an archive. This causes
  enable-stdlib-generator to fail on MacOS.

- Changing the project's kind to "SharedLib" works around the issue.
  Other values for kind do not seem to work around the issue.

- Add an optional flag to generatorProject to indicate that
  kind = "SharedLibrary" should be used, rather than "StaticLibrary"

- Add MacOS fix for SharedLibraryUtils::getSharedLibraryFileName().

- Enable embed stdlib in github_macos_build.sh</content>
</entry>
<entry>
<title>Fix incorrect WIN32 macros and missing Windows.h inclusion (#1939)</title>
<updated>2021-09-15T23:17:57+00:00</updated>
<author>
<name>Pablo Delgado</name>
<email>private@pablode.com</email>
</author>
<published>2021-09-15T23:17:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2f7b9f5ae8be21c6c1d75ae9caefbc7b3f8986a9'/>
<id>urn:sha1:2f7b9f5ae8be21c6c1d75ae9caefbc7b3f8986a9</id>
<content type='text'>
* Replace WIN32 preprocessor macros with _WIN32

* Add missing Windows.h include for InterlockedIncrement</content>
</entry>
</feed>
