1113 Commits

Author SHA1 Message Date
Robert Plummer
bccc5c0923 fix: build 2.0.2 2019-09-25 10:15:13 -04:00
Robert Plummer
92def8cb00 fix: #485 and remove unused method 2019-09-25 10:14:53 -04:00
Robert Plummer
4dba2e7352 fix: Remove unneeded line 2.0.1 2019-09-24 10:39:17 -04:00
Robert Plummer
354c2014ee fix: A few broken unit test for node 2019-09-24 10:38:52 -04:00
Robert Plummer
83cedd89a7 fix: Unit tests for #500, #501, #502, #503, #504
fix: typescript to include video and KernelValues
fix: Duplicate image in unit test
fix: Bump and build
2019-09-24 10:22:16 -04:00
Robert Plummer
10c0349e16 fix: Unhandled "ConditionalExpression" 2019-09-24 10:19:51 -04:00
Robert Plummer
c35fe823c9 fix: #501 check all ast's for thruthy before proceeding
Remove where there is a check, to simplify code
Add "ContinueStatement"
Reorder some of the cases for less duplication
2019-09-24 10:19:25 -04:00
Robert Plummer
622e32b73a fix: Fix #504 missing HTML for functions 2019-09-24 10:17:13 -04:00
Robert Plummer
80a000e287 fix: #500 remove ArgumentSynonym "feature", and simply pass around bit ratio 2019-09-24 10:14:59 -04:00
Robert Plummer
34f4670530 fix: #503 handle size checks for KernelValues and output texture size 2019-09-24 10:12:34 -04:00
Robert Plummer
a0d4970a06 fix: #502 handle video on cpu mode 2019-09-24 09:38:24 -04:00
Robert Plummer
2bc76ad82d feat: Video input, injectNative, tests.
v2.0.0 Cosmic Jellyfish
2.0.0
2019-09-17 10:51:53 -04:00
Robert Plummer
56e673a364 fix: Bump gl version to modern, more performant version 2.0.0-rc.27 2019-09-09 19:56:29 -04:00
Robert Plummer
61c15cfa8c fix: Documentation fixes 2.0.0-rc.26 2019-08-23 11:01:38 -04:00
Robert Plummer
80f1ec009c fix: Remove duplicate code sample, and fix vertex artifacts in webgl2
feat: use speed tactic in fluid dynamics
2019-08-23 10:30:50 -04:00
Robert Plummer
6eafe70f8e feat: add tactic feature
To switch internally from `lowp`, to `mediump`, or `highp`.
Also added unit tests.
2019-08-23 10:19:54 -04:00
Robert Plummer
75895512e4 fix: dev mode for adding functions
fix: dev mode kernel to be added to GPU.kernels
fix: Array switching with array type is not defined in single precision mode
fix: GPU.destroy when no context is set
2.0.0-rc.25
2019-08-06 16:14:05 -04:00
Robert Plummer
fe9b801c96
Merge pull request #481 from voodoo11/develop
missing type annotation
2019-07-29 16:07:51 -04:00
Robert Plummer
4260a345c7 fix: #493, and add setStrictIntegers to typescript def
fix: Remove repeated literal `${ast.start},${ast.end}`, in favor of var
2.0.0-rc.24
2019-07-29 16:06:17 -04:00
Robert Plummer
21b9e3b759 fix: Shorten up kernelRunShortcut
fix: Update typescript definitions
fix: `GPU.createKernel`'s `onRequestFallback` to switch kernels entirely so the fallback doesn't continue to happen over and over
fix: `GPU.createKernel`'s `onRequestFallback` to use `argumentTypes`
fix: Minification
fix: examples to use minification
fix: Fix kernel string to support `Array1D(2|3|4)` and `Array3D(2|3|4)`
fix: `lookupKernelValueType` to as well get type, to make lookup easier for `Texture`s
fix: `Kernel` to properly build `this.kernelArguments` and `this.kernelConstants`
fix: `KernelValue` to get its type from `value.type` if it exists
fix: `@returns` keyword in favor of `@return` in some places
fix: DoxDox documentation issue
fix: Remove old reference to "Automatically-built Documentation", no longer applicable
fix: Bump and build
2.0.0-rc.23
2019-07-26 14:57:36 -04:00
Robert Plummer
86af54efef fix: Node support for v8+
fix: Move `make` cli command to gulp so it runs in parallel
fix: Add official support for `Array1D(2|3|4)`, `Array2D(2|3|4)`, and `Array3D(2|3|4)` and unit tests
fix: Add offical support for `Array(2)`, `Array(3)`, and `Array(4)` and unit tests
fix: Mandelbulb constant used a constant, so moved to appropriate location
fix: Failing unit test for Safari
fix: When not falling back in HeadlessGL, call `STACKGL_resize_drawingbuffer`
fix: Remove `xyz` variable from glsl
fix: Add `uniform4fv` and `uniform4iv` to WebGL implementation
fix: Check for kernel settings `constantTypes` and `argumentTypes`
fix: Inherit type from kernel in KernelValue constructors
fix: Add some typescript details for `GPUVariableType`, `IKernelSettings`, and `ITypesList`
fix: Add support for 4d array in `utils.getMemoryOptimizedFloatTextureSize` for the special use case of `Array3D(2|3|4)`
fix: Add `utils.flatten4dArrayTo` for the special use case of `Array3D(2|3|4)`
fix: Add support for 4d array in `utils.flattenTo`
fix: Bump and build
2.0.0-rc.22
2019-07-24 12:56:05 -04:00
Robert Plummer
5605504d92 fix: Upgrade gpu-mock.js to latest 100% code coverage tested
fix: Added tests for building kernels with "dev" mode
feat: Added a `.toArray()` method on `Input`, for usage with "dev" mode
fix: `Input.size` to reflect exactly what was sent in, rather than make up dimensions that aren't there
fix: `KernelArgument.dimensions` to fill in missing dimensions from size
fix: Only safe declarations when using a literal
2.0.0-rc.21
2019-07-11 13:18:33 -04:00
Robert Plummer
82832902cc fix: Move jellyfish images to actual files
fix: added `warnVarUsage` and `Dealing With Transpilation`
fix: Test dynamic arguments and provide some fixes for
fix: Dynamic arguments for `CPUFunctionNode`
fix: Dynamic arguments for `WebGLKernelValueDynamicHTMLImage`, `WebGLKernelValueDynamicNumberTexture`, `WebGLKernelValueDynamicSingleInput`, `WebGL2KernelValueDynamicHTMLImage`, `WebGL2KernelValueDynamicNumberTexture`, and `WebGL2KernelValueDynamicSingleInput`
fix: `onRequestFallback` settings in `createKernel` and `createKernel` inclusion of `loopMaxIterations`, `dynamicOutput`, and `dynamicArgument` in settings for when switching kernels
fix: `WebGL2Kernel` and `HeadlessGLKernel` typescript definition extensions
2.0.0-rc.20
2019-07-05 11:03:25 -04:00
Robert Plummer
f46a50d55c fix: Correct wording for validateSettings errors and use Error instance in CPU Kernel
fix: Add missing precision for `sampler2DArray` in WebGL2 fragment shader
fix: Add validateSettings in typings file
fix: offscreen-canvas.js broken test from bin to dist move
fix: Fix typings Kernel hierarchy
fix: Bump and build
2.0.0-rc.19
2019-07-02 12:18:16 -04:00
Robert Plummer
8aac6ab2e2 fix: Failing unit test 2.0.0-rc.18 2019-06-29 10:11:29 -04:00
Robert Plummer
e9bdc31a18 fix: Examples file reference
fix: move `GLKernel.fixIntegerDivisionAccuracy` to `Kernel.fixIntegerDivisionAccuracy` as it has to do with typing
fix: FunctionTracer 'ConditionalExpression' needed `ast.test`
test: Add test for FunctionTracer 'ConditionalExpression' `ast.test` usage
fix: division type handling with `Kernel.fixIntegerDivisionAccuracy` true
test: Add test for division handling with and without `Kernel.fixIntegerDivisionAccuracy` true
2019-06-29 10:07:29 -04:00
Robert Plummer
7771b52ceb fix: Bump, build, and correct folders 2019-06-27 13:45:09 -04:00
Robert Plummer
85d64e9f52
Merge pull request #486 from tmcw/browser-compatibility
Browser compatibility
2019-06-27 13:41:35 -04:00
Tom MacWright
e4c2b34104 Browser compatibility
This allows downstream consumers to use GPU.js with requirejs,
d3-require, unpkg, jsdelivr, and probably some other systems. The main
changes:

- Set { standalone: 'UMD' } in browserify configuration. This makes it
  publish a UMD build that exposes a 'UMD' export or global for
  CommonJS, require, and AMD.
- Move bin/ to dist/, because these are properly distribution files
  rather than binaries.
- Update tests to point to the dist/ version.
- Simplify browser.js to always export, because it is not the
  recommended entry point for any browser.
- Add unpkg and jsdelivr fields to package.json so that those CDNs
  automatically pick up on the right file when someone tries to include
  from them.
2019-06-26 14:14:40 -07:00
Robert Plummer
1c820a7724 fix: Deep types and tests to lookup arguments BEFORE return types
fix: Error messages when on single line
fix: Bump and build
2.0.0-rc.17
2019-06-24 21:11:20 -04:00
Robert Plummer
19b2fa45e9 fix: Url typo 2019-06-20 10:14:08 -04:00
Robert Plummer
914bae02ea fix: #483 Handle and test Int32Array, Int16Array, and Int8Array transfer types
feat: Allow for arrow functions as kernels
fix: Deep types where the argument contains a function call, and test
fix: Only set argument type if it isn't already set
fix: Bump version and build
fix: Add Sponsorship from browser-stack
2.0.0-rc.16
2019-06-20 10:11:12 -04:00
Robert Plummer
7bcfbed234 feat: Pre type check with FunctionTracer
feat: Add cat demo
feat: Type check even on CPU
fix: ArrayTexture support as arguments for internal arrays
fix: Typo from "Interger" to "Integer"
feat: Bump and build version number
2.0.0-rc.15
2019-06-17 18:00:36 -04:00
Jakub Kowalski
c8f0227561 missing type annotation 2019-06-07 12:24:03 +02:00
Robert Plummer
3361ec8235 feat: Another example as a visual end to end test 2019-06-04 19:45:17 -04:00
Robert Plummer
57263681bc
Merge pull request #480 from gpujs/rc-14-cleanup
Rc 14 cleanup
2.0.0-rc.14
2019-06-03 19:33:34 -04:00
Robert Plummer
27f4efb8d9 fix: Proper kernel.toString() unit tests (good grief, so many!) for CPU and GPU
feat: `switch` statements
feat: `kernel.toString()` has as well `.getPixels()`
fix: Proper fallback when arguments or constants are not supported
fix: Removal of infamous `|| 'Number'` for argument types and return types
fix: detect circlical logic in `FunctionBuilder.lookupReturnType()` and tests
fix: Allow subKernels to get their type detected as well
fix: `FunctionNode`'s `typeLookupMap` didn't have 'Float' or 'Integer'
feat: Turn off context checking in kernel, via `{ checkContext: false }`, used for `kernel.toString()`
fix: `GPU.upgradeDeprecatedCreateKernelSettings` to have a default return value
fix: Typings
fix: `kernelRunShortcut()` to better switch kernel when replacing
feat: It order to flatten methods, for `kernel.toString()` `utils.flattenFunctionToString()` and light unit testing of it
fix: Added sinon for testing
fix: Bump gl-wiretap
2019-06-03 19:32:21 -04:00
Robert Plummer
73ef03c1bd feat: Upgrade to latest headlessgl 2019-05-29 09:00:55 -04:00
Robert Plummer
0c3c08e40a fix: Check precision support for bitwise tests 2019-05-29 08:55:09 -04:00
Robert Plummer
6f8d8c2616 fix: Build 2019-05-27 15:19:52 -04:00
Robert Plummer
f4ae51333c fix: Revert some changes to legacyEncoder32
I forgot to roll them back in the excitement.
2019-05-27 15:17:58 -04:00
Robert Plummer
1210634452 fix: #410 fully, with backward compatibility to old encoder 2019-05-27 15:04:38 -04:00
Robert Plummer
2da53dc961
Merge pull request #476 from gpujs/issue-410-trying-new-encoding
Issue 410 trying new encoding
2019-05-27 15:03:01 -04:00
Robert Plummer
8ed25cfc67 fix: #410 fully, with backward compatibility to old encoder 2019-05-27 15:02:28 -04:00
Robert Plummer
3cf0e5f55f fix: #410, but on windows. Committing to try in linux and OSX. 2019-05-27 13:46:19 -04:00
Robert Plummer
87871ec426 fix: Handle operations on LiteralInteger and LiteralInteger
fix: Typo for module path
2019-05-27 09:34:54 -04:00
Robert Plummer
2c4ef75e51 feat: #166 finally bitwise operators 2019-05-25 07:08:11 -04:00
Robert Plummer
49a06ba305 fix: #470
the math didn't end up being wrong, but found an issue with argument type, and went ahead and fixed it
2019-05-24 09:36:28 -04:00
Robert Plummer
1c96c40bd2 fix: #471, destroy gpu, ooooooops 2019-05-23 21:05:19 -04:00
Robert Plummer
dd6665a513 fix: #471, was already fixed, but added unit test anyway
fix: Rename describe for conformity
2019-05-23 21:01:13 -04:00