-
Notifications
You must be signed in to change notification settings - Fork 543
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
Rebuild high level on top of LL #1466
Comments
Thanks for taking a stab at this topic! Relevant discussion (but also partially outdated): #1281 |
1476: [ll] Frames and encoders for render r=kvark a=Bastacyclop Working on #1466. This is an untested draft, I hope there are not too many mistakes. The interesting stuff is in [core/pool](https://github.com/gfx-rs/gfx/compare/ll...Bastacyclop:ll?expand=1#diff-a8c8cf11be50bbdb6bab730b503bfe00), [render/device](https://github.com/gfx-rs/gfx/compare/ll...Bastacyclop:ll?expand=1#diff-a505eeca0919c44fc9d868f9a1cbdfe3) and more importantly [render/encoder](https://github.com/gfx-rs/gfx/compare/ll...Bastacyclop:ll?expand=1#diff-e76accb5ddad96024c8ebca0ad05ee68) and [render/lib](https://github.com/gfx-rs/gfx/compare/ll...Bastacyclop:ll?expand=1#diff-be2c920c08146924af4d1983d6894d63). My next step will be to test it in a copy of the quad example. You can acquire `encoder::Scope`s from which you can get actual `Encoder`s. An `encoder::Scope` is basically a more convenient command buffer pool. So there are two reasons to use multiple scopes: to use multiple encoders at the same time (multithreading mostly) and to release all the acquired encoders independently (different encoding scopes). Maybe scope is not a good name and I should name it simply pool instead.
Things to do after the first
|
This is somewhat addressed by Rendy now |
Rendy doesn't have all necessary tools. Yet it already can do many things that good ol' |
1 - Rebuild
gfx_render
First, we need to rebuild
gfx_render
on top of the new low level core.It will incorporate the old features from
gfx_core
andgfx_render
:Factory
andDevice
, with the new terminologyDevice
andQueue
Encoder
will not beSend
anymore and rely on poolsSlice
, see Proposal: Remove Slice #13922 - Split
gfx_app
Then, we want our crates to have clearer identities as discussed in gitter. That's why the old
gfx_app
will be split into three components:examples
directorygfx_render
(backend-agnostic)gfx_frontend
crate3 - Improve
After these two steps, we will probably have a lot of polishing to do!
The text was updated successfully, but these errors were encountered: