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

Asynchronous render task launch. #1

Open
acdemiralp opened this issue Feb 10, 2018 · 0 comments
Open

Asynchronous render task launch. #1

acdemiralp opened this issue Feb 10, 2018 · 0 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@acdemiralp
Copy link
Owner

acdemiralp commented Feb 10, 2018

The framegraph currently performs each unculled render task sequentially. It is possible to have multiple framegraphs executing render tasks in parallel (e.g. an OpenGL framegraph and a Cuda framegraph or two Vulkan framegraphs submitting to two distinct queues), but this only applies when communication and resource sharing between the tasks is not necessary.

The framegraph should ideally provide functionality for asynchronous launch of multiple render tasks. This requires:

  • Computation and placement of synchronization points to resources read/written by multiple render tasks during the compilation phase. The library user must provide implementation of a synchronization point for each render backend (e.g. a glMemoryBarrier, VkMemoryBarrier, ...) so a function similar to fg::realize should be introduced.
  • The transient resource lifetimes should be adjusted according to the render tasks accessing / mutating them in parallel.

Since the resource usage of each render task is specified during the setup phase, it is possible to identify parallel executable render tasks automatically during the compilation phase. This however may have an adverse effect on memory usage since a large amount of resources may be realized in parallel. Hence the framegraph should provide options to both automatically and manually (per render task) specify async execution.

@acdemiralp acdemiralp self-assigned this Feb 10, 2018
@acdemiralp acdemiralp added the help wanted Extra attention is needed label Feb 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant