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

APPLE: Single GPU callback for freeing all argument buffers on a command buffer #2046

Conversation

creijon
Copy link
Contributor

@creijon creijon commented Sep 18, 2022

Description of Change(s)

Previously, when each argument buffer was created there would be a callback added to the command buffer to return it to the free list once it was used. This requires a mutex to be locked for each callback, since the free list is read on the CPU thread.

For complicated scenes this could result in hundreds of callbacks and mutex locks, which makes the debugger hard to follow and introduces the possibility of stalls between the CPU and GPU.

Fixes Issue(s)

  • Performance instability.
  • I have submitted a signed Contributor License Agreement

@creijon creijon changed the base branch from release to dev September 18, 2022 15:57
@tallytalwar
Copy link
Contributor

Filed as internal issue #USD-7643

@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from 16ee910 to 4e77c07 Compare September 20, 2022 13:51
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from 5d92172 to 3966bc1 Compare September 30, 2022 19:21
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 3966bc1 to b0edb01 Compare October 18, 2022 19:55
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from b0edb01 to f26d937 Compare October 29, 2022 13:52
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from 33e9df0 to 74fea94 Compare November 9, 2022 18:38
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 74fea94 to 7b32a3c Compare November 17, 2022 13:04
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 7b32a3c to 24527b6 Compare November 25, 2022 13:23
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from aed6005 to 443bd09 Compare December 3, 2022 06:59
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 443bd09 to fd8f63f Compare December 10, 2022 08:16
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from 648f73a to 7f9a38a Compare January 10, 2023 17:28
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 7f9a38a to 34f1908 Compare January 15, 2023 14:25
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from a1f6c30 to c3afa7a Compare January 30, 2023 08:35
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from c3afa7a to 6523bae Compare February 7, 2023 22:48
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch 2 times, most recently from 1f2e819 to 212fe45 Compare February 24, 2023 18:17
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 212fe45 to 3167f27 Compare March 2, 2023 13:17
@creijon creijon force-pushed the jon/dev/single_arg_buffer_callback branch from 3167f27 to 57b04d2 Compare March 17, 2023 06:40
@pixar-oss pixar-oss merged commit 3645a40 into PixarAnimationStudios:dev Apr 3, 2023
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