Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chrome 113 with WebGPU breaks GPU.js #820

Open
dimagoltsman opened this issue May 2, 2023 · 12 comments
Open

Chrome 113 with WebGPU breaks GPU.js #820

dimagoltsman opened this issue May 2, 2023 · 12 comments
Assignees

Comments

@dimagoltsman
Copy link

A GIF or MEME to give some spice of the internet

What is wrong?

Chrome 113 breaks GPU.js when not scoped, its already has GPU object

Where does it happen?

when u try to use new GPU

How do we replicate the issue?

try using GPU.js

How important is this (1-5)?

5

Expected behavior (i.e. solution)

to work

Other Comments

@lampmaker
Copy link

Same.
is there a quick fix / hack?

@lampmaker
Copy link

Nevermind; renamed all "GPU" instances in gpu-browser.min to "GPUX" That worked for now.

@dimagoltsman
Copy link
Author

Nevermind; renamed all "GPU" instances in gpu-browser.min to "GPUX" That worked for now.

Me to, but thats a very bad practice.... thats a temp solution not a permanent one

@lampmaker
Copy link

Oh, yes, bad practice indeed. "Dont try this at home" Consider it a workaround until a better solution is implemented.

@end-me-please
Copy link

@robertleeplummerjr can you fix this?
all the cool gpu.js projects suddenly stopped working :p

@robertleeplummerjr
Copy link
Member

Yea I'll have to address it soon. Perhaps next week.

@robertleeplummerjr robertleeplummerjr self-assigned this Jun 16, 2023
@end-me-please
Copy link

maybe gpu.js can leverage WebGPU?
if it has any advantages performance-wise, and if the effort required doesn't mean rewriting all of gpu.js

would be especially interesting to see if it allows more flexibility with data types passed to/returned by gpu.js

@dimagoltsman
Copy link
Author

yeah that will be awesome!

@robertleeplummerjr
Copy link
Member

We'd love to do that, but the existing API isn't mature enough across browsers, at least from what I've seen with compute capabilities. I've never had a stock example actually run and have a means of starting to upgrade GPU.js to that.

As far as the issue with GPU being overwritten (rude with prejudice) what do you guys think of using GPUJS for browser only, and GPU everywhere else (node, typescript, etc.)?

@end-me-please
Copy link

sounds good enough

AndreasRef added a commit to AndreasRef/andreasref.github.io that referenced this issue Aug 18, 2023
Hacky fix to this issue gpujs/gpu.js#820 by renaming  all "GPU" instances in gpu-browser.min to "GPUX" by:
1) Adding a local version of gpu-browser.min.js and running replace all
2) Making a change to skeletonization.js line 23 (skeletonization.thinning_gpu = new GPUX();)
AndreasRef added a commit to AndreasRef/andreasref.github.io that referenced this issue Aug 18, 2023
Hacky fix to this issue gpujs/gpu.js#820 by renaming  all "GPU" instances in gpu-browser.min to "GPUX" by:
1) Adding a local version of gpu-browser.min.js and running replace all
2) Making a change to skeletonization.js line 23 (skeletonization.thinning_gpu = new GPUX();)
@jacobbogers
Copy link

We'd love to do that, but the existing API isn't mature enough across browsers, The api is very VERY mature, but only a few browsers support it https://caniuse.com/?search=webgpu

@jacobbogers
Copy link

As I have looked at gpu.js code vs current webgpu surface, it will be largely obsoleted, as gpu.js has to deal with how webgl handles concurrency, there is no such problem in webgpu, so I think its better to totally start from scratch (keep the brand name if you must, but from scratch you must start)

wzychla added a commit to wzychla/rust-vs-js that referenced this issue Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants