Merge pull request #102 from ianromanick/INTEL_shader_integer_functions2
authorJohn Kessenich <johnkslang@users.noreply.github.com>
Fri, 17 May 2019 03:44:32 +0000 (10:44 +0700)
committerGitHub <noreply@github.com>
Fri, 17 May 2019 03:44:32 +0000 (10:44 +0700)
Add INTEL_shader_integer_functions2

1  2 
include/spirv/unified1/spirv.core.grammar.json
include/spirv/unified1/spirv.h
include/spirv/unified1/spirv.hpp
include/spirv/unified1/spirv.hpp11
include/spirv/unified1/spirv.json

@@@ -1742,8 -1757,24 +1757,22 @@@ inline void SpvHasResultAndType(SpvOp o
      case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
      case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
      case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+     case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+     case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
      case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case SpvOpDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case SpvOpMemberDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
      case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
      case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
@@@ -1738,8 -1753,24 +1753,22 @@@ inline void HasResultAndType(Op opcode
      case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
      case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
      case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+     case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+     case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
      case OpDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case OpDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case OpMemberDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
      case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
      case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
@@@ -1738,8 -1753,24 +1753,22 @@@ inline void HasResultAndType(Op opcode
      case Op::OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
      case Op::OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
      case Op::OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+     case Op::OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
+     case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
      case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case Op::OpDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
 -    case Op::OpMemberDecorateStringGOOGLE: *hasResult = false; *hasResultType = false; break;
      case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
      case Op::OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
      case Op::OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
Simple merge