<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/core/slang-blob.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>Small improvements around StringBlob (#2924)</title>
<updated>2023-06-09T16:38:24+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-06-09T16:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d9118d260034319d58376c2ecf67b339568d85fb'/>
<id>urn:sha1:d9118d260034319d58376c2ecf67b339568d85fb</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Small fixes and improvements around reflection tool.

* Make PrettyWriter printing a class.

* Sundary improvements around StringBlob.</content>
</entry>
<entry>
<title>Improvements around StringBlob (#2921)</title>
<updated>2023-06-08T21:26:33+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-06-08T21:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3913091a021a8f4525f0050dfb83d1c2b8fc6f6b'/>
<id>urn:sha1:3913091a021a8f4525f0050dfb83d1c2b8fc6f6b</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Small fixes and improvements around reflection tool.

* Make PrettyWriter printing a class.

* Improvements around handling StringBlob and storing stdlib source in ISlangBlob.

* Fix some issues with comments around StringBlob.

* Default initialize StringBlob fields.</content>
</entry>
<entry>
<title>Remove artifact from SourceFile (#2384)</title>
<updated>2022-09-01T19:38:17+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-09-01T19:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=be8497804f803c02cfab1aa2c54d921042e90ec9'/>
<id>urn:sha1:be8497804f803c02cfab1aa2c54d921042e90ec9</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Make DownstreamCompileOptions use POD types.

* CharSliceAllocator -&gt; SliceAllocator
Added SliceConverter
CharSliceCaster -&gt; SliceCaster

* First attempt at zero terminating around blobs.

* Fix clang warning.

* Add SlangTerminatedChars
Make Blob implementations support it.
Make most blobs 'terminated'.

* Fix bug setting up sourceFiles for CommandLineDownstreamCompiler.

* Traffic in TerminatedCharSlice for sourceFiles.
Use ArtifactDesc to generate temporary file names for source.

* Fix typo in testing for shared library/C++.

* Working with source being passed as artifacts to DownstreamCompiler.

* Use artifacts in SourceManager/SourceFile.

* Support infering extension from the original file extension.

* * Infer extension if can't determine from the artifact type
* Split IOSFile/IExtFile representations
* Move responsibility for creating OS file to the handler.

* Disable the check memory path.

* Remove artifact from SourceFile.
Lazily generate SourceFile from artifacts as needed.

* Fix some small bugs.

* Remove maybeAddArtifact.

* Load artifacts if repro capture is enabled.

* Remove adding by string, because doing so means source will be allocated twice or there is a potential race around ref counting to the contained String.

* Add built in source as a blob.

* Fix warning.

* Make StringBlob own the contents if moved.
Fix some compilation issues.

* Share StringBlob uniqueness code.

* Do move unique on Ctor.

* Change MoveUnique to not have any values.

* MoveUnique can more sensibly be a struct.

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>DownstreamCompileOptions using POD types (#2381)</title>
<updated>2022-08-27T00:32:53+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2022-08-27T00:32:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5c2c2cfc9918bb43225159e67a851e196e17759a'/>
<id>urn:sha1:5c2c2cfc9918bb43225159e67a851e196e17759a</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Make DownstreamCompileOptions use POD types.

* CharSliceAllocator -&gt; SliceAllocator
Added SliceConverter
CharSliceCaster -&gt; SliceCaster

* First attempt at zero terminating around blobs.

* Fix clang warning.

* Add SlangTerminatedChars
Make Blob implementations support it.
Make most blobs 'terminated'.

* Fix bug setting up sourceFiles for CommandLineDownstreamCompiler.

* Traffic in TerminatedCharSlice for sourceFiles.
Use ArtifactDesc to generate temporary file names for source.

* Fix typo in testing for shared library/C++.</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>Associating GUID (or UUID) with types (#1776)</title>
<updated>2021-04-01T22:59:24+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2021-04-01T22:59:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9475b11045089c9bc9773b16f7eb84f843db70c4'/>
<id>urn:sha1:9475b11045089c9bc9773b16f7eb84f843db70c4</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Add mechanism to embed guid inside of type.</content>
</entry>
<entry>
<title>Building with embedded stdlib (#1634)</title>
<updated>2020-12-10T19:04:29+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-12-10T19:04:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4337338ed2d9525b4638f32c6b91ef61b69e41cd'/>
<id>urn:sha1:4337338ed2d9525b4638f32c6b91ef61b69e41cd</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Move reflection to reflection-api.

* Slight reorg to pull out potentially Slang internal functions from the reflection API impls.

* Remove visual studio projects

* Fix for slang-binaries copy.

* Add the visual studio projects in build/visual-studio

* Remove miniz project.

* Differentiate the linePath from the filePath.

* Improve comment in premake5.lua + to kick of CI.

* Kick CI.

* Use COM compile request for calls to functions inside api-less-slang.
Add static-slang project.

* Fix const typo issue.

* Don't include 'core' link in 'api-less-slang'

* Removed static-slang lib causes problems on linux with linking.
Embed Slang stdlib
Added StaticBlob
Added dumpSourceBytes
Use ConstArrayView for the archive.
At startup allow loading of zip with stdlib.
Made -save-stdlib -load-stdlib take a name
Added '-save-stdlib-bin-source' to save out serialized stdlib as source.

* Ability enable/disable stdlib embedding.

* Fix problem with moduleDecl not having module pointer set when serialized in.

* Set of debugdir for slang-test and examples.

* Add slang-stdlib-api.cpp

* Update slang filters for VS.

* Try to use pic, and -mcmodel=medium

* Some more efforts ot make premake work.

* WIP premake5.lua from previously working version.

* Remove api-less-slang project.

* Disable dllexport on gcc/clang.

* Embed via slangc-bootstrap.

* Fix slang-profile. Always compiles without stdlib.

* Use pic "On"

* Remove slangc-bootstrap and embed-stdlib-generator if embedding not required. Make bootstrap run the generators.

* Improve comments in premake5.lua.
Kick off another CI build.

* Remove generation of stdlib source from std-lib-serialize.slang</content>
</entry>
<entry>
<title>DownstreamCompiler abstraction (#1149)</title>
<updated>2019-12-10T15:02:19+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2019-12-10T15:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=79ec0cfdb5f3461c763e0bf712cf42eb87fccb90'/>
<id>urn:sha1:79ec0cfdb5f3461c763e0bf712cf42eb87fccb90</id>
<content type='text'>
* CPPCompiler -&gt; DownstreamCompiler

* Added DownstreamCompileResult to start abstraction such that we don't need files.

* * Split out slang-blob.cpp
* Made CompileResult hold a DownstreamCompileResult - for access to binary or ISlangSharedLibrary

* Keep temporary files in scope.

* Add a hash to the hex dump stream.

* Move all file tracking into DownstreamCompiler.
</content>
</entry>
</feed>
