diff --git a/docs/api/en/renderers/WebGLRenderer.html b/docs/api/en/renderers/WebGLRenderer.html
index f56b779ab1facf40eae1abdd1aeee9592bc5a5e7..8bd6143f7e8f2e5fd617fc1f8d1e49d927e0daa2 100644
--- a/docs/api/en/renderers/WebGLRenderer.html
+++ b/docs/api/en/renderers/WebGLRenderer.html
@@ -55,7 +55,10 @@
[page:String powerPreference] - Provides a hint to the user agent indicating what configuration
of GPU is suitable for this WebGL context. Can be *"high-performance"*, *"low-power"* or *"default"*. Default is *"default"*.
- See the [link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2 WebGL spec] for more information.
+ See [link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.12 WebGL spec] for details.
+
+ [page:Boolean failIfMajorPerformanceCaveat] - whether the renderer creation will fail upon low perfomance is detected. Default is *false*.
+ See [link:https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.12 WebGL spec] for details.
[page:Boolean depth] - whether the drawing buffer has a
[link:https://en.wikipedia.org/wiki/Z-buffering depth buffer] of at least 16 bits.
diff --git a/src/renderers/WebGL2Renderer.js b/src/renderers/WebGL2Renderer.js
index d0ad1c344c82d3dd75d744ceec19acddda974514..89362257c04d14193d80e19740527cb0468b745f 100644
--- a/src/renderers/WebGL2Renderer.js
+++ b/src/renderers/WebGL2Renderer.js
@@ -23,7 +23,8 @@ function WebGL2Renderer( parameters ) {
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
- _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
+ _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default',
+ _failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== undefined ? parameters.failIfMajorPerformanceCaveat : false;
// initialize
@@ -38,7 +39,8 @@ function WebGL2Renderer( parameters ) {
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer,
- powerPreference: _powerPreference
+ powerPreference: _powerPreference,
+ failIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat
};
// event listeners must be registered before WebGL context is created, see #12753
diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js
index 9b4a259dbbba52c535aa50abd9bc97d15055238a..22b202effa624f612fe42c32558ef015d5a06ffb 100644
--- a/src/renderers/WebGLRenderer.js
+++ b/src/renderers/WebGLRenderer.js
@@ -67,7 +67,8 @@ function WebGLRenderer( parameters ) {
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
- _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default';
+ _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default',
+ _failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== undefined ? parameters.failIfMajorPerformanceCaveat : false;
var currentRenderList = null;
var currentRenderState = null;
@@ -189,7 +190,8 @@ function WebGLRenderer( parameters ) {
antialias: _antialias,
premultipliedAlpha: _premultipliedAlpha,
preserveDrawingBuffer: _preserveDrawingBuffer,
- powerPreference: _powerPreference
+ powerPreference: _powerPreference,
+ failIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat
};
// event listeners must be registered before WebGL context is created, see #12753