| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
* Improve doc and example consistency
Improve consistency of formatting in example shaders and remove
trailing spaces in documentation files. Fix minor typos.
|
|
* fixes: #4163
Precompute UIntSet from individual capabilities inside generator (removes intermediate form of capabilities).
note:
1. I still expand capabilities which are missing `target` and `stage` atoms.
* fix compile warning<->error with clang
* address review
preallocate the pregenerated UIntSet's
* disable incorrect warning of 'unreachable code'
The warning is wrong since, when `out` has 0 elements (does not start `for` loop), the `return` is reached.
* fix clang warnings
1. use unsigned long for the buffer serializer
2. braces around scalar init
* address review
added work around to avoid warning with `for(...) return; return;` pattern
`else if constexpr` addition instead of cascading blocks
* push fix for use of `_BitScanForward`
* cleanup
* move around assert for proper checking
* syntax error
* use SLANG_ASSERT instead of assert
* test for why SLANG_ASSERT caused CI to fail with linux-arm builds
* test if `SLANG_ASSERT` really is causing a build issue for linux-arm
|
|
|
|
Changed profile string from glsl_440 to spirv_1_5 per request in
pr#4268.
|
|
fixes: #4293
Currently the code does:
```
void inclusiveJoinConjunction(CapabilitySharedContext& context, CapabilityConjunction& c, List<CapabilityConjunction>& toAddAfter)
{
if (c.isImpossible())
return;
for (auto& conjunction : conjunctions)
{
if (c.implies(conjunction))
return;
}
```
This is incorrect because it means that "if the set we are going to add is a super set of an element, don't add it". This does not make sense since inclusive join is meant to be 'additive' of super sets.
Correct behavior code:
```
void inclusiveJoinConjunction(CapabilitySharedContext& context, CapabilityConjunction& c, List<CapabilityConjunction>& toAddAfter)
{
if (c.isImpossible())
return;
for (auto& conjunction : conjunctions)
{
if (conjunction.implies(c))
return;
}
```
This is correct behavior because it means that: "if the set we are going to add is a sub set of an element, ignore it". This makes sense since inclusive join can then add super sets in-place of subsets
|
|
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
* Fix build warnings and treat warnings as error
|
|
* Remove unnecessary call to __requireComputeDerivative
When SPIR-V uses operators whose name has a keyword, "Implicit", they
require calling a function "__requireComputeDerivative()".
When it uses "Explicit", the function doesn't need to be called.
|
|
* implement sampler state
* implement input layout
* implement fence object
* buffer implementation
* texture implementation
* cleanup
* add adapter enumeration
* supported formats and allocation info
* work on device and implement readBufferResource
* skeleton for transient resource heap
* initial work on command queue / buffers / encoders
* fix uploading initial buffer data
* implement buffer resource view
* string utility functions
* wip query pool implementation
* cleanup
* swapchain
* wip
* remove plain buffer view
* extend gfxGetDeviceTypeName with metal
* basic support for resource binding with compute shaders
* needed for metal bindings
* replace assert(0) with SLANG_UNIMPLEMENTED_X
|
|
|
|
|
|
|
|
|
|
|
|
Use memcpy to replace strncpy_s in SlangProfiler::SlangProfiler to fix
the error in Windows.
|
|
* Add APIs to get profile of compile time
Add serial time measurement
Add profiler to measure lots of stages in slang compilation, and it
can accumulate the time spent in each thread in multi-threads case and
finally report a serial timing info.
* Add invocation times to the profiler
* Simplify the profiler and provide a 'clear' option
Change the profiler design to only return the thread_local
profiler to user.
We create a ISlangProfiler interface to carry the thread_local
variable PerformanceProfilerImpl profiler to user.
In addition, we provide a new option in the input parameter to
control whether or not user want to clear the previous profile
data. So spGetCompileProfile() can always returns a fresh new
profiling data.
* Change to use slang container List
Stop using std::vector, instead use slang's container List.
Generate a UUID for ISlangProfiler
|
|
This CL fixes a typo in the profile string for the hello-world example.
Currently "glsl440" is passed into findProfile() resulting in a return
value of SLANG_UNKNOWN_PROFILE since format of the profile name is
incorrect. The correct profile name is glsl_440, therefore the string
passed into findProfile() should be "glsl_440".
|
|
* Print warning when operator<< shifting too much
Closes #3944
For the given type of the left side operand to `operator<<` is not big
enough for the right side operand, print a warning that the result will
be always zero.
|
|
|
|
Add option "-disable-source-map" to disable the source map in obfuscation.
|
|
|
|
code (#4250)
|
|
|
|
|
|
* Fix a bug on default initialization of interface typed value.
* Fix.
|
|
|
|
Fixed as I was testing release `v2024.1.17` (latest)
Co-authored-by: ArielG-NV <159081215+ArielG-NV@users.noreply.github.com>
|
|
And also add an actual test case from the User Guide example.
|
|
I think the sentence was saying the opposite of what it meant!
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
|
|
|
|
* Handle type check cache update on extensions more gracefully.
* Correctness fix.
* Cache implcit cast overload resolution results.
* Fix.
* More optimizations.
* Cache implicit default ctor resolution.
* Disable redundancy removal.
* Fix.
* Fix test.
* Fix.
* Correctness fix.
* Fix.
* Fix,
* Fix test.
* Small tweak.
|
|
* Add options to speedup compilation.
* Fix.
* Plumb options to DCE pass.
* Revert debug change.
* Fix regressions.
* More optimizations.
* more cleanup and fixes.
* remove comment.
* Fixes.
* Another fix.
* Fix errors.
* Fix errors.
* Add comments.
|
|
When memory leak is detected, this commit will dump the information
about the memory leak. This feature is available only in Debug build
on Windows platform.
Also note that the message will not be printed on the client
applications that use slang.dll, because the printing happens as a part
of slangc.exe not slang.dll.
I found a bug that Slang::StdWriters was closing `stdout` and `stderr`
in its destructor, which prevented Crt functions to print the messages
to `stdout` and `stderr`.
|
|
When slang-test.exe ran with a file name doesn't exactly match
character-by-character, those tests don't run.
This commit alters the file name given from the command-line and it will
behave in a more expected way.
- "./" are removed.
- "../" gets removed along with its parent directory name.
- Back-slash characters will be converted to slash on Windows.
|
|
Stage some known failure test cases, will enable them back when the fix
is merged.
The failure tests can be checked in
https://github.com/shader-slang/VK-GL-CTS/blob/main/test-lists/slang-waiver-tests.xml
|
|
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
Co-authored-by: Yong He <yonghe@outlook.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>
|
|
* Update slang-performance-profiler.cpp
* modified: source/core/slang-performance-profiler.cpp
* reviews
---------
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
* push fix: if no sample, set to 0 for textureMS
* push fixes to hlsl [] operator + test so it will error
|
|
* Fix pointer example
Make the example shown for pointers something that would compile. Don't redefine pNext and do define MyType.
* Fix formatting of struct in pointer example
|
|
Adding (limited) to the header in a previous doc change broke the link.
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
|
The CTS nightly stops report error because of `continue-on-error` is set
to true. Remove that field such that it will fail the job.
Add slack notification about the CTS status, this will report the status
of CTS nightly result to our slack dev channel.
|
|
Increase timeout from 100 to 180 minutes
|
|
* fix all Clang-14 warnings
* remove a clang-14 warning fix because it is a MSVC warning...
|
|
I was trying to see if I can lower it to 3.16, but I found that we are currently using CMake feature that requires a version 3.25 not 3.20.
This finding is not new. I made a similar change to CMakePresets.json a few days ago. At that time, I didn't realize that the same change had to be made for CMakeList.txt as well.
|
|
|