<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/gpu-feature/texture, 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-02-20T06:17:30+00:00</updated>
<entry>
<title>Support for dynamic array of textures access for Texture footprint. (#6392)</title>
<updated>2025-02-20T06:17:30+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2025-02-20T06:17:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=187ec444486ecf24d1baf897d179de4ee1b6b864'/>
<id>urn:sha1:187ec444486ecf24d1baf897d179de4ee1b6b864</id>
<content type='text'>
* Support for dynamic array of textures access for Texture footprint.

* Do a check for DXIL for dynamic array/footprint.

* format code (#40)

---------

Co-authored-by: jsmall-nvidia &lt;jsmall@nvidia.com&gt;
Co-authored-by: slangbot &lt;ellieh+slangbot@nvidia.com&gt;
Co-authored-by: Yong He &lt;yonghe@outlook.com&gt;</content>
</entry>
<entry>
<title>Bump spirv-header/tools/glslang (#5834)</title>
<updated>2024-12-12T06:52:14+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2024-12-12T06:52:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=626e81478f2bcf759567975a3c94478374d1811d'/>
<id>urn:sha1:626e81478f2bcf759567975a3c94478374d1811d</id>
<content type='text'>
* Back out "Update SPIRV submodules (#5815)"

This backs out commit e50aac13e2c161d672b137a62f6d66820d0f9ff1.

* Use upstream spirv-tools

* Fix bump-glslang.sh for newer versions of spirv-tools

* Use upstream glslang

* Add --do-fetch option to bump glslang

* Bump glslang and friends

Supersedes https://github.com/shader-slang/slang/pull/5815

* Regenerate glslang and spirv-tools outputs

* Fixes to slang-glslang

* Correct spirv intrinsic for OpImageSampleFootprintNV

Note that this currently fails validation with the following error:

```
error: line 145: Result &lt;id&gt; from OpSampledImage instruction must not appear as operand for OpImageSampleFootprintNV, since it is not specified as taking an OpTypeSampledImage. Found result &lt;id&gt; '55[%sampledImage]' as an operand of &lt;id&gt; '56[%resultVal]'.
  %sampledImage = OpSampledImage %54 %51 %40
```

This seems to be in error as the spec for
*SPV_NV_shader_image_footprint* states that "Sampled Image must be an
object whose type is OpTypeSampledImage"

https://refined-github-html-preview.kidonng.workers.dev/KhronosGroup/SPIRV-Registry/raw/refs/heads/main/extensions/NV/SPV_NV_shader_image_footprint.html

glslang also seems to fail with the same validation error

* Fix spv storage class test</content>
</entry>
<entry>
<title>Update SPIRV submodules (#5815)</title>
<updated>2024-12-11T21:28:40+00:00</updated>
<author>
<name>Jay Kwak</name>
<email>82421531+jkwak-work@users.noreply.github.com</email>
</author>
<published>2024-12-11T21:28:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=e50aac13e2c161d672b137a62f6d66820d0f9ff1'/>
<id>urn:sha1:e50aac13e2c161d672b137a62f6d66820d0f9ff1</id>
<content type='text'>
* Update SPIRV submodules

With the latest SPIR-V submodules, one of tests started failing:
tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang

[ForceInline] is added to GLSL texture functions in order to inline %true and %false.
Without it, the value was indirectly passed down via a function parameter, which broke the existing test.

Also the test is modified to use -DAG, because the order unpredictably changed for Grad variants due to additional [ForceInline] marks for Gradient functions.

A new validation check in SPIRV-Tools was causing a validation error:
```
error: line 324: [VUID-StandaloneSpirv-OpTypeImage-06924] Cannot store to OpTypeImage, OpTypeSampler, OpTypeSampledImage, or OpTypeAccelerationStructureKHR objects
  OpStore %17 %242
```

It appears that this is a bug on SPIRV-Tools.
A proper fix is proposed to Khronos/SPIRV-Tools:
https://github.com/KhronosGroup/SPIRV-Tools/pull/5914

But this commit uses `shader-slang/SPIRV-Tools/fix_for_OpImageSampleFootprintNV` with a custom fix as a temporary solution:
https://github.com/shader-slang/SPIRV-Tools/tree/fix_for_OpImageSampleFootprintNV</content>
</entry>
<entry>
<title>Improve Direct SPIRV Backend Test Coverage (#4396)</title>
<updated>2024-06-14T16:56:59+00:00</updated>
<author>
<name>ArielG-NV</name>
<email>159081215+ArielG-NV@users.noreply.github.com</email>
</author>
<published>2024-06-14T16:56:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=fdef653ab5b38ac78d355d2f0148c6d77e784a8c'/>
<id>urn:sha1:fdef653ab5b38ac78d355d2f0148c6d77e784a8c</id>
<content type='text'>
'raytracing' and 'texture-footprint' tests

fixed texture-footprint bug
changed when we emit raytracing/rayquery extensions with glsl backend (to reduce incorrect extension emitting)</content>
</entry>
<entry>
<title>Switch to direct-to-spirv backend as default. (#4002)</title>
<updated>2024-04-23T19:14:21+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2024-04-23T19:14:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f1de1817ca10e34ec6a844100f10f0de3340c9f2'/>
<id>urn:sha1:f1de1817ca10e34ec6a844100f10f0de3340c9f2</id>
<content type='text'>
* Switch to direct-to-spirv backend as default.

* Fix slang-test.

* Fix.

* Fix.</content>
</entry>
<entry>
<title>Add SPIRV intrinsics for texture footprint query. (#3345)</title>
<updated>2023-11-22T01:22:41+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-11-22T01:22:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=5af36cf4ca7a81d91fb03cdf39e40b6b4175fa2d'/>
<id>urn:sha1:5af36cf4ca7a81d91fb03cdf39e40b6b4175fa2d</id>
<content type='text'>
* Add SPIRV intrinsics for texture footprint query.

* Cleanup.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>SPIR-V WIP (#3064)</title>
<updated>2023-08-15T12:28:42+00:00</updated>
<author>
<name>Ellie Hermaszewska</name>
<email>ellieh@nvidia.com</email>
</author>
<published>2023-08-15T12:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=00bd481e001e8c0b8008eaff5a38fa37963e6f99'/>
<id>urn:sha1:00bd481e001e8c0b8008eaff5a38fa37963e6f99</id>
<content type='text'>
* Add type layout for structured buffer

* Default to generating spirv directly

* vk test for compute simple

* Add spirv-dis as a downstream compiler

* Emit Array types in SPIR-V

* makevector for spirv

* Dump whole spirv module on validation failure

* register array types

todo, use emitTypeInst

* Neater formatting for unhandled inst printing

* break out emitCompositeConstruct

* Correct array type generation

* neaten

* Allow getElement for vector

* Remove unused

* Allow predicating target intrinsics on types

* Consider functions with intrinsics to have definitions

We need to specialize these if they are predicated on types

* Correct array type generation

* makeArray for spir-v

* replace getElement with getElementPtr for spirv

* Correct translation of field access for spirv

* Push layouts to types for spirv

* Spirv intrinsics * operator now makes a pointer

* Add structured buffer of struct test

* Preserve type layout in spirv structured buffer legalization

* neaten

* makeVectorFromScalar for SPIRV

* placeholder for layouts on param groups

* More type safe spirv op construction

* Know that constants and types only go in one section

* Remove emitTypeInst

* Add todo for spirv sampling

* Add links to spirv documentation on emit functions

* OpTypeImage support for SPIR-V

* Add simpler texture test for spirv

* s/spirv_direct/spirv/g

* Allow several string literals in target_intrinsic

* Handle global params without a var layour for SPIR-V

For example groupshared vars

* uint spirv asm type

* Add todo for isDefinition

It is currently too broad

* Some atomic op spirv intrinsics

* Strip ConstantBuffer wrappers for spirv

* Add todo for matrix annotations

* Do not associate decorations insts with spirv counterparts

* Correct entry point parameter generation

* Spelling

* Assert that fieldAddress is returning a pointer

* Add error for existential type layout getting to spir-v emit

* Add IRTupleTypeLayout

Unused so far

* Allow getElementPtr to work with vectors

* Correct target name in test

* Hide default spirv direct behind a premake option --default-spirv-direct=true

* Do not insert space at start of intrinsic def

* Correct asm rendering in tests

* remove redundant option

* Emit directly from direct test

* Add source language options for spirv-dis

* Add comments to spirv dis

* Add dead debug print for before spirv module

* Correct asm rendering in tests

* s/spirv_direct/spirv/g

* Only specialize intrinsic functions with predicates

* regenerate vs projects

* squash warnings

* squash warnings

* remove duplication

* Silence warnings from msvc

* squash warnings

* Overload for zero sized array

* More msvc warnings

* warnings

* Add spirv-tools to path for tests

* Do not be specific about dxc version for diag test

* Normalize line endings from spirv-dis

* Correct filecheck matches

* Temporarily disable two spirv tests

Failing on CI, undebuggable hang :/

* Do not emit storage class more than once for spirv snippet

* Do not pass spir-v to spirv-dis by stdin

* Do not get spirv-dis output via stream, use file

* normalize file endings in spirv-dis output</content>
</entry>
<entry>
<title>Add support for texture footprint queries (#2970)</title>
<updated>2023-07-11T00:48:51+00:00</updated>
<author>
<name>Theresa Foley</name>
<email>10618364+tangent-vector@users.noreply.github.com</email>
</author>
<published>2023-07-11T00:48:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=d9c57e613f2dacd221d9c46c10395cf373a8fcaf'/>
<id>urn:sha1:d9c57e613f2dacd221d9c46c10395cf373a8fcaf</id>
<content type='text'>
</content>
</entry>
</feed>
