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

Lazily resolve Vulkan commands (actually all indirect commands) #1990

Merged
merged 2 commits into from
Jun 20, 2018

Conversation

Qining
Copy link
Contributor

@Qining Qining commented Jun 15, 2018

This is to avoid some Vulkan driver (actually some ICDs) crashing when resolving unsupported and never used commands.

This is probably the 'minimum changes' approach. It uses lambda
functions, which will take a copy of the handles used for command resolving.

If we really want to avoid that copy, we probably need to use the template
system to scan through all the commands first and generate c++ template
specialization code. But I think the benefit may be not worth of the extra work?

@Qining Qining requested review from AWoloszyn and ben-clayton June 15, 2018 22:24
Copy link
Contributor

@ben-clayton ben-clayton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please always explain why you make the change in the CL description. I consider this even more important than describing what you are changing, as you can see that by the diff.

@Qining
Copy link
Contributor Author

Qining commented Jun 18, 2018

Reason for this CL just added in the description. Generally, we found, for some cases, the ICD may crash when resolving a command from unsupported Vulkan Extensions. Even though the application may never use the unsupported command, such a crash will also crash our replay.

@Qining Qining changed the title Lazily resolve Vulkan commands WIP: Lazily resolve Vulkan commands Jun 18, 2018
This is probably the 'minimum changes' approach. It uses lambda
functions, which will take a copy of the handles used for command resolving.
@Qining Qining force-pushed the lazy-cmd-resolution branch from f6fda92 to 401b91c Compare June 18, 2018 16:59
@Qining Qining changed the title WIP: Lazily resolve Vulkan commands Lazily resolve Vulkan commands (actually all indirect commands) Jun 18, 2018
@Qining Qining merged commit dcec0ee into google:master Jun 20, 2018
@Qining Qining deleted the lazy-cmd-resolution branch October 23, 2018 17:33
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

Successfully merging this pull request may close these issues.

3 participants