Android-x86
Fork
Donation

  • R/O
  • HTTP
  • SSH
  • HTTPS

external-swiftshader: Commit

external/swiftshader


Commit MetaInfo

Revision0e712410582f85d3388c939b6c0da6b3e1d761f0 (tree)
Time2019-03-19 23:38:30
AuthorChris Forbes <chrisforbes@goog...>
CommiterChris Forbes

Log Message

Add support for OpUndef

Treat OpUndef identically to OpConstantNull for now.

Change-Id: I721f2bf5e053d6a8d6f563272b1d44b6636a157c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27529
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>

Change Summary

Incremental Difference

--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -215,7 +215,9 @@ namespace sw
215215 CreateConstant(insn).constantValue[0] = ~0u; // represent boolean true as all bits set
216216 break;
217217 case spv::OpConstantNull:
218+ case spv::OpUndef:
218219 {
220+ // TODO: consider a real LLVM-level undef. For now, zero is a perfectly good value.
219221 // OpConstantNull forms a constant of arbitrary type, all zeros.
220222 auto &object = CreateConstant(insn);
221223 auto &objectTy = getType(object.type);
@@ -1062,6 +1064,7 @@ namespace sw
10621064 case spv::OpConstantTrue:
10631065 case spv::OpConstantFalse:
10641066 case spv::OpConstantComposite:
1067+ case spv::OpUndef:
10651068 case spv::OpExtension:
10661069 case spv::OpCapability:
10671070 case spv::OpEntryPoint:
Show on old repository browser