diff --git a/src/backend/cpu/function-builder.js b/src/backend/cpu/function-builder.js index c7e53cd8..8e996ddf 100644 --- a/src/backend/cpu/function-builder.js +++ b/src/backend/cpu/function-builder.js @@ -1,3 +1,5 @@ +'use strict'; + const FunctionBuilderBase = require('../function-builder-base'); const CPUFunctionNode = require('./function-node'); diff --git a/src/backend/cpu/function-node.js b/src/backend/cpu/function-node.js index 9e59ea1d..1a07af30 100644 --- a/src/backend/cpu/function-node.js +++ b/src/backend/cpu/function-node.js @@ -1,3 +1,5 @@ +'use strict'; + const BaseFunctionNode = require('../function-node-base'); /** diff --git a/src/backend/cpu/kernel-string.js b/src/backend/cpu/kernel-string.js index 71e36a30..4b1d1cb1 100644 --- a/src/backend/cpu/kernel-string.js +++ b/src/backend/cpu/kernel-string.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../../core/utils'); const kernelRunShortcut = require('../kernel-run-shortcut'); diff --git a/src/backend/cpu/kernel.js b/src/backend/cpu/kernel.js index 21f5282f..b9d30fdb 100644 --- a/src/backend/cpu/kernel.js +++ b/src/backend/cpu/kernel.js @@ -1,3 +1,5 @@ +'use strict'; + const KernelBase = require('../kernel-base'); const utils = require('../../core/utils'); const kernelString = require('./kernel-string'); diff --git a/src/backend/cpu/runner.js b/src/backend/cpu/runner.js index 1e534250..74b74fc3 100644 --- a/src/backend/cpu/runner.js +++ b/src/backend/cpu/runner.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../../core/utils'); const RunnerBase = require('../runner-base'); const CPUKernel = require('./kernel'); diff --git a/src/backend/function-builder-base.js b/src/backend/function-builder-base.js index d4899891..a1e4200b 100644 --- a/src/backend/function-builder-base.js +++ b/src/backend/function-builder-base.js @@ -1,3 +1,5 @@ +'use strict'; + module.exports = class FunctionBuilderBase { /** diff --git a/src/backend/function-node-base.js b/src/backend/function-node-base.js index cca73ff2..2c71dd01 100644 --- a/src/backend/function-node-base.js +++ b/src/backend/function-node-base.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../core/utils'); const parser = require('../core/parser').parser; diff --git a/src/backend/kernel-base.js b/src/backend/kernel-base.js index b259ee0b..68c3551a 100644 --- a/src/backend/kernel-base.js +++ b/src/backend/kernel-base.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../core/utils'); module.exports = class BaseKernel { diff --git a/src/backend/kernel-run-shortcut.js b/src/backend/kernel-run-shortcut.js index fc7b531a..a8c6ac79 100644 --- a/src/backend/kernel-run-shortcut.js +++ b/src/backend/kernel-run-shortcut.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../core/utils'); module.exports = function kernelRunShortcut(kernel) { diff --git a/src/backend/runner-base.js b/src/backend/runner-base.js index 4dda7fa6..06d04990 100644 --- a/src/backend/runner-base.js +++ b/src/backend/runner-base.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../core/utils'); const kernelRunShortcut = require('./kernel-run-shortcut'); diff --git a/src/backend/web-gl/function-builder.js b/src/backend/web-gl/function-builder.js index 48b404ef..c8f49943 100644 --- a/src/backend/web-gl/function-builder.js +++ b/src/backend/web-gl/function-builder.js @@ -1,3 +1,5 @@ +'use strict'; + const FunctionBuilderBase = require('../function-builder-base'); const WebGLFunctionNode = require('./function-node'); const utils = require('../../core/utils'); diff --git a/src/backend/web-gl/function-node.js b/src/backend/web-gl/function-node.js index e1aef0d4..f872b163 100644 --- a/src/backend/web-gl/function-node.js +++ b/src/backend/web-gl/function-node.js @@ -1,3 +1,5 @@ +'use strict'; + const FunctionNodeBase = require('../function-node-base'); const utils = require('../../core/utils'); // Closure capture for the ast function, prevent collision with existing AST functions diff --git a/src/backend/web-gl/kernel-string.js b/src/backend/web-gl/kernel-string.js index 46d8db9f..720e5cbd 100644 --- a/src/backend/web-gl/kernel-string.js +++ b/src/backend/web-gl/kernel-string.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('../../core/utils'); const kernelRunShortcut = require('../kernel-run-shortcut'); diff --git a/src/backend/web-gl/kernel.js b/src/backend/web-gl/kernel.js index 50fdfb6b..4c606f68 100644 --- a/src/backend/web-gl/kernel.js +++ b/src/backend/web-gl/kernel.js @@ -1,3 +1,5 @@ +'use strict'; + const fs = require('fs'); const KernelBase = require('../kernel-base'); const utils = require('../../core/utils'); diff --git a/src/backend/web-gl/runner.js b/src/backend/web-gl/runner.js index 373a03c3..64b31516 100644 --- a/src/backend/web-gl/runner.js +++ b/src/backend/web-gl/runner.js @@ -1,3 +1,5 @@ +'use strict'; + const RunnerBase = require('../runner-base'); const WebGLKernel = require('./kernel'); const utils = require('../../core/utils'); diff --git a/src/backend/web-gl/validator-kernel.js b/src/backend/web-gl/validator-kernel.js index da498258..0de87df2 100644 --- a/src/backend/web-gl/validator-kernel.js +++ b/src/backend/web-gl/validator-kernel.js @@ -1,3 +1,5 @@ +'use strict'; + const WebGLKernel = require('./kernel'); const utils = require('../../core/utils'); diff --git a/src/core/alias.js b/src/core/alias.js index c6c6b2db..39a60afb 100644 --- a/src/core/alias.js +++ b/src/core/alias.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('./utils'); module.exports = function alias(name, fn) { const fnString = fn.toString(); diff --git a/src/core/gpu-core.js b/src/core/gpu-core.js index a875fdcf..4cf1d56b 100644 --- a/src/core/gpu-core.js +++ b/src/core/gpu-core.js @@ -1,3 +1,5 @@ +'use strict'; + const UtilsCore = require("./utils-core"); /** diff --git a/src/core/gpu.js b/src/core/gpu.js index f5c8e40b..b5fe2410 100644 --- a/src/core/gpu.js +++ b/src/core/gpu.js @@ -1,3 +1,5 @@ +'use strict'; + const utils = require('./utils'); const WebGLRunner = require('../backend/web-gl/runner'); const CPURunner = require('../backend/cpu/runner'); diff --git a/src/core/texture.js b/src/core/texture.js index 467f4b9e..22eadd89 100644 --- a/src/core/texture.js +++ b/src/core/texture.js @@ -1,3 +1,5 @@ +'use strict'; + let gpu = null; module.exports = class Texture { diff --git a/src/core/utils-core.js b/src/core/utils-core.js index 67b25642..b6896ed3 100644 --- a/src/core/utils-core.js +++ b/src/core/utils-core.js @@ -1,3 +1,5 @@ +'use strict'; + /** * * @desc Reduced subset of Utils, used exclusively in gpu-core.js @@ -216,10 +218,16 @@ class UtilsCore { const _isCanvasSupported = typeof document !== 'undefined' ? UtilsCore.isCanvas(document.createElement('canvas')) : false; const _testingWebGl = UtilsCore.initWebGl(UtilsCore.initCanvas()); const _isWebGlSupported = UtilsCore.isWebGl(_testingWebGl); -const _isWebGlDrawBuffersSupported = Boolean(_testingWebGl.getExtension('WEBGL_draw_buffers')); +const _isWebGlDrawBuffersSupported = _isWebGlSupported && Boolean(_testingWebGl.getExtension('WEBGL_draw_buffers')); -UtilsCore.OES_texture_float = _testingWebGl.OES_texture_float; -UtilsCore.OES_texture_float_linear = _testingWebGl.OES_texture_float_linear; -UtilsCore.OES_element_index_uint = _testingWebGl.OES_element_index_uint; +if (_isWebGlSupported) { + UtilsCore.OES_texture_float = _testingWebGl.OES_texture_float; + UtilsCore.OES_texture_float_linear = _testingWebGl.OES_texture_float_linear; + UtilsCore.OES_element_index_uint = _testingWebGl.OES_element_index_uint; +} else { + UtilsCore.OES_texture_float = false; + UtilsCore.OES_texture_float_linear = false; + UtilsCore.OES_element_index_uint = false; +} module.exports = UtilsCore; \ No newline at end of file diff --git a/src/core/utils.js b/src/core/utils.js index a6ff231d..0f38e985 100644 --- a/src/core/utils.js +++ b/src/core/utils.js @@ -1,3 +1,5 @@ +'use strict'; + /** * * @classdesc Various utility functions / snippets of code that GPU.JS uses internally.\ diff --git a/src/index-core.js b/src/index-core.js index ce57cf40..37d75529 100644 --- a/src/index-core.js +++ b/src/index-core.js @@ -1,10 +1,12 @@ +'use strict'; + const GPUCore = require("./core/gpu-core"); if (typeof module !== 'undefined') { module.exports = GPUCore; } if (typeof window !== 'undefined') { window.GPUCore = GPUCore; - if(window.GPU == null) { + if(window.GPU === null) { window.GPU = GPUCore; } } \ No newline at end of file diff --git a/src/index.js b/src/index.js index b22c9c89..c8a03bf0 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,5 @@ +'use strict'; + const GPU = require('./core/gpu'); const alias = require('./core/alias'); const utils = require('./core/utils');