Commit Graph

11788 Commits

Author SHA1 Message Date
LibretroAdmin 79d78a6860
Merge pull request #17880 from Sunderland93/wayland_toplevel_icon
[Wayland]: Add support for xdg-toplevel-icon-v1
2025-05-09 06:14:58 +02:00
LibretroAdmin 73426f823d
Merge pull request #17872 from BinBashBanana/master
Emscripten improvements pt. 4
2025-05-09 02:49:30 +02:00
Aleksey Samoilov 6be300b07c Additional check for xdg-toplevel-icon for libdecor 2025-05-09 02:20:07 +04:00
Aleksey Samoilov 7264709776 Set toplevel icon for libdecor frame 2025-05-09 02:15:22 +04:00
sonninnos c3cb4a8b5d D3D11+12: Minor cleanups 2025-05-08 22:11:53 +03:00
BinBashBanana 2d3c18e48d Emscripten improvements pt. 4 2025-05-08 11:01:43 -07:00
Aleksey Samoilov 9cf03289ec Check if icon_buffer is created 2025-05-08 18:55:51 +04:00
Aleksey Samoilov c4ee58a81a Fix intend 2025-05-08 18:10:28 +04:00
Aleksey Samoilov 6c7b648570 [Wayland]: Add support for xdg-toplevel-icon-v1 2025-05-08 17:58:20 +04:00
sonninnos 10738f532c
Add shader hold hotkey and improve toggling logic (#17840) 2025-05-08 00:56:59 +03:00
sonninnos 2ddd9330fe Frame delay + swap interval correction 2025-05-05 15:50:45 +03:00
刘皓 1a5eb6e8b9
Implement `get_proc_address` for emscriptenwebgl_ctx 2025-04-23 22:12:10 -04:00
pstef 66aa1424f0 Define WIN32_LEAN_AND_MEAN to avoid collision with winsock2 2025-04-12 10:45:08 +00:00
pstef 6a302d0602 PSVita: add missing include 2025-04-10 21:10:45 +00:00
pstef 187673fb2a Guard definition of an array just like its use is guarded 2025-04-10 21:10:45 +00:00
LibretroAdmin 82d8b9630a
Merge pull request #17750 from BinBashBanana/master 2025-04-10 03:35:45 -07:00
pstef e8d43b3d99 Add missing function declarations
They are absent even in upstream, so I decided against copying to the
local copy of libogc. And a couple of function prototypes doesn't seem
to warrant a new header file.
2025-04-09 20:43:09 +00:00
LibretroAdmin 634a0a9654
Merge pull request #17753 from pstef/ctr-nogriffin
Fix non-griffin build for 3DS and make it the default
2025-04-09 13:25:30 -07:00
pstef b98a730413
Use fabsf and intended threshold for refresh rate check (#17791)
Discussed with sonninnos

Co-authored-by: pstef <3462925+pstef@users.noreply.github.com>
2025-04-09 23:22:00 +03:00
LibretroAdmin 036df1e9b1
Merge pull request #17790 from pstef/gx2-update-uniform-block
Fix variable name collision
2025-04-09 10:55:34 -07:00
pstef 3b3065f736 Fix variable name collision
const char *id overshadowed the function parameter int id.
2025-04-09 16:59:49 +00:00
Eric Warmenhoven 0533debeab ios: ios9 build fix 2025-04-09 08:50:43 -04:00
Eric Warmenhoven afc32f02dc ios: screen orientation lock through display server 2025-04-08 15:39:04 -04:00
pstef 70aaa0a55c Fix non-griffin build for 3DS and make it the default
While here:
* remove input_overlay and task_overlay from linking blacklist
* move -Werror to CC invocation since C++ refuses to use it
* copy the quiet build mode from the main Makefile and make it the
  default
* temporarily define DEPRECATED for gpu_old.h to allow succesful build
* replace the call to command_event() with one to retroarch_main_quit()
  in a failure case
* add missing uncompr.o in Makefile.common for HAVE_BUILTINZLIB
2025-04-06 18:35:41 +00:00
pstef af8765cb3b Fix DCFlushRange size calculation
by correcting the operator precedence
2025-04-06 01:04:06 +00:00
Antonio Orefice 97725bfac3 remove a debug message 2025-03-31 18:23:56 +02:00
Antonio Orefice d7c00869fb FIX shader wildcards.
All wildcards: Use strlen() because STRLEN_CONST cannot work on wildcard_tokens[i].token_name
CORE and VID-DRV wildcards: correctly update _len
2025-03-31 18:19:18 +02:00
BinBashBanana 05cefc9a4d AudioWorklet driver, misc. emscripten fixes 2025-03-28 19:41:40 -07:00
pstef 052acd4e38 Reorder arguments in calls to calloc
to silence calloc-tran sposed-args warnings.
2025-03-25 20:15:20 +00:00
pstef 3be0cfe09c Allow frame_time_accumulator to go negative
to be able to catch the underflow and correct it.
2025-03-20 21:44:39 +00:00
sonninnos 5365639a36
Win32: Fix pick core dialog (#17709) 2025-03-17 18:10:50 +02:00
pstef bad0e58372 CTR: more compiler warnings cleanup
* unsigned vs signed comparison
* copy DEBUG_VAR from wiiu - this one prints pointer values in a
  portable way
* prove GCC14 that a date formatted as "00/00/0000" can fit into 11
  bytes
* explicitly mention previously unhandled enum constants
* Adding GFX widgets in b9849f78f7 and 1235a7435e orphaned
  ctr_set_osd_msg(). Reinstate it instead of removing, since it's
  effectively the same as calling font_driver_render_msg, but with
  checks.
* remove sp from clobber list in inline assembly
2025-03-16 14:00:35 +00:00
pstef fc9f0b04be CTR: Silence a couple of GCC 14 warnings 2025-03-16 01:01:04 +00:00
BinBashBanana c672730259 address issues 2025-03-06 15:38:40 -08:00
BinBashBanana f6eb1ed5c5 Threaded emscripten improvements 2025-03-05 10:39:43 -08:00
sonninnos 6a717fd44c Better way to count dropped frames 2025-03-01 10:40:59 +02:00
sonninnos 3c1a1a44ae
Vulkan: Add adaptive vsync support (#17611) 2025-02-21 12:34:32 -08:00
sonninnos 61de3a3260
Integer scaling improvements (#17606) 2025-02-20 19:51:19 +02:00
sonninnos fce67c1fab
Use core fps instead of display rate when counting dropped frames (#17605) 2025-02-20 14:10:08 +02:00
Joe Osborn 56014a27d6
Enable pthreads on Emscripten (#17586)
* workerized RA

* Workerized (non-async) web player, using OPFS

This patch eliminates the need for asyncify and uses modern filesystem
APIs instead of the deprecated, unmaintained BrowserFS.

This is a WIP patch because it won't fully work until these two
Emscripten PRs land and are released:

https://github.com/emscripten-core/emscripten/pull/23518
https://github.com/emscripten-core/emscripten/pull/23021

The former fixes an offscreen canvas context recreation bug, and the
latter adds an equivalent to BrowserFS's XHR filesystem (but without
the hazardous running-XHR-on-the-main-thread problem).

The biggest issue is that local storage of users who were using the
old version of the webplayer will be gone when they switch to the new
webplayer.  I don't have a good story for converting the old BrowserFS
IDBFS contents into the new OPFS filesystem (the move is worth doing
because OPFS supports seeking and reading only bits of a file, and
because BrowserFS is dead).

I've kept around the old libretro webplayer under
pkg/emscripten/libretro-classic, and with these make flags you can
build a non-workerized RA that uses asyncify to sleep as before:

make -f Makefile.emscripten libretro=$CORE HAVE_WORKER=0 HAVE_WASMFS=0 PTHREAD=0 HAVE_AL=1

I also moved the default directory for core content on emscripten to
not be a subdirectory of the local filesystem mount, because it's
confusing to have a subdirectory that's lazily fetched and not
mirrored to the local storage.  I think it won't impact existing users
of the classic web player because they already have a retroarch.cfg in
place.

* Get fetchfs working without manifest support

* makefile fixes

* fix scaling, remove zip dependency

* Support asset/cheats/etc downloaders for emscripten

- Add http transfer support for emscripten
  - At the task_http level, not the net_http level --- so no netplay
    or webdav.
- Change default paths to be more like other platforms
- Gives us smaller bundles and a faster boot time
- Had to work around a task queue bug on Emscripten
  - I made the smallest possible change to do it, but it may be better
    to fix in rthread.c

* Load an emscripten file_packager package on first run

If no ozone assets are present, load a libretro_minimal package
created using Emscripten's built-in file packager.

* updated readme, removed indexer from wasmfs libretro-web

* Put back zip dependency, load asset bundle into opfs on first run

* fix upload path

* Remove unused function

* easy testing setup for two multithreaded conditions

1. make PROXY_TO_PTHREAD=1 (slower)
2. make PROXY_TO_PTHREAD=0 (bad audio, because doesn't sleep in
openal.c)

* Remove condition on sleep in openal

also make input_driver check existence of drv->axis, drv->button
before calling them.

* Fix resizing under EGL

* Don't force config file path on emscripten

* Add time.h include to netplay, default HAVE_NETPLAYDISCOVERY to 0

* Remove nearly all proxied joypad calls under emscripten

* Fix file uploads under firefox

* Fix safari API uses, but Safari still hangs in OPFS filesystem mount

I think this can be fixed by moving the backend creation off the main
thread.

* Move filesystem init into emscripten C entry point

* Setup filesystems off of main thread

* re-set default player to async

Also improve Safari compatibility under proxy-to-pthread condition

* Safari upload file fixes

* Remove some excess prints

* Fix typo
2025-02-20 00:59:25 +01:00
sonninnos 73abaddd9c
GLUI: Add save state thumbnails (#17592) 2025-02-18 17:11:46 +01:00
Bernhard Schelling 754dbe37cc
Color the notification icon by message category (#17573)
Use yellow for warnings and red for errors, keep the current blue for everything else.
Additionally, flip the 'i' info icon upside down for warnings and errors so it becomes a '!' exclamation mark icon.
2025-02-17 01:38:16 +01:00
Eric Warmenhoven 65e1436a23
iOS: set up shared gl context correctly (#17565) 2025-02-13 09:06:14 +01:00
LibretroAdmin f6006ae6ca Style nits 2025-02-12 10:17:35 +01:00
sonninnos 2073b8abfc
XMB: Icon thumbnail improvements (#17558) 2025-02-11 23:09:47 +01:00
ScoochAside 9f5bc9c318
Fix issue #17438 (#17557) 2025-02-11 22:45:44 +01:00
LibretroAdmin 98681ace4a Cleanups - less settings pointer grabbing 2025-02-11 10:12:12 +01:00
LibretroAdmin 1a561ea0c2 Less passing around of settings_t pointer 2025-02-10 16:11:18 +01:00
LibretroAdmin ddd7ff2d33 get rid of some settings_t pointer passing 2025-02-10 15:47:18 +01:00
sonninnos 87b3032139
XMB: Color tuning (#17547) 2025-02-10 11:52:08 +01:00
LibretroAdmin 72efcab3e7 Silence more warnings 2025-02-09 21:11:35 +01:00
LibretroAdmin f9fa557a95 Some refactors to make some video driver functions less dependent
on passing around the settings_t pointer
2025-02-09 18:23:42 +01:00
sonninnos bb9f07569c
Video stats unit alignments (#17524) 2025-02-06 04:49:20 +01:00
Eric Warmenhoven 089a51f674
apple: enable emulated mailbox (#17506) 2025-02-02 01:22:18 +01:00
LibretroAdmin 2870a0a8ad
Revert "Workerized emscripten retroarch (WIP) (#17484)" (#17492)
This reverts commit cacd5a9a23.
2025-01-30 21:35:58 +01:00
Joe Osborn cacd5a9a23
Workerized emscripten retroarch (WIP) (#17484)
* workerized RA

* Workerized (non-async) web player, using OPFS

This patch eliminates the need for asyncify and uses modern filesystem
APIs instead of the deprecated, unmaintained BrowserFS.

This is a WIP patch because it won't fully work until these two
Emscripten PRs land and are released:

https://github.com/emscripten-core/emscripten/pull/23518
https://github.com/emscripten-core/emscripten/pull/23021

The former fixes an offscreen canvas context recreation bug, and the
latter adds an equivalent to BrowserFS's XHR filesystem (but without
the hazardous running-XHR-on-the-main-thread problem).

The biggest issue is that local storage of users who were using the
old version of the webplayer will be gone when they switch to the new
webplayer.  I don't have a good story for converting the old BrowserFS
IDBFS contents into the new OPFS filesystem (the move is worth doing
because OPFS supports seeking and reading only bits of a file, and
because BrowserFS is dead).

I've kept around the old libretro webplayer under
pkg/emscripten/libretro-classic, and with these make flags you can
build a non-workerized RA that uses asyncify to sleep as before:

make -f Makefile.emscripten libretro=$CORE HAVE_WORKER=0 HAVE_WASMFS=0 PTHREAD=0 HAVE_AL=1

I also moved the default directory for core content on emscripten to
not be a subdirectory of the local filesystem mount, because it's
confusing to have a subdirectory that's lazily fetched and not
mirrored to the local storage.  I think it won't impact existing users
of the classic web player because they already have a retroarch.cfg in
place.

* Get fetchfs working without manifest support

* makefile fixes
2025-01-30 19:58:18 +01:00
BinBashBanana ed1810de86
Emscripten improvements (#17422) 2025-01-29 05:29:16 +01:00
Eric Warmenhoven 0903eead06
tvos: fix fetching refresh rate on tvos 13/14 (#17455) 2025-01-22 20:43:02 +01:00
sonninnos 3797d4deb6
Fix latency header in video stats (#17451) 2025-01-21 04:31:13 +01:00
LibretroAdmin 350e4faf79 Fix some warnings 2025-01-20 01:30:27 +01:00
LibretroAdmin b211adaaca Function argument name standardization 2025-01-17 19:55:32 +01:00
LibretroAdmin 31b7812720 Function argument name standardization 2025-01-17 04:16:12 +01:00
LibretroAdmin a9b0e45013 (glslang_utill.c) One less string copy per iteration 2025-01-17 03:01:59 +01:00
LibretroAdmin e4d7684246 Less string copies in fill_pathname_expanded_and_absolute 2025-01-17 01:01:43 +01:00
LibretroAdmin a5c9d9520f * Use fill_pathname_basedir where possible
* Move static variable to only function where it's used
* Change signature of file_path.c function
2025-01-15 22:17:59 +01:00
LibretroAdmin e0f09f609f (video_shader_parse.c) token_name char size can be further reduced to 24 2025-01-15 18:30:11 +01:00
LibretroAdmin de3acd9017 (video_shader_parse.c) Go lighter on char stack usage, remove unnecessary
wildcard token_size
2025-01-15 18:28:14 +01:00
LibretroAdmin 9da7af46c3 len variable/argument name standardization 2025-01-15 16:04:25 +01:00
LibretroAdmin 076c2bca3b video_shader_replace_wildcards - get rid of the 2D char arrays 2025-01-15 15:25:27 +01:00
LibretroAdmin 7456711eaa (video_shader_parse.c) Standardize replace_len variable name and
reduce char array buffers
2025-01-15 15:08:37 +01:00
LibretroAdmin 2533bbdc0b Small cleanups 2025-01-15 12:37:35 +01:00
LibretroAdmin f7447d2e0d Add TODO/FIXME notes and cleanup argument naming 2025-01-15 12:19:02 +01:00
LibretroAdmin 7e7224196a Avoid some strlens, and also return size_t in more string
modification functions
2025-01-12 23:39:29 +01:00
zoltanvb 65b9b1cd25
Fix compile failure (#17366) 2025-01-07 17:42:25 +01:00
LibretroAdmin 839b7654db More standardization of local len variables 2025-01-07 03:20:39 +01:00
LibretroAdmin fc48ecaa1d Local 'len' variables need to prefixed with '_', inner-loop len
variables need to be prefixed with '__'
2025-01-07 02:57:24 +01:00
Eric Warmenhoven 53d9452439
Change config_get_path/array return back to bool (#17333) 2025-01-02 14:35:33 +01:00
Eric Warmenhoven 01951a5a5a
Fix passing wrong length of message (#17329) 2025-01-02 01:49:25 +01:00
sonninnos 2e3fc4f52d
WIN32: Menubar hotkey corrections (#17326) 2025-01-01 23:13:58 +01:00
LibretroAdmin a590c514f9 (video_shader_parse.c) Code restored to pre-Dec 17 2025-01-01 03:00:09 +01:00
LibretroAdmin 76d133f860 Get rid of if 0 codeparts in gfx_widgets.c 2024-12-30 23:56:54 +01:00
LibretroAdmin 6be18bfee9 Standardize naming of local len variables 2024-12-30 14:27:24 +01:00
LibretroAdmin 1e656261b0 Local len variables need to have '_' prefix 2024-12-30 14:03:58 +01:00
LibretroAdmin 8ebedcb6bd (menu_explore) Simplification of explore_load_icons
fill_pathname_application_special - return size_t
2024-12-30 10:07:58 +01:00
LibretroAdmin d2dae40b3a (gfx/video_shader_parse.c) Enlarge char buffers - was necessary for some large
paths - TODO/FIXME - we still need to find out exactly which of these buffers
needs size to be PATH_MAX_LENGTH
2024-12-29 20:08:50 +01:00
Aleksey Samoilov 9ffb458626
wayland: add support for single-pixel-buffer-v1 protocol (#17298)
* wayland: add support for single-pixel-buffer-v1 protocol

* Create single pixel buffer instead of checkerboard if available

* Fix identations
2024-12-29 18:56:32 +01:00
Colin Kinloch e3cc0341b9
wayland: Fix improperly sized commits (#17309)
* Revert "wayland: Ignore splash sized events during splash"

This reverts commit 5ef24debe4.

* wayland: Fix improperly sized commits

* Set viewport on splash commit
* Don't commit "set video mode" viewport update
* Hide the libdecor frame before transitioning to fullscreen
2024-12-29 18:56:17 +01:00
LibretroAdmin 4297f02544 Use returntype for fill_pathname_basedir 2024-12-28 23:11:24 +01:00
Aramis 2c3e53e4e8
fix for closing window (#17301) 2024-12-28 17:26:04 +01:00
LibretroAdmin b8c9665753 Fix typo 2024-12-28 00:44:56 +01:00
LibretroAdmin e6373f2869 Position Latency accurately in statistics 2024-12-28 00:33:40 +01:00
Aleksey Samoilov 4fc6bbe8c2
wayland: improve logging (#17291)
* wayland: improve logging

* wayland: minor cleanup
2024-12-27 15:51:13 +01:00
LibretroAdmin 0d4eeb647a Warning cleanups/unused variables removal 2024-12-27 15:39:32 +01:00
LibretroAdmin 18c85b5ccd Cleanups -
* 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
2024-12-27 15:13:45 +01:00
LibretroAdmin ed58e4a8d8 Conventionalize len variables:
* In function arguments, use 'size_t len'
* Inside the function, use '_len'
* If you need a seciondary len variable inside the function, use '__len'
2024-12-27 05:51:33 +01:00
Aleksey Samoilov a2d9c74978
wayland: add support for content-type-v1 protocol (#17288)
* wayland: add support for content-type-v1 protocol

* update gitignore, remove generated files

* Fix typos
2024-12-27 00:16:36 +01:00
libretroadmin 95f0297e7f Fix CLI shader loading 2024-12-26 05:10:00 +01:00
libretroadmin 5749a2179d Use members from path_data directly and bypass functions
in gfx_thumbnail_path
2024-12-26 02:48:05 +01:00
libretroadmin 92f134fb87 video_driver_frame - optimize string handling 2024-12-25 23:33:50 +01:00
libretroadmin c477956f23 Cleanups/style nits 2024-12-25 22:52:12 +01:00
libretroadmin 9c71620c53 (gfx_widget_load_content_animation) icon_file can be reduced to NAME_MAX_LENGTH size 2024-12-25 21:34:02 +01:00
Aleksey Samoilov 7887719d42
wayland: add support for cursor-shape-v1 protocol (#17284)
* wayland: add support for cursor-shape-v1 protocol

* Bump required wayland-protocols to 1.32
2024-12-25 08:18:45 -08:00
libretroadmin 9a5b2063b7 Simplify video_shader_replace_wildcards 2024-12-25 06:49:58 +01:00
libretroadmin 44238e909f Consistent viewport naming conventions 2024-12-24 22:50:51 +01:00
libretroadmin 8074a833aa Cleanups/less string copies and indirection 2024-12-24 21:07:31 +01:00
zoltanvb 6a85844b41
Pointer sanitization - x11, udev (#17281)
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
2024-12-24 07:08:58 -08:00
libretroadmin 67b0147a59 Cleanups - menu_entries_get_title returns results of strlcpy 2024-12-24 05:35:36 +01:00
libretroadmin de8f979cb7 less string copies 2024-12-24 05:10:09 +01:00
libretroadmin 772620f6fa gfx_widget_load_content_animation - use fill_pathname more 2024-12-23 06:33:43 +01:00
libretroadmin 442b9bc3da Syntax style nits 2024-12-23 05:44:40 +01:00
libretroadmin ca7e53e3ca string_replace_substring - move out implicit strlen 2024-12-23 00:40:09 +01:00
libretroadmin b90c2d440c Another buildfix 2024-12-22 22:11:19 +01:00
libretroadmin f8317a2a7e C89_BUILD fix 2024-12-22 22:09:54 +01:00
libretroadmin b3e5c578b3 Faster shader capabilities queries 2024-12-22 21:58:51 +01:00
libretroadmin 70f55f5976 video_shader_replace_wildcards - do away with the string arrays
and do string concatenation instead
2024-12-22 19:31:46 +01:00
libretroadmin 6b8466f87a menu_driver_set_thumbnail_system/menu_driver_get_thumbnail_system
just small wrapper functions, remove
2024-12-22 04:53:04 +01:00
zoltanvb 072d949346
Pointer handling sanitization - wayland and libretro.h changes (#17277)
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
2024-12-21 13:28:27 -08:00
LibretroAdmin 739f2ff55c
Reduce calls to path_remove_extension - use fill_pathname instead (#17270)
* Reduce calls to path_remove_extension - use fill_pathname instead

* More fill_pathname usage
2024-12-20 21:40:58 -08:00
Zach Morris b16f04de0a
Add Named_Logos (#17216)
* 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>
2024-12-20 18:52:27 -08:00
zoltanvb 30a656738b
Introduce video_driver_translate_coord_viewport_wrap clamping variant. (#17196)
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.
2024-12-19 13:30:43 -08:00
Eric Warmenhoven 8d640fc048
ios9: Fix using opengles2 context (#17269) 2024-12-19 13:30:01 -08:00
libretroadmin 17fc55c762 fill_pathname_parent_dir_name - small cleanups 2024-12-19 21:05:43 +01:00
libretroadmin 4521f6bcb2 Cleanups 2024-12-18 20:15:58 +01:00
libretroadmin f047c247f9 (gfx/video_shader_parse) Readability 2024-12-18 15:54:42 +01:00
Jefferson Bezerra 5dbfbff6e3
Add upscale 1.66x filter (#17240) 2024-12-08 00:06:14 -08:00
Eric Warmenhoven 4d335c4855
iOS: Fix CAMetalLayer nativeScale confusion (#17225) 2024-12-02 07:52:38 -08:00
libretroadmin 2809421d4e Revert "static variables are initialized to '0' automatically as per C rules"
This reverts commit 2a0984b6e4.
2024-11-19 03:03:13 +01:00
libretroadmin 82e4504968 Revert "(pt. 2) static variables are initialized to '0' automatically as per C rules"
This reverts commit 47410df7a3.
2024-11-19 03:03:05 +01:00
libretroadmin 47410df7a3 (pt. 2) static variables are initialized to '0' automatically as per C rules 2024-11-18 15:59:46 +01:00
libretroadmin 2a0984b6e4 static variables are initialized to '0' automatically as per C rules 2024-11-18 15:33:34 +01:00
sonninnos e09039c77f
Disabled menu buildfixes (#17184)
* Disabled menu buildfixes

* Skip thumbnail features with menu disabled
2024-11-14 13:44:50 -08:00
Bernhard Schelling c039576441
Fix quick shift key presses getting ignored on dinput driver (#17185)
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.
2024-11-14 13:44:41 -08:00
Antonio Orefice 2a56a827e8
Add Frametime Uniforms (#17155)
* 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
2024-11-12 19:50:59 -08:00
LibretroAdmin e45bc853ec
Revert "Pointer confinement support (opt-in) (#17169)" (#17173)
This reverts commit 90ee413a81.
2024-11-07 07:31:47 -08:00
zoltanvb 90ee413a81
Pointer confinement support (opt-in) (#17169)
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.
2024-11-06 15:19:08 -08:00
sonninnos ae202515f6
Integer scale crash fix (#17170) 2024-11-06 14:35:33 -08:00
sonninnos 767be489d9
Custom aspect ratio safeguards (#17168) 2024-11-06 11:06:21 -08:00
sonninnos 71ed81dc38
Integer scale Y axis half step tweak (#17154) 2024-11-03 18:14:27 -06:00
sonninnos 273178b979
Integer scale X axis corrections (#17151)
* Integer scale X axis corrections

* Integer scale: Fall back to normal scale when content is larger than viewport
2024-11-02 09:40:11 -07:00
Antonio Orefice da5ecaa45a
Add OriginalAspect and OriginalAspectRot uniforms (#17123)
* 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
2024-11-02 04:04:12 -07:00
sonninnos cbafa3b513
Integer scale 'smart' tweak (#17139) 2024-10-30 17:56:56 -07:00
sonninnos 8ee6561a26
Vulkan: Use separate matrix for menu (#17134) 2024-10-29 12:03:37 -07:00
Eric Warmenhoven f887ebe301
ios9: buildfix (#17131) 2024-10-28 16:38:19 -07:00
sonninnos c847b02206
Integer overscale GPU screenshot crash fixes (#17118) 2024-10-26 06:45:45 -07:00
Eric Warmenhoven 98c7f20eae
iOS: Fix some minor refresh issues (#17112) 2024-10-26 06:45:37 -07:00
Antonio Orefice e1b2e29d51
slang shaders: add support for __has_include like C++17 macro. (#17109)
* 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
2024-10-21 14:45:44 -07:00
sonninnos 73fc26c132
RGUI integer scale fix (#17099) 2024-10-15 19:08:58 -07:00
sonninnos 84b58dd001
Pixel perfect integer scaling improvements (#17098) 2024-10-14 14:44:10 -07:00
Viačasłaŭ 3019b926c2
Fix typos (#17068) 2024-10-01 17:36:33 -07:00
sonninnos 1cc2210185
Vulkan: Negative viewport position correction (#17063) 2024-09-29 11:12:12 -07:00