Log WebGL shader and program errors

This commit is contained in:
Tom Payne
2013-04-29 12:51:16 +02:00
parent 37ef03c956
commit 1ff8df8936

View File

@@ -4,6 +4,7 @@ goog.provide('ol.renderer.webgl.Map');
goog.require('goog.array');
goog.require('goog.asserts');
goog.require('goog.debug.Logger');
goog.require('goog.dom');
goog.require('goog.dom.TagName');
goog.require('goog.events');
@@ -410,6 +411,12 @@ ol.renderer.webgl.Map.prototype.getProgram = function(
gl.attachShader(program, this.getShader(fragmentShaderObject));
gl.attachShader(program, this.getShader(vertexShaderObject));
gl.linkProgram(program);
if (goog.DEBUG) {
if (!gl.getProgramParameter(program, goog.webgl.LINK_STATUS) &&
!gl.isContextLost()) {
this.logger_.severe(gl.getProgramInfoLog(program));
}
}
goog.asserts.assert(
gl.getProgramParameter(program, goog.webgl.LINK_STATUS) ||
gl.isContextLost());
@@ -432,6 +439,12 @@ ol.renderer.webgl.Map.prototype.getShader = function(shaderObject) {
var shader = gl.createShader(shaderObject.getType());
gl.shaderSource(shader, shaderObject.getSource());
gl.compileShader(shader);
if (goog.DEBUG) {
if (!gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) &&
!gl.isContextLost()) {
this.logger_.severe(gl.getShaderInfoLog(shader));
}
}
goog.asserts.assert(
gl.getShaderParameter(shader, goog.webgl.COMPILE_STATUS) ||
gl.isContextLost());
@@ -501,6 +514,14 @@ ol.renderer.webgl.Map.prototype.isTileTextureLoaded = function(tile) {
};
/**
* @private
* @type {goog.debug.Logger}
*/
ol.renderer.webgl.Map.prototype.logger_ =
goog.debug.Logger.getLogger('ol.renderer.webgl.Map');
/**
* @inheritDoc
*/