* Less string copies
* Some general cleanups
* Add extra param to runloop_message_queue_push so we can pass size_t
of the message
* Consistent conventions for local variable usage for certain things
Adapt the sanitized pointer handling, discussed at #17196 :
X11 driver specific changes:
make sure pointer position is always within [-0x7fff,0x7fff] by using the confined wrapper
remove extra "inside" checks, general simplification
enable pointer offscreen reporting
Udev driver specific changes:
remove custom calculation and use common viewport translation
unify pointer query instead of separate _x and _y
enable pointer offscreen reporting
Other changes:
more tuning of pointer conversion in video_driver.c for edges
lightgun button ID conversion moved to input_driver.c
Adapt the sanitized pointer handling, discussed at #17196:
Wayland driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff]
by using the confined wrapper
- enable lightgun to report -0x8000 if pointer is really offscreen
- remove extra "inside" checks
- report same pointer/lightgun coordinates for all ports
- simplify pointer and lightgun handling
Other changes:
- unify "offscreen" condition through input_driver.c
- slight tuning of pointer conversion in video_driver.c
- update libretro.h with explanation and pointer offscreen value
- small fixes on remote retropad test screen
Add another version of the coordinate translation that will not
report -0x8000 for offscreen values, but instead map the position
to the respective edge (0x7fff/-0x7fff). Not yet in use.
Udev driver updated to use the wrapper, as all other input drivers do.
* Initial implementation of CoreAspect uniform
* float -> float_t
* Possibly fix wii_u building
* vulkan: use float instead of float_t;
* slangp: Advertise support of CoreAspect uniform
by defining _RARCH_HAS_COREASPECT_UNIFORM early in the shader source, just after "#extension GL_GOOGLE_cpp_style_line_directive : require"
* CoreAspect + glsl fix: use glUniform1f()
* Add CoreAspectRot uniform.
It reports CoreAspect value or 1/CoreAspect when the content is rotated by 90 or 270 deg.
* Fixed stupid typo
* Just use _HAS_COREASPECT_UNIFORMS to check for CoreAspect uniforms support (was _RARCH_HAS_COREASPECT_UNIFORMS)
* Rename CoreAspect, CoreAspectRot, _HAS_COREASPECT_UNIFORMS to OriginalAspect, OriginlAspectRot, _HAS_ORIGINALASPECT_UNIFORMS
* GLCore: void Pass::build_semantic_float needs glUniform1f.
...how on earth did it worked for UBO !?
* d3d10,11,12, wrong function called by overlook.
* Add test shader, will remove that before PR
* Fix metal rotated aspect reporting
* remove test shader
* Fix C89 Build
* Use OriginalAspectRotated instead of OriginalAspectRot
* Add CoreFPS and FrameTimeDelta Uniforms.
_HAS_ORIGINALASPECT_UNIFORMS is (#)defined and can be used to query for them.
* add test shader
* remote test shader
* Wrong paste.
* gx2: use float
* wrong indentation
* resolved merge conflict
* fix indentation
* Fix comment/Formatting
* Change uniform name from CoreFPS to OriginalFPS
* underliyng references: core_fps -> original_fps
New environment set call to enable a bit more sensible handling of
absolute pointing devices (pointer and lightgun). With the
confinement enabled, pointing devices will not return neither
-0x8000 nor (0,0), which was anyway dependent on the input driver,
instead they will stay at the extreme edge.
This mirrors the use of video_viewport_get_scaled_integer for
non-integer scaling at various aspect ratios. Two variants are
provided, one with implicit device and desired ratios and one with
explicit ratios.
Also added a flag to video_viewport_get_scaled_integer to indicate the
direction of positive y.
Handle refresh rate as float in general, and add also extra
attributes (interlaced, doublescan) for video modes.
Make it possible to select exact mode (interlaced / doublescan modes
will not be selected), and allow close matches such as 49.5 Hz
for PAL 50 Hz.
Change GL2, GL3 and Vulkan drivers to behave as fullscreen if context driver
(such as KMS/DRM or KHR) does not support windowed mode at all.
Take it into account also for refresh rate switch.