404 Commits

Author SHA1 Message Date
Robert Plummer
7bc4992610 fix: OffscreenCanvas, ImageBitmap, and ImageData throws 2022-03-28 10:34:23 -04:00
Robert Plummer
8dcd0546b6 feat: Read from ImageData
And tests and docs
2022-01-26 17:12:49 -05:00
Robert Plummer
5622b0127b feat: Read from ImageBitmap
Also fixed CPU processing of OffscreenCanvas
2022-01-26 16:28:14 -05:00
Robert Plummer
8a7babaf00 feat: Read from OffscreenCanvas
And unit tests
2022-01-26 15:35:04 -05:00
Robert Plummer
3be597da99 Merge branch 'master' into develop 2021-01-19 11:20:53 -05:00
David Tittsworth
40a83eccfa Added a fix for a crash when using a pipeline kernel and a constant texture 2021-01-18 08:09:26 -08:00
Robert Plummer
7e3fa3acb0 feat: Removal of istanbul handling
https://github.com/gotwarlost/istanbul/issues/922 & https://github.com/istanbuljs/istanbuljs/issues/499
2021-01-05 15:57:15 -05:00
Robert Plummer
e3fd163505 fix: Ensure arguments are targeted correctly
fix: Added a missing jsdoc
2020-12-02 15:16:35 -05:00
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