libobs-d3d11: Use unordered_map for duplicator collection
Not in love with STL, but lets at least use the semantically-correct collection. It's also a shame this is a global variable with gross pre-main allocations, but attaching it to the device instance would break the interface.master
parent
1ce61c57c0
commit
471d752d75
|
@ -16,7 +16,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "d3d11-subsystem.hpp"
|
#include "d3d11-subsystem.hpp"
|
||||||
#include <map>
|
#include <unordered_map>
|
||||||
|
|
||||||
static inline bool get_monitor(gs_device_t *device, int monitor_idx,
|
static inline bool get_monitor(gs_device_t *device, int monitor_idx,
|
||||||
IDXGIOutput **dxgiOutput)
|
IDXGIOutput **dxgiOutput)
|
||||||
|
@ -122,11 +122,11 @@ EXPORT bool device_get_duplicator_monitor_info(gs_device_t *device,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::map<int, gs_duplicator *> instances;
|
static std::unordered_map<int, gs_duplicator *> instances;
|
||||||
|
|
||||||
void reset_duplicators(void)
|
void reset_duplicators(void)
|
||||||
{
|
{
|
||||||
for (auto &pair : instances) {
|
for (std::pair<const int, gs_duplicator *> &pair : instances) {
|
||||||
pair.second->updated = false;
|
pair.second->updated = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ EXPORT gs_duplicator_t *device_duplicator_create(gs_device_t *device,
|
||||||
{
|
{
|
||||||
gs_duplicator *duplicator = nullptr;
|
gs_duplicator *duplicator = nullptr;
|
||||||
|
|
||||||
auto it = instances.find(monitor_idx);
|
const auto it = instances.find(monitor_idx);
|
||||||
if (it != instances.end()) {
|
if (it != instances.end()) {
|
||||||
duplicator = it->second;
|
duplicator = it->second;
|
||||||
duplicator->refs++;
|
duplicator->refs++;
|
||||||
|
|
Loading…
Reference in New Issue