<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/external/vulkan, 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>2025-01-30T21:19:13+00:00</updated>
<entry>
<title>Support cooperative vector including Vulkan-Header (#6228)</title>
<updated>2025-01-30T21:19:13+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-01-30T21:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fb052bf4674b55933e6dd9f991c99000c049d216'/>
<id>urn:sha1:fb052bf4674b55933e6dd9f991c99000c049d216</id>
<content type='text'>
* Support cooperative vector including Vulkan-Header

Adding a Slang support for cooperative vector with vulkan-header update.</content>
</entry>
<entry>
<title>Change how DeclRef::toText works (#5592)</title>
<updated>2024-11-21T01:51:59+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2024-11-21T01:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e9caf5de9c0ae137c31c32ea27bc17d7735689a3'/>
<id>urn:sha1:e9caf5de9c0ae137c31c32ea27bc17d7735689a3</id>
<content type='text'>
* Change how DeclRef::toText works

We now ignore the decl-ref heirarchy since that only includes nodes with specialization info &amp; simply walk up the tree of decls, while emitting any specializations present in the decl-ref.

* Update some tests. Add cases for direct refs to generic params &amp; Lookup decl refs</content>
</entry>
<entry>
<title>Ray tracing validation (#4418)</title>
<updated>2024-06-27T15:25:07+00:00</updated>
<author>
<name>ccummingsNV</name>
<email>ccummings@nvidia.com</email>
</author>
<published>2024-06-27T15:25:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1d4db4224bd981b54b1e5f260a232a1183bbdcda'/>
<id>urn:sha1:1d4db4224bd981b54b1e5f260a232a1183bbdcda</id>
<content type='text'>
* Ray tracing validation in Vulkan

* Clean up RT validation code

* Remove redundant api additions

* Remove redundant debug utils callback

* Ray tracing validation uses extended descriptor for initialization

---------

Co-authored-by: Chris Cummings &lt;chriscummings@nvidia.com&gt;
Co-authored-by: Jay Kwak &lt;82421531+jkwak-work@users.noreply.github.com&gt;
Co-authored-by: skallweitNV &lt;64953474+skallweitNV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Add Mesh and Task shader support to GFX (#3190)</title>
<updated>2023-09-12T03:13:11+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-09-12T03:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=09854a4596019ddb3bb315b8836b5c88e718cdc7'/>
<id>urn:sha1:09854a4596019ddb3bb315b8836b5c88e718cdc7</id>
<content type='text'>
* Bump vulkan headers

Also just use vulkan-headers as a submodule

* Add drawMeshTasks to gfx graphics pipelines

* Add DispatchMesh overload with no payload, with GLSL intrinsic

* Require spirv 1.4 for mesh shaders

* Add vulkan mesh shader feature discovery

* Add mesh shader stage bits to vk-util

* Add mesh and task shader support to render-test

* Add mesh and task tests

* Preserve "payload" specifier in task shaders

* Add mesh shader pipeline support to gfx

* Add TODO

* Add numThreads attribute for amplification stage

* Add payload to task shader test

* Drop dependency on d3dx12

* Allow passing payloads from task to mesh shaders

* regenerate vs projects

* check DispatchMesh name correctly

* Add mesh shader tests to failing tests

* Detect wave-ops feature on vulkan

* Add fuse-product to expected failures

This fails because the global varaible `count` is not initialized

* Add required extension to WaveMaskMatch SPIR-V impl

* Remove meshShader member from pipeline desc

* Identify mesh shader support on d3d12</content>
</entry>
<entry>
<title>Update Vulkan headers (#1896)</title>
<updated>2021-06-25T21:42:00+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2021-06-25T21:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=81c1692a63486578f25ecaed652eab0d370120ee'/>
<id>urn:sha1:81c1692a63486578f25ecaed652eab0d370120ee</id>
<content type='text'>
Co-authored-by: Theresa Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Vulkan update/NVAPI support (#1511)</title>
<updated>2020-08-21T20:04:42+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-08-21T20:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fcac02e405661de311b5ceebbd6d3e2c78bf8aea'/>
<id>urn:sha1:fcac02e405661de311b5ceebbd6d3e2c78bf8aea</id>
<content type='text'>
* First pass at incorporating nvapi into test harness.

* D3d12 Atomic Float Add via NVAPI working

* Dx12 atomic float appears to work.

* Atomic float add on Dx12.

* Added atomic64 feature addition to vk.
Fix correct output for atomic-float-byte-address.slang

* Disable atomic float failing tests.

* Upgraded VK headers.

* Detect atomic float availability on VK.

* Try to get test working for in64 atomic.

* Made HLSL prelude controlled via the render-test requirements.

* Added -enable-nvapi to premake.

* Fix D3D12Renderer when NVAPI is not available.

* Small improvements to VKRenderer.

* Improve atomic documentation in target-compatibility.md.</content>
</entry>
<entry>
<title>Upgraded vulkan headers to v1.1.103 (#909)</title>
<updated>2019-03-15T21:26:27+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2019-03-15T21:26:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1bc99cf725e1fcaf542a61fc786be18e18173003'/>
<id>urn:sha1:1bc99cf725e1fcaf542a61fc786be18e18173003</id>
<content type='text'>
https://github.com/KhronosGroup/Vulkan-Headers</content>
</entry>
<entry>
<title>Initial work on getting render-test to support vulkan (#391)</title>
<updated>2018-02-02T15:49:32+00:00</updated>
<author>
<name>Tim Foley</name>
<email>tfoleyNV@users.noreply.github.com</email>
</author>
<published>2018-02-02T15:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b034398ab12d3cc3a5fc04174688cb707404791d'/>
<id>urn:sha1:b034398ab12d3cc3a5fc04174688cb707404791d</id>
<content type='text'>
* Basic fixes to gets some Vulkan GLSL out of the IR path

We haven't been paying much attention to the Vulkan output from the IR path, but that needs to change ASAP. This commit really just implements quick fixes, without concern for whether they are a good fit in the long term.

- Add some more mappings from D3D `SV_*` semantics to built-in GLSL variables, and stop redeclaring those built-in variables in our output GLSL.

- Add custom output logic for HLSL `*StructuredBuffer&lt;T&gt;` types, so that they emit as `buffer` declarations with an unsized array inside. This has some real limitations:
  - What if the user passes the type into a function? The parameter should be typed as an (unsized) array, and not a buffer.
  - What happens if we have an array of structured buffers? We need to declare an array of blocks (which GLSL allows), but this changes the GLSL we should emit when indexing.

- Customize the way that we emit entry point attributes (e.g., `[numthread(...)]`) to also support outputting equivalent GLSL `layout` qualifiers.

In many of these cases, a better fix might involve doing more of this work in the IR as part of legalization (e.g., we already have a pass that deals with varying input/output for GLSL, so that should probalby be responsible for swapping the `SV_*` to `gl_*`, especially in cases where the types don't match perfectly across langauges).

* Start adding Vulkan support to render-test

- Add both Vulkan and D3D12 as nominally supported back-ends

- Add a git submodule to pull in the Vulkan SDK dependencies
  - I don't want our users to have to install it manually, since the SDK is huge
  - Checking in the binaries to our main repository seems like a bad idea, but my hope is that we can prune the bloat using a subodule with the `shallow` cloning option

- Implement enough logic for the Vulkan back-end to get a single test passing on Vulkan

* Fix warning

* Fixup: disable new compute tests for Linux

* Fixup: ignore Vulkan tests on AppVeyor

* Dynamically load Vulkan implementation

Rather than statically link to the Vulkan library, we will dynamically load all of the required functions.
This removes the need to have the stub libs involved at all.

* Remove vulkan submodule

I had set up a `vulkan` submodule to pull in the headers and stub libs, but now that we are going to dynamically load all the symbols anyway, the stub lib binaries aren't needed and we can just commit the headers.

* Add Vulkan headers to external/
</content>
</entry>
</feed>
