diff options
| author | Jerran Schmidt <jerranschmidt@gmail.com> | 2025-06-17 13:49:02 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-16 20:49:02 -0700 |
| commit | 60a8f1fc3eee37977ee891661f65916f66aef364 (patch) | |
| tree | 7c6b93260a4b1b672876769717984b587965a17d /source/slang/slang-emit-spirv.cpp | |
| parent | a4345725a083651c16795d27fedd769f2d7e55ae (diff) | |
Fix for missing signedness cast in SwizzleIR (#7448)
* Cast if there is a signedness mismatch on the swizzle
* Move isSignedType to slang-util and add test
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
| -rw-r--r-- | source/slang/slang-emit-spirv.cpp | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index ec9857ecf..8e8e7327b 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -7763,27 +7763,6 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex List<IRInst*>::makeRepeated(scalar, Index(numElems))); } - bool isSignedType(IRType* type) - { - switch (type->getOp()) - { - case kIROp_FloatType: - case kIROp_DoubleType: - return true; - case kIROp_IntType: - case kIROp_Int16Type: - case kIROp_Int64Type: - case kIROp_Int8Type: - return true; - case kIROp_VectorType: - return isSignedType(as<IRVectorType>(type)->getElementType()); - case kIROp_MatrixType: - return isSignedType(as<IRMatrixType>(type)->getElementType()); - default: - return false; - } - } - bool isFloatType(IRInst* type) { switch (type->getOp()) |
