diff options
| author | Yong He <yonghe@outlook.com> | 2023-09-01 01:25:31 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-01 01:25:31 -0700 |
| commit | 9c11a87f8f811a9a110d73a24ab93443ea347506 (patch) | |
| tree | 9b1b0f154cff0faf7efd8d77fcd7f7911aea4a44 /source/slang/slang-emit-glsl.cpp | |
| parent | b7d19330c2d42937835d674758a05af3891e025b (diff) | |
Fix GLSL code gen around RayQuery and HitObject types. (#3173)
* Update slang-llvm.
* Fix.
* fix.
* Fix unit tests for multi-thread execution.
* Fix tests.
* fixes.
* update tests.
* Add gfx-smoke to linux expected failure list.
* Try fix test.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-emit-glsl.cpp')
| -rw-r--r-- | source/slang/slang-emit-glsl.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/slang/slang-emit-glsl.cpp b/source/slang/slang-emit-glsl.cpp index 3cde9f467..c651c8735 100644 --- a/source/slang/slang-emit-glsl.cpp +++ b/source/slang/slang-emit-glsl.cpp @@ -2204,6 +2204,7 @@ void GLSLSourceEmitter::emitTypeImpl(IRType* type, const StringSliceLoc* nameAnd { if (auto refType = as<IRRefType>(type)) { + _requireGLSLExtension(UnownedStringSlice("GL_EXT_spirv_intrinsics")); m_writer->emit("spirv_by_reference "); type = refType->getValueType(); } @@ -2214,11 +2215,13 @@ void GLSLSourceEmitter::emitParamTypeImpl(IRType* type, String const& name) { if (auto refType = as<IRRefType>(type)) { + _requireGLSLExtension(UnownedStringSlice("GL_EXT_spirv_intrinsics")); m_writer->emit("spirv_by_reference "); type = refType->getValueType(); } else if (auto spirvLiteralType = as<IRSPIRVLiteralType>(type)) { + _requireGLSLExtension(UnownedStringSlice("GL_EXT_spirv_intrinsics")); m_writer->emit("spirv_literal "); type = spirvLiteralType->getValueType(); } |
