396 Commits

Author SHA1 Message Date
Robert Plummer
c09e0b6325 fix: Merge master in, bump, and build 2020-08-25 14:06:40 -04:00
Robert Plummer
bee71782fe feat: Experimental internally defined matrixes 2020-08-25 14:04:39 -04:00
Robert Plummer
e8202a69ea fix: Mixing var and let/const contexts 2020-05-02 11:50:53 -04:00
Robert Plummer
4d2f27e596 fix: #590 add Kernel.onActivate
- which is called after gpu.js switches kernels based off need
fix: Consistent error message for values that are not defined
fix: Add recompiled kernels to gpu.js kernels property and test
fix: Move texture deleting to within the GLKernel Texture implementation
fix: Add Texture.clear as an abstract method on the base Texture
fix: Bump and build
2020-04-01 08:24:49 -04:00
Robert Plummer
7e62639033 fix: #585 check for inaccurate results for very small kernel
fix: #585 add features.isSpeedTacticSupported and tests
2020-03-30 08:21:09 -04:00
Robert Plummer
1955ad3500 fix: #586 2020-03-24 07:53:57 -04:00
Robert Plummer
61dfe8a46a fix: #572 excessive calls, reuse textures
feat: introduce WebGL._replaceOutputTexture and WebGL._replaceSubOutputTextures to cut down on resource usage
feat: All supportable Math.methods added
fix: Safari not able to render texture arguments
feat: CPU gets a pipeline that acts like GPU with/without immutable
2020-03-22 17:29:26 -04:00
Robert Plummer
772eaec5a8 fix: Build 2020-03-20 08:35:40 -04:00
Robert Plummer
a37fe28818 fix: Memory leaks on build if called more than once 2020-03-20 08:27:24 -04:00
Robert Plummer
8cfbf0cad7 fix: Clearing cloned textures produces new internal copy when multi references 2020-03-16 10:59:04 -04:00
Robert Plummer
6df34b3a90 fix: Don't call beforeMutate if immutable and unit test 2020-03-16 08:40:04 -04:00
Robert Plummer
f88d92cc40 feat: Bring back kernel.immutable and kernel.setImmutable() with defaults to false
Along with tests and documentation on which versions are affected.  Sorry for the inconvenience!
feat: Add more advanced-typescript.ts
fix: Alter documentation mentioning v2
fix: Example of fluid.html, to use `immutable`
2020-03-11 07:36:50 -04:00
Robert Plummer
3fe63f6db3 feat: Add texture.empty() support and tests 2020-03-10 16:16:13 -04:00
Robert Plummer
54518beecd fix: Add missing Math.tanh support and test 2020-03-09 05:46:34 -04:00
Robert Plummer
9286f5669d fix: Move argument sanitization to when writing strings only 2020-02-16 15:58:24 -05:00
Robert Plummer
3cc8987d79 fix: Underscore and test, version bump, and code coverage command
ty c8!
2020-02-16 14:38:33 -05:00
Robert Plummer
b69644c17a fix: Use case of CallExpression
in WebGL.astCallExpression
2020-02-11 08:12:45 -05:00
Robert Plummer
5a6d817d77 fix: #519 funny names from minification and upgrade typescript
So c35717e3b4 is properly supported.
2020-01-23 07:20:40 -05:00
Robert Plummer
b2c9051f7e fix: #534 2020-01-21 08:17:02 -05:00
Robert Plummer
db54434166 fix: Modulo performance and simplify tests
fix: Modulo negatives
fix: Modulo accuracy issue on OSX with `integerCorrectionModulo`
fix: Follow naming convention `div_with_int_check` to `divWithIntCheck`
fix: Member expression with function
fix: CPU variable assignment
fix: `gpu.addFunction` needed to be before createKernel and documentation
fix: mandelbulb.html from above .addFunction
2020-01-21 07:37:48 -05:00
Robert Plummer
16bed1596e fix: If already an IGPUFunction don't convert to one 2020-01-19 07:47:05 -05:00
Robert Plummer
de98b0102d feat: Finish HTMLCanvas input from PR https://github.com/gpujs/gpu.js/pull/566
fix: #567
fix: #569
fix: #568
fix: #565
fix: #564
2020-01-18 08:42:09 -05:00
Robert Plummer
254b06791f feat: Handle ++ in function-tracer.js
This is in favor of using for loop variable position tracking, which is removed.
feat: Removal of no longer needed `warnVarUsage`
feat: If ternary returns void, use if statement in webgl
fix: Update documentation and clarify variable declarations
  Officially support private functions - WOOHOO!
2020-01-14 07:01:23 -05:00
Robert Plummer
cd0b417c67 fix: #552 remove incorrect texture size checks
fix: texture.renderRawOutput to use existing framebuffer, or make it so it can be deleted
fix: glKernelString to handle the framebuffer from texture.renderRawOutput
fix: WebGLKernelArray.checkSize so display error for all three scenarios
  1. width too big
  2. height too big
  3. width and height too big
2020-01-08 07:13:37 -05:00
Robert Plummer
bdcdf8c98a fix: Remove unneeded file 2020-01-06 13:40:33 -05:00
Robert Plummer
03972cc1fa fix: #553 call gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); on every texture type and add unit tests
fix: Framebuffer loss after texture is deleted
fix: Split up array and primitive (index.js) types of KernelValues and introduce .setup()
  * This was needed to handle .toArray() from the fix from #553
fix: Performance fix, define texture types in `kernelValue.setup()`, rather than on every `kernelValue.updateValue()`
2020-01-06 13:36:00 -05:00
Robert Plummer
316e35a3a1 fix: #559 (line 16 of kernel-run-shortcut.js)
fix: Slight memory leak, and loss of first kernel when switching kernels
fix: Feed `value.constructor` to `this.onUpdateValueMismatch()` where it was missing
2020-01-02 19:48:13 -05:00
Robert Plummer
78b6e301c4 fix: #556 upgrade acorn, and handle function() {} syntax 2020-01-02 13:03:46 -05:00
Robert Plummer
ef17f8f41d fix: #556 followup fix, not all declared types need to be integers 2020-01-02 12:28:17 -05:00
Robert Plummer
fbb853865a fix: #556 & tests and ensure OffscreenCanvas gets GPU
Make unsafe when meets the qualification and warn
2019-12-27 16:37:14 -05:00
Robert Plummer
83641519dd fix: Rename Texture.texture.refs to more private Texture.texture._refs
fix: Create framebuffer for internal texture, and not per GPU Texture
fix: Set window.GPU by use of getter, and have no setter
2019-12-27 08:20:00 -05:00
Robert Plummer
a3c930d583 fix: Memory recycling bug, and remove no longer needed renderStrategy
Also cleanup documentation a bit
2019-12-25 09:10:56 -05:00
Robert Plummer
6e2f1dacde feat: Cleanup and bring texture recycling to webgl2, and add unit test 2019-12-22 17:41:29 -05:00
Robert Plummer
d221e974dd fix: Experiment with end to end working strategy and unit tests 2019-12-20 12:28:23 -05:00
Robert Plummer
ed1cd94448 feat: Added features and fixes for the following issues:
...it kind of snowballed from some needs
Fixes #521 - If `tactic` is not set, check precision allowed from WebGL, and automatically change based off needs, otherwise use value from `tactic`.
Fixes #535 - Internally check if texture from argument is the same as output, if so, clone this texture, and then clean it up after the kernel runs.
Fixes #536 - Normalize all declarations to non-destructured, and then parse
Fixes #537 - Change logic
Fixes #538 - Found the GL script that would work, and reduced the methods to use it
Fixes #539 - Found a better way of testing random, and this gives me an error for 1 in 10 runs, acceptable

Some refactoring for less duplicate code and documentation
2019-11-26 10:55:28 -05:00
Robert Plummer
67f3b3c8ad fix: Allow false for removeIstanbulCoverage 2019-10-30 16:55:51 -04:00
Robert Plummer
c4f6a1b687
Merge pull request #528 from gpujs/524-coverage-compatibility
524 coverage compatibility
2019-10-29 17:49:56 -04:00
Robert Plummer
a1b80b7204
Merge pull request #527 from gpujs/523-texture-memory
fix: #523 cleanup texture memory
2019-10-29 17:48:48 -04:00
Robert Plummer
27dea69171
Merge pull request #526 from gpujs/498-uniformly-distributed
498 uniformly distributed
2019-10-29 17:47:46 -04:00
Robert Plummer
0841724e13 fix: Add missing test 2019-10-29 10:44:26 -04:00
Robert Plummer
c338399431 fix: #523 cleanup texture memory 2019-10-29 10:41:40 -04:00
Robert Plummer
29e2dd25c4 fix: #524 allow for coverage 2019-10-29 10:39:00 -04:00
Robert Plummer
b98798b573 fix: Use uniformly distributed rather than triangle for random
fix: Rename plugin files for better identification
2019-10-18 07:20:03 -04:00
Robert Plummer
ab75103032 feat: Add texture.clone() support and tests
feat: Upgrade gpu-mock.js
fix: Typescript `Texture` definition
fix: Typescript JSON definition
fix: Some internal documentation
fix: Some removal of unused or duplicate code
2019-10-13 16:06:30 -04:00
Robert Plummer
33a23958a6 fix: Add nested custom function support 2019-10-11 07:28:02 -04:00
Robert Plummer
c7df01e66f fix: #514 fix and upgrade tests to detect behaviour
fix: Documentation for what types are and are not tracked
fix: Added documentation for testing and building
fix: Some destructuring
2019-10-08 10:29:54 -04:00
Robert Plummer
045b470280 fix: Remove unneeded files 2019-10-02 21:36:32 -04:00
Robert Plummer
cab4d033bc fix: Fix #512, upgrade gl-wiretap and fix some .toString()
Also fix default dynamicOutput = true, it should be false
Also add .DS_Store to .gitignore
Also update package-lock.json
Also fix some unit tests that deal with dynamic output
Also add `setDynamicOutput` and `setDynamicArguments` to typescript
Also fix issue where `uOutputDim` needs `Int32Array` in `.toString()`
Also added some spaces for `.toString()` to look more pretty
2019-10-02 21:34:20 -04:00
Robert Plummer
d01a0d5c62 fix: add missing test 2019-09-25 11:07:26 -04:00
Robert Plummer
4dba2e7352 fix: Remove unneeded line 2019-09-24 10:39:17 -04:00