code: function glFunctionArgToString(functionName, numArgs, argumentIndex, value) {
    var funcInfo = glValidEnumContexts[functionName];
    if (funcInfo !== undefined) {
      var funcInfo = funcInfo[numArgs];
      if (funcInfo !== undefined) {
        if (funcInfo[argumentIndex]) {
          if (typeof funcInfo[argumentIndex] === 'object' &&
              funcInfo[argumentIndex]['enumBitwiseOr'] !== undefined) {
            var enums = funcInfo[argumentIndex]['enumBitwiseOr'];
            var orResult = 0;
            var orEnums = [];
            for (var i = 0; i < enums.length; ++i) {
              var enumValue = enumStringToValue[enums[i]];
              if ((value & enumValue) !== 0) {
                orResult |= enumValue;
                orEnums.push(glEnumToString(enumValue));
              }
            }
            if (orResult === value) {
              return orEnums.join(' | ');
            } else {
              return glEnumToString(value);
            }
          } else {
            return glEnumToString(value);
          }
        }
      }
    }
    if (value === null) {
      return "null";
    } else if (value === undefined) {
      return "undefined";
    } else {
      return value.toString();
    }
  }
docs: Returns the string version of a WebGL argument.
  Attempts to convert enum arguments to strings.
  @param {string} functionName the name of the WebGL function.
  @param {number} numArgs the number of arguments passed to the function.
  @param {number} argumentIndx the index of the argument.
  @param {*} value The value of the argument.
  @return {string} The value as a string.