<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-ir-fuse-satcoop.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>2025-07-15T23:39:22+00:00</updated>
<entry>
<title>Emit additional diagnostic for invalid pointer taking operations (#7663)</title>
<updated>2025-07-15T23:39:22+00:00</updated>
<author>
<name>Gangzheng Tong</name>
<email>tonggangzheng@gmail.com</email>
</author>
<published>2025-07-15T23:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=21a66267c661a55c8ad27248c0765276dd6f72ea'/>
<id>urn:sha1:21a66267c661a55c8ad27248c0765276dd6f72ea</id>
<content type='text'>
* Emit special diagnostic for invalid pointer taking operations

* Update source/slang/slang-diagnostic-defs.h

Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;

* Add OperatorAddressOf KnownBuiltin modifier

* update error message for non-l-value assignment

* update the diagnostics in the tests

* Use enum based KnownBuiltinDeclName

* format code (#7772)

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;

---------

Co-authored-by: ArielG-NV &lt;159081215+ArielG-NV@users.noreply.github.com&gt;
Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;
Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Replace [KnownBuiltin] string-based comparisons with enum-based system (#7714)</title>
<updated>2025-07-15T10:11:39+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-07-15T10:11:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d964555d2ee83fac2ba357e4ec81e2a393a7b12f'/>
<id>urn:sha1:d964555d2ee83fac2ba357e4ec81e2a393a7b12f</id>
<content type='text'>
* Initial plan

* Implement enum-based KnownBuiltin system to replace string comparisons

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Add test for enum-based KnownBuiltin system and verify functionality

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Implement enum-based KnownBuiltin system with direct integer values

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix IntVal access and update tests for new enum-based KnownBuiltin system

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Replace hardcoded KnownBuiltin integers with preprocessor enum syntax

- Updated all KnownBuiltin attributes to use $( (int)KnownBuiltinDeclName::EnumValue) syntax
- Added space between parentheses to avoid preprocessor bug: $( (int) instead of $((int)
- Updated both core.meta.slang and hlsl.meta.slang files
- Eliminates preprocessor-time integer conversion, baking enum values directly into meta files
- Maintains same functionality while using type-safe enum references

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Fix IDifferentiablePtr KnownBuiltin mapping regression

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Remove unused IDifferentiablePtrType enum case from KnownBuiltinDeclName

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Clean up temporary AST dump files from testing

Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;

* Replace hardcoded integer with descriptive constant in KnownBuiltin test

Replace the hardcoded [KnownBuiltin(0)] with a descriptive named constant
GEOMETRY_STREAM_APPEND_BUILTIN to improve code readability and maintainability.
The test now clearly indicates which builtin enum value is being tested.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Gangzheng Tong &lt;gtong-nv@users.noreply.github.com&gt;

---------

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: csyonghe &lt;2652293+csyonghe@users.noreply.github.com&gt;
Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;
Co-authored-by: Gangzheng Tong &lt;gtong-nv@users.noreply.github.com&gt;
Co-authored-by: Gangzheng Tong &lt;tonggangzheng@gmail.com&gt;</content>
</entry>
<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>Do not move movable insts in fuse-satcoop (#3221)</title>
<updated>2023-09-21T16:42:17+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-09-21T16:42:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4810dbd49067c5dc03ffeb9f580b83146f66326a'/>
<id>urn:sha1:4810dbd49067c5dc03ffeb9f580b83146f66326a</id>
<content type='text'>
* Do not move movable insts in fuse-satcoop

* Add case for IRCall in isMovableInst

---------

Co-authored-by: Yong He &lt;yonghe@outlook.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>Add loop inversion pass (#2899)</title>
<updated>2023-08-17T05:41:49+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-08-17T05:41:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a0ee2bf671d61d1e2b561db3966e57ffc802040f'/>
<id>urn:sha1:a0ee2bf671d61d1e2b561db3966e57ffc802040f</id>
<content type='text'>
* Generalize collectInductionValues

* Support affine transformations of loop index as induction variables

* Test for generalized induction value collection

* Neaten inductive variable finding

* Make types more specific

* Add loop inversion pass

* Test output changes after loop inversion

* Store the type of implication success when finding inductive variables

* Test that loop induction finding does not alway succeed

* Support chains of additions and branches of additions in induction variable finding

* Use c++17 for downstream compilers

* Wiggle expected output for cross compile test after loop inversion

* Add loop inversion test

* Simplify IfElse instructions with a single trivial block

* Invert loops with a user inserted break

* Limit loop inversion to loops with a 4 instruction or less comparison block

* regenerate vs projects</content>
</entry>
<entry>
<title>Fusion pass for saturated_cooperation (#2874)</title>
<updated>2023-05-12T22:33:26+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-05-12T22:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=65103bc9a0c72117d3c9410e361947cdd568ae55'/>
<id>urn:sha1:65103bc9a0c72117d3c9410e361947cdd568ae55</id>
<content type='text'>
* Fusion pass for saturated_cooperation

* simplify assert

* regenerate vs projects

* missing test output files

* rename shadowing variable to appease msvc

* Fuse calls to sat_coop with differing inputs

* formatting

* add cpu test for hof simple

* Make higher-order functions into compute comparison tests

* comment tests

* remove redundant test

* Add test to confirm inlining in sat_coop fuse

* Add clarifying comment for sat coop fusing

* Add KnownBuiltin decoration

* s/CanUseFuncSignature/TypesFullyResolved for higher order function checking

* Add TODO

* spelling

* Correct detection of sat_coop calls

* Disable tests which are unsupported on testing infra</content>
</entry>
</feed>
