1085 Commits

Author SHA1 Message Date
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
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
Robert Plummer
1aadb2f9ba fix: #472 build 2019-05-23 20:48:43 -04:00
Robert Plummer
f7a931ea40 fix: #472 cleanup, and turn off debug 2019-05-23 20:47:59 -04:00
Robert Plummer
4d46279fd4 fix: #472 compilation issue, and add Uint8ClampedArray support 2019-05-23 18:13:12 -04:00
Robert Plummer
181c553601 fix: #473 resize canvas when needed in headlessgl and unit test 2019-05-23 16:49:56 -04:00
Robert Plummer
67300c302e fix: Use a loop rather than a map to save on a single function declaration
fix: Add a test for `utils.getKernelTextureSize` newly renamed
fix: WebGL2 to use preferred `gl.texStorage2D()` where possible
Also, found an issue with "Array(3)", and it turns out, I need to use `gl.RGBA32F` there
2019-05-23 14:25:47 -04:00
Robert Plummer
db20ffc5f2 fix: Add logo 2019-05-22 17:39:59 -04:00
Robert Plummer
b05ab0765a fix: Type 2019-05-22 17:38:38 -04:00
Robert Plummer
563a27da54 fix: Add note about LeaderGPU, as promised. Ty guys! 2019-05-22 17:37:29 -04:00
Robert Plummer
427ac42937 fix: #322 update documentation for existing feature 2019-05-22 16:31:58 -04:00
Robert Plummer
96db402331 fix: #289 update documentation for existing feature 2019-05-22 16:18:52 -04:00
Robert Plummer
20a9ed54c7 fix: #370 provide means of handling textures form CPU
fix: Add `Kernel.features.channelCount` to each kernel, and unit test
fix: Was curios for code relating to https://github.com/gpujs/gpu.js/wiki/Quick-Concepts and so added a unit tests for matrix-multiply-precision.js
2019-05-22 16:00:03 -04:00
Robert Plummer
a0a92586c0 fix: #378 unit test, showing the issue resolved
fix: Random demo, when webgl or webgl2 not available, use try to keep demo running
2019-05-22 09:43:44 -04:00
Robert Plummer
05dd1744ea fix: partial (maybe whole) for #408 Break up texture constructors
So we can use `texture.toArray()`, this uses much less resources
2019-05-22 08:50:46 -04:00
Robert Plummer
4e1bf1f0d1 fix: #398 docs 2019-05-22 08:21:01 -04:00
Robert Plummer
62d4ea739d fix: #396 by changing documentation and adding unit test 2019-05-21 10:08:42 -04:00
Robert Plummer
aca274198d feat: Added dynamicOutput && dynamicArguments as official settings
fix: Some documentation was out of date with the new features, so fixed
2019-05-20 18:54:12 -04:00
Robert Plummer
e3aded43b1 feat: Allow for pixel flipping
fix: Move the flipPixels method to utilities, for reuse
fix: Invert pixel orientation
fix: Add text for issue #422
2019-05-18 17:25:47 -04:00
Robert Plummer
7fdc871f29
Merge pull request #469 from sbrl/patch-1
README.md: Add Linux installation notes
2019-05-18 08:20:21 -04:00
Robert Plummer
2b45882c58 feat: Raw output
feat: Consolidate subKernels rendering code as part of the renderStrategy
fix: remove tabs, replace with spaces
fix: make FunctionBuilder.fromKernel typing static
fix: Add missing FunctionBuilder.getPrototypeString definition
fix: Move building logic to kernelRunShortcut as well as exec method
2019-05-17 18:42:35 -04:00
Starbeamrainbowlabs
061f7e4d09
README.md: Add Linux installation notes 2019-05-17 17:28:58 +01:00
Robert Plummer
2b25c75d70 feat: Dynamic recompiling 2019-05-16 21:39:01 -04:00
Robert Plummer
554719b6e6 feat: Dynamically compiled kernels, with odd bleeding bud still
fix: Removed a couple old functions no longer used

Was a good resting point to debug.
2019-05-13 15:02:32 -04:00
Robert Plummer
239e762087 fix: Add 'Float' handling in addition to 'Number'
fix: Build
2019-05-13 06:17:54 -04:00
Robert Plummer
4446f2cf94 fix: Add note for future tests 2019-05-13 06:17:16 -04:00
Robert Plummer
63abb92ec5 fix: Broken test 2019-05-13 06:16:58 -04:00
Robert Plummer
0735a56f86 fix: Define uploadValue in constructor, and reuse
fix: toString handling, greatly simplified
fix: Upgrade tests for toString
fix: Add boolean to typeings
fix: Move gl-kernel.js to new location
feat: Add strictIntegers as option for Kernel and docs
2019-05-12 14:36:57 -04:00
Robert Plummer
20ee1f74f7 feat: Break up the argument and constant handlers into reusable code 2019-05-08 15:21:51 -04:00
Robert Plummer
d6757abda9
Merge pull request #458 from Drenata/fix-return-nd-array
Fix return of >=2d arrays from GPU
2019-04-29 15:34:04 -04:00