<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tools/gfx/command-writer.h, 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>GFX renaming work part 2: slang-gfx.h renames (#2194)</title>
<updated>2022-04-21T19:59:09+00:00</updated>
<author>
<name>lucy96chen</name>
<email>47800040+lucy96chen@users.noreply.github.com</email>
</author>
<published>2022-04-21T19:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f493d24c70a6227754296439e97adf35ec412496'/>
<id>urn:sha1:f493d24c70a6227754296439e97adf35ec412496</id>
<content type='text'>
* Fixed all build errors and type conversion warnings from renames in slang-gfx.h

* Made necessary build fixes to the CUDA implementation

* Renamed ITextureResource::Size to ITextureResource::Extents

* More rename changes based on CI errors

* More renames to fix CI build errors

* Rerun tests</content>
</entry>
<entry>
<title>Draw call tests for Vulkan (#2073)</title>
<updated>2022-01-10T19:00:50+00:00</updated>
<author>
<name>lucy96chen</name>
<email>47800040+lucy96chen@users.noreply.github.com</email>
</author>
<published>2022-01-10T19:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=aee4aa3528072e4b5e95ccc4e571868716b47d50'/>
<id>urn:sha1:aee4aa3528072e4b5e95ccc4e571868716b47d50</id>
<content type='text'>
* Added instancing support to Vulkan, drawInstanced() test image is upside-down

* Fixed inverted drawInstanced() test output by changing Vulkan viewport convention

* Replaced vkCmdDraw with vkCmdDrawIndexed in all non-indirect indexed draws, drawIndexedIndirect test now working for Vulkan

* Moved index and vertex buffer binding into setIndexBuffer and setVertexBuffers; Defaulted countBuffer to nullptr and countOffset to 0 and added a check for non-null countBuffer to drawIndirect and drawIndexedIndirect in Vulkan; All Vulkan draw tests working (but D3D12 tests broken)

* Added support for drawInstanced and drawIndexedInstanced to D3D11 and added tests for both, however D3D11 tests are currently disabled due to readTextureResource assuming a fixed pixel size (among other possible problems); Fixed issues causing D3D12 tests to fail after major back-end fixes to get Vulkan up and running

* Removed testing function for dumping images and some other commented out code

* Removed some commented out code

* Fix initializer list causing builds to fail (attempt 1)

* Removed initializer list for VertexStreamDesc in createInputLayout() and fill in struct fields normally (build fix attempt 2)

* Removed default values from VertexStreamDesc and changed all initializer lists to reflect this change

* Moved applyBinding before setVertexBuffer in RenderTestApp::renderFrame() to ensure the pipeline has already been bound before vertex buffers are

* Changed D3D11's readTextureResource to calculate pixel size using format-specific size information; Removed wrapper around D3D11 instanced and indexed instanced draw tests</content>
</entry>
<entry>
<title>gfx: use uint32_t in draw calls and implement current size query. (#2055)</title>
<updated>2021-12-13T17:57:56+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-12-13T17:57:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=3359313620cd57b8404f95cfe7b07cce514eff71'/>
<id>urn:sha1:3359313620cd57b8404f95cfe7b07cce514eff71</id>
<content type='text'>
* gfx: Implement remaining resource commands on D3D12.

Includes: `textureBarrier`, `copyTexture`, `uploadTextureData`, `copyTextureToBuffer`, and `textureSubresourceBarrier`.

* gfx: Implement `CurrentSize` query.

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>GFX: implement mutable shader objects. (#1963)</title>
<updated>2021-10-18T19:19:45+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-10-18T19:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=2f44d9e01234911dd563f0456b9d861fd8db286d'/>
<id>urn:sha1:2f44d9e01234911dd563f0456b9d861fd8db286d</id>
<content type='text'>
* GFX: implement mutable shader objects.

* Revert unnecessary changes

* Revert more changes.

* Fix clang errors.

* Fix clang/gcc errors.

* Fix clang errors.

* Remove CPU test.

* Fix after merge.

* Fix after merge.

* Remove gl test

* Code review fixes.

* Fixing all vk validation errors.

* Flush test output more often.

* Fix a crash in `specializeDynamicAssociatedTypeLookup`.

* temporarily disable std-lib-serialize test to see what happens

* Fix crashes.

* Make sure cpu gfx unit tests are properly disabled on TeamCity.

* Disable cpu test.

* Fix.

* Fix cuda.

* Disable nv-ray-tracing-motion-blur

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Support timestamp queries in `gfx`. (#1880)</title>
<updated>2021-06-10T07:30:19+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-06-10T07:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0d9bd79e8fd4d57e1a723ca6b6a45efec2b42872'/>
<id>urn:sha1:0d9bd79e8fd4d57e1a723ca6b6a45efec2b42872</id>
<content type='text'>
* Support timestamp queries in `gfx`.

* Fix tab

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Transient root shader object. (#1782)</title>
<updated>2021-04-05T20:31:05+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-04-05T20:31:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=086ecf41fa21138899960bb9805bc8ced91690f0'/>
<id>urn:sha1:086ecf41fa21138899960bb9805bc8ced91690f0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reimplement Vulkan shader objects. (#1764)</title>
<updated>2021-03-24T20:57:55+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-03-24T20:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=98afb421f408aa8651afff3dba1b21fad71131fe'/>
<id>urn:sha1:98afb421f408aa8651afff3dba1b21fad71131fe</id>
<content type='text'>
* Reimplement Vulkan shader objects.

This change reimplements Vulkan shader objects in the `gfx` layer so that it is no longer layered on top of the `DescriptorSet` abstraction. Since this is the last implementation that uses `DescriptorSet`, the change also removes all `DescriptorSet` related API from public `gfx` interface.

The Vulkan implementation now passes all test cases, but it still have two issues:
1. The PushConstant setting is not correct, this is because we don't seem to be able to get correct reflection data about the size of push constants for an entry-point.
2. The `shader-toy` example can't run on Vulkan, because it currently sets nullptr to `Texture` bindings, and this change doesn't properly handle setting resource to null in `ShaderObject`s yet. If we can use the `nullDescriptor` feature on vulkan, this implementation will be simple. However we still want to decide whether we want to use a Vulkan 1.2 feature for this.

* Fix up</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>
</feed>
