Merge pull request #4577 from Moaziz667/fix/prime-remaining-host-mutexes
fix(agc,shader): prime the remaining host shared mutexes
This commit is contained in:
commit
f2c314e902
|
|
@ -177,8 +177,16 @@ struct GuardedRange {
|
|||
std::uint32_t samples;
|
||||
};
|
||||
|
||||
class PrimedSharedMutex : public std::shared_mutex {
|
||||
public:
|
||||
PrimedSharedMutex() {
|
||||
lock();
|
||||
unlock();
|
||||
}
|
||||
};
|
||||
|
||||
std::shared_mutex& guardedMutex() {
|
||||
static std::shared_mutex mutex;
|
||||
static PrimedSharedMutex mutex;
|
||||
return mutex;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -652,7 +652,7 @@ struct RegistrationModuleEntry {
|
|||
std::shared_ptr<const SpecializedModule> registrationModule(std::uint64_t variantId, std::span<const std::uint32_t> moduleKey, const std::function<std::shared_ptr<const SpecializedModule>()>& specialize) {
|
||||
std::vector<std::uint64_t> key{variantId};
|
||||
key.insert(key.end(), moduleKey.begin(), moduleKey.end());
|
||||
static std::shared_mutex mutex;
|
||||
static PrimedSharedMutex mutex;
|
||||
static std::map<std::vector<std::uint64_t>, std::shared_ptr<RegistrationModuleEntry>> modules;
|
||||
std::shared_ptr<RegistrationModuleEntry> entry;
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue