<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/examples/heterogeneous-hello-world/shader.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>2022-01-27T16:53:58+00:00</updated>
<entry>
<title>Update heterogeneous-hello-world to use gfx changes + delete shader.cpp (#2085)</title>
<updated>2022-01-27T16:53:58+00:00</updated>
<author>
<name>David Siher</name>
<email>32305650+dsiher@users.noreply.github.com</email>
</author>
<published>2022-01-27T16:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=22f0c04d2b5f8245ccaee6caee8e5adebea4aea0'/>
<id>urn:sha1:22f0c04d2b5f8245ccaee6caee8e5adebea4aea0</id>
<content type='text'>
* Update heterogeneous-hello-world to use gfx changes + delete shader.cpp

* Remove "experimental feature" tag from premake

* Add placeholder executeComputation_0() to shader.cpp

* Add shader.cpp to heterogeneous-hello-world files in premake

* Added project "heterogeneous-first-gen" to address first time build issues

* Re-add "experimental feature" tag, clean up generated file structure

Co-authored-by: jsmall-nvidia &lt;jsmall@nvidia.com&gt;</content>
</entry>
<entry>
<title>Diagnostic for no type conformance + bug fix. (#1985)</title>
<updated>2021-10-21T22:51:18+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-10-21T22:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9304c2d04c9bfbae33cc328d404b24aba375aa4f'/>
<id>urn:sha1:9304c2d04c9bfbae33cc328d404b24aba375aa4f</id>
<content type='text'>
* Diagnostic for no type conformance + bug fix.

* Fixes.

* Fix.

* Include heterogeneous example only with --enable-experimental-projects premake flag

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;
Co-authored-by: jsmall-nvidia &lt;jsmall@nvidia.com&gt;</content>
</entry>
<entry>
<title>Generalize heterogenous code emit (#1968)</title>
<updated>2021-10-19T20:07:29+00:00</updated>
<author>
<name>David Siher</name>
<email>32305650+dsiher@users.noreply.github.com</email>
</author>
<published>2021-10-19T20:07:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ba081c89a60d6207a6534c2ad256945490196661'/>
<id>urn:sha1:ba081c89a60d6207a6534c2ad256945490196661</id>
<content type='text'>
* Bring heterogeneous-hello-world back up to date.

* Reintroduced heterogeneous-hello-world into the premake

* No longer uses compiled bytecode for entry point, instead a loadModule
call is hardocoded with the slang file name.

* Entry point is, similarly, hardcoded for now.

* Added a bypass to slang-legalize-types for an unneeded GPUForeach check

* Run premake and change to relative path

* Removed experimental and added README

* Add prebuild command to premake for heterogeneous example

* Pass in entry point as parameter (also remove shader bytecode)

* Pass in module name as parameter

* Squashed commit of the following:

commit 5b13b57fe600724344c556fe4309a5d6bb3d39ab
Author: Kai Yao &lt;kyao@nvidia.com&gt;
Date:   Thu Oct 7 23:38:50 2021 -0700

    Return diagnostics data when encountering module load error by exception (#1966)

commit 112e1515c30fa972ff56f91514b70946153c718c
Author: jsmall-nvidia &lt;jsmall@nvidia.com&gt;
Date:   Thu Oct 7 16:12:29 2021 -0400

    Disable test crashing CI (#1965)

    * #include an absolute path didn't work - because paths were taken to always be relative.

    * Disable test that appears to be crashing.

commit da32069a0c1c8c723d7ef45100049a8f0dd5d9c4
Author: Kai Yao &lt;kyao@nvidia.com&gt;
Date:   Mon Oct 4 13:58:51 2021 -0700

    Modified barrier API to accept multiple resources per call (#1959)

    Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;

commit 97bb82ebcdf8f1391b9d93b5a8d7b1dfc4e88e52
Author: jsmall-nvidia &lt;jsmall@nvidia.com&gt;
Date:   Mon Oct 4 14:15:51 2021 -0400

    Removing exceptions from core/compiler-core (#1953)

    * #include an absolute path didn't work - because paths were taken to always be relative.

    * Refactor Stream. Working on all tests.

    * Split out CharEncode.

    * Make method names lower camel.
    m_prefix in Writer/Reader

    * Tidy up around CharEncode interface.

    * Small improvements around encode/decode.

    * Better use of types.

    * Remove readLine from TextReader.

    * Remove exceptions from Stream/Text handling.

    * Fix some typos.

    * Fix tabbing.

    * Fix missing override.

    * Remove remaining exception throw/catch via using signal mechanism.

    * Remove exceptions that are not used anymore.

    * Document the Stream interface.

    * Remove index for decoding 'get byte' function.

    * Fix CharReader -&gt; ByteReader.

commit b3dfe383c6d31ff3dbd76dcfb32de8d536382f3e
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Mon Oct 4 09:46:33 2021 -0700

    Get native handles for TextureResource and BufferResource (#1960)

    * Added getNativeHandle() to TextureResource and BufferResource; Implemented getNativeHandle() in Vulkan and D3D12; Added new unit test files for the aforementioned implementation

    * Added missing getNativeHandle() implementations to renderer-shared.cpp and CUDA

    * Finished new getNativeHandle() unit tests for ITextureResource and IBufferResource; Modified ICommandQueue and ICommandBuffer unit tests to call QueryInterface to convert to IUnknown then back and compare resulting pointers for equality

    * Unit tests updated and pass locally

    * Cast m_buffer.m_buffer and m_image to uint64_t

commit 35bca4cc432613af3926da3bed217a6baa9cbd26
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Fri Oct 1 13:08:25 2021 -0700

    Add getNativeHandle() to ICommandQueue and ICommandBuffer (#1952)

    * Added support for getting command buffer and command queue handles to ICommandBuffer and ICommandQueue; D3D12Device, VkDevice, and DebugDevice modifieid to implement this new functionality; immediate-renderer-base.cpp also modified to implement the new functions

    * Removed excess boilerplate

    * Changed readRef() to get() in D3D12 getNativeHandle() implementation for ICommandBuffer and ICommandQueue

    * Added unit tests for new getNativeHandle() implementations, unfinished

    * Queue test added; Minor cleanup changes

    * getBufferHandleTestImpl() now closes the command buffer before returning

    * Added getNativeHandle() implementations to CUDADevice

    * Added comment clarifying that the Vulkan check is checking for a null handle, which is defined to be 0

commit 6c6200f547c7387598743b23bb3c8f0d375d9494
Author: Kai Yao &lt;kyao@nvidia.com&gt;
Date:   Thu Sep 30 20:25:34 2021 -0700

    VK Resource Barrier (#1955)

    * Resource barrier API and VK implementation

    * Stub implementations

    * Handle VK Acceleration Structure flag

    * Add a couple more cases to pipeline barrier stages

commit 627fc976bac5c2381dbace9c7925cb6a68b8de12
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Thu Sep 30 19:48:47 2021 -0700

    Fix aarch64 build on github (#1957)

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit 122d701513e116856bd59c999221ce36a373d7db
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Thu Sep 30 17:51:56 2021 -0700

    Fix GitHub release (#1956)

    * Fix aarch64 release build config.

    * Fix for WinAarch64 build.

    * Update premake for embed-std-lib build on aarch64.

    * `platform` fix for aarach64 build.

    * Try revert back to use absolute output path for slang-stdlib-generated.h

    * Fix

    * fix

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit aa8f7b899b7b562b3d3c6e25c3da41569505e70c
Author: Chad Engler &lt;englercj@live.com&gt;
Date:   Wed Sep 29 13:02:47 2021 -0700

    Fix ARM64 detection for MSVC (#1951)

commit 6736b0c1c5fa3e89bc561eb7965a1a0d17af3466
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Wed Sep 29 11:29:46 2021 -0700

    Add ISession::loadModuleFromSource. (#1950)

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit d8e452412e14a6a8ba137f2adcae13b398e5cecb
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Tue Sep 28 15:03:03 2021 -0700

    Fix AbortCompilationException leaking through loadModule API. (#1949)

    * Fix AbortCompilationException leaking through loadModule API.

    * Update.

    * Fix.

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit cdf1b2c007fefdca128584d2a9f63dec3d350e16
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Tue Sep 28 11:54:24 2021 -0700

    Improvements to the unit test framework. (#1948)

commit af788b62e18bbd55cd748ad60400a74cf1bc93ee
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Fri Sep 24 16:53:41 2021 -0700

    Add existing device handle support unit test (#1946)

commit bec8e6aec85b6e3f875c58bdd59eb15613978358
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Fri Sep 24 11:33:44 2021 -0700

    Move existing unit tests to a standalone dll. (#1945)

commit f2a3c933bc11a498c622fa18694c84beca8ca031
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Thu Sep 23 12:19:49 2021 -0700

    Add method to retrieve native handles (#1944)

    * Added a getNativeHandle() method that retrieves the natively created handles; Modified RendererBase, VKDevice, D3D12Device, and DebugDevice to implement this new method

    * Moved ExistingDeviceHandles out of Desc directly inside IDevice and renamed to NativeHandles; Modified calls accessing the struct accordingly in RendererBase, DebugDevice, VKDevice, and D3D12Device

    * Minor cleanup changes (renames, etc.)

commit b9b398d038b524f15a86ff27cd6888d54e8754e0
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Wed Sep 22 10:06:59 2021 -0700

    Add gfx unit testing framework. (#1943)

    * Add gfx unit testing framework.

    * Fix compilation error.

    * Reset gfxDebugCallback after render_test.

    * Pass enabledApi flags through.

    * Fix for code review suggestions.

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit 6e9cee69b3588ddae09b08b9f580f59ad899983f
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Tue Sep 21 18:46:32 2021 -0700

    Support for existing device/instance handles in Vulkan (#1942)

commit b1f04c8544c650de3947955ca68f679535d249aa
Author: lucy96chen &lt;47800040+lucy96chen@users.noreply.github.com&gt;
Date:   Wed Sep 15 20:22:45 2021 -0700

    Allow D3D12Device to use an existing device handle (#1940)

    * Added a new field for an existing device handle to IDevice::Desc; Modified D3D12Device::initialize to set the device stored in desc if it already exists instead of creating a new one

    * Turned existingDeviceHandle into a struct containing an array of two elements; Updated D3D12Device::initialize to match changes to existingDeviceHandle; Updated comments

    * Fixed style error for ExistingDeviceHandles struct

commit 2f7b9f5ae8be21c6c1d75ae9caefbc7b3f8986a9
Author: Pablo Delgado &lt;private@pablode.com&gt;
Date:   Thu Sep 16 01:17:57 2021 +0200

    Fix incorrect WIN32 macros and missing Windows.h inclusion (#1939)

    * Replace WIN32 preprocessor macros with _WIN32

    * Add missing Windows.h include for InterlockedIncrement

commit 11d43642008905ac69a3832eb8a9b2ae7b785f86
Author: Yong He &lt;yonghe@outlook.com&gt;
Date:   Tue Sep 14 11:36:44 2021 -0700

    Avoid upcasting to f32 in 16bit float-uint bit cast. (#1938)

    Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;

commit 502aa3812a82cf0d091cff0c67804e4ee448ac78
Author: David Siher &lt;32305650+dsiher@users.noreply.github.com&gt;
Date:   Tue Sep 14 12:59:55 2021 -0400

    Bring heterogeneous-hello-world back up to date. (#1935)

    * Bring heterogeneous-hello-world back up to date.

    * Reintroduced heterogeneous-hello-world into the premake

    * No longer uses compiled bytecode for entry point, instead a loadModule
    call is hardocoded with the slang file name.

    * Entry point is, similarly, hardcoded for now.

    * Added a bypass to slang-legalize-types for an unneeded GPUForeach check

    * Run premake and change to relative path

    * Removed experimental and added README

    Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;

* Revert "Squashed commit of the following:"

This reverts commit 4f665858d65f7c332c616ef6db9fdafa1c5e0b9f.

* Run premake

* Remove prebuild command (only works on Windows?)

* Rerun premake

* Fix heterogeneous prebuild command

* Remove linux specific prebuild command

* Fix prebuild command (again)

* Change target from dxbc to hlsl to see if that fixes linux issues

* Use Path::getFileNameWithoutExt

* Change string-literal.slang.expected to have extra filename in decoration

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Bring heterogeneous-hello-world back up to date. (#1935)</title>
<updated>2021-09-14T16:59:55+00:00</updated>
<author>
<name>David Siher</name>
<email>32305650+dsiher@users.noreply.github.com</email>
</author>
<published>2021-09-14T16:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=502aa3812a82cf0d091cff0c67804e4ee448ac78'/>
<id>urn:sha1:502aa3812a82cf0d091cff0c67804e4ee448ac78</id>
<content type='text'>
* Bring heterogeneous-hello-world back up to date.

* Reintroduced heterogeneous-hello-world into the premake

* No longer uses compiled bytecode for entry point, instead a loadModule
call is hardocoded with the slang file name.

* Entry point is, similarly, hardcoded for now.

* Added a bypass to slang-legalize-types for an unneeded GPUForeach check

* Run premake and change to relative path

* Removed experimental and added README

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Refactor `gfx` to surface `CommandBuffer` interface. (#1735)</title>
<updated>2021-03-05T00:25:58+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-03-05T00:25:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a5ac4999b4dea546a7ef824669ab1809224b6448'/>
<id>urn:sha1:a5ac4999b4dea546a7ef824669ab1809224b6448</id>
<content type='text'>
* Refactor `gfx` to surface `CommandBuffer` interface.

* Fixes.

* Fix code review issues, and make vulkan runnable on devices without VK_EXT_extended_dynamic_states.

* Update solution files

* Move out-of-date examples to examples/experimental

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>GPU Foreach Loop (#1498)</title>
<updated>2020-08-17T16:50:44+00:00</updated>
<author>
<name>Dietrich Geisler</name>
<email>dag368@cornell.edu</email>
</author>
<published>2020-08-17T16:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=ff2d490dc120708a2fcb6eea5880a6b7c6586a4b'/>
<id>urn:sha1:ff2d490dc120708a2fcb6eea5880a6b7c6586a4b</id>
<content type='text'>
* GPU Foreach Loop

This PR introduces the completed GPU foreach loop and updates the
heterogeneous-hello-world example to use it.  This PR builds on the
previous introduction of the GPU Foreach loop parsing and semantic
checking PR (#1482) by introducing IR lowering and emmitting.  THe new
feature can be used by having a GPU_Foreach loop interacting with a
named non-CPP entry point, and using the -heterogeneous flag.

* Fix to path

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Binary for Heterogeneous Example (#1467)</title>
<updated>2020-07-31T21:51:52+00:00</updated>
<author>
<name>Dietrich Geisler</name>
<email>dag368@cornell.edu</email>
</author>
<published>2020-07-31T21:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=011a743668e7cd0b7cf97d27e3bed7d519794aeb'/>
<id>urn:sha1:011a743668e7cd0b7cf97d27e3bed7d519794aeb</id>
<content type='text'>
* Binary Heterogeneous Example

This PR introduces the ability to insert the binary of a non-CPU target
by using the -heterogeneous flag.  Specifically, this PR updates the
emitting logic to produce a variable of name `__[name_of_entryPoint]`
when the heterogeneous flag is present.

* Prelude path fix

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Baseline Heterogeneous Example (#1460)</title>
<updated>2020-07-27T16:14:17+00:00</updated>
<author>
<name>Dietrich Geisler</name>
<email>dag368@cornell.edu</email>
</author>
<published>2020-07-27T16:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=348058f96e81d11da2698acf8343a99a199f1f24'/>
<id>urn:sha1:348058f96e81d11da2698acf8343a99a199f1f24</id>
<content type='text'>
* Baseline Heterogeneous Example

This PR introduces a baseline heterogeneous example, including both a
Slang file and an associated C++ helper file.  This refactoring
primarily moves the Slang file "into the driver's seat" while
maintaining that the C++ side still does most of the actual work.

* Fix to prelude path</content>
</entry>
<entry>
<title>Heterogeneous example (#1399)</title>
<updated>2020-06-24T21:22:58+00:00</updated>
<author>
<name>Dietrich Geisler</name>
<email>dag368@cornell.edu</email>
</author>
<published>2020-06-24T21:22:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3fe4f5398d524333e955ecb91be5646e86f3b2da'/>
<id>urn:sha1:3fe4f5398d524333e955ecb91be5646e86f3b2da</id>
<content type='text'>
* Introduced heterogeneous example.  Example includes C++ source and
header files, and does not currently make use of the associated slang
file when building.  The intent of this commit is to introduce the
example as a baseline for later updates as the heterogeneous model is
expanded.

* Changing namespace

* Renamed and rewrote README

* Updated example to account for compiler updates

* Updated path

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
</feed>
