diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 97b8488..062cc0b 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -9,13 +9,19 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs) +var checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var tinyCanvas = document.createElement('canvas'); - tinyCanvas.width = 1; - tinyCanvas.height = 1; + var createTempContext = !gl; - var gl = glCore.createContext(tinyCanvas); + if(createTempContext) + { + var tinyCanvas = document.createElement('canvas'); + tinyCanvas.width = 1; + tinyCanvas.height = 1; + + gl = glCore.createContext(tinyCanvas); + } + var shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) @@ -36,10 +42,13 @@ } } - // get rid of context - if(gl.getExtension('WEBGL_lose_context')) + if(createTempContext) { - gl.getExtension('WEBGL_lose_context').loseContext(); + // get rid of context + if(gl.getExtension('WEBGL_lose_context')) + { + gl.getExtension('WEBGL_lose_context').loseContext(); + } } return maxIfs; diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 97b8488..062cc0b 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -9,13 +9,19 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs) +var checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var tinyCanvas = document.createElement('canvas'); - tinyCanvas.width = 1; - tinyCanvas.height = 1; + var createTempContext = !gl; - var gl = glCore.createContext(tinyCanvas); + if(createTempContext) + { + var tinyCanvas = document.createElement('canvas'); + tinyCanvas.width = 1; + tinyCanvas.height = 1; + + gl = glCore.createContext(tinyCanvas); + } + var shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) @@ -36,10 +42,13 @@ } } - // get rid of context - if(gl.getExtension('WEBGL_lose_context')) + if(createTempContext) { - gl.getExtension('WEBGL_lose_context').loseContext(); + // get rid of context + if(gl.getExtension('WEBGL_lose_context')) + { + gl.getExtension('WEBGL_lose_context').loseContext(); + } } return maxIfs; diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 2eb2223..ffca275 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -109,7 +109,7 @@ this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); // step 2: check the maximum number of if statements the shader can have too.. - this.MAX_TEXTURES = checkMaxIfStatmentsInShader( this.MAX_TEXTURES ); + this.MAX_TEXTURES = checkMaxIfStatmentsInShader( this.MAX_TEXTURES, gl ); this.shader = generateMultiTextureShader(gl, this.MAX_TEXTURES); // create a couple of buffers diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 97b8488..062cc0b 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -9,13 +9,19 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs) +var checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var tinyCanvas = document.createElement('canvas'); - tinyCanvas.width = 1; - tinyCanvas.height = 1; + var createTempContext = !gl; - var gl = glCore.createContext(tinyCanvas); + if(createTempContext) + { + var tinyCanvas = document.createElement('canvas'); + tinyCanvas.width = 1; + tinyCanvas.height = 1; + + gl = glCore.createContext(tinyCanvas); + } + var shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) @@ -36,10 +42,13 @@ } } - // get rid of context - if(gl.getExtension('WEBGL_lose_context')) + if(createTempContext) { - gl.getExtension('WEBGL_lose_context').loseContext(); + // get rid of context + if(gl.getExtension('WEBGL_lose_context')) + { + gl.getExtension('WEBGL_lose_context').loseContext(); + } } return maxIfs; diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 2eb2223..ffca275 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -109,7 +109,7 @@ this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); // step 2: check the maximum number of if statements the shader can have too.. - this.MAX_TEXTURES = checkMaxIfStatmentsInShader( this.MAX_TEXTURES ); + this.MAX_TEXTURES = checkMaxIfStatmentsInShader( this.MAX_TEXTURES, gl ); this.shader = generateMultiTextureShader(gl, this.MAX_TEXTURES); // create a couple of buffers diff --git a/src/deprecation.js b/src/deprecation.js index 3b6dbab..5a6f63f 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -240,7 +240,22 @@ console.warn('The math namespace is deprecated, please access members already accessible on PIXI.'); return core; } - } + }, + + /** + * @class + * @private + * @name PIXI.AbstractFilter + * @see PIXI.Filter + * @deprecated since version 3.0.6 + */ + AbstractFilter: { + get: function() + { + console.warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); + return core.Filter; + } + }, }); core.DisplayObject.prototype.generateTexture = function(renderer, scaleMode, resolution) @@ -363,7 +378,7 @@ AbstractFilter: { get: function() { - console.warn('filters.AbstractFilter is an undocumented alias, please use AbstractFilter from now on.'); + console.warn('AstractFilter has been renamed to Filter, please use PIXI.Filter'); return core.AbstractFilter; } }, @@ -415,3 +430,4 @@ console.warn('utils.canUseNewCanvasBlendModes() is deprecated, please use CanvasTinter.canUseMultiply from now on'); return core.CanvasTinter.canUseMultiply; }; +