-
Notifications
You must be signed in to change notification settings - Fork 550
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
Define scope and philosophy #108
Comments
The separation between trait Renderer {
fn iter_errors(&mut self) -> ...;
fn should_finish(&self) -> bool;
fn clear(&mut self, Frame, ClearData);
fn draw(&mut self, ...);
fn create_program(&mut self, ...);
/* ... */
}
struct BindlessDevice<Backend> {
...;
}
impl<B: BindlessBackend> Renderer for BindlessDevice<B> {
...;
}
struct BindingDevice<Backend> {
...;
}
impl<B: BindingBackend> Renderer for BindingDevice<B> {
...;
}
// BindingBackend would look a lot like todays `Renderer` struct, with the `device` crate etc, I
// think I think all of the usual types can live in I think we can continue with today's design, though. My suggestion would be mostly a small code shuffling. |
@cmr I can see how this is going to work. Do you think it requires associated types, or we can start putting this in slowly even now? |
To have multiple implementations of the trait or to split it fully into On Mon, Jul 21, 2014 at 6:42 AM, ----- notifications@github.com
|
I think what we have today is good, both in terms of scope and implementation. Still some changes to make, such as my sketch above, but they are completely transparent I think. |
@aturon Any idea on the time-frame for associated types? This is a big pain point for us :( |
How about: Goals
Non-goals
|
@bjz thanks, this is a great addition. Please file a PR that changes our README according to these notes (or adds |
@bjz I'm currently working on a design for associated items, which will turn into an RFC soon. It's not clear whether this will make it for 1.0, but I'd like to try! |
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
- Addresses gfx-rs#108 - Closes gfx-rs#157
I think this is resolved. |
108: Enable windows in Travis r=travis a=kvark Fixes gfx-rs#97 Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
What should gfx-rs handle?
What should gfx-rs defer to the client, or higher level libraries/frameworks/engines?
The text was updated successfully, but these errors were encountered: