This introduces support to overlay FCAT markers on top of other HUD elements.
For more information about nVidia's FCAT tool see: https://nvidia.com/en-us/geforce/technologies/fcat/technology
This patch includes support for the existing parameter infrastructure and it is fully dynamic.
Squashed commit:
Refactor FCAT to use existing parameter handling infrastructure
With this patch the FCAT overlay should be hooked up into the normal
parameter handling infrastructure. This includes support for
configuration file options, which are also part of this commit.
Added missing options and rearranged the way they appear under legacy layout plus minor fixes:
* Added some default values after `=`
* Commented out options with default values
* Unified style
`gl_size_query = viewport` - specify what to use for getting display size. Options are "viewport", "scissorbox" or disabled. Defaults to using glXQueryDrawable.
`gl_bind_framebuffer = 0` - (re)bind given framebuffer before MangoHud gets drawn. Helps with Crusader Kings 3.
`gl_dont_flip = 1` - don't swap origin if using GL_UPPER_LEFT. Helps with Ryujinx.
* Added (commented out `fps_sampling_period`, `version` and `engine_version`)
* Commented out `legacy_layout` by default and added `=false` if one want to enable new layout
* Unified VSync, FPS, RAM and other minor names while at it
* Added space after comments sign for options that were missing it to unify formatting
* To save some memory, use just 1-channel alpha-only textures
* Add some sort of wider glyph ranges support
* Chop single-ish vulkan font image uploading function into separate reusable helper functions
* Use descriptor set for ImTextureID but probably use texture array and push constants for "fast-path" if need arises
* Crosshair is gone as of 0.4.0
* Changed keybindings to the default ones as of 0.4.0
* Added `gpu_name`, `cpu_text`, `gpu_text`, `gpu_power` and `vulkan_driver` in respective sections