The blendFuncSeparateiOES() method of the OES_draw_buffers_indexed WebGL extension defines which function is used when blending pixels for RGB and alpha components separately for a particular draw buffer.
 See OES_draw_buffers_indexed.blendFunciOES() for setting RGB and alpha together and WebGLRenderingContext.blendFuncSeparate() for the WebGL 1 version of this method.
 
blendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha)
  
The following sets the blend functions for the draw buffers gl.DRAW_BUFFER0 (call where buf is 0) and gl.DRAW_BUFFER1 (call where buf is 1).
 
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendFuncSeparateiOES(0, gl.ONE, gl.ONE, gl.ZERO, gl.ZERO);
ext.blendFuncSeparateiOES(
  1,
  gl.SRC_ALPHA,
  gl.ONE_MINUS_SRC_ALPHA,
  gl.ZERO,
  gl.ZERO,
);
  To get the blend functions for the gl.DRAW_BUFFER0 and gl.DRAW_BUFFER1 draw buffers, query the BLEND_SRC_RGB, BLEND_SRC_ALPHA, BLEND_DST_RGB, and BLEND_DST_ALPHA constants using WebGL2RenderingContext.getIndexedParameter():
 
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 0);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 0);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 0);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 0);
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 1);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 1);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 1);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 1);