@@ -515,23 +515,10 @@ var LibraryGL = {
515
515
#endif
516
516
517
517
#if TRACE_WEBGL_CALLS
518
- webGLFunctionLengths : { 'getContextAttributes' : 0 , 'isContextLost' : 0 , 'getSupportedExtensions' : 0 , 'createBuffer' : 0 , 'createFramebuffer' : 0 , 'createProgram' : 0 , 'createRenderbuffer' : 0 , 'createTexture' : 0 , 'finish' : 0 , 'flush' : 0 , 'getError' : 0 , 'createVertexArray' : 0 , 'createQuery' : 0 , 'createSampler' : 0 , 'createTransformFeedback' : 0 , 'endTransformFeedback' : 0 , 'pauseTransformFeedback' : 0 , 'resumeTransformFeedback' : 0 , 'commit' : 0 ,
519
- 'getExtension' : 1 , 'activeTexture' : 1 , 'blendEquation' : 1 , 'checkFramebufferStatus' : 1 , 'clear' : 1 , 'clearDepth' : 1 , 'clearStencil' : 1 , 'compileShader' : 1 , 'createShader' : 1 , 'cullFace' : 1 , 'deleteBuffer' : 1 , 'deleteFramebuffer' : 1 , 'deleteProgram' : 1 , 'deleteRenderbuffer' : 1 , 'deleteShader' : 1 , 'deleteTexture' : 1 , 'depthFunc' : 1 , 'depthMask' : 1 , 'disable' : 1 , 'disableVertexAttribArray' : 1 , 'enable' : 1 , 'enableVertexAttribArray' : 1 , 'frontFace' : 1 , 'generateMipmap' : 1 , 'getAttachedShaders' : 1 , 'getParameter' : 1 , 'getProgramInfoLog' : 1 , 'getShaderInfoLog' : 1 , 'getShaderSource' : 1 , 'isBuffer' : 1 , 'isEnabled' : 1 , 'isFramebuffer' : 1 , 'isProgram' : 1 , 'isRenderbuffer' : 1 , 'isShader' : 1 , 'isTexture' : 1 , 'lineWidth' : 1 , 'linkProgram' : 1 , 'stencilMask' : 1 , 'useProgram' : 1 , 'validateProgram' : 1 , 'deleteQuery' : 1 , 'isQuery' : 1 , 'deleteVertexArray' : 1 , 'bindVertexArray' : 1 , 'isVertexArray' : 1 , 'drawBuffers' : 1 , 'readBuffer' : 1 , 'endQuery' : 1 , 'deleteSampler' : 1 , 'isSampler' : 1 , 'isSync' : 1 , 'deleteSync' : 1 , 'deleteTransformFeedback' : 1 , 'isTransformFeedback' : 1 , 'beginTransformFeedback' : 1 ,
520
- 'attachShader' : 2 , 'bindBuffer' : 2 , 'bindFramebuffer' : 2 , 'bindRenderbuffer' : 2 , 'bindTexture' : 2 , 'blendEquationSeparate' : 2 , 'blendFunc' : 2 , 'depthRange' : 2 , 'detachShader' : 2 , 'getActiveAttrib' : 2 , 'getActiveUniform' : 2 , 'getAttribLocation' : 2 , 'getBufferParameter' : 2 , 'getProgramParameter' : 2 , 'getRenderbufferParameter' : 2 , 'getShaderParameter' : 2 , 'getShaderPrecisionFormat' : 2 , 'getTexParameter' : 2 , 'getUniform' : 2 , 'getUniformLocation' : 2 , 'getVertexAttrib' : 2 , 'getVertexAttribOffset' : 2 , 'hint' : 2 , 'pixelStorei' : 2 , 'polygonOffset' : 2 , 'sampleCoverage' : 2 , 'shaderSource' : 2 , 'stencilMaskSeparate' : 2 , 'uniform1f' : 2 , 'uniform1fv' : 2 , 'uniform1i' : 2 , 'uniform1iv' : 2 , 'uniform2fv' : 2 , 'uniform2iv' : 2 , 'uniform3fv' : 2 , 'uniform3iv' : 2 , 'uniform4fv' : 2 , 'uniform4iv' : 2 , 'vertexAttrib1f' : 2 , 'vertexAttrib1fv' : 2 , 'vertexAttrib2fv' : 2 , 'vertexAttrib3fv' : 2 , 'vertexAttrib4fv' : 2 , 'vertexAttribDivisor' : 2 , 'beginQuery' : 2 , 'invalidateFramebuffer' : 2 , 'getFragDataLocation' : 2 , 'uniform1ui' : 2 , 'uniform1uiv' : 2 , 'uniform2uiv' : 2 , 'uniform3uiv' : 2 , 'uniform4uiv' : 2 , 'vertexAttribI4iv' : 2 , 'vertexAttribI4uiv' : 2 , 'getQuery' : 2 , 'getQueryParameter' : 2 , 'bindSampler' : 2 , 'getSamplerParameter' : 2 , 'fenceSync' : 2 , 'getSyncParameter' : 2 , 'bindTransformFeedback' : 2 , 'getTransformFeedbackVarying' : 2 , 'getIndexedParameter' : 2 , 'getUniformIndices' : 2 , 'getUniformBlockIndex' : 2 , 'getActiveUniformBlockName' : 2 ,
521
- 'bindAttribLocation' : 3 , 'bufferData' : 3 , 'bufferSubData' : 3 , 'drawArrays' : 3 , 'getFramebufferAttachmentParameter' : 3 , 'stencilFunc' : 3 , 'stencilOp' : 3 , 'texParameterf' : 3 , 'texParameteri' : 3 , 'uniform2f' : 3 , 'uniform2i' : 3 , 'uniformMatrix2fv' : 3 , 'uniformMatrix3fv' : 3 , 'uniformMatrix4fv' : 3 , 'vertexAttrib2f' : 3 , 'getBufferSubData' : 3 , 'getInternalformatParameter' : 3 , 'uniform2ui' : 3 , 'uniformMatrix2x3fv' : 3 , 'uniformMatrix3x2fv' : 3 , 'uniformMatrix2x4fv' : 3 , 'uniformMatrix4x2fv' : 3 , 'uniformMatrix3x4fv' : 3 , 'uniformMatrix4x3fv' : 3 , 'clearBufferiv' : 3 , 'clearBufferuiv' : 3 , 'clearBufferfv' : 3 , 'samplerParameteri' : 3 , 'samplerParameterf' : 3 , 'clientWaitSync' : 3 , 'waitSync' : 3 , 'transformFeedbackVaryings' : 3 , 'bindBufferBase' : 3 , 'getActiveUniforms' : 3 , 'getActiveUniformBlockParameter' : 3 , 'uniformBlockBinding' : 3 ,
522
- 'blendColor' : 4 , 'blendFuncSeparate' : 4 , 'clearColor' : 4 , 'colorMask' : 4 , 'drawElements' : 4 , 'framebufferRenderbuffer' : 4 , 'renderbufferStorage' : 4 , 'scissor' : 4 , 'stencilFuncSeparate' : 4 , 'stencilOpSeparate' : 4 , 'uniform3f' : 4 , 'uniform3i' : 4 , 'vertexAttrib3f' : 4 , 'viewport' : 4 , 'drawArraysInstanced' : 4 , 'uniform3ui' : 4 , 'clearBufferfi' : 4 ,
523
- 'framebufferTexture2D' : 5 , 'uniform4f' : 5 , 'uniform4i' : 5 , 'vertexAttrib4f' : 5 , 'drawElementsInstanced' : 5 , 'copyBufferSubData' : 5 , 'framebufferTextureLayer' : 5 , 'renderbufferStorageMultisample' : 5 , 'texStorage2D' : 5 , 'uniform4ui' : 5 , 'vertexAttribI4i' : 5 , 'vertexAttribI4ui' : 5 , 'vertexAttribIPointer' : 5 , 'bindBufferRange' : 5 ,
524
- 'texImage2D' : 6 , 'vertexAttribPointer' : 6 , 'invalidateSubFramebuffer' : 6 , 'texStorage3D' : 6 , 'drawRangeElements' : 6 ,
525
- 'compressedTexImage2D' : 7 , 'readPixels' : 7 , 'texSubImage2D' : 7 ,
526
- 'compressedTexSubImage2D' : 8 , 'copyTexImage2D' : 8 , 'copyTexSubImage2D' : 8 , 'compressedTexImage3D' : 8 ,
527
- 'copyTexSubImage3D' : 9 ,
528
- 'blitFramebuffer' : 10 , 'texImage3D' : 10 , 'compressedTexSubImage3D' : 10 ,
529
- 'texSubImage3D' : 11 } ,
530
-
531
518
hookWebGLFunction : function ( f , glCtx ) {
532
519
var realf = 'real_ ' + f ;
533
520
glCtx [ realf ] = glCtx [ f ] ;
534
- var numArgs = GL . webGLFunctionLengths [ f ] ; // On Firefox & Chrome, could do " glCtx[realf].length", but that doesn't work on Edge, which always reports 0.
521
+ var numArgs = glCtx [ realf ] . length ;
535
522
if ( numArgs === undefined ) console . warn ( 'Unexpected WebGL function ' + f + ' when binding TRACE_WEBGL_CALLS' ) ;
536
523
var contextHandle = glCtx . canvas . GLctxObject . handle ;
537
524
var threadId = ( typeof _pthread_self !== 'undefined' ) ? _pthread_self : function ( ) { return 1 ; } ;
0 commit comments