Commit Graph

361 Commits (f78107e662bc5d56d05063ef732042da48534c2b)

Author SHA1 Message Date
jackun f4cbb8b14b
When available (i.e. using vulkan), check vendor/device id and skip device if no match 2 years ago
jackun ac7c898ba7
Use uint32_t for device id etc 2 years ago
jackun d73932ad17
Clean up getAmdGpuInfo_actual 2 years ago
jackun bd2f7b24b8
Snapshot some paths so moving stuff around doesn't randomly break things 2 years ago
FlightlessMango 17d4c1dd4a amdgpu: use gtt_used for APUs 2 years ago
FlightlessMango 19fbd9bf9b Nvidia: only do throttling checks if enabled 2 years ago
FlightlessMango 5d6ebe2f38 Logging: use same data for benchmark and summary 2 years ago
FlightlessMango b30302c889 amdgpu: prefer hwmon over gpu_metrics for gpu temp
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2 years ago
FlightlessMango 350dca5d21 Dynamic width when fps_only 2 years ago
FlightlessMango 4f9d870c72 fan: add some checks 2 years ago
FlightlessMango 65e70c9cfb fan param 2 years ago
jackun 1f90b0b2aa
Revert "overlay: remove HUDElements.params setter"
This reverts commit 14ddc9563f.

HUDElements.params gets stale. Needs a proper fix though.
2 years ago
jackun 3ee1048acf Check if amdgpu gpu_metrics can be read and do some sanity-checks 2 years ago
Emil Velikov 14ddc9563f
overlay: remove HUDElements.params setter
HUDElements.params is already set in the parse_overlay_config() call
before we even get here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 2b7db32f54
Const annotate overlay_params& across the board
Most of the API does not modify it, so annotate it as const.
This makes it earlier to reason what's happening.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 9639377694
overlay: annotate render_benchmark() as static
Function is used solely within the compilation unit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 5a53ad010f
overlay: position_layer() takes an immutable window_size
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
jackun f4ea65429e
No frame time for first frame
We don't know when it started to render, so...
2 years ago
jackun a13b041d1d
Fps limit: simplify converting frame time back to fps 2 years ago
jackun d2d6787568
Cleanup some header inclusions 2 years ago
jackun 73da29d4ad
Try to init spdlog a bit earlier 2 years ago
jackun 2f5efc320a
Move FpsLimiter to overlay.cpp 2 years ago
Emil Velikov 816d9f6b98 overlay: rework misleading gpu_busy_percent check
Above all, we really don't need the gpu_busy_percent node, if the GPU
exposes a gpu_metrics node,

Although looking closer, the gpu_busy_percent check is meant for
something else - to distinguish between the card node (cardX) and the
card output node (cardX-output-foo).

To top it all up, the check at the very end implies that we can get a
case where gpu_metrics and gpu_busy_perfect is missing ... that's not
possible.

So instead, drop the early gpu_busy_perfect check and properly mandate
it later on.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 17bfd6ed08 Skip the standalone nodes, when gpu_metrics is present
Currently we open the standalone busy, temp, gpu/memory clock and
power_usage nodes, even if gpu_metrics is present.

At the same time, we correctly ignore them when doing the read-only.
So just avoid opening them all together.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 5143229bd1 Fix gpu_stats logic check
Currently we can get the load and temp stats either from the standalone
nodes or from the gpu_metrics (binary) sysfs node.

Fix the next to handle that.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov a7e8ae9417 Remove dummy vendorID overwrite in init_gpu_stats()
We have already enforced that a few lines above just after parsing the
vendor node.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov 2aa49caf52 Remove find_folder() API
Can be trivially replaced with ls()

v2: Move break where it's supposed to.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
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 3 years ago
FlightlessMango a1b7b55a54 Use hudelements params in logging 3 years ago