mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[hud] Add parameter to allow placing HUD items
This commit is contained in:
parent
588beb5b2f
commit
38ad868214
@ -1024,7 +1024,7 @@ namespace dxvk {
|
||||
m_hud = hud::Hud::createHud(m_device);
|
||||
|
||||
if (m_hud != nullptr)
|
||||
m_hud->addItem<hud::HudSamplerCount>("samplers", m_parent);
|
||||
m_hud->addItem<hud::HudSamplerCount>("samplers", -1, m_parent);
|
||||
}
|
||||
|
||||
|
||||
|
@ -29,16 +29,16 @@ namespace dxvk::hud {
|
||||
| VK_COLOR_COMPONENT_B_BIT
|
||||
| VK_COLOR_COMPONENT_A_BIT;
|
||||
|
||||
addItem<HudVersionItem>("version");
|
||||
addItem<HudDeviceInfoItem>("devinfo", m_device);
|
||||
addItem<HudFpsItem>("fps");
|
||||
addItem<HudFrameTimeItem>("frametimes");
|
||||
addItem<HudSubmissionStatsItem>("submissions", device);
|
||||
addItem<HudDrawCallStatsItem>("drawcalls", device);
|
||||
addItem<HudPipelineStatsItem>("pipelines", device);
|
||||
addItem<HudMemoryStatsItem>("memory", device);
|
||||
addItem<HudGpuLoadItem>("gpuload", device);
|
||||
addItem<HudCompilerActivityItem>("compiler", device);
|
||||
addItem<HudVersionItem>("version", -1);
|
||||
addItem<HudDeviceInfoItem>("devinfo", -1, m_device);
|
||||
addItem<HudFpsItem>("fps", -1);
|
||||
addItem<HudFrameTimeItem>("frametimes", -1);
|
||||
addItem<HudSubmissionStatsItem>("submissions", -1, device);
|
||||
addItem<HudDrawCallStatsItem>("drawcalls", -1, device);
|
||||
addItem<HudPipelineStatsItem>("pipelines", -1, device);
|
||||
addItem<HudMemoryStatsItem>("memory", -1, device);
|
||||
addItem<HudGpuLoadItem>("gpuload", -1, device);
|
||||
addItem<HudCompilerActivityItem>("compiler", -1, device);
|
||||
}
|
||||
|
||||
|
||||
|
@ -57,8 +57,8 @@ namespace dxvk::hud {
|
||||
* \param [in] args Constructor arguments
|
||||
*/
|
||||
template<typename T, typename... Args>
|
||||
void addItem(const char* name, Args... args) {
|
||||
m_hudItems.add<T>(name, std::forward<Args>(args)...);
|
||||
void addItem(const char* name, int32_t at, Args... args) {
|
||||
m_hudItems.add<T>(name, at, std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -76,10 +76,11 @@ namespace dxvk::hud {
|
||||
*
|
||||
* \tparam T The HUD item type
|
||||
* \param [in] name HUD item name
|
||||
* \param [in] at Position at which to insert the item
|
||||
* \param [in] args Constructor arguments
|
||||
*/
|
||||
template<typename T, typename... Args>
|
||||
void add(const char* name, Args... args) {
|
||||
void add(const char* name, int32_t at, Args... args) {
|
||||
bool enable = m_enableFull;
|
||||
|
||||
if (!enable) {
|
||||
@ -87,8 +88,13 @@ namespace dxvk::hud {
|
||||
enable = entry != m_enabled.end();
|
||||
}
|
||||
|
||||
if (enable)
|
||||
m_items.push_back(new T(std::forward<Args>(args)...));
|
||||
if (at < 0 || at > int32_t(m_items.size()))
|
||||
at = m_items.size();
|
||||
|
||||
if (enable) {
|
||||
m_items.insert(m_items.begin() + at,
|
||||
new T(std::forward<Args>(args)...));
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user