<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/build/visual-studio/compiler-core, 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-07-10T14:37:21+00:00</updated>
<entry>
<title>WIP Drop Premake (#3703)</title>
<updated>2024-07-10T14:37:21+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-07-10T14:37:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=0e56999a573fada2cce6e94c21ef856cc88dc933'/>
<id>urn:sha1:0e56999a573fada2cce6e94c21ef856cc88dc933</id>
<content type='text'>
* Remove premake lua

* Remove premake generated vs project

* remove deps file

* Remove premake driving bat files

* Full test matrix under CMake

* Remove premake based ci workflows

* Wiggle CI

* remove cmake from ci name

* find frameworks correctly on osx

* remove cmake from ci name

* Cope with sccache not being available

* cmake based falcor tests

* ci wobble

* only install ninja if necessary

* more appropriate cache name

* Remove premake from build instructions

* Add some docs on ci setup

* remove premake from regression tests

* remove premake from perf test

* Set SLANGC_PATH

* ci wobble

* bump slang-binaries

* ci wobble

* Bump spirv tools

* dont use timestamp in cache

* remote debug code

* cache key wobble

* Install sccache after building llvm

* Do not build llvm tools

* ci wobble

* ci wobble

* ci wobble

* ci wobble

* ci wobble

* Tests spirv via glsl in ci

* Define SLANG_ENABLE_XLIB=1

* osx builds on aarch64

* ci wobble

* ci wobble

* ci wobble

* ci wobble

* ci wobble

* ci wobble

* package documentation and metadata with cmake

* ci wobble

* Split hlsl double intrinsic tests

* ci wobble

* Correct type for double log10

Fixes https://github.com/shader-slang/slang/issues/4549

* remove working test from expected failures

* add broken test to expected failures

* smaller build for falcor tests

* ci wobble

* A few exclusions in ci

* wip, release script

* Enable examples in ci

* neaten release script

* Correct building docs

* Only use xlib vulkan when slang_enable_xlib is true

* bump slang-llvm version

* Remove toolchain file use

* Bump slang-llvm preset version

* slash direction

* Improve build directions

* Add msvc cross build documentation

* Disable old release files

* Smaller set of releases for test

* Allow not building llvm

* simplify release matrix

* Cross releases

* formatting

* formatting

* ci wiggle

* ci wiggle

* cleaner

* neaten

* ci wobble

* formatting

* Install cross tools on linux

* do not clean build dir

* neaten ci

* neaten ci

* neaten ci

* remove unused release workflow files

* Build llvm on some platforms

* neaten ci

* notarize on osx

* s/x64/x86_64

* ci wobble

* Embed stdlib for release build

* wobble ci

* wobble ci

* s/x64/x86_64

* ci wobble

* ci wobble

* ci wobble

* vk-gl-cts on cmake

* neaten ci

* neaten ci

* bump cache action version

* Cope with windows being weird about case

* old glibc version

* old glibc version

* Correct action file

* Keep cache hot on main branch

* separate small script for old glibc releases

* ci wobble

* ci wobble

* Run cmake outside of docker

* only sign on releases

* Revert "Run cmake outside of docker"

This reverts commit a58aaba939a4aa35fe70962fd60d9512b143592f.

* python3 on build image

* less parallel

* ci wobble

* ci wobble

* ci wobble

* newer git

* ci wobble

* ci wobble

* Use newer docker image

* Use newer docker image

* sccache wobble

* permissions issue

* neaten

* build llvm in ci

* build llvm in ci

* Remove linux clang build in ci

* Only install crossbuild tools on non-aarch64 systems

* neaten ci.yml

* Correct github matrix

* Simplify github matrix

* ci wobble

* Disable broken test

See https://github.com/shader-slang/slang/issues/4589

* ci wobble

* Neater slang-llvm archive filename

* Neater path for uploading artifacts

* Neater ci names

* Use Windows SDK 10.0.19041.0 in cmake builds</content>
</entry>
<entry>
<title>Add metal downstream compiler + metallib target. (#3990)</title>
<updated>2024-04-20T04:02:32+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-04-20T04:02:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=beae3a9d219dac1e4e3da9c357b25d06370388f3'/>
<id>urn:sha1:beae3a9d219dac1e4e3da9c357b25d06370388f3</id>
<content type='text'>
* Add metal downstream compiler + metallib target.

* Add more comments.

* Add missing override.</content>
</entry>
<entry>
<title>Capability def parsing &amp; codegen + disjoint sets (#3451)</title>
<updated>2024-01-19T00:46:00+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-01-19T00:46:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c5c1a25ab6d0e509e893d737a679ac47949df2f6'/>
<id>urn:sha1:c5c1a25ab6d0e509e893d737a679ac47949df2f6</id>
<content type='text'>
* Capability def parsing &amp; codegen + disjoint sets

This change adds a capability definition file, and a code generator
to produce C++ code that defines the capability enums and necessary
data structures around the capabilities.

Extends the existing CapabilitySet class to support expressing
disjoint sets of capabilities. This sets up for the next change
that will enhance our type checking with reasoning of capability
requirements.

* Fix cmake.

* Fix warning.

* Fix.

* Fix isBetterForTarget to prefer less specialized option.

* Fix.

* Fix premake.

* Fix intrinsic.

* Fix vs sln file.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Run curated spirv-opt passes through slang-glslang. (#3266)</title>
<updated>2023-10-09T21:03:43+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-10-09T21:03:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=67e186f0169591c48d24bd8ff7e4e4e715e8fa45'/>
<id>urn:sha1:67e186f0169591c48d24bd8ff7e4e4e715e8fa45</id>
<content type='text'>
* Run curated spirv-opt passes through slang-glslang.

* Cleanup.

* Replace spirv-dis downstream compiler with glslang.

* delete slang-spirv-opt.cpp.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Add more wave intrinsics. (#3162)</title>
<updated>2023-08-29T12:55:49+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-08-29T12:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=9d4e044bad6161a593806fc6fb610d41aa8b4b22'/>
<id>urn:sha1:9d4e044bad6161a593806fc6fb610d41aa8b4b22</id>
<content type='text'>
Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Allow bitwise or expressions and numeric literals in spirv_asm blocks (#3157)</title>
<updated>2023-08-28T22:05:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-08-28T22:05:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=508dc3a95de50de4a4d07d0a72a18e40d55b0e2e'/>
<id>urn:sha1:508dc3a95de50de4a4d07d0a72a18e40d55b0e2e</id>
<content type='text'>
* Add -spirv-core-grammar option to load alternate spirv defs

Also embed a version to use by default

* Use perfect hash for spv op lookup

* Neaten perfect hash embedding

* Refactor spirv grammar lookup in preperation for more kinds of lookups

* Load spirv capability list from spec

* Add all SPIR-V enums to lookup table

* regenerate vs projects

* appease msvc

* Use string slices for spir-v core grammar lookups

* wiggle

* comment

* Add OpInfo for spv ops

* regenerate vs projects

* Embed op names

* Add min/max operand counts and enum categories to spirv info

* neaten

* Operand kinds for spirv ops

* Store and embed all information relating to spirv enums and qualifiers

* Use SPIR-V spec to position instructions in spirv_asm blocks

* Neaten spir-v info embedding

* Neaten perfect hash embedding

* Add assignment syntax to spirv_asm snippets

* Better errors for spirv_asm parser

* Add warning for too many operands in spirv asm

* squash warnings

* neaten

* test wiggle

* Lookup enums for spirv

* Put OpCapability and OpExtension in the correct place for spirv_asm blocks

* Tests for OpCapability and OpExtension

* ci wiggle

* Add expected failure

* Allow raising immediate values to constant ids where necessary in spirv_asm blocks

* Allow bitwise or expressions and numeric literals in spirv_asm blocks

* test numeric literals

* Fix memory issues.

* fix.

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Add spirv-dis as a downstream compiler (#3059)</title>
<updated>2023-08-08T05:23:06+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-08-08T05:23:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=97dccb4c61645a14f541e7bceba3ba1599efb8ba'/>
<id>urn:sha1:97dccb4c61645a14f541e7bceba3ba1599efb8ba</id>
<content type='text'>
* Add spirv-dis as a downstream compiler

* Add TODO for spirv-dis downstream compiler

* Do not use SpirvDis by default

* tabs to spaces

* regenerate vs projects

* correct test

* correct calling convention

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Source embedding for output (#2889)</title>
<updated>2023-05-22T21:22:22+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-05-22T21:22:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=972a931452c3f06a23a4f67ccfb655851df53fa4'/>
<id>urn:sha1:972a931452c3f06a23a4f67ccfb655851df53fa4</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Fix typo.

* Add options for source embedding.

* Small improvements.

* Working with tests.

* Add check for supported language types for embedding.

* Try and remove assume warning.

* Fix warning on MacOSX.

* Some extra checking around Style::Text.

* Some small improvements to docs/handling for headers extensions.

* Fix md issue.

* Small fixes around zeroing partial last element.

* Another small fix....

* Small improvement in hex conversion.

* Add an assert for unsignedness.</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>Artifact Container (#2783)</title>
<updated>2023-04-12T16:06:41+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2023-04-12T16:06:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=eda9dd33647b271dd5ea5256e87cb23ad269b19f'/>
<id>urn:sha1:eda9dd33647b271dd5ea5256e87cb23ad269b19f</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* WIP simplifying artifact interface.

* Use ContainedKind.

* Remove LazyCastableList.
Use ContainedKind for find.

* Remove ICastableList.

* Remove need for ICastableList.

* Remove IArtifactContainer.

* Small fixes.

* Small improvements around Artifact.

* Make explicit find is for *representations* that can cast.
Fix bug in handling casting in lookup.

* Made associated items artifacts too.

* Small fixes.

* Small improvements around writing a container.

* WIP artifact container format.

* Make the root a special case.

* Special case if the artifact doesn't have children/associated.</content>
</entry>
</feed>
