-
Notifications
You must be signed in to change notification settings - Fork 933
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
feat(deno): surface support #3265
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3265 +/- ##
==========================================
- Coverage 65.66% 64.49% -1.17%
==========================================
Files 82 86 +4
Lines 39489 42696 +3207
==========================================
+ Hits 25930 27537 +1607
- Misses 13559 15159 +1600
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
# Conflicts: # deno_webgpu/Cargo.toml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't really my code to check, so as long as deno is happy with everything, consider this g2g
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@crowlKats What's the use-case you have in-mind for this? Is there a current Deno window system support effort? Last week I decided to try tackling it myself (see https://github.com/denogdev/denog) and didn't realize your surface extension existed since I originally forked off deno/v1.29. My version's still very much a work-in-progress. I decided to call the WebGPU type Also, to any Deno devs who see this: if you have time, please take a look at my fork and let me know if it's a direction upstream Deno would be interested in pursuing. I think it's something that needs to be built into the Deno CLI itself because of how window event loops like hijack the main thread. |
@jbatez this is a low priority side project of mine, which wouldnt be part of the CLI (we dont want a windowing manager built into the CLI). I have an internal prototype already, which does window creation, configuration & event handling. |
@crowlKats Got it. Is your prototype based on Winit? If so, what do you do about I find the idea of an all-in-one tool for JavaScript gamedev without having to resort to native code extremely appealing. Built-in window system integration for Deno doesn't seem like much of a stretch since WebGPU's already there, but I understand if you consider it out-of-scope. |
Yes, we are using winit. spawning separate thread for deno. The CLI is meant to be headless, which is why we dont have any APIs like notification or clipboard. This quarter I am quite busy, but potentially next quarter I will have time to continue on this project and potentially have something to release. |
Oh, you're probably creating a whole new binary and using The Deno CLI still has a lot of functionality I'd want in an all-in-one tool that isn't available in |
This was exciting to read. Now that Deno supports WebGPU again, I'm curious to hear whether there's any update on Windowing support? It would be pretty awesome to use Deno for graphics apps! |
Is windowing support still planned for WebGPU? Could be a cool way to make game apps without Electron. |
WGPU has various incompatibilities with the spec with no clear solutions:
surface_get_current_texture
doesnt match the equivalent web API: the wgpu function returns a struct with 2 fields, of which one is anOption<TextureFormat>
, whereas the spec only returns aTextureFormat
, always.