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

Fix Multi GPU Rendering Mode #177

Merged

Conversation

AlexanderVeselov
Copy link
Contributor

  • Fix data race when one thread used to drop dirty flags and the others didn't recompile the scene;
  • Fix data race when a slower thread sent non-actual information after scene update;
  • Fix crash with mgpu config and enabled denoiser;
  • Add showing all devices in the gui and add accounting samples from worker threads.

that would be sent from a worker device
o Replace bool m_dirty to std::uint32_t in Baikal::SceneObject
o Each scene controller checks&resets corresponding bit in dirty mask
+ Add Scene1::Acquire and Scene1::Release methods that use mutex to
prevent data race when compiling a scene
o Fix multipass AOV crash when using mgpu config
o Fix gui to show multiple devices
o Fix sample counter to account samples from worker threads
o Fix ConfigManager::CreateConfigs when it used to force disable interop even if we have interop device in mgpu
o Fix crash on exit with enabled denoiser and mgpu
+ Add thread join to AppClRender::StopRenderThreads
o Fix signed-unsigned comparison error
o Use std::bitset instead of std::uint32_t for dirty mask
o Fix asserts
+ Add comments
+ Add empty lines
o Change variable names
o Replace CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR to explicit error code
(-1000)
Copy link
Contributor

@Kvalme Kvalme left a comment

Choose a reason for hiding this comment

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

Looks fine.

ConfigManager::CreateConfigs(settings.mode, false, m_cfgs, settings.num_bounces, settings.platform_index, settings.device_index);
}
// Create cl context
ConfigManager::CreateConfigs(
Copy link
Contributor

Choose a reason for hiding this comment

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

CreateConfigs might return std::vector by value.

@yozhijk yozhijk merged commit 7e3cc7b into GPUOpen-LibrariesAndSDKs:master Aug 3, 2018
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.

None yet

4 participants