57 Commits

Author SHA1 Message Date
Robert Plummer
ef3f0cf001 feat: support for boolean as variable, argument, and constant
fix: implied else issue discovered, and fixed when testing boolean using leading and following return statements
fix: Added a section in documentation about types and added reference to boolean
fix: Bump and build
2019-04-29 08:45:43 -04:00
Robert Plummer
7ec15719a5 feat: getPixels method and tests
fix: Add tests for graphical rendering
fix: removal of 1d and 3d graphical outputs, they don't make sense
fix: Reference of 2 in 2d output in CPU kernel
fix: Bump and build
2019-04-26 22:06:34 -04:00
Robert Plummer
8bb5e6be4d fix: Check getExtension is truthy before calling and unit tests
fix: Add missing test for headlessgl to all.html
2019-04-24 07:48:35 -04:00
Robert Plummer
b9f7d7bff0 fix: Move varWarn to and unit test that all FunctionNode's use it
fix: Test that getExtension is set to be able to use on TravisCI
fix: Remove wraparound, is no longer being used anywhere
fix: add getMemoryOptimizedPackedTextureSize to string kernel
fix: Remove console.log() usage
fix: Move addFunction functionality into new utils method `functionToIFunction`
fix: Fix mergeSettings to use `functions` settings and use `functionToIFunction`
fix: Remove the spread operator for now, for compatibility with safari
fix: Add typings for `setFunctions`
fix; Failing unit tests for sarafi
feat: Add CONTRIBUTING.md
feat: Add ISSUE_TEMPLATE.md
fix: Remove typescript from dependencies
fix: Document, document, document
fix: Bump version and build
2019-04-23 22:03:14 -04:00
Robert Plummer
2c9bd8d6e1 fix: Test GPU.createKernelMap 2019-04-22 17:15:01 -04:00
Robert Plummer
b60e571646 fix: 8 and 16 bit packing when using single precision float
fix: 2,3,4 array output render strategies
fix: Add deprecation handling
fix: Add addArgument and addConstant tests for webgl2
fix: remove floatTextures as a property
2019-04-21 12:02:34 -04:00
Robert Plummer
00ee2ba982 feat: Refactor dimensional values and expose the bitRatio all the way to the function node
fix: Added test suite for arrays and inputs for webgl and webgl2
fix: Rename "floatOutput" feature to "precision".  Values can be "unsigned" or "single"
fix: Add input and Input to typings
fix: Use Int32Array for input.size
2019-04-20 09:59:49 -04:00
Robert Plummer
ee7baf70ba fix: Array handling (2,3,4) for webgl2 & webgl1 (headlessgl next)
fix: Float handling
feat: added `optimizeFloatMemory` to better exemplify what it does and replace `floatTextures` and its voodoo in webgl2
feat: end to end strong type detection
Note: added a bunch of TODO's this is just a good resting point.
2019-04-11 19:41:58 -04:00
Robert Plummer
1e60084020 feat: Full type inference (this is a HUGE feature)
feat: Add mandelbulb.html example
fix: Bump and build
2019-03-19 19:51:03 -04:00
Robert Plummer
9540340751 fix: Fix floatTextures support test
fix: Rename `WebGLKernel._formatArrayTransfer()` to `WebGLKernel.formatArrayTransfer()` because it is used in more than just this class
fix: Add `HeadlessGL.features.isTextureFloat`
fix: Add `HeadlessGL.getIsTextureFloat()`
fix: Add operation to delete `HeadlessGLKernel.extensions.WEBGL_draw_buffers`
fix: Remove `assert.throws` from Issue #91 test
fix: Add "features/float-output-textures.js" back to all.html test
fix: Bump version number and build
2019-03-19 08:43:58 -04:00
Robert Plummer
6050e6a8a6 fix: When literals are returned from kernel, freeze their type
feat: Parse GLSL and get return type and argument types
feat: Properly look up native function return types and cast if needed
feat: Properly look up native function argument types and cast if needed
fix: Move this.chooseKernel() to beginning of GPU instantiation

As well as test all the above
2019-03-13 12:36:19 -04:00
Robert Plummer
0cce0a0a82 fix: Clone GPU for loop into CPU
Add unit tests to browser all.html
fix a typo in file and in desc
Add a few missing items to index.d.ts
Move debug console.log to match GPU counterpart
Build files
All unit tests pass or skip (when appropriate) for Chrome, Firefox, Safari, and Node
This marks v1 rc1.
2019-02-10 22:58:18 -05:00
Robert Plummer
cf5a358422 fix: Got 100% unit tests in chrome, ff, safari, and node. 2019-02-07 19:08:19 -05:00
Robert Plummer
2b6802e292 fix: astBinaryExpression unit tests
Simplify internal/kernel.js tests
2019-02-05 22:13:44 -05:00
Robert Plummer
630bd94ead feat: Completely new type checking system, and refined state management 2019-02-04 19:46:55 -05:00
Robert Plummer
82e4966551 feat: v2.0.0rc1
Cleanup and add random support (seeded by... Math.random()!)
I went through api and cleaned it up considerably
2019-01-31 18:24:25 -05:00
Robert Plummer
abdb7a66f9 feat: Finally add the missing json with gpu-core feature!
And add unit tests
2019-01-29 23:41:05 -05:00
Robert Plummer
8bf362ad9a feat: No failing tests locally, only skipping and passing
Also:
feat: Typescript typings
feat: api cleanup and exports
feat: removal of building for node, only browser
2019-01-29 21:41:21 -05:00
Robert Plummer
bafac7831e feat: Huge rewrite for v2 2019-01-24 22:18:22 -05:00
Robert Plummer
c234e37942 fix: cpu canvas check 2019-01-17 15:24:37 -05:00
Robert Plummer
8e8ca00123 fix: Add integer handling in loops, and related
Remove debug log, move `module.exports` so classes resolve in ide
2019-01-13 12:15:25 -05:00
Robert Plummer
87e2be5fba feat: Migrating to use gl, bump version number
Not ready yet, but close.  Need build scripts from headless-gl upstream.
2019-01-04 10:29:45 -05:00
Robert Plummer
cb4d4f1d4a fix: cpu canvas check 2018-11-18 15:50:35 -05:00
Robert Plummer
e3d80ea3e4 fix: double definitions for arrays when they are integers
fixes #399
2018-11-18 14:08:59 -05:00
Robert Plummer
87ccce51df fix: thread & output variabel assignment
Fixes #390
2018-11-01 10:03:18 -04:00
Robert Plummer
d561fcf228 feat: Migrate to use type strings for arguments and returnType 2018-10-27 14:46:42 -04:00
Robert Plummer
4f26639a59 feat: Lay groundwork for deep type detection from functions
This first pass starts with static values and gives us the mvp of type setting/detection from other functions.
2018-10-26 19:16:50 -04:00
Robert Plummer
3a55872c4f fix: Constant being set weirdly and conflicting with user variables
add unit test
2018-10-24 14:58:06 -04:00
Robert Plummer
0e4c04917a feat: Update for offscreen canvas and retool for cleaner CPU kernel backend
fix toString for kernels as well
Added documentation
Updated release year
2018-10-24 14:12:12 -04:00
Sandeep Mistry
aad86a86ab Add test for Worker + Offscreen canvas 2018-09-30 11:04:54 -04:00
Robert Plummer
625001732b Merge branch 'develop' into 359-addfunction-params-wrong 2018-09-21 06:53:25 -04:00
Robert Plummer
e3d6d3be0a fix: Accept provided webgl context from GPU instance to kernel 2018-09-14 11:52:16 -04:00
Robert Plummer
d4468e33fc feat: Provide a means of obtaining the color texture directly 2018-09-11 15:34:23 -04:00
Robert Plummer
449b2903b3 Merge remote-tracking branch 'upstream/develop' into develop 2018-09-11 15:12:28 -04:00
viziionary
e9de3b031b Exposed error 2018-09-10 14:47:41 -05:00
Nick Hingston
b22eb00e8a Merge branch 'develop' into 359-addfunction-params-wrong 2018-09-05 22:33:19 +01:00
Nick Hingston
72056816c4 fix #359 nested addFunction 2018-09-05 22:32:31 +01:00
Nick Hingston
72e65b206e Merge branch 'develop' into 361-multi-dimensional-output-slow 2018-09-05 21:05:13 +01:00
Nick Hingston
30e5ddb37a make splitArray performant and fix test cases 2018-09-05 21:04:23 +01:00
viziionary
88dcbc8acb Merge remote-tracking branch 'upstream/master' into develop 2018-09-03 14:59:21 -05:00
viziionary
a2b9cb00fc Added forgotten unit test 2018-09-02 13:48:12 -05:00
Nick Hingston
d680aded0d fix modulus issue 2018-09-02 17:38:21 +01:00
viziionary
8b1f51ddac Mid progress update, supporting all constant types 2018-09-02 08:31:30 -05:00
viziionary
f5951ccb32 Mid progress update 2018-09-01 08:36:34 -05:00
viziionary
8a893297a8 Unit testing and feature completion 2018-08-30 18:30:37 -05:00
Nick Hingston
ba5f940057 code review comments 2018-08-05 10:03:43 +01:00
Nick Hingston
92612c1c2f fix leaking WegGl contexts 2018-07-30 20:30:31 +01:00
Nick Hingston
98e1bf7688 fix integer division issues on some cards 2018-07-25 18:14:06 +01:00
Nick Hingston
607cc154d8 add test cases 2018-07-23 11:50:43 +01:00
Nick Hingston
da225d3e60 fix #279 problems with calculated sizes 2018-07-13 17:54:29 +01:00