message: Don't be surprised by multiple functions in SPIR-V editing
  * Once we've reached the function bodies we can ignore any more function
  opcodes.
diff: @@ -229,6 +229,8 @@ SPIRVEditor::SPIRVEditor(std::vector<uint32_t> &spirvWords) : spirv(spirvWords)
  section = SectionState::Decoration;
  }
  else if(opcode == spv::OpFunction)
  + {
  + if(section != SectionState::FunctionBodies)
  {
  if(section != SectionState::TypeVar)
  RDCERR("Unexpected current section when encountering OpFunction: %d", section);
  @@ -241,6 +243,7 @@ SPIRVEditor::SPIRVEditor(std::vector<uint32_t> &spirvWords) : spirv(spirvWords)
  if(typeVarSection.startOffset == typeVarSection.endOffset || typeVarSection.startOffset == 0)
  RDCERR("No types found in this shader! There should be at least one for the entry point");
  }
  + }
  else
  {
  // if we've reached another instruction, ignore it if we've reached the function bodies. Also
  