libVulkan: Use new marl::Scheduler::Config API.
`marl::Scheduler::setWorkerThreadCount()` and `marl::Scheduler::setThreadInitializer()` have been deprecated.
`marl::Scheduler::Config` is the new API.
See https://github.com/google/marl/issues/139 for context.
Bug: b/140546382
Change-Id: Ida768eea98a7ca5d22f55f5055ca288b41b353d0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45493
Tested-by: Ben Clayton <bclayton@google.com>
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index c911ef4..33facca 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -147,12 +147,13 @@
auto sptr = scheduler.weakptr.lock();
if(!sptr)
{
- sptr = std::make_shared<marl::Scheduler>();
- sptr->setThreadInitializer([] {
+ marl::Scheduler::Config cfg;
+ cfg.setWorkerThreadCount(std::min<size_t>(marl::Thread::numLogicalCPUs(), 16));
+ cfg.setWorkerThreadInitializer([](int) {
sw::CPUID::setFlushToZero(true);
sw::CPUID::setDenormalsAreZero(true);
});
- sptr->setWorkerThreadCount(std::min<size_t>(marl::Thread::numLogicalCPUs(), 16));
+ sptr = std::make_shared<marl::Scheduler>(cfg);
scheduler.weakptr = sptr;
}
return sptr;