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

Relationship of queues between passes (question) #70

Closed
ghost opened this issue Mar 11, 2019 · 2 comments
Closed

Relationship of queues between passes (question) #70

ghost opened this issue Mar 11, 2019 · 2 comments

Comments

@ghost
Copy link

ghost commented Mar 11, 2019

What is the relationship between the queues of the passes?
I'm trying to create a mesh that is used in multiple passes, but mesh build requires a QueueId.
In the example node_queue is used to get this id.
As I understand each node has it's own queue, so how can I share the resources between the passes ?
Or is it enough to create my own "queue" for the same QueueFamily, but how, I couldn't find the function for this. An in this case how can I handle the synchronization between uploads and uses ?

@zakarumych
Copy link
Member

@zpgaal nodes shares queues. In fact, in many simple cases there will be only one queue.
You can share loaded mesh (any buffers or images in general) between nodes that are executed on the different queues from same queue family.

MeshBuilder::build takes QueueId because of synchronization requirements - it will record copy command and add pipeline barrier to make loaded mesh data visible to other commands executed on the same queue.

To make them visible from other queues you'd need more complex synchronization which is not implemented yet, but planned.

@zakarumych
Copy link
Member

You can't create queues. All queues are created during Factory creation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant