-
Notifications
You must be signed in to change notification settings - Fork 342
Re-introduce createReady*Pipeline and remove GPUErrorFilter "none" #871
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
Conversation
These methods are simple and extremely useful. They allow programs to easily wait for these long running compilation operations to complete before issuing work that blocks on them, making it easier to avoid hitches in webpage (and whole-browser) rendering. Previously I removed these in favor of wrapping them in error scopes with GPUErrorFilter "none" as I felt that they overlapped in functionality. However, the createPipeline methods are the most significant source asynchronous resource creation blocking queue timeline work. TODO: (If there are others we think are important, we should either unremove GPUErrorFilter "none" or give them Promise-based versions.)
Apologies for the late PR. Hopefully we will be able to discuss this during the VF2F since it's just reintroducing a concept we previously removed. |
Could you clarify this bit:
So the motivation here is driven by the fact this will be most demanded? Is there a downside for the user to just have the polyfill instead:
I thought letting the user to decide the scope has its advantages beyond spec simplicity: they can create multiple pipelines in this scope, for example, or do things like resource creation (which may also take time). |
It allows us to not spec that an error scope surrounding a createPipeline has to wait for actual compilation (just for validation). I think this is the only place in the API where we currently need error scopes to act as "fences" on anything other than validation and recoverable allocation, so I think this significantly simplifies the concept of error scopes (and reduces (user) confusion and (our) uncertainty about what exactly they should fence on). |
To address some more I didn't reply to:
That requires us to continue supporting
I think
I'm not so concerned about the time it takes to create resources, unless they're very large - in which case it's generally necessary to use an We could maybe rename the |
|
Resolved error case per editors' meeting. Landing with agreement from vf2f. |
* Few test plan updates * Update documentation for CTS project tracker
These methods are simple and extremely useful. They allow programs to
easily wait for these long running compilation operations to complete
before issuing work that blocks on them, making it easier to avoid
hitches in webpage (and whole-browser) rendering.
Previously I removed these in favor of wrapping them in error scopes
with GPUErrorFilter "none" (#238) as I felt that they overlapped in
functionality. However, the createPipeline methods are the most
significant source asynchronous resource creation blocking queue
timeline work.
TODO: (If there are others we think are important, we should either
unremove GPUErrorFilter "none" or give them Promise-based versions.)
Preview | Diff