<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/source/slang/slang-reflection-json.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-08-21T17:00:32+00:00</updated>
<entry>
<title>Fix reflection JSON writing userAttribs section twice for some cases. (#8210)</title>
<updated>2025-08-21T17:00:32+00:00</updated>
<author>
<name>MindSpunk</name>
<email>nathanvoglsam420@gmail.com</email>
</author>
<published>2025-08-21T17:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c45f02579076fcf559f92be501d8293d308db34e'/>
<id>urn:sha1:c45f02579076fcf559f92be501d8293d308db34e</id>
<content type='text'>
`emitReflectionVarLayoutJSON` will output the `userAttribs` section
twice as it gets output by `emitReflectionModifierInfoJSON` first before
being output again by a direct call to `emitUserAttributes`.

It seems the answer here is to just remove the extra explicit call to
`emitUserAttributes` and rely on the call in
`emitReflectionModifierInfoJSON`?</content>
</entry>
<entry>
<title>Fix 7441: CUDA boolean vector layout to use 1-byte elements (#7862)</title>
<updated>2025-08-01T09:18:53+00:00</updated>
<author>
<name>Harsh Aggarwal (NVIDIA)</name>
<email>haaggarwal@nvidia.com</email>
</author>
<published>2025-08-01T09:18:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=bdda8a90cdd44ca822b21233ac988f92d1f20826'/>
<id>urn:sha1:bdda8a90cdd44ca822b21233ac988f92d1f20826</id>
<content type='text'>
* Fix 7441: CUDA boolean vector layout to use 1-byte elements

Boolean vectors (bool1, bool2, bool3, bool4) were incorrectly implemented
as integer-based types using 4 bytes per element instead of actual 1-byte
boolean elements on CUDA targets.

Changes:
- Update CUDA prelude to define boolean vectors as structs with bool fields
  instead of typedef aliases to integer vectors
- Implement CUDALayoutRulesImpl::GetVectorLayout to use 1-byte alignment
  for boolean vectors, matching actual CUDA memory layout behavior
- Update make_bool functions to populate struct fields correctly

This ensures boolean vectors have the same memory layout as bool[4] arrays:
- bool1: 1 byte (was 4 bytes)
- bool2: 2 bytes (was 8 bytes)
- bool3: 3 bytes (was 12 bytes)
- bool4: 4 bytes (was 16 bytes)

Fixes memory layout mismatch between Slang reflection API and actual
CUDA compilation, achieving 75% memory savings for boolean vector usage.

* Fix CI issues -

Add and update associated functions and operators

* Make boolX same as uchar

* Use align construct on struct for boolX

* Improve Test case for robust alignment checks

* Formatting

* Disable selected slangpy tests

* add metal check which is slightly different than cuda

* Test-1

* Test-2

* Test-3

* Test-4

* ReflectionChange

* cleanup and update

* _slang_select with plain bool is needed for reverse-loop-checkpoint-test</content>
</entry>
<entry>
<title>Fix mesh shader reflection JSON output (#7868)</title>
<updated>2025-07-25T20:16:12+00:00</updated>
<author>
<name>pdeayton-nv</name>
<email>205388607+pdeayton-nv@users.noreply.github.com</email>
</author>
<published>2025-07-25T20:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c068bdea454f389b7dd7ce38bbb51a16dc6896ab'/>
<id>urn:sha1:c068bdea454f389b7dd7ce38bbb51a16dc6896ab</id>
<content type='text'>
* Fix mesh shader reflection JSON output

Fixes issue #7736 where mesh shaders were showing stage "UNKNOWN" and missing type information in reflection JSON output.

Changes:
- Add missing SLANG_STAGE_MESH and SLANG_STAGE_AMPLIFICATION cases to shader stage switch statements in emitReflectionVarBindingInfoJSON and emitReflectionEntryPointJSON
- Add missing MeshOutput to TypeReflection::Kind enum in slang.h
- Add missing type kind cases (OutputStream, MeshOutput, Specialized, None) to emitReflectionTypeInfoJSON

Testing:
- Simple mesh shader now correctly shows "stage": "mesh" instead of "UNKNOWN"
- Complex mesh shader with parameters shows proper stage and input type information
- Output parameters show "kind": "None" instead of crashing with assertion

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

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

* Remove test files from mesh shader reflection fix

As requested, removed test files since there is no testing infrastructure
for reflection JSON output. Focus is now only on the core mesh and
amplification shader reflection fixes.

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

* Address review comments: move MeshOutput enum to end and restore assert

- Move MeshOutput enum member to end of TypeReflection::Kind enum for backward compatibility
- Replace fprintf with SLANG_ASSERT for unhandled type kinds

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

---------

Co-authored-by: github-actions[bot] &lt;41898282+github-actions[bot]@users.noreply.github.com&gt;
Co-authored-by: pdeayton-nv &lt;pdeayton-nv@users.noreply.github.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Add combined texture-sampler flag to reflection API to differentiate Texture2D from Sampler2D (#7901)</title>
<updated>2025-07-25T05:45:11+00:00</updated>
<author>
<name>Copilot</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2025-07-25T05:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=c5091f0ae3a8b816af893e84ef289f745acf39dc'/>
<id>urn:sha1:c5091f0ae3a8b816af893e84ef289f745acf39dc</id>
<content type='text'>
* Initial plan

* Add SLANG_TEXTURE_COMBINED_FLAG to differentiate combined texture-samplers

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

* Fix regression in hlsl-to-vulkan-combined test by updating expected output

Co-authored-by: csyonghe &lt;2652293+csyonghe@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;</content>
</entry>
<entry>
<title>Fix reflection to json issue (#7379)</title>
<updated>2025-06-10T17:35:01+00:00</updated>
<author>
<name>kaizhangNV</name>
<email>149626564+kaizhangNV@users.noreply.github.com</email>
</author>
<published>2025-06-10T17:35:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d93c71d53f969e5cd3911fbada0e566cd1887ec1'/>
<id>urn:sha1:d93c71d53f969e5cd3911fbada0e566cd1887ec1</id>
<content type='text'>
Apply argument buffer tier2 rule when using parameter block for Metal target.

Close #6803.</content>
</entry>
<entry>
<title>Fix User Attribute string reflection (#6799)</title>
<updated>2025-04-14T19:09:04+00:00</updated>
<author>
<name>Devon</name>
<email>devonrutledge03@gmail.com</email>
</author>
<published>2025-04-14T19:09:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=387deedac3b61dd133fb529dc941483bc021f386'/>
<id>urn:sha1:387deedac3b61dd133fb529dc941483bc021f386</id>
<content type='text'>
* Fix User Attribute string reflection
Fixes #6794

* Fix strings not being properly escaped

---------

Co-authored-by: Darren Wihandi &lt;65404740+fairywreath@users.noreply.github.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Make image format reflection easier (#6550)</title>
<updated>2025-03-20T06:38:52+00:00</updated>
<author>
<name>Devon</name>
<email>devonrutledge03@gmail.com</email>
</author>
<published>2025-03-20T06:38:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=30068d75fb97fecc163253fb331daddbb09234e6'/>
<id>urn:sha1:30068d75fb97fecc163253fb331daddbb09234e6</id>
<content type='text'>
* image format json reflection

* format code

* use direct include

---------

Co-authored-by: slangbot &lt;186143334+slangbot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>Add inner texture type to reflection json (#6416)</title>
<updated>2025-02-28T01:52:14+00:00</updated>
<author>
<name>Devon</name>
<email>devonrutledge03@gmail.com</email>
</author>
<published>2025-02-28T01:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=cd20e94af9f384c03e8be69f6c8ce9e97212cc9b'/>
<id>urn:sha1:cd20e94af9f384c03e8be69f6c8ce9e97212cc9b</id>
<content type='text'>
* Add inner texture type to reflection json

* Add expected result of test

* Adjust test expected results

* Fix ci test result

---------

Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Add userAttribs to entryPoints in reflection JSON (#6366)</title>
<updated>2025-02-19T08:04:03+00:00</updated>
<author>
<name>David A Roberts</name>
<email>d@vidr.cc</email>
</author>
<published>2025-02-19T08:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7315b33cf8dbf7759b05ff47612478b71238fa19'/>
<id>urn:sha1:7315b33cf8dbf7759b05ff47612478b71238fa19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix CUDA reflection for acceleration structure handle size. (#6055)</title>
<updated>2025-01-10T21:34:54+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2025-01-10T21:34:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a985e240a6d9edb1545e357d20805bf81fba975a'/>
<id>urn:sha1:a985e240a6d9edb1545e357d20805bf81fba975a</id>
<content type='text'>
</content>
</entry>
</feed>
