nvflinger: Use a std::array for the available displays instead of std::vector

The built-in set of displays is fixed, so we can utilize an array
instead of a vector here.
master
Lioncash 2019-01-29 14:48:31 +07:00
parent 2561a79c39
commit f45c25aaba
2 changed files with 7 additions and 7 deletions

@ -30,12 +30,6 @@ constexpr std::size_t SCREEN_REFRESH_RATE = 60;
constexpr u64 frame_ticks = static_cast<u64>(CoreTiming::BASE_CLOCK_RATE / SCREEN_REFRESH_RATE); constexpr u64 frame_ticks = static_cast<u64>(CoreTiming::BASE_CLOCK_RATE / SCREEN_REFRESH_RATE);
NVFlinger::NVFlinger() { NVFlinger::NVFlinger() {
// Add the different displays to the list of displays.
displays.emplace_back(0, "Default");
displays.emplace_back(1, "External");
displays.emplace_back(2, "Edid");
displays.emplace_back(3, "Internal");
// Schedule the screen composition events // Schedule the screen composition events
composition_event = composition_event =
CoreTiming::RegisterEvent("ScreenComposition", [this](u64 userdata, int cycles_late) { CoreTiming::RegisterEvent("ScreenComposition", [this](u64 userdata, int cycles_late) {

@ -4,6 +4,7 @@
#pragma once #pragma once
#include <array>
#include <memory> #include <memory>
#include <string> #include <string>
#include <string_view> #include <string_view>
@ -84,7 +85,12 @@ private:
std::shared_ptr<Nvidia::Module> nvdrv; std::shared_ptr<Nvidia::Module> nvdrv;
std::vector<Display> displays; std::array<Display, 4> displays{{
{0, "Default"},
{1, "External"},
{2, "Edid"},
{3, "Internal"},
}};
std::vector<std::shared_ptr<BufferQueue>> buffer_queues; std::vector<std::shared_ptr<BufferQueue>> buffer_queues;
/// Id to use for the next layer that is created, this counter is shared among all displays. /// Id to use for the next layer that is created, this counter is shared among all displays.