coderef

OES_draw_buffers_indexed WebGL extensionBaseline · Widely available

The OES_draw_buffers_indexed extension for WebGL 2.0 contexts allows you to control blending on a per-color basis when writing to multiple color buffers simultaneously.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Dec 13, 2022. Widely available since Jun 13, 2025.

Browser support

DesktopChrome
1–99Not supported
100+Supportedsince Mar 29, 2022
Current: 155
Edge
12–99Not supported
100+Supportedsince Apr 1, 2022
Current: 154
Firefox
1–107Not supported
108+Supportedsince Dec 13, 2022
Current: 157
Safari
1–15.6Not supported
16+Supportedsince Sep 12, 2022
Current: 27
MobileChrome Android
18–99Not supported
100+Supportedsince Mar 29, 2022
Current: 155
Firefox Android
4–107Not supported
108+Supportedsince Dec 13, 2022
Current: 157
Safari iOS
1–15.6Not supported
16+Supportedsince Sep 12, 2022
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: OES draw buffers indexed.

Feature detection

JS · check before using
if ("OES_draw_buffers_indexed" in globalThis) {
  // OES_draw_buffers_indexed is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (8). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
OES_draw_buffers_indexed1001001081610010816
OES_draw_buffers_indexed.blendEquationSeparateiOES1001001081610010816
OES_draw_buffers_indexed.blendEquationiOES1001001081610010816
OES_draw_buffers_indexed.blendFuncSeparateiOES1001001081610010816
OES_draw_buffers_indexed.blendFunciOES1001001081610010816
OES_draw_buffers_indexed.colorMaskiOES1001001081610010816
OES_draw_buffers_indexed.disableiOES1001001081610010816
OES_draw_buffers_indexed.enableiOES1001001081610010816