Commit Graph

334 Commits (68ce8f81cc767ee5e7adfb38a9fb2e3388e21633)

Author SHA1 Message Date
Emil Velikov 68ce8f81cc Remove libdrm_amdgpu metrics
There are two alternatives - hwmon entries and gpu_metrics sysfs file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 7ad24b4c0a Simplify cpu/mem/os/glxinfo parsing
Currently we pipeline a bunch of commands alike cat | grep | sed, there
we can do all that job with a single sed invocation - use that.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
jackun 822bb66629
Fix confusing vendorID with deviceID
OpenGL still needs some work to select the actual render device >:(
2 years ago
jackun 8e21b52acf
Make `get_device_name` return GPU name 2 years ago
Emil Velikov 597f78cbee Fixup device/vendor node handling
Currently we readout the data as string only to convert it to hex. In
the error case, we leak the fd for the given nodes.

Read the data as hex directly, error out if that fails and avoid the
leaks.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
FlightlessMango ae7c5f0f24 Fix hud benchmark 2 years ago
jackun a029dfaaf2
Don't hide gpu_metrics behind HAVE_LIBDRM_AMDGPU 2 years ago
FlightlessMango 93f389dd62 clean up frametime_data 2 years ago
FlightlessMango 3a667ab66b Revert FPS calc 2 years ago
jackun e555a942fb
Use single IO stats instance 2 years ago
FlightlessMango fa133940c8 Fix min/max frametime 2 years ago
FlightlessMango 316914da8d mangoapp: fixed mangoapp not respecting no_display 2 years ago
FlightlessMango c708b1a8a8 disable deviceid check for now 2 years ago
FlightlessMango 6983c2ec39 Use gpu_metrics instead of libdrm when available 2 years ago
FlightlessMango fb1cae9cc9 display min/max frametime for period 2 years ago
FlightlessMango 46730b572a permit starting a new log even if previous is rendering 2 years ago
flightlessmango 0f49c5796a
Merge pull request #671 from Joshua-Ashton/empty_crash
Fix crash when no frames were recorded
2 years ago
Joshua Ashton 437563fa77 Fix crash when no frames were recorded
This can happen with MangoApp + the Steam Deck UI as it doesn't commit when there is nothing going on
2 years ago
FlightlessMango 3d3916247a mangoapp: force benchmark underneath 2 years ago
flightlessmango 1f94e0af4d
Merge pull request #657 from ishitatsuyuki/quad
overlay: avoid quadratic behavior
2 years ago
FlightlessMango 37e18279e7 mangoapp: use amdgpu metrics 2 years ago
FlightlessMango 3366120364 Move calc benchmark into logger 2 years ago
FlightlessMango a1b7b55a54 Use hudelements params in logging 2 years ago
jackun 4a33838bcd
Add extra parentheses to make compiler happy 2 years ago
FlightlessMango 9758d2a286 Try to get correct amd gpu when multiple 2 years ago
FlightlessMango cfd802c063 Incorrect param used in calc benchmark 2 years ago
FlightlessMango 7212c79feb Logging: push param to benchmark calc 2 years ago
Tatsuyuki Ishi ada173e67f overlay: avoid quadratic behavior
Using a vector with erase(begin()) results in a copy of the full array
every time. This is inefficient and in the case of HUD graphs, was having
quadratic complexity which can noticeably affect performance.

This patch replaces most of the operations with an O(1) alternative,
keeping the total cost under a linear bound. While on this, also refactor
the size of graph array into a constant.
2 years ago
FlightlessMango ee7f3fbfd2 Mangoapp: frametime message queue 2 years ago
FlightlessMango 9434033083 Don't use read_line as it causes issue with splitgate 2 years ago
FlightlessMango 23ed317536 mangoapp: shm struct + gamescope engine 3 years ago
Stephan Lachnit 4983056600 fix regression in hw_info_updater
Calling std::unique_lock in update() will cause a delay if
update_hw_info() takes longer than the period when update() is called.
To fix this, a try_to_lock tag is added. update() will only update if
the lock is aquired, else the update call is skipped.

Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
3 years ago
FlightlessMango 5fee3bc5e3 Change _params to pointer 3 years ago
FlightlessMango b001eb4714 Move _params init to overlay.cpp 3 years ago
FlightlessMango 4e3a40c6ef mangoapp + gamescope shm 3 years ago
jackun abf146f73c
Set correct swapchain_stats etc references for hw updater 3 years ago
jackun 9b6a39dfe9
sed s/gnu_linux/linux/g 3 years ago
jackun 90e48f95ca
Use unversioned `fmt::format_error` 3 years ago
jackun 6584f23a6c
Use `ghc::filesystem` to iterate over /proc/self/map_files 3 years ago
jackun c452609718
Fix hw update thread waiting for initial update signal 3 years ago
FlightlessMango 947f287a5e
Only create hw_info_thread once 3 years ago
jackun 729ccc83bd
Use spdlog's 'fmt' to format media player metadata
Usage:
  media_player_format={title};{artist};{album}

Semi-colon breaks to new line, might change.
3 years ago
FlightlessMango 3ac7772a55 Add universal param 3 years ago
jackun d1617818cd
Fix OpenGL gpu_name 3 years ago
jackun 866fd8bc24
Add per process memory usage (`procmem` etc) 3 years ago
jackun a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 3 years ago
jackun 2f807a4c0d
Add `spdlog` wrap and logging 3 years ago
jackun c093f9823e
Use libdrm_amdgpu for amdgpu sensor info, if available
Using plain `open` as `drmOpen` needs bus id check which needs interface 1.4 ioctl which gives EPERM cause only DRM_MASTER can call it :(

https://github.com/clbr/radeontop/issues/48#issuecomment-493792404
3 years ago
jackun 88d801bd7e
Move functions not directly related to vulkan from vulkan.cpp to overlay.cpp 3 years ago
Joshua Martin 3b0b6fbc42
Add position options to place the overlay halfway down the screen (#561) 3 years ago