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

[skia] missing webgpu headers when enabling dawn #35606

Open
abique opened this issue Dec 11, 2023 · 6 comments · May be fixed by #38707
Open

[skia] missing webgpu headers when enabling dawn #35606

abique opened this issue Dec 11, 2023 · 6 comments · May be fixed by #38707
Assignees
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist

Comments

@abique
Copy link
Contributor

abique commented Dec 11, 2023

Is your feature request related to a problem? Please describe.

Currently, it is possible to enable dawn for skia, but we don't have the corresponding headers used for webgpu.

Proposed solution

Would it be possible to ship the web gpu headers used to compile dawn?

Describe alternatives you've considered

No response

Additional context

No response

@abique abique added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Dec 11, 2023
@dg0yt
Copy link
Contributor

dg0yt commented Dec 22, 2023

Would it be possible to ship the web gpu headers used to compile dawn?

Are these headers a public dependency, i.e. needed to use dawn with skia?
(This would show as a downstream compile error.)
Or are they needed separately?
(Candidate for a separate port.)

@abique
Copy link
Contributor Author

abique commented Dec 22, 2023

I think we'd need a dawn dependency first.

If I understand well, dawn is a webgpu implementation. So maybe we'd webgpu-header first.

When I wrote this issue I didn't understand well all these new graphic stack layers.

I think dawn and webgpu are very interesting as a simple cross platform gpu solution.

@abique
Copy link
Contributor Author

abique commented Dec 22, 2023

Maybe if you are able to target vulkan/d3d/metal then there is no need for dawn.
Apparently skia did consider dropping d3d backend: https://groups.google.com/g/skia-discuss/c/WY7yzRjGGFA?pli=1
It is not clear to me which backend to use when rendering with skia.

@dg0yt
Copy link
Contributor

dg0yt commented Dec 22, 2023

When I wrote this issue I didn't understand well all these new graphic stack layers.

I face similar difficulties...

What I can say is that skia is a difficult port from a vcpkg POV. skia and its vendored dawn use gn which helps to mitigate some problems of vendored dependencies. And so the skia port still uses a lot of vendored dependencies which should be de-vendored for vcpkg. Which is hard to do, with moving versions and local customizations.
I tried to make the skia port (and it is gn utility functions) more open for contributions and explicit about it is vendored dependencies... It seems to have users, but maybe this isn't enough to make it a good port.

@abique
Copy link
Contributor Author

abique commented Dec 22, 2023

I totally get you, similar troubles with tensorflow I gess.
I wish cairo had an easy GPU accelerated backend.

@dg0yt
Copy link
Contributor

dg0yt commented Dec 22, 2023

I totally get you, similar troubles with tensorflow I gess.

tensorflow is worse: It is building a lot of stuff also for host tools. It is close to impossible to sort this out correctly in particular for MSVC which needs a different runtime for debug... I considered rewriting that port from scratch, transferring utility functions from skia for devendoring what is already available.

@clemenswasser clemenswasser linked a pull request May 12, 2024 that will close this issue
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants