Comments (5)
One way could be to have a separate channel for each type of message. Another is to have multiple 'command builder' things that communicate with the platform thread individually.
from gfx.
Could the enumeration be done by the client rather then the server? The CallNewProgram includes the handle that the program can use to refer to the shader program later.
from gfx.
I might be misunderstanding some part of this, but if you ever need a response from the other side and don't want to move to a promise architecture I think it's actually not such a bad thing to have to wait for the returned value.
You can just move the "waiting" out of each call and handle replies independently:
foo.create_program(...);
foo.create_program(...);
foo.create_mesh(...);
/// blah blah blah
loop {
match foo.nextReply() {
ReplyProgram(handle) => // put this handle someplace
ReplyFooBarBizBaz(handle) => // ditto
_ => log.error("Unexpected response!")
}
}
from gfx.
A semi-consensus has been reached to create the handle immediately, load the resource any time later until it's used, and report back a possible error in a designated channel. This is blocked by #22. Please feel free to experiment and propose new ideas (or argument for the existing ones) - nothing is set in stone until a particular PR is accepted.
from gfx.
No longer blocked as of f36d7c9. Implementing the idea will render #9 either irrelevant or impossible.
from gfx.
Related Issues (20)
- Hitting `unreachable!` branch in `gfx-backend-vulkan` during swapchain creation, Void Linux, AMD ATI
- ```supports_family``` only available on iOS 13 HOT 4
- gfx_backend_gl and metal: can't find create HOT 3
- Link error: missing symbol _kCAGravityTopLeft on macOS HOT 3
- New Metal pipeline cache doesn't work properly on Dota2 + portability HOT 2
- Support dynamic array sizes on Metal HOT 1
- Black screen when --features=gl
- Use hasUnifiedMemory instead of isLowPower on Metal
- Entered unreachable code on vulkan create fence
- Errors from VVL on Nvidia HOT 10
- Screen doesn't get updated if gfx_device_gl::CommandBuffer::clear_color gets called HOT 1
- 3 build errors on Windows HOT 3
- LICENSE files in package subdirs
- create_surface failed with 'AndroidSurface failed: ERROR_NATIVE_WINDOW_IN_USE_KHR'
- pre-ll: Vertex & constant structs fields are re-ordered in rust 1.67 so don't work HOT 1
- Missing MESH_SHADER feature in mesh-shading example
- misaligned pointer in `queue::Queue::get` HOT 3
- pubg
- MTLGPUFamilyMac1 is deprecated HOT 1
- Tivel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gfx.