Skip to content

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