Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upUse SIMD for the graphics compositor code #31
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
taisel
Jun 9, 2016
Owner
Need to figure out how to manage the color effects though to play well with SIMD based code.
|
Need to figure out how to manage the color effects though to play well with SIMD based code. |
taisel
added
enhancement
help wanted
labels
Jun 9, 2016
taisel
self-assigned this
Jun 9, 2016
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
taisel
Jun 9, 2016
Owner
For users with browsers that support SharedArrayBuffer, this will not affect performance, as the graphics is done offthread for you, and IIRC IodineGBA is CPU thread bound.
This will help browsers that manage to support SIMD before SharedArrayBuffer for running IodineGBA faster...
|
For users with browsers that support SharedArrayBuffer, this will not affect performance, as the graphics is done offthread for you, and IIRC IodineGBA is CPU thread bound. This will help browsers that manage to support SIMD before SharedArrayBuffer for running IodineGBA faster... |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
taisel
Jun 9, 2016
Owner
Apparently we added it to color blending ops first for a completely different use: 938ecd2
|
Apparently we added it to color blending ops first for a completely different use: 938ecd2 |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
taisel
Jun 12, 2016
Owner
Probably should move the color effects pass out as a separate loop, and quick-store the lower/upper pixel values into a different buffer.
|
Probably should move the color effects pass out as a separate loop, and quick-store the lower/upper pixel values into a different buffer. |
taisel commentedJun 9, 2016
•
edited
Edited 1 time
-
taisel
edited Jun 9, 2016 (most recent)
Of note, it looks like that particular block of code can be rewritten to use SIMD.
Specifically:
Which means we can process up to 4 pixels at once in parallel, in the usual loop of 240 pixels per line.
No reason to nuke legacy non-SIMD based code, as there will be a test before the functions are built to see if SIMD is supported or not, and will patch in the according legacy path if not supported. Albeit, the legacy code needs a good cleanup, since it's illegible as it is JS that codegens more JS.