summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-02-19Show adapter info in slang-test (#6388)cheneym2
When -show-adapter-info is provided to slang-test, there is a subsequent pass over all available APIs to ask render-api to show which adapter will be used. > .\slang-test.exe -show-adapter-info Supported backends: fxc dxc glslang spirv-dis clang visualstudio genericcpp nvrtc llvm spirv-opt tint Check vk,vulkan: Supported Check dx12,d3d12: Supported Check dx11,d3d11: Supported Check cuda: Supported Check wgpu,webgpu: Supported Adapter Information for Available APIs: vk,vulkan: Using graphics adapter: NVIDIA RTX A3000 Laptop GPU dx12,d3d12: Using graphics adapter: NVIDIA RTX A3000 Laptop GPU dx11,d3d11: Using graphics adapter: Intel(R) UHD Graphics cpu: cuda: wgpu,webgpu: Using graphics adapter: default passed test: 'tests/autodiff/arithmetic-jvp.slang (dx11)' ... closes #5600 * format code --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-02-19Fix zero size array handling in slangc (#6399)Mukund Keshava
* Fix zero size array handling in slangc Fixes #2890 1. Fix zero size array handling in slangc 2. Add new zero size array diagnostic test. * format code * fix review comments --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-19Add userAttribs to entryPoints in reflection JSON (#6366)David A Roberts
2025-02-18Cleanups for render-api (#6360)Anders Leino
* Clean up unused code * Clean up support interface * Rename the compile output requests to mark them DEPRECATED --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-18Fix and document static build (#6374)Ellie Hermaszewska
* Set static stbi flag for static builds * Add missing SYSTEM directive for external includes * Add instructions for linking statically against slang --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-18Add two DXC implementation for CoopVec (#6393)Jay Kwak
2025-02-18Add warning for ignored binding attributes on uniforms (#6373)Mukund Keshava
Fixes #4251 When binding attributes (like [[vk::binding]]) are specified on uniforms that get packed into the default constant buffer, these binding attributes are effectively ignored since the uniform will always be placed at descriptor set 0, binding 0. This can be confusing for users who expect their explicit bindings to take effect. This change adds a new warning (71) that informs users when their binding attributes on uniforms will be ignored, and suggests declaring the uniform inside a constant buffer to preserve the explicit binding. The warning helps users understand: 1. Why their binding attribute isn't having the expected effect 2. That the uniform is being packed into the default constant buffer 3. How to fix it by using a constant buffer declaration Added test case in tests/bugs/binding-attribute-ignored.slang to verify the warning behavior. Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-18Add new zero size array test. (#6379)Mukund Keshava
Closes #2890 Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-17slang: Fix empty VARARGS issue(#6332) (#6372)Mukund Keshava
2025-02-14Enable Hull shader test for SPIRV (#6348)Jay Kwak
* Enable Hull shader test for SPIRV
2025-02-14Fix metal issue (#6361)kaizhangNV
* Fix metal issue - implement waitForFences for metal backend - fix a bug that it misses clear the entryPoints when initializing RootShaderObject * format --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-14Don't remove in-use globals (#6359)cheneym2
The GLSL interface block implementation accidentally removed global variables which are still in use.
2025-02-13Add support for GLSL interface blocks (#6351)cheneym2
Adds support for input GLSL interface blocks. closes #5535 Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com>
2025-02-13Add CMake build target vs2019-dev that enables IR break (#6354)Jay Kwak
This commit adds a CMake build target `vs2019-dev`. The suffix `-dev` enables the IR break ability. Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-13Fix modifier parsing. (#6347)Yong He
* Fix modifier parsing. * Fix. * Fix. * Fix.
2025-02-13Disallow only resources in constant buffers in parameterblocks on metal (#6342)Ellie Hermaszewska
* Neaten metal parameter block checking * Disallow only resources in constant buffers in parameterblocks on metal closes https://github.com/shader-slang/slang/issues/6200 * add unit test for metal parameterblock cbuffer --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-13Reflection Fixes. (#6346)Yong He
* Fix 6317. * Fixes #6316. * Fix cmake preset. --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-13Migrate slang-test away from deprecated Slang API (#6343)Anders Leino
This helps to address #4760.
2025-02-12Allow LHS of `where` to be any type. (#6333)Yong He
* Allow LHS of `where` to be any type. * Register free-form extensions when loading precompiled module. * Fix test. * Fix. * Fix `as<IRType>`. * try fix precompiled module test.
2025-02-12Fix crash when handling uninitialized resource type (#6338)kaizhangNV
* Fix crash when handling uninitialized resource type close #6328. When declare a var with struct type, if the struct has a resource type field and it doesn't provide explicit constructor, because slang won't implicit construct such variable at declare site if user doesn't explicitly call the initializer list, we should report the resource type field uninitialized as an error to prevent future possible crash when legalize any use of such variable.
2025-02-11build core and glsl modules in the same slang-bootstrap invocation (#6341)Ellie Hermaszewska
Closes https://github.com/shader-slang/slang/issues/6339
2025-02-12Correct dependencies on core module source (#6340)Ellie Hermaszewska
* Publicly link core module sources Closes https://github.com/shader-slang/slang/issues/6037 * format * format * remove unnecessary conditional * comments * neaten * Only build embedded core modules when necessary * Make dependencies on core module source more precise * more precice dependencies on core module source * Neaten
2025-02-11Correct location of copy-headers target (#6327)Ellie Hermaszewska
2025-02-11Update build-llvm.ps1 (#6336)Yong He
Co-authored-by: Yong He <yongh@outlook.com>
2025-02-11Add checking for differentiability of the primal substitute function. (#6277)Sai Praveen Bangaru
Co-authored-by: Yong He <yonghe@outlook.com> Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-11Add raypayload decoration to ray payload structs (#6164)Ellie Hermaszewska
* Add raypayload decoration to ray payload structs Closes https://github.com/shader-slang/slang/issues/6104 * Disable PAQs when compiling with DXC See https://github.com/shader-slang/slang/issues/3448
2025-02-11Emit missing atomic64 capability, fix int-typed builtin used in both vs and ↵Yong He
fs. (#6314) Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
2025-02-10Remove the docs/proposals directory (#6313)Anders Leino
* Remove the docs/proposals directory This directory will get added to the spec repository in the following PR: https://github.com/shader-slang/spec/pull/6 This closes #6155. * Remove entry from .github/CODEOWNERS file * Redirect some proposal references --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-10Add support for Metal subgroup/simd operations (#6247)Darren Wihandi
* initial work for metal subgroups * add glsl intrinsics * enable wave tests * enable glsl subgroup tests, glsl barrier fixes * minor fixes * fix incorrect test target * disable some glsl functional tests * disable failing glsl test --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-10Fix compilation on musl libc targets (#6334)Colin Marc
The musl libc replacement removed fopen64, fgetpos64, and other 64-bit variants because it's 64-bit only. However, it does have the following in its headers: #define fgetpos64 fgetpos Just importing <stdio.h> is enough to get slang compiling on musl systems like Alpine Linux. Fixes #6330. Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-10Add WGSL to list of formats supporting multiple entry points (#6324)David A Roberts
* Add WGSL to list of formats supporting multiple entry points * Add a test for generating multiple WGSL entrypoints
2025-02-08Propagate the MemoryQualifierSetDecoration (#6315)Tony (Atanas) Zlatinski
Propagate the kIROp_MemoryQualifierSetDecoration memory decorations when converting from structures to flat global resources struct Tex { globallycoherent float4 bias = { 0.1, 0.3, 0.9, 1.5}; }; uniform Tex gTex; should have the following code generated in GLSL: coherent layout(rgba32f) layout(binding = 2) uniform image2D globalParams_gTex_tex_0; This closes #6079
2025-02-07Use and() and or() functions for logical-AND and OR (#6310)Jay Kwak
* Use and() and or() functions for logical-AND and OR With this commit, Slang will emit function calls to `and()` and `or()` for the logical-AND and logical-OR when the operands are non-scalar and the target profile is SM6.0 and above. This is required change from SM6.0. For WGSL, there is no operator overloadings of `&&` and `||` when the operands are non-scalar. Unlike HLSL, WGSL also don't have `and()` nor `or()`. Alternatively, we can use `select()`.
2025-02-07disable nanothread dependency (#6312)Simon Kallweit
2025-02-07slang-rhi cmake integration (#6261)Simon Kallweit
* update slang-rhi cmake integration * disable fetching slang * update slang-rhi
2025-02-07Add test for visibility in translation unit with multiple source files (#6306)Anders Leino
This closes #6221.
2025-02-06Mark slangpy as deprecated and remove from user-guide. (#6300)Yong He
2025-02-06Uncomment a previously failing test case (#6303)Anders Leino
This case now parses after the following PR was merged. https://github.com/shader-slang/slang/pull/6281 Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-06Update a3-reference.md (#6309)KoT
Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-06Support stage_switch. (#6311)Yong He
* Support stage_switch. * Update proposal status. * Fix gl_InstanceID. * Fix.
2025-02-06Don't overwrite existing module decl scopes when parsing new source files ↵Anders Leino
(#6292) When a module consists of multiple source files, the module scope gets over-written for each source file that's parsed into the module. The result is that if you do something like the following, where source1.slang contains an import statement, then the imported module will get imported into the module scope corresponding to source2.slang, but won't be found from the scope of source1.slang. slangc source1.slang source2.slang # 1 module from 2 source files This patch fixes this problem by not over-writing existing container decl scope when parsing new source files into the container. This closes $6221.
2025-02-05Allow tuples to work with initializer list. (#6301)Yong He
* Allow tuples to work with initiailizer list. * Update definition of C-Style types.
2025-02-05Add floating-point pack/unpack proposal (#6191)Darren Wihandi
* add initial proposal * update proposal * update proposal * update proposal * update proposal * fix typo * improve wording --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-05Fix matrix comparison operators on CPU (#6296)Julius Ikkala
Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-05Fix inline markdown rendering (#6294)Sai Praveen Bangaru
* Fix inline markdown rendering * Fix it in a different way.. * Update 07-autodiff.md --------- Co-authored-by: Yong He <yonghe@outlook.com>
2025-02-05Enable D3D12 experimental feature to use coopvec (#6290)Jay Kwak
This commit enables "D3D12-experimenta-feature" in render-test. This is required to use CoopVec feature with dxcompiler.dll. But it is enabled only when "-dx12-experimental" is used, because it appears that DX12 becomes unstable when the experimental feature is enabled, which causes bunch of tests randomly failing.
2025-02-05maxtessfactor attribute should take a floating point value (#6289)Jay Kwak
* maxtessfactor attribute should take a floating point value * Support integer value on maxtessfactor
2025-02-05Fix DCE for calls to functions that have associations (#6272)Sai Praveen Bangaru
* Fix DCE for calls to functions that have associations * Update slang-ir-util.cpp * Update slang-ir-util.cpp
2025-02-05Use two-stage parsing to disambiguate generic app and comparison. (#6281)Yong He
* Use two-stage parsing to disambiguate generic app and comparison. * Typo fix. * Update doc.
2025-02-05Switch back to Falcor (#6295)kaizhangNV
This is a follow-up to PR #6058, where we switched to Falcor-new now we will switch back to Falcor.