| Commit message (Collapse) | Author | Age |
| ... | |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add slang-rhi submodule
* refactor render-test to use slang-rhi and remove OpenGL support
* remove -vk -glsl tests
* remove gl test
* disable failing test
* allow recursive submodules in github actions
* update slang-rhi
* update slang-rhi
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
| |
Closes #4692
|
| |
|
|
|
|
|
|
|
| |
Enable warnings-as-error for CI
Closes #4664.
Uses glslang commit that fixed a compiler warning
Fixes a recent warning from external/CMakelist.txt
A new macro, `SLANG_MAYBE_UNUSED` is added for a future need.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following external directories are updated.
It is to use a new SPIRV keyword, "OpExtInstWithForwardRefs".
Related to #4304
external/spirv-header:
> commit 2acb319af38d43be3ea76bfabf3998e5281d8d12
> Author: Kévin Petit kevin.petit@arm.com
> Date: Wed Jun 12 16:41:14 2024 +0100
> SPV_ARM_cooperative_matrix_layouts (#433)
external/spirv-tools:
> commit ce46482db7ab3ea9c52fce832d27ca40b14f8e87
> Author: Nathan Gauër brioche@google.com
> Date: Thu Jun 6 12:17:51 2024 +0200
> Add KHR suffix to OpExtInstWithForwardRef opcode. (#5704)
> The KHR suffix was missing from the published SPIR-V extension.
> This is now fixed, but requires some patches in SPIRV-Tools.
external/spirv-tools-generated:
This is generated from spirv-tools
|
| | |
|
| |
|
|
|
| |
* Statically link MSVC runtime
* Statically link MSVC runtime for llvm
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove premake lua
* Remove premake generated vs project
* remove deps file
* Remove premake driving bat files
* Full test matrix under CMake
* Remove premake based ci workflows
* Wiggle CI
* remove cmake from ci name
* find frameworks correctly on osx
* remove cmake from ci name
* Cope with sccache not being available
* cmake based falcor tests
* ci wobble
* only install ninja if necessary
* more appropriate cache name
* Remove premake from build instructions
* Add some docs on ci setup
* remove premake from regression tests
* remove premake from perf test
* Set SLANGC_PATH
* ci wobble
* bump slang-binaries
* ci wobble
* Bump spirv tools
* dont use timestamp in cache
* remote debug code
* cache key wobble
* Install sccache after building llvm
* Do not build llvm tools
* ci wobble
* ci wobble
* ci wobble
* ci wobble
* ci wobble
* Tests spirv via glsl in ci
* Define SLANG_ENABLE_XLIB=1
* osx builds on aarch64
* ci wobble
* ci wobble
* ci wobble
* ci wobble
* ci wobble
* ci wobble
* package documentation and metadata with cmake
* ci wobble
* Split hlsl double intrinsic tests
* ci wobble
* Correct type for double log10
Fixes https://github.com/shader-slang/slang/issues/4549
* remove working test from expected failures
* add broken test to expected failures
* smaller build for falcor tests
* ci wobble
* A few exclusions in ci
* wip, release script
* Enable examples in ci
* neaten release script
* Correct building docs
* Only use xlib vulkan when slang_enable_xlib is true
* bump slang-llvm version
* Remove toolchain file use
* Bump slang-llvm preset version
* slash direction
* Improve build directions
* Add msvc cross build documentation
* Disable old release files
* Smaller set of releases for test
* Allow not building llvm
* simplify release matrix
* Cross releases
* formatting
* formatting
* ci wiggle
* ci wiggle
* cleaner
* neaten
* ci wobble
* formatting
* Install cross tools on linux
* do not clean build dir
* neaten ci
* neaten ci
* neaten ci
* remove unused release workflow files
* Build llvm on some platforms
* neaten ci
* notarize on osx
* s/x64/x86_64
* ci wobble
* Embed stdlib for release build
* wobble ci
* wobble ci
* s/x64/x86_64
* ci wobble
* ci wobble
* ci wobble
* vk-gl-cts on cmake
* neaten ci
* neaten ci
* bump cache action version
* Cope with windows being weird about case
* old glibc version
* old glibc version
* Correct action file
* Keep cache hot on main branch
* separate small script for old glibc releases
* ci wobble
* ci wobble
* Run cmake outside of docker
* only sign on releases
* Revert "Run cmake outside of docker"
This reverts commit a58aaba939a4aa35fe70962fd60d9512b143592f.
* python3 on build image
* less parallel
* ci wobble
* ci wobble
* ci wobble
* newer git
* ci wobble
* ci wobble
* Use newer docker image
* Use newer docker image
* sccache wobble
* permissions issue
* neaten
* build llvm in ci
* build llvm in ci
* Remove linux clang build in ci
* Only install crossbuild tools on non-aarch64 systems
* neaten ci.yml
* Correct github matrix
* Simplify github matrix
* ci wobble
* Disable broken test
See https://github.com/shader-slang/slang/issues/4589
* ci wobble
* Neater slang-llvm archive filename
* Neater path for uploading artifacts
* Neater ci names
* Use Windows SDK 10.0.19041.0 in cmake builds
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Ray tracing validation in Vulkan
* Clean up RT validation code
* Remove redundant api additions
* Remove redundant debug utils callback
* Ray tracing validation uses extended descriptor for initialization
---------
Co-authored-by: Chris Cummings <chriscummings@nvidia.com>
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
Co-authored-by: skallweitNV <64953474+skallweitNV@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add metal-cpp submodule
* add metal-cpp cmake target
* gfx metal backend skeleton
* add premake support
* add foundation framework
* add metal-cpp include to premake
* update vs project file
---------
Co-authored-by: Simon Kallweit <skallweit@nvidia.com>
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix macos CI.
* Fix.
* Fix.
* Fix.
* Fix clang warnings.
* Fix more warnings.
|
| |
|
|
|
| |
spirv-tools is updated to upstream/main: 3983d15
spirv-headers is updated to vulkan-sdk-1.3.280.0
spirv-tools-generated is updated based on spirv-tool build
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cmake: add options to disable gfx, test and example targets
* cmake: enable gfx, test, example targets by default
* cmake: use same naming scheme
* cmake: option to disable slangd and slangc targets
* cmake: option for enabling slang-rt target
* cmake: option to deactivate llvm and glslang
* cmake: better option text
* cmake: remove duplicate slang-llvm option
* doc: update docs/building.md
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
Co-authored-by: Yong He <yhe@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
Co-authored-by: Yong He <yhe@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add -spirv-core-grammar option to load alternate spirv defs
Also embed a version to use by default
* Use perfect hash for spv op lookup
* Neaten perfect hash embedding
* Refactor spirv grammar lookup in preperation for more kinds of lookups
* Load spirv capability list from spec
* Add all SPIR-V enums to lookup table
* regenerate vs projects
* appease msvc
* Use string slices for spir-v core grammar lookups
* wiggle
* comment
* Add OpInfo for spv ops
* regenerate vs projects
* Embed op names
* Add min/max operand counts and enum categories to spirv info
* neaten
* Operand kinds for spirv ops
* Store and embed all information relating to spirv enums and qualifiers
* Use SPIR-V spec to position instructions in spirv_asm blocks
* Neaten spir-v info embedding
* Neaten perfect hash embedding
* Add assignment syntax to spirv_asm snippets
* Better errors for spirv_asm parser
* Add warning for too many operands in spirv asm
* squash warnings
* neaten
* test wiggle
* Lookup enums for spirv
* Put OpCapability and OpExtension in the correct place for spirv_asm blocks
* Tests for OpCapability and OpExtension
* ci wiggle
* Add expected failure
* Allow raising immediate values to constant ids where necessary in spirv_asm blocks
* Allow bitwise or expressions and numeric literals in spirv_asm blocks
* test numeric literals
* Fix memory issues.
* fix.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
| |
* Spirv Capability lookup.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Correct namespace for getClockFrequency
* missing const
* Add missing assignment operator
* Remove unused variables
* Return correct modified variable
* Use stable hash code for file system identity
* terse static_assert
* Structured binding for map iteration
* Make (==) and getHashCode const on many structs
* Add ConstIterator for LinkedList
* Replace uses of ItemProxy::getValue with Dictionary::at
* Extract list of loads from gradientsMap before updating it
* Const correctness in type layout
* Add unordered_dense hashmap submodule
* Use wyhash or getHashCode in slang-hash.h
* refactor slang-hash.h
* Use ankerl/unordered_dense as a hashmap implementation
Notable changes:
- The subscript operator returns a reference directly to the value,
rather than a lazy ItemProxy (pair of dict pointer and key)
slang-profile time (95% over 10 runs):
- Before: 6.3913906 (±0.0746)
- After: 5.9276123 (±0.0964)
* 64 bit hash for strings
So they have the same hash as char buffers with the same contents
* Narrowing warnings for gcc to match msvc
* revert back to c++17
* Correct c++ version for msvc
* Use path to unordered_dense which keeps tests happy
* Do not assign to and read from map in same expression
* Remove redundant map operations in primal-hoist
* Split out stable hash functions into slang-stable-hash.h
* 64 bit hash by default
* regenerate vs projects
* Correct return type from HashSetBase::getCount()
* correct width for call to Dictionary::reserve
* Use stable hash for obfuscated module ids
* Signed int for reserve
* clearer variable naming
* Parameterize Dictionary on hash and equality functors
* Allow heterogenous lookup for Dictionary
* missing const
* Use set over operator[] in some places
* Remove unused function
* s/at/getValue
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
| |
* Make sure glsl source in spirv is included when compiling with -g3.
* Exclude vulkan tests on github linux CI.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
| |
|
| |
Co-authored-by: Yong He <yhe@nvidia.com>
|
| |
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Small fixes and improvements around reflection tool.
* Make PrettyWriter printing a class.
* Update to DXC binaries 2023_03_01
|
| |
|
|
|
|
|
|
|
|
|
| |
* bump glm to fix c++20 warnings
* bump stb_image to fix c++20 warnings
* Use static_assert for SLANG_COMPILE_TIME_ASSERT
* Remove uses of deprecated is_pod
* Remove bit operations between different enums
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Enable SLANG_ENABLE_DXIL_SUPPORT on non-Windows platforms
This currently grabs the DXC headers from the system, rather than from external/dxc
We should make this consistent by either pulling in the Windows adapter from DXC into external/dxc or by making the Windows builds use <dxc/dxcapi.h>
* Update dxcapi and add DXC's WinAdapter
* Use our copy of dxcapi.h for non-windows DXC usage
* Only set -fms-extensions where necessary
* Work around dxc dlclose bug
* Neaten and comment dxc-compiler.cpp
|
| |
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update to glslang 12.0.0. Update SPIRV-Tools SPIRV-Headers.
|
| |
|
|
|
| |
The gmake generator has been deprecated by gmake2 https://premake.github.io/docs/Using-Premake/#using-premake-to-generate-project-files
gmake2 has better dependency handling around our custom rules leading in fewer runs of slang-generate etc...
|
| | |
|
| |
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Upgrade slang binaries to include "DX Compiler release for July 2022"
https://github.com/microsoft/DirectXShaderCompiler/releases/tag/v1.7.2207
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* checkpoint
* Added shaderCachePath field to IDevice desc in gfx.slang, gfx-smoke.slang should be functional
* ran premake
* Added getVersionString() to IDownstreamCompiler and implemented it in DownstreamCompilerBase, GlslangDownstreamCompiler, and DXCDownstreamCompiler
* Added hashInto to Val and implemented for all subtypes which contain _getHashCodeOverride implementations; nothing hooked up to caching yet
* Revert erroneous commits from rebasing
* Re-ran premake.bat; changed hashInto implementations to _hashIntoOverride
* downstream compiler getVersionString hooked up into shader cache
* Rebuild CI, Win32 Release builds successfully locally
* Rebuild CI, Win32 and x64 Release build successfully locally
* Reverted Val::hashInto changes, deferred for later; modified init() for downstream compilers to fetch, hash, and save the hashes of their corresponding dlls (currently implemented for glslang and dxc), changed getVersionString() to directly return the saved hash for key computation
* call site changes post-merge; fixing CI build failures
* Removed remaining hashInto; Updated hashToString to produce string one byte at a time
* Fixed expected output to match new hashToString output order
* Missed string edit in hashing related unit tests
* Updated dxcapi.h; Replaced getVersionString implementation in glslang with the shared library timestamp, dxc implementation queries for IDxcVersionInfo and IDxcVersionInfo2 then fetches and returns the relevant values
* Fixing CI build failures
* Changed RawBlob to StringBlob for strings
* Modified getVersionString for dxc to always return either the version plus commit hash or shared library timestamp
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* checkpoint commit
* debug-layer split, does not compile
* Almost compiles, rebasing before making any further changes
* everything compiles and passes tests locally
* Added tools/gfx/debug-layer to premake and ran premake
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Upgrade slang-binaries.
|
| |
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use version of slang-binaries without glslang binaries/premake alpha 13.
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Upgrade of SPIR-V Tools
* Use slang-pack to get slang-glslang (previously was in slang-binaries)
Update slang-glslang used
|
| |
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Upgrade to glslang 11.10.0
Co-authored-by: Yong He <yonghe@outlook.com>
|
| | |
|
| |
|
|
| |
* Use shader-slang/SPIRV-Tools
* Update to latest version with fix for compiling on gcc 7.5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Split render-d3d12 into numerous smaller files to make the code easier to parse
* Added all new D3D12 files created from splitting render-d3d12
* Fixed several uses of attachment still floating around; Changed resource-d3d12 and descriptor-heap-d3d12 to match naming conventions of new d3d12 implementation header files
* Readded files with name changes because changing them from inside VS apparently results in them being treated as new files
* Merged in externals changes from master
* Small cleanup changes
* Rerun CI
Co-authored-by: Theresa Foley <10618364+tangent-vector@users.noreply.github.com>
|
| |
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update slang binaries to have glslang 11.9.0
|
| |
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update spirv-tools-generated, for glslang-upgrade-14f6e27.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update SPIR-V headers/opt.
Update glslang.
* Set the SPIR-V emit version.
* Use the merged hash from shader-slang/glslang
* Improve comment around spirv version for emitting spir-v directly.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Small fixes.
Added compiler crash with generic defined in a function.
Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint.
* Add comment about crash.
* Disable crashing test.
* Fixes to make compile on OSX.
* Add github build for OSX.
* Make premake generator a utility.
* Fix osx compilation issue.
* More fixes for OSX build.
* OSX fix due to ambiguity around size_t and integer types.
* Disable xlib on build on osx.
* Use 'prebuildcommands' to make prebuild make utility projects do something.
* Small fixes for premake so utility works on linux/osx.
* Another hack to try and make generators run when 'utility'
* Fix typo in macos.yml.
* Revert premake to old style, and disable stdlib embedding on OSX.
* OSX testing.
* Fix pipe handling for OSX.
* Enable testing on OSX.
* Small fix because uname -p is not x64 on darwin.
* Use glslang from slang-binaries for OSX.
* Add slang-llvm on OSX.
* Upgrade slang-llvm.
* Update slang-llvm for OSX JIT fix.
* slang llvm 26
* Upgrade slang-llvm.
* Use slangUtil to get shared library filename.
* Use fixed slang-binaries.
* Another small fix.
* Rename linux build for clarity.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Small fixes.
Added compiler crash with generic defined in a function.
Added enum-flags test that works (by limiting backing type to int), and using __EnumType constraint.
* Add comment about crash.
* Disable crashing test.
* Fixes to make compile on OSX.
* Add github build for OSX.
* Make premake generator a utility.
* Fix osx compilation issue.
* More fixes for OSX build.
* OSX fix due to ambiguity around size_t and integer types.
* Disable xlib on build on osx.
* Use 'prebuildcommands' to make prebuild make utility projects do something.
* Small fixes for premake so utility works on linux/osx.
* Another hack to try and make generators run when 'utility'
* Fix typo in macos.yml.
* Revert premake to old style, and disable stdlib embedding on OSX.
* OSX testing.
* Fix pipe handling for OSX.
* Enable testing on OSX.
* Small fix because uname -p is not x64 on darwin.
* Use glslang from slang-binaries for OSX.
|
| |
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update glslang.
* Update slang-binaries to have glslang 11.16.0-3
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use updated slang-binaries that have SPIR-V diagnostics improvements.
* Re-enable nv-ray-tracing-motion-blur, because with SPIR-V diagnostic fixes in glslang - there shouldn't be spurious errors from glslang compilation.
* If optimization fails use the SPIR-V we have.
* Update slang binaries.
* Hack to disable gfx unit tests for now to try and get CI pass for this PR.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* #include an absolute path didn't work - because paths were taken to always be relative.
* Use updated slang-binaries that have SPIR-V diagnostics improvements.
* Re-enable nv-ray-tracing-motion-blur, because with SPIR-V diagnostic fixes in glslang - there shouldn't be spurious errors from glslang compilation.
* If optimization fails use the SPIR-V we have.
* Update SPIR-V headers and generated files.
Updated documentation.
* Update spirv-headers/tools.
Revert slang-binaries.
* Remove hack around spir-v optimization as no longer needed.
disable nv-ray-tracing-motion-blur.slang
|