summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-19Add `-fspv-reflect` support. (#3464)Yong He
* Add `-fspv-reflect` support. Closes #3462. * Fix. * Fix. * Remove use of `SPV_GOOGLE_hlsl_functionality1`. * Fix spirv validation error. * Fix test. * Update typename hints. * Update commandline options doc. * Remove superfluous empty lines. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2024-01-18Docs for local vs global uniform parameters (#3459)Nathan V. Morrical
2024-01-18Capability def parsing & codegen + disjoint sets (#3451)Yong He
* Capability def parsing & 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 <yhe@nvidia.com>
2024-01-17updated docs to more clearly define differences in sizeof(bool) depending on ↵Nathan V. Morrical
the target platform (#3458) Co-authored-by: Yong He <yonghe@outlook.com>
2024-01-17Add test to closesthit and anyhit shaders (#3457)kaizhangNV
Add test to closesthit.slang and anyhit.slang to test the slang stdlib API: HitTriangleVertexPosition. The new test will add the checking for extension declaration, built-in declaration, and built-in variable access.
2024-01-17Update slang-glslang library (#3449)kaizhangNV
2024-01-16Update spirv-tools (#3445)kaizhangNV
Update spirv-tools, spirv-headers and spirv-tools-generated repos. spirv-tools is updated to tag: v2023.6.rc1, branch: vulkan-sdk-1.3.275 commit: 3bb36c2a3f1a72f14e931cc2daca4311733b0014 spirv-headers is updated to branch: vulkan-sdk-1.3.275 commit:1c6bb2743599e6eb6f37b2969acc0aef812e32e3 spirv-tools-generated/*inc, *.h are generated from spirv-tools repo. source/slang/slang-spirv-core-grammar-embed.cpp is generated during slang build.
2024-01-11Support for gl_HitTriangleVertexPositionsEXT (#3405) (#3442)kaizhangNV
* Support for gl_HitTriangleVertexPositionsEXT (#3405) Adding float3 HitTriangleVertexPositions(uint) to slang stdlib to support GLSL gl_HitTriangleVertexPositionsEXT builtin variable under extension of GL_EXT_ray_tracing_position_fetch. This function support emitting GLSL code and spir-V directly. * Update the function name --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-01-11Add libgfx to macos release (#3444)skallweitNV
2024-01-09Fix funcs w/ buffer load being treated as readnone. (#3441)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2024-01-09Add compiler settings to shader cache key (#3439)skallweitNV
2024-01-08Update a1-02-slangpy.mdYong He
2024-01-05Add test for glsl groupshared init (#3433)Ellie Hermaszewska
2024-01-04Add abseil_cpp to spirv-tools-generated instructions.jsmall-nvidia
2024-01-04Add some files to gitignore (#3434)Ellie Hermaszewska
2024-01-03Fix issue with entry point result not being available via ↵jsmall-nvidia
`spGetEntryPointCodeBlob` if defined in a serialized module. (#3431)
2024-01-02Update the GetDimension hlsl builtin for spirv path. In case of sampler, a ↵Pankaj Mistry
combined sampled image needs an OpImage to be generated. (#3424)
2023-12-30Fix the intrinsic expansion of ObjectToWorld3x4 in spirv_asm. Data type (#3428)Pankaj Mistry
2023-12-19Lower sv_vertexid to decoration VertexIndex as defined in GL_KHR_vulkan_glsl ↵Pankaj Mistry
(#3419)
2023-12-18macos/vulkan support (#3418)skallweitNV
2023-12-16Fix nonuniform decoration on direct-to-spirv backend path. (#3338) (#3417)Pankaj Mistry
2023-12-15Add doc for special scoping syntax. (#3416)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-15Add ConstBufferPointer::subscript. (#3415)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-15Add language server support for vfx files. (#3414)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-15GLSL SSBO Support (#3400)Ellie Hermaszewska
* Squash warnings and fix build with SLANG_EMBED_STDLIB * Add GLSLShaderStorageBuffer magic wrapper * Make GLSLSSBO not a uniform type * Buffers are global variables * Allow creating ssbo aggregate types * Allow reading from RWSB using builder * Nicer debug printing for ssbos * Lower SSBO to RWSB * Parse interface blocks into wrapped structs * Lower Interface Block Decls to structs * remove comment * Two simple ssbo tests * Move ssbo pass earlier * Correct mutable buffer detection * Do not replace ssbo usages outside of blocks * Treat GLSLSSBO as a mutable buffer for type layouts * regenerate vs projects * Correctly detect ssbo types * Diagnose illegal ssbo * remove unreachable code * neaten * ci wobble * Make GLSLSSBO ast handling more uniform * Add modifier cases for glsl * Use empty val info for unhandled interface blocks necessary for ./tests/glsl/out-binding-redeclaration.slang * more sophisticated modifier check * Correct ssbo wrapper name
2023-12-14Looks like `#3327` left in some debugging code. (#3411)jsmall-nvidia
2023-12-13Polish language server and documentation. (#3410)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-13Fix GLSL static initialization bug. (#3409)Yong He
* Fix GLSL static initialization bug. Fixes #3408. * Update comment. * Fold global var initializer as an expression if possible. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-13Add spirv intrinsics for `ConstBufferPointer`. (#3407)Yong He
Fixes #3305. Fixes #3404. Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-12Define `Texture::Sample` for float element types only. (#3403)Yong He
* Define `Texture::Sample` for float element types only. * Fixes #490. * Fix checking of groupshared. * Add test. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-12Add check for invalid use of modifiers. (#3402)Yong He
* Add check for invalid use of modifiers. * Fixes. * Add test. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-11Diagnose for invalid decl nesting + namespace lookup fixes. (#3397)Yong He
* Diagnose for invalid decl nesting. * Fix. * Fix. * Fix. * Fix `namespace` lookup and `using` resolution. * fix project files. * revert project files. * Enhance namespace syntax, docs. * Fixes. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-08Handle import, entrypoint and global params in included files. (#3395)Yong He
* Handle `import`, entrypoint and global params in included files. * Fix language server. * Extend `_createScopeForLegacyLookup` for `__include`. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-08WIP: CMake (#3326)Ellie Hermaszewska
* More robust input and output selection in generator tools * Add cmake build system * Get slang-test running with cmake * Bump lz4 and miniz dependencies * Make cmake build more declarative * Correct preprocessor logic in slang.h * Add cuda test to compute/simple * Remove empty cmake files * output placement for cmake, and commenting * Correct include paths in spirv-embed-generator * Format cmake with gersemi * Make cmake build clerer * Neaten header generation Also work around https://gitlab.kitware.com/cmake/cmake/-/issues/18399 by introducing correct_generated_properties to set the GENERATED flag in the correct scope * remove unused files * use 3.20 to set GENERATOR property properly * spelling * more flexible linker arg setting * replace slang-static with obj collection * Set rpath and linker path correctly * neaten generated file generation * tests working with cmake build * fix premake5 build * comment and neaten cmake * remove unnecessary dependency * Build aftermath example only when aftermath is enabled * Add slang-llvm and other dependencies * Put modules alongside binaries * Find slang-glslang correctly * Better option handling * comments * add llvm build test * Better option handling * cmake wobble * use UNICODE and _UNICODE * remove other workflows * use ccache * neaten * limit parallel for llvm build * use ninja for build * Windows and Darwin slang-llvm builds * cache key * verbose llvm build * cl on windows * sccache and cl.exe * use cl.exe * Correct package detection * less verbosity * Simplify miniz inclusion * fix build with sccache * Neaten llvm building * neaten * Neaten slang-llvm fetching * more surgical workarounds * Add ci action * Get version from git * better variable naming * add missing include * clean up after premake in cmake * more docs on cmake build * ci wobble * add imgui target * more selective source * do not download swiftshader * Some missing dependencies * only build llvm on dispatch * Disable /Zi in CI where sccache is present * simplify * set PIC for miniz * set policies before project * reengage workaround * more runs on ci * Add cmake presets * Add cpack * move iterator debug level to preset * Correct lib flag * simplify action * Neaten cmake init * Add todo * Add simple test wrapper * Add tests to workflow presets * rename packing preset * Correctly set definitions * docs * correct preset names * Make slang-test depend on test-server/test-process * neaten * use workflow in actions * install docs * Correct module install dir * debug dist workflow * Install headers * neaten header globbing * Neaten dependency handling * make lib and bin variables * Do not set compiler for vs builds, unnecessary * docs * allow setting explicit source for target * maintain archive subdir * cmake docs * install headers * place targets into folders * cmake docs * nest external projects in folder * remove name clash * Neater external packages * meta targets in folder structure * cleaner slang-glslang dll * Add missing static directive to slang-no-embedded-stdlib * more robust module copying * make slang-test the startup project * folder tweak * Make FETCH_BINARY the default on all platforms * Set DEBUG_DIR * add natvis files to source * skip spirv tests * remove test step from debug dist * Add build to .gitignore * redo warnings to be more like premake * Update imgui * clean more premake files * Disable PCH for glslang, gcc throws a warning * Add /MP for msvc builds * warning wobble * Add script to build llvm * Add slang-llvm and generators components * Build slang-llvm in ci * comments * fetch llvm with git * better abi approximation for cache * better sccache key * formatting * Correct logic around disabling problematic debug info for ccache * exclude gcc and clang from windows ci * Make dist workflows use system llvm * naming * restore normal dist builds * formatting * run tests in ci * Correct slang-llvm url setting * Rely on the system to find the test tool library * actions matrix wiggle * cope with OSX ancient bash * Correct compilers on windows * more ci debugging * Correct rpath handling on OSX * neaten * correct path to slang-llvm * Correct rpath separator on osx * Find slang-llvm correctly * smoke tests only on osx * ci wobble * Give MacOS module a dylib suffix * get swiftshader correctly * cope with bsd cp * remove debug output * full tests on osx * ci wobble * Add some vk tests to expected failures * simplify ci * ci wobble * exclude dx12 tests from github ci * remove cmake code for building llvm * warnings * warnings as errors for cl * spirv-tools in path * add aarch64 ci build * Add SLANG_GENERATORS_PATH option for prebuilt generators * neaten * Correct generator target name * remove yaml anchors because github actions does not support them * Demote CMake in docs Also add info on cross compiling * Restore premake CI * use minimal ci for cmake * Write miniz_export for premake build and .gitignore it * Mention build config tool options in docs * Remove redefined macro for miniz * regenerate vs project
2023-12-06Update autodiff doc links.Yong He
2023-12-06Update README.md (#3383)Yong He
2023-12-06Update 04-modules-and-access-control.mdYong He
2023-12-06Change default visibility of interface members and update docs. (#3381)Yong He
* Update behavior around interfaces and docs. * Update toc --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-06Support visibility control and default to `internal`. (#3380)Yong He
* Support visibility control and default to `internal`. * Fix wip. * Fixes. * Fix. * Fix test. * Add legacy language detection and compatibility for existing code. * Add doc. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-12-05squash warnings (#3378)Ellie Hermaszewska
Co-authored-by: Yong He <yonghe@outlook.com>
2023-12-05Support `include` for pulling file into the current module. (#3377)Yong He
* Support `include` for pulling file into the current module. * Add auto-completion, hover info and goto-def support. * Disable warning for missing `module` declaration for now. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-29Improve generic type argument inference. (#3370)Yong He
* Improve generic type argument inference. * Fix. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-28Misc language server fixes. (#3357)Yong He
2023-11-27Update 07-autodiff.mdYong He
2023-11-27typo in intro doc (#3350)mighdoll
Co-authored-by: Yong He <yonghe@outlook.com>
2023-11-27typo re: global variables (#3351)mighdoll
Co-authored-by: Yong He <yonghe@outlook.com>
2023-11-27Fix spirv intrinsics for partial derivatives. (#3355)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-21Add SPIRV intrinsics for texture footprint query. (#3345)Yong He
* Add SPIRV intrinsics for texture footprint query. * Cleanup. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-20Add missing SPIRV intrinsics for texture operations. (#3343)Yong He
* Add missing SPIRV intrinsics for texture operations.. * Fixes. * Fix. --------- Co-authored-by: Yong He <yhe@nvidia.com>
2023-11-20Allow whole program compile when using direct spirv backend. (#3342)Yong He
Co-authored-by: Yong He <yhe@nvidia.com>