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
* Draft: Add Named_Logos
* Allow selecting Content Logo as a thumbnail display
* Increase pl_thumbnail_download index
to 4 to match the 4 available thumb types
---------
Co-authored-by: Rob Loach <robloach@gmail.com>
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.
Because shift keys were ignored in the event message and only issued during polling, a quick key press and release between polling would get ignored.
This change also fixes left alt up key events getting issued (and sent to the core) twice.
* 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.
* 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
* slang shaders: add support for __has_include like C++17 macro.
This adds a new #pragma include_if_exist "filename" directive that acts like #include statements,
but does not return error if the file does not exists.
* removed unuseful define