Browse Source

[spirv] Refresh external projects for SPIR-V 1.3 (#1117)

Lei Zhang 7 years ago
parent
commit
89bc301735

+ 1 - 1
external/SPIRV-Headers

@@ -1 +1 @@
-Subproject commit 2bf91d32b2ce17df9ca6c1e62cf478b24e7d2644
+Subproject commit 02ffc719aa9f9c1dce5ce05743fb1afe6cbf17ea

+ 1 - 1
external/SPIRV-Tools

@@ -1 +1 @@
-Subproject commit 3497a94460ebd865c9d08483cdffac1fcde0c528
+Subproject commit 03b8a3fe540e72794646195fe261a679203c13ac

+ 1 - 1
external/googletest

@@ -1 +1 @@
-Subproject commit a5014476f0c49c966e4ac602469cddefc7ed486d
+Subproject commit 703b4a85a21e394252560a89cc856b384b48c286

+ 1 - 1
external/re2

@@ -1 +1 @@
-Subproject commit 715f0dcaafbeda5d9fef58194d9ce256f0317ecf
+Subproject commit c1ed8543f1b703ce200212bb5629ba69a2f9b63a

+ 148 - 0
tools/clang/include/clang/SPIRV/InstBuilder.h

@@ -806,6 +806,149 @@ public:
   InstBuilder &opModuleProcessed(std::string process);
   InstBuilder &opExecutionModeId(uint32_t entry_point, spv::ExecutionMode mode);
   InstBuilder &opDecorateId(uint32_t target, spv::Decoration decoration);
+  InstBuilder &opGroupNonUniformElect(uint32_t result_type, uint32_t result_id,
+                                      uint32_t execution);
+  InstBuilder &opGroupNonUniformAll(uint32_t result_type, uint32_t result_id,
+                                    uint32_t execution, uint32_t predicate);
+  InstBuilder &opGroupNonUniformAny(uint32_t result_type, uint32_t result_id,
+                                    uint32_t execution, uint32_t predicate);
+  InstBuilder &opGroupNonUniformAllEqual(uint32_t result_type,
+                                         uint32_t result_id, uint32_t execution,
+                                         uint32_t value);
+  InstBuilder &opGroupNonUniformBroadcast(uint32_t result_type,
+                                          uint32_t result_id,
+                                          uint32_t execution, uint32_t value,
+                                          uint32_t id);
+  InstBuilder &opGroupNonUniformBroadcastFirst(uint32_t result_type,
+                                               uint32_t result_id,
+                                               uint32_t execution,
+                                               uint32_t value);
+  InstBuilder &opGroupNonUniformBallot(uint32_t result_type, uint32_t result_id,
+                                       uint32_t execution, uint32_t predicate);
+  InstBuilder &opGroupNonUniformInverseBallot(uint32_t result_type,
+                                              uint32_t result_id,
+                                              uint32_t execution,
+                                              uint32_t value);
+  InstBuilder &opGroupNonUniformBallotBitExtract(uint32_t result_type,
+                                                 uint32_t result_id,
+                                                 uint32_t execution,
+                                                 uint32_t value,
+                                                 uint32_t index);
+  InstBuilder &opGroupNonUniformBallotBitCount(uint32_t result_type,
+                                               uint32_t result_id,
+                                               uint32_t execution,
+                                               spv::GroupOperation operation,
+                                               uint32_t value);
+  InstBuilder &opGroupNonUniformBallotFindLSB(uint32_t result_type,
+                                              uint32_t result_id,
+                                              uint32_t execution,
+                                              uint32_t value);
+  InstBuilder &opGroupNonUniformBallotFindMSB(uint32_t result_type,
+                                              uint32_t result_id,
+                                              uint32_t execution,
+                                              uint32_t value);
+  InstBuilder &opGroupNonUniformShuffle(uint32_t result_type,
+                                        uint32_t result_id, uint32_t execution,
+                                        uint32_t value, uint32_t id);
+  InstBuilder &opGroupNonUniformShuffleXor(uint32_t result_type,
+                                           uint32_t result_id,
+                                           uint32_t execution, uint32_t value,
+                                           uint32_t mask);
+  InstBuilder &opGroupNonUniformShuffleUp(uint32_t result_type,
+                                          uint32_t result_id,
+                                          uint32_t execution, uint32_t value,
+                                          uint32_t delta);
+  InstBuilder &opGroupNonUniformShuffleDown(uint32_t result_type,
+                                            uint32_t result_id,
+                                            uint32_t execution, uint32_t value,
+                                            uint32_t delta);
+  InstBuilder &opGroupNonUniformIAdd(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformFAdd(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformIMul(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformFMul(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformSMin(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformUMin(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformFMin(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformSMax(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformUMax(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformFMax(uint32_t result_type, uint32_t result_id,
+                                     uint32_t execution,
+                                     spv::GroupOperation operation,
+                                     uint32_t value,
+                                     llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformBitwiseAnd(uint32_t result_type, uint32_t result_id,
+                              uint32_t execution, spv::GroupOperation operation,
+                              uint32_t value,
+                              llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformBitwiseOr(uint32_t result_type, uint32_t result_id,
+                             uint32_t execution, spv::GroupOperation operation,
+                             uint32_t value,
+                             llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformBitwiseXor(uint32_t result_type, uint32_t result_id,
+                              uint32_t execution, spv::GroupOperation operation,
+                              uint32_t value,
+                              llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformLogicalAnd(uint32_t result_type, uint32_t result_id,
+                              uint32_t execution, spv::GroupOperation operation,
+                              uint32_t value,
+                              llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformLogicalOr(uint32_t result_type, uint32_t result_id,
+                             uint32_t execution, spv::GroupOperation operation,
+                             uint32_t value,
+                             llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &
+  opGroupNonUniformLogicalXor(uint32_t result_type, uint32_t result_id,
+                              uint32_t execution, spv::GroupOperation operation,
+                              uint32_t value,
+                              llvm::Optional<uint32_t> cluster_size);
+  InstBuilder &opGroupNonUniformQuadBroadcast(uint32_t result_type,
+                                              uint32_t result_id,
+                                              uint32_t execution,
+                                              uint32_t value, uint32_t index);
+  InstBuilder &opGroupNonUniformQuadSwap(uint32_t result_type,
+                                         uint32_t result_id, uint32_t execution,
+                                         uint32_t value, uint32_t direction);
   InstBuilder &opSubgroupBallotKHR(uint32_t result_type, uint32_t result_id,
                                    uint32_t predicate);
   InstBuilder &opSubgroupFirstInvocationKHR(uint32_t result_type,
@@ -876,6 +1019,11 @@ public:
   InstBuilder &opSubgroupImageBlockWriteINTEL(uint32_t image,
                                               uint32_t coordinate,
                                               uint32_t data);
+  InstBuilder &opDecorateStringGOOGLE(uint32_t target,
+                                      spv::Decoration decoration);
+  InstBuilder &opMemberDecorateStringGOOGLE(uint32_t struct_type,
+                                            uint32_t member,
+                                            spv::Decoration decoration);
 
   // All-in-one methods for creating unary and binary operations.
   InstBuilder &unaryOp(spv::Op op, uint32_t result_type, uint32_t result_id,

File diff suppressed because it is too large
+ 1031 - 1
tools/clang/lib/SPIRV/InstBuilderAuto.cpp


Some files were not shown because too many files changed in this diff