Commit Graph

11434 Commits

Author SHA1 Message Date
LibretroAdmin 5d4c6a9564 Some small opts to two conditionals 2022-10-30 23:21:43 +01:00
LibretroAdmin 724acc4eb9 (Vulkan) Use flags for vulkan_ctx_data 2022-10-30 23:07:07 +01:00
LibretroAdmin 0159c2f70f gfx_ctx_vulkan_data - use flags instead of booleans 2022-10-30 22:03:36 +01:00
LibretroAdmin a94c4c72c2 Use size_t as type for returned value of strlen instead of int 2022-10-29 19:40:48 +02:00
LibretroAdmin b4a2216049 (Context drivers) Cleanups; use flags instead of booleans etc. 2022-10-29 19:36:50 +02:00
LibretroAdmin 9b21848f4c (Cocoa GL CTX) Turn booleans into flags 2022-10-29 19:25:47 +02:00
LibretroAdmin 55daddf286 * Fix C++ comments - turn them into C comments for C files
* Some other additional style nits along the way
2022-10-29 19:05:39 +02:00
Kangmo-Ahn 3a744b7dae
Extended character ime (#14559)
* Update Makefile

* Update win32_common.c

* Update input_driver.c

* Update gfx_thumbnail_path.c
2022-10-29 19:01:30 +02:00
LibretroAdmin f6866fe6ce Buildfix for Linux 2022-10-28 22:33:28 +02:00
LibretroAdmin 174b01f7d9 Remove unnecessary video_driver_is_cache_context 2022-10-28 19:36:56 +02:00
LibretroAdmin 2ec2f4719f (video_thread_wrapper) Use flags instead of bools 2022-10-28 19:21:09 +02:00
LibretroAdmin c7eee86fd5 Turn core boolean variables into flags 2022-10-27 00:29:24 +02:00
LibretroAdmin c0d6d6e750 Create video_driver_get_st_flags 2022-10-26 22:35:04 +02:00
LibretroAdmin e8f4268e6e Addendum for previous commit - buildfixes for PS4 and C89 (cg) 2022-10-26 21:29:35 +02:00
LibretroAdmin d0b3c1742d (Video) use flags for FBO passes, GL2 renderchain, etc 2022-10-26 21:21:21 +02:00
LibretroAdmin 18639cca6e (Win32) Create g_win32_flags - reduce amount of global booleans kept
around for state
2022-10-26 17:31:42 +02:00
LibretroAdmin 18ea6fa81e Turn more boolean variables into flags for runloop
- Get rid of RARCH_CTL_IS_INITED, use runloop_get_flags instead
2022-10-24 18:16:00 +02:00
hunterk a90a79fa95 revert offending function
fixes https://github.com/libretro/RetroArch/issues/14528
2022-10-20 06:29:04 +02:00
Colin Kinloch 8bbc4a90f3
(Wayland) Set correct app ID (#14521)
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Co-authored-by: Colin Kinloch <colin.kinloch@collabora.com>
2022-10-17 00:06:27 +02:00
sonninnos bbd6c0ae9a
Add delay to savestate notifications (#14514) 2022-10-15 11:29:07 +02:00
Giovanni Cascione 18b3997a15
mali_fbdev: change bools to flags (#14508) 2022-10-12 12:12:16 +02:00
LibretroAdmin 41de5ec80b Cleanups for runloop_state grabbing 2022-10-10 20:32:46 +02:00
LibretroAdmin da68e73f94 Get rid of some RARCH_CTL_ commands 2022-10-10 20:14:54 +02:00
LibretroAdmin cc3a339011 (Runloop) Use more flags 2022-10-10 19:54:54 +02:00
LibretroAdmin 2371e5cbd2 (Runloop) Turn more bools into flags 2022-10-10 18:53:55 +02:00
LibretroAdmin d100e73780 Use more runloop flags 2022-10-10 08:59:27 +02:00
LibretroAdmin 076a1a398c (Runloop) Turn some boolean variables into flags 2022-10-10 04:37:17 +02:00
LibretroAdmin 2cddea21f8 * Cleanups
* Less pointer grabbing (dispwidget_get_ptr)
2022-10-09 22:53:39 +02:00
LibretroAdmin d3384fd89d Fix parameter names omitted 2022-10-09 10:25:35 +02:00
LibretroAdmin d5a6c4f150 (content) use flags for content_state
(xaudio2) Use flags
2022-10-09 10:20:43 +02:00
LibretroAdmin d506210fbe
(menu_driver.c) Use flags instead of bools (#14500)
* (menu_driver.c) Use flags instead of bools
2022-10-08 22:52:18 +02:00
Giovanni Cascione fd2a026f96
mali_fbdev: add conditional support for gles3 (#14494) 2022-10-08 19:05:26 +02:00
LibretroAdmin fcbd72dbf3
Use flags pt4 (#14497)
* * Use flags for rarch_state
* Get rid of ^M linebreaks in retroarch_types.h

* Buildfixes for consoles

* (audio driver) use flags instead of bools

* (video) Use flags instead of bools

* Rewrite input driver state bools into flags
2022-10-08 10:39:15 +02:00
LibretroAdmin f40d157571
Use flags pt3 (#14491)
* (Vulkan) Use flags for vulkan_emulated_mailbox

* Use flags for vk_texture

* dispgfx_widget - use flags instead of bools

* (Autoconfig) Use flags
2022-10-07 11:08:17 +02:00
GABO1423 df8571b3ca
(UWP) Build Fix (#14489) 2022-10-07 02:56:07 +02:00
LibretroAdmin 83c1e502ba (display servers) Use flags instead of bools 2022-10-07 02:40:19 +02:00
LibretroAdmin 91119d038f
(gfx_display/gfx_animation) Use flags instead of bools (#14488)
* (gfx_display/gfx_animation) Use flags instead of bools
* (task_save) Use flags instead of bools
2022-10-07 00:10:32 +02:00
LibretroAdmin 951b98fe1b
Bools to flags (#14486)
* (D3D11) Use flags instead of bools

* (RPNG) Use flags

* Simplify rpng_is_valid

* (rpng_is_valid) Prevent potential NULL pointer dereference
(D3D11) Some whitespacing changes/code nits

* (task_pl_thumbnail_download.c) Simplify some code
2022-10-06 19:26:38 +02:00
LibretroAdmin 0bdc761adb
Buildfix for previous commit 2022-10-06 09:32:26 +02:00
LibretroAdmin 30eb0edcf8 Use flags for some structs instead of tons of bools - less state/variables to bookkeep,
less memory used
2022-10-06 06:53:13 +02:00
sonninnos 8e9d19568c
Unload screenshot widget texture early (#14482) 2022-10-06 00:06:41 +02:00
sonninnos 3a0d8cbc50
(Vulkan) Fix screenshot widget crash when ticker animating (#14475) 2022-10-05 02:09:56 +02:00
sonninnos 4fe477ee39
Avoid 'video_gpu_screenshot' with savestates (#14464) 2022-10-03 15:13:01 +02:00
LibretroAdmin 7df0157af5 Fix #14460 - ./configure --enable-network_video option fails to build 2022-10-02 22:33:09 +02:00
reallibretroadmin 0033224c25 Fix some implicit conversion signedness warnings 2022-10-02 03:22:34 +02:00
libretroadmin 13ac88c9df (Metal common) Cleanups 2022-10-01 21:41:32 +02:00
LibretroAdmin 86dccbf1d6 Buildfix 2022-10-01 18:47:41 +02:00
LibretroAdmin ace21d28f7 Fix C++ comments 2022-10-01 17:56:16 +02:00
yesfish c1309a34c2
Fix video_layout fbo (#14418) 2022-09-18 01:16:05 +02:00
LibretroAdmin c1709f2218 (gfx_widget_load_content_animation) Get rid of strlen 2022-09-13 09:14:43 +02:00
LibretroAdmin c5d70d49e5 (gfx_widgets_progress_message) Cut down on another strlen 2022-09-13 03:58:54 +02:00
LibretroAdmin 5e8987839e (gfx_widgets) Cut down on strlens 2022-09-13 03:57:05 +02:00
LibretroAdmin 75757d7d02 Remove unused DXGI inline functions 2022-09-11 23:15:25 +02:00
MrHuu 1c31efaa91
(3DS) Only enable internal counter with CONSOLE_LOG defined (#14388) 2022-09-05 20:31:23 +02:00
LibretroAdmin 7ae555a51d (X11/Xinerama) Style nits; slightly optimize x11_get_metrics 2022-09-05 19:44:15 +02:00
LibretroAdmin ddeef350bd (X11) Simplify HAVE_XF86VM code ifdefs some more
(CodeQL) Take out for now while it fails to build
2022-09-05 18:36:45 +02:00
LibretroAdmin 77f3e20e3c (CodeQL) Only use 'cpp' language
(X11) Use HAVE_XF86VM for XFree86-VidMode X extension library
2022-09-05 18:26:08 +02:00
LibretroAdmin 84868ab21f (Setting) Windowed scale should be an integer instead of float 2022-09-05 04:03:04 +02:00
sonninnos c4c55077a1
Allow On-Demand Thumbnails in Explore menu (#14385) 2022-09-05 00:01:38 +02:00
MrHuu 835bbc6f68
(3DS) Set bottom_asset directory default (#14376)
- Fix default value while generating retroarch.cfg
- Update 'Asset not found' error message
2022-09-03 20:40:01 +02:00
LibretroAdmin 8f14143859 Don't do implicit memsets for struct timespec - always has only
a tv_sec and tv_nsec member field which always get set
2022-09-02 23:47:58 +02:00
LibretroAdmin 55391ac29f Plug some more implication conversion of return value of strlen 2022-09-02 01:22:12 +02:00
LibretroAdmin 0ffdd14940 Change msg_len of font driver to size_t - avoids all the type
casting/conversion
2022-09-02 01:10:28 +02:00
LibretroAdmin 003cea5d42 Fix some 'implicit conversion loses precision' warnings 2022-09-01 15:15:48 +02:00
LibretroAdmin 60030e373e
Reduce snprintfs + assorted cleanups (#14369)
* Reduce snprintf and/or use them only for concatenating the
string formatting of numbers/values
* Reduce snprintfs
* Use snprintf for concatenation at parts
* * We don't need to NULL-terminate strings that get passed to strlcpy/strlcat
and friends
* Use snprintf for concatenation in certain instances
* Do away with some string intermediary copies where we can avoid it
* Fix warning unused variable
* * Reduce snprintf calls
* Rewrite snprintf calls into strlcpy where possible
* Use snprintf for concatenation when necessary
* Do away with some string intermediary copies in task_translation.c
* run_translation_service - make switch slightly smaller
2022-09-01 04:17:07 +02:00
Themaister a058c78fd0 Attempt to fix validation errors with HDR swapchain.
Always use final render pass type equal to swapchain format. Use more
direct logic to expose if filter chain emits HDR10 color space or not.
2022-08-31 21:59:25 +02:00
Themaister 3a25b53175 Fix more validation errors. 2022-08-31 21:03:07 +02:00
Themaister f508a6a87f Fix some potential validation errors in HDR code. 2022-08-31 19:57:54 +02:00
Themaister f9eda02a74 Fix leak of HDR UBO buffer. 2022-08-31 19:46:11 +02:00
Themaister d6413f2a43 Automatically mark buffer/images/memory with names. 2022-08-31 19:46:11 +02:00
Themaister d9088dd2a9 Add helpers to mark object names automatically.
Can be trivially extended as required.
2022-08-31 19:45:33 +02:00
Themaister 6038d503c2 Move over to VK_EXT_debug_utils.
Debug marker is deprecated years ago.
2022-08-31 19:45:21 +02:00
sonninnos a96c5f77c8
(Ozone/XMB/RGUI) Explore menu thumbnails (#14365) 2022-08-31 14:42:10 +02:00
LibretroAdmin 56f66f68e2 Fix memory usage being shown alone 2022-08-29 21:58:36 +02:00
LibretroAdmin 8e949c516e (video_driver_frame) Do away with a lot of string intermediary copies
for formatting the status text
2022-08-29 13:29:11 +02:00
LibretroAdmin 22a12c9861 vulkan_context_init_device - simplify some string concatenation 2022-08-29 12:09:40 +02:00
LibretroAdmin e6fd2c9cdb (Win32) Do optimization for Windows where we only update the title
when the previous title differs from the current title
(X11) Have to roll back the previous title optimization/less calls to XChangeProperty,
because the title is lost upon toggling between fullscreen/windowed and is no longer
set
2022-08-27 16:16:24 +02:00
LibretroAdmin 938d7c1fc4 (X11) Optimize x11_update_title - it was previously calling XChangeProperty
at regular intervals even when the title output for the window title had not
changed at all, now we compare it properly against the last set title, and
only if it has changed will we make the call to XChangeProperty. Also, do
away with strlen(title) calculation and use return value of
video_driver_get_window_title instead
2022-08-27 16:03:38 +02:00
LibretroAdmin 0c7408ee16 (EGL) Buildfix 2022-08-27 15:43:16 +02:00
LibretroAdmin bbf93812a5 (EGL) Turn some EGL functions static 2022-08-27 15:35:08 +02:00
LibretroAdmin 25b76fdb54 input_keyboard_osk_event_append and others: don't call strlen
implicitly, always leave it up to caller
font_driver_get_message_width - try to avoid scenario where 'len'
is 0
2022-08-27 15:13:56 +02:00
LibretroAdmin f34f4d060c (video_shader_get_type_from_ext) remove strlen call 2022-08-27 14:29:37 +02:00
LibretroAdmin 19c72a413f (gfx_thumbnail_path.c) Cache localized string
(menu_displaylist.c) Some optimizations:
* Make sure val_d is never bigger than 16, it should just
contain a number. 16 is more than plenty (and probably too big even)
* Hose val_d out of loops if its value never changes inside the loop
* Attempt to avoid calling msg_hash_to_str inside loops unnecessarily
2022-08-27 13:20:29 +02:00
LibretroAdmin 61e24132bf (task_save.c) Simplification in control flow
(snprintf) Try to reduce or simplify snprintf calls, only tend to
use it for processing integers/numbers and avoid it for regular
string concatenation (NOTE: we try to be a bit safer about it to
address earlier cited criticism, although we don't consider concatenating
3 or 4 characters at the end to be insecure)
(msg_hash_to_str) Try to avoid duplicate calls to the same localized
string when we can just cache the results once instead locally
2022-08-27 07:55:02 +02:00
LibretroAdmin a47ccd81ed (video_shader_parse.c) Don't keep recreating formatted_num unnecessarily
when we already have it
2022-08-26 16:37:24 +02:00
LibretroAdmin 205b9f862f (CTR) Buildfix/ fix typo 2022-08-26 11:49:27 +02:00
LibretroAdmin 29caa95f7e (platform_unix.c) Use safer 'fill_pathname_join_special' for assembling
file path names instead of snprintf
(ctr_gfx.c) Use strlcpy instead of snprintf where possible
(ctr_gfx.c) Use snprintf instead of sprintf where possible
(ctr_gfx.c) Some general style nits
2022-08-26 10:43:42 +02:00
LibretroAdmin 1b181185c2 Simplify override_shader_values - entry variable never used 2022-08-25 08:51:55 +02:00
LibretroAdmin 88187e7ef2 * Start getting rid of strncpy
* steam.c - cleanups:
  * Use string_to_lower from libretro-common/stdstring.c instead of
    its own version
  * Some stylistic changes
  * Rewrite strncpy calls into strlcpy/strlcat/manual assignment
  * Make it C89 compliant
  * Some unused variables
2022-08-25 06:51:39 +02:00
LibretroAdmin da13fb0f48 Don't include errno.h in files that don't justify its use 2022-08-25 05:19:30 +02:00
Cthulhu-throwaway e45958b25a
(Network) Get rid of the timeout_enable parameter for socket_connect (#14351) 2022-08-25 04:40:19 +02:00
LibretroAdmin d969facdb4 C89_BUILD buildfix 2022-08-23 19:23:53 +02:00
LibretroAdmin c22c69e792 (gfx_animation.c) Simplify build_line_ticker_string 2022-08-23 18:26:49 +02:00
LibretroAdmin e769436876 (word wrap functions in stdstring.c) Avoid implicit strlens, caller
should pass the 'length' to the function instead
2022-08-23 17:06:01 +02:00
Jamiras 85c44f9245
more thread-awareness in task callbacks (#14337)
* more thread-awareness in task callbacks
2022-08-23 15:11:11 +02:00
LibretroAdmin 6f738d4fbd Gradually get rid of strcpy_literal
Reasons:
1 - Just a macro for strcpy
1.2 - doesn't have a return type unlike strlcpy, can't be used
for string concatenation
1.3 - unsafe compared to strlcpy

Do either manual string assignment per character or strlcpy, no
inbetween by resorting to strcpy
2022-08-23 15:04:47 +02:00
LibretroAdmin e87db6f0a2 utf8cpy already does NULL termination 2022-08-23 07:52:03 +02:00
LibretroAdmin f5e5a1b201 strlcpy already does NULL termination 2022-08-22 12:22:54 +02:00
LibretroAdmin 23b06dca69 (video_shader_parse) reduce amount of snprintfs - create
formatted number once then keep appending it to strings
2022-08-20 17:56:19 +02:00
MrHuu 46bafd6e46
(3DS) Add bottom menu options (#14323) 2022-08-17 08:23:07 +02:00
Giovanni Cascione 093432d6c4
mali_fbdev: fix assertion failed on video threaded switch (#14316)
* mali_fbdev: fix assertion failed on video thread switch

* mali_fbdev: added fallback to get refresh rate currently set
2022-08-16 22:13:43 +02:00
LibretroAdmin 59866ddac6 (video_shader_parse.c) Safer code 2022-08-12 22:09:33 +02:00
hunterk b793169638
add credits to Cyber for their NTSC presets (#14315) 2022-08-12 07:31:46 +02:00
LibretroAdmin a6e210e9db Get rid of some strlcats 2022-08-08 22:41:32 +02:00
LibretroAdmin a9157f975e
String cleanups (#14304)
(retroarch.c) retroarch_get_capabilities - get rid of strlcat
party in RARCH_CAPABILITIES_CPU, do simple manual assignment for
concatenation instead and NULL terminate at the end
(menu_displaylist.c) Do something about some of the unnecessarily huge
local strings of PATH_MAX_LENGTH size (can be as large as 8192)
(menu_displaylist.c) Replace some trivial strlcats / snprintfs
(D3D10/D3D11/D3D12) Strings don't need to be initialized -
strlcpy already null-terminates - get rid of some constants
2022-08-08 19:11:15 +02:00
LibretroAdmin ba8cc5f381 Cut down on some of the strlcats 2022-08-07 00:28:13 +02:00
LibretroAdmin 94ed25be56
Cleanups (#14296)
- (database_info.c) Optimizations for database_info_build_query_enum() -
 it would call strlcat at the very least 3 times, normally more than that.
 Every strlcat call is at least one or more strlens. Reduce it all down
 to manual string concatenation and one strlcat
- (database_info_build_query_enum) - always NULL terminates string so no need for NULL termination done by callee
* (menu_displaylist) use smaller strings for basename paths, remove one unnecessary string
in menu_displaylist.c function
- (disk_index_file.c) Avoid another trivial string concatenation by doing
it manually after fill_pathname_join_special
- (fill_pathname_join_delim) since fill_pathname_join_delim() now has a return value, use it for 
string concatenation
- (platform_unix) - Use BUFSIZ as size for a buffer in system_property_get
- some other trivial strlcat usage replacements
2022-08-06 18:04:40 +02:00
Tatsuya79 72b4cf914e
Rename video filters (#14293) 2022-08-06 13:05:01 +02:00
LibretroAdmin 5739c537a2 Some CXX_BUILD fixes 2022-08-05 17:40:06 +02:00
LibretroAdmin 72a7b3ce07 (X11) Turn these two functions static 2022-08-05 02:00:09 +02:00
LibretroAdmin 67c23aec0e (Wayland) Stub out unused variables for now
(menu_contentless_cores) Fix mistake - needed to set len to return
value of fill_pathname_join_special
(configuration.c) Fix some unused variable warnings on Linux
2022-08-04 16:19:50 +02:00
CyberLabSystems 993aaee716
Adding CyberLab custom Blargg NTSC Filter Presets (#14231)
CyberLab custom Blargg NTSC Filter Presets offer improved dedithering with less scrolling, shimmering and other artifacts than current core included Blargg NTSC Filter implementations.

They also work properly with several cores that would otherwise result in a squished image if using the Blargg NTSC SNES filters currently available in the Video Filters folder.
2022-08-04 15:44:47 +02:00
LibretroAdmin b2634ea588 * Create fill_pathname_join_special - and specify fill_pathname_join
as deprecated.
* Use fill_pathname_join_special in the vast majority of cases where
we can ensure out_path is a new empty string
* Get rid of some extension concatenation with strlcat where encountered
* Some general cleanups with NULL termination of strings that get immediately
passed to strlcpy/strlcpy-adjacent functions
2022-08-04 14:19:38 +02:00
LibretroAdmin 88bc26da4e Replace some more trivial strlcat calls 2022-08-04 04:05:27 +02:00
LibretroAdmin e7f3432e48 Replace some trivial strlcat usage - use return value of preceding
strlcpy then simply append the extension to it at this location
2022-08-04 03:45:09 +02:00
LibretroAdmin 32314eddaf (video_crt_switch.c) Get rid of unnecessary strlen 2022-08-04 00:10:19 +02:00
LibretroAdmin ec4c15e8e4 (gfx_widget_load_content_animation) Cleanups - one strlen instead of two,
NULL termination of some strings is not necessary since it gets passed to
strlcpy and/or fill_pathname_join anyway
2022-08-04 00:00:21 +02:00
LibretroAdmin 819337d5d4 video_shader_get_type_from_ext - get rid of unnecessary strlen 2022-08-03 23:35:16 +02:00
LibretroAdmin 6dd52d9bb1 Get rid of more boilerplate code in file_path_special.c 2022-08-02 18:05:51 +02:00
LibretroAdmin 7a993a5951
Count amount of characters window title has so that we can (#14274)
return the value when calling video_driver_get_window_title -
this is so we can prevent strlen calls in x11_common.c
2022-08-02 17:00:33 +02:00
LibretroAdmin 3c7fa43f29 (Windows/Linux) Fix windows title regressions 2022-08-02 16:35:50 +02:00
LibretroAdmin 9d66e2d5e1 General cleanups -
* struct was erroneously named 'catagory' - changed to 'category'
* Removed some strlcpys that were just setting the string to a fixed constant value
* Random nits
2022-08-01 21:31:45 +02:00
LibretroAdmin f472e4d0de (gfx_widgets) Call fill_pathname_application_special outside of hot functions
(gfx widgets) Pre-assemble and store paths that are not subject to change
2022-08-01 02:07:36 +02:00
LibretroAdmin fdd5940951 (Font driver) render_msg function was sometimes doing two strlen
calculations instead of just one. NOTE/TODO/FIXME - see opportunity
to optimize this further
2022-07-31 12:59:50 +02:00
Cthulhu-throwaway 9b10579a54
(Network) Fix getaddrinfo_retro (#14261) 2022-07-31 11:22:28 +02:00
kikmon afd463be16
added make clean between Release and Debug build (#14262)
Co-authored-by: papa <papa>
2022-07-31 11:22:04 +02:00
LibretroAdmin 592f9384b0 Silence code analysis warnings by Xcode - unused variables - nothing
done with value set - etc
2022-07-29 08:29:43 +02:00
libretroadmin 88c2ae9ddf No null termination for strings passed to strlcpy/srlcat 2022-07-26 13:23:28 +02:00
libretroadmin 8ac1a36259 Don't do NULL termination on strings when passing to strlcpy and/or
a file_path function that calls strlcpy under the hood
2022-07-26 07:01:10 +02:00
libretroadmin cedbcb10c6 Take out some more unnecessary NULL string termination 2022-07-25 14:12:54 +02:00
libretroadmin a6a4b845a4 Some string simplifications - don't NULL terminate if we pass
string to strlcpy and/or a file_path function using strlcpy under
the hood - don't do strlcpy for trivial setting of 2/3 char strings
2022-07-25 04:39:08 +02:00
libretroadmin 30d38d108a Cleanups :
* Don't NULL terminate string if we pass to strlcpy and/or a file_path
function that uses strlcpy under the hood
* General cleanups in gfx_animation.c
2022-07-23 00:35:57 +02:00
sonninnos 1245cbc63b
Widget color+position adjustments (#14195) 2022-07-22 02:36:49 +02:00
libretroadmin 4b5c7856e6 Remove some more explicit NULL-termination when we're calling a
string function that calls strlcpy under the hood
2022-07-19 20:43:12 +02:00
LibretroAdmin 29774f5b7a
Small opts (#14186)
* (joypad_connection) Small optimizations -
* Turn functions static where possible
* Hose strlen call out of loop

* (input_driver.c) General cleanups:
* Some small code/style nits

task_screenshot.c:
* Move widget callback function for screenshots to task_screenshot.c

(file_path.c):
* Turn get_pathname_num_slashes into static function
* path_linked_list_free - always returns true, so get rid of return value
* path_linked_list_new - fix function signature
* path_get_archive_delim - do not NULL-terminate string, already done by strlcpy later on

General:
* Slight optimizations - use int/size_t for loop counter variable instead of unsigned
* Take advantage of fact that strlcpy already NULL-terminates, so don't do this explicitly
outside if we're just going to end up calling strlcpy/fill_pathname_join on it anyway
2022-07-19 10:01:33 +02:00
libretroadmin 8f37c2e3c2 Don't call config_set_bool, call config_set_string directly 2022-07-18 01:59:32 +02:00
libretroadmin f990fa86fa (Freetype) Prevent potential free issue on WiiU - play it safe for
now until further clarified what is going on
2022-07-15 19:28:21 +02:00
libretroadmin 5e13851a7a (Freetype) Fix severe memory leaks that happened after using FT_New_Memory_Face -
according to documentation note - 'You must not deallocate memory before calling
FT_Done_Face' - so store a pointer to the font data and then free it after calling
FT_Done_Face
2022-07-15 18:57:02 +02:00
libretroadmin 4b1766cf61 Silence more -Wdocumentation warnings 2022-07-15 01:12:04 +02:00
libretroadmin 37bb66ef6e (Freetype) Fix warnings 'local variable hides a parameter of the same name' 2022-07-12 22:37:17 +02:00
libretroadmin c4fb055fdb Cleanups:
* Combine early return and assignment lines
* use path_basename_nocompression when possible
* Move variables to proper scope
2022-07-12 20:44:00 +02:00
libretroadmin f7194e167f use path_basename_nocompression where it is safe to do so 2022-07-12 19:14:12 +02:00
libretroadmin b7926605f4 Remove fill_short_pathname_representation 2022-07-11 21:40:09 +02:00
libretroadmin adf9994828 Deprecate fill_pathname_base_noext 2022-07-11 20:13:44 +02:00
libretroadmin 99ac1af9d2 (video_shader_parse)
* Return value of function was never used, so remove it
* Move variables to proper scope
* Miscellaneous cleanups
2022-07-11 14:00:35 +02:00
libretroadmin 0e85113eb3 (libretro-common) Style nits/cleanups 2022-07-10 18:13:49 +02:00
libretroadmin 285d89b7d9 (win32_common.c) Optimize win32_save_positions - is always called whenever the window moves around (WM_MOVE) so is worth optimizing
- Get rid of memset, set the member variables to 0 manually instead. Note - rcDevice is behind a _MAC ifdef in the headers (some hypothetical Mac port
of Windows which never happened and therefore the ifdef is useless), so rcDevice is not set and will just be unused anyway
- Variable scoping, move variables to where they are needed
2022-07-09 16:16:23 +02:00
libretroadmin c2f618d394 * (gfx_widgets) ptr_width >= ptr_height - equal would just mean setting ptr_width to
the same value, so turn it into 'greater than' instead
* Avoid some tertiary operators where we just set the variable back to its
own value
2022-07-09 13:00:50 +02:00
libretroadmin 81de36e1ff (GL1/GL2 Raster fonts) remove dead code 2022-07-08 22:46:03 +02:00
libretroadmin d95e426b4e (Platform drivers) Cleanups - get rid of unnecessary logs
(VGA Font driver) Get rid of unused code by if 0ing it out
2022-07-08 22:10:53 +02:00
libretroadmin e53a623f4a (dispserv_win32.c) General cleanups 2022-07-08 21:45:04 +02:00
libretroadmin 71a3c24d52 (Vulkan) Solve some warnings - set VkResult variables to VK_SUCCESS
by default
2022-07-08 21:32:19 +02:00
libretroadmin a6516512b6 (font_driver.c) Some cleanups - remove unnecessary log messages
that were dependent on a global variable - move a conditional outside
for get_text_replacement
2022-07-08 16:03:58 +02:00
libretroadmin 6fadb1bbf0 (PS2 Font driver) Buildfix 2022-07-07 21:35:45 +02:00
libretroadmin 3494c0de0a (Caca/GDI/Sixel/VGA) Did not have proper implemented free functions 2022-07-07 21:29:14 +02:00
libretroadmin c19e24a584 (font drivers) Simplify render_line functions 2022-07-07 19:51:36 +02:00
libretroadmin b023001d29 (Win32/taskbar) Backport m4xw commit - Release ITaskbarList3 on failed HrInit
The pointer wasn't NULL'd, thus set_window_progress would cause weird behavior
2022-07-07 17:58:48 +02:00
libretroadmin a547abbbaf (gfx_animation.c) Cleanups - use float constant values -
and get rid of some tertiary operators where unnecessary
2022-07-07 16:56:54 +02:00
libretroadmin cd28d5ec8a (PSL1GHT/Switch) Fix warnings 2022-07-07 16:38:12 +02:00
libretroadmin 19b2ad56b0 (gfx_animation.c) Cleanups; prevent useless tertiary operators where
possible
2022-07-07 10:03:33 +02:00
libretroadmin 6df4ab4982 gfx_animation - use direct multiplication instead of pow when exponent
is an integer. Also try to use float values instead of implicit double
values
2022-07-07 09:15:35 +02:00
libretroadmin 92264826de (gfx_display.c) Cleanups -
- get rid of unused gfx_display_driver_exists
- get rid of useless wrapper function gfx_display_font_init_first
- rewrite gfx_display_font_file somewhat
2022-07-06 20:05:43 +02:00
libretroadmin aeb07432cc gfx_display_draw_keyboard - we don't need mymat and/or
gfx_display_rotate_z here
2022-07-06 19:20:41 +02:00
libretroadmin 821bb86b37 Get rid of HAVE_THREADS macros 2022-07-06 15:01:53 +02:00
libretroadmin b6c9740ba3 Get rid of gfx_timer_t typedef - replace with float 2022-07-06 14:41:15 +02:00
libretroadmin 3c20e709ea Move gfx_display_reset_textures_list_buffer to gfx_display.c 2022-07-06 13:11:44 +02:00
libretroadmin 3aafa40c69 Bugfix for previous commit - cosine/sine were wrong 2022-07-06 12:09:08 +02:00
libretroadmin bb6937949d gfx_widget_draw_icon optimization - if radians is 0, we know cosine and
sine already. Avoid sinf/cosf computation when possible
2022-07-06 11:40:59 +02:00
libretroadmin bf5409881c gfx_display_rotate_z optimizations - if radians is 0, we know cosine
and sine already. Avoid the computation with sinf/cosf and pass it as value to the
function when possible
2022-07-06 11:03:15 +02:00
libretroadmin 6607ff3aaa rotate_draw - get rid of scale_x/y/enable - scaling is only done now
in XMB at two spots - refactor gfx_display_rotate_z so that it only
manipulates the input matrix' Z axis
2022-07-05 20:50:01 +02:00
libretroadmin 2d33c49b26 (FPGA Gfx) get rid of unused viewport_info/read_viewport functions 2022-07-05 18:02:52 +02:00
libretroadmin 336ca1a68c Don't call gfx_display_rotate_z unless the display driver implementation's
'handles_transform' is set to false
2022-07-05 17:20:01 +02:00
libretroadmin 1798651041 (gfx_widgets) scale_enable can b set to false for widgets, scale_factor was always 1.0f
(XMB) set scale_enable to false when scale_factor is 1.0f
2022-07-05 14:18:20 +02:00
libretroadmin 681e1dea94 gfx_display_rotate_z - if scale_x/y/z are all 1.0f, then set
scale_enable to false
2022-07-05 14:02:38 +02:00
sonninnos 494c93df3e
Thumbnail aspect ratio fix (#14145) 2022-07-05 12:01:21 +02:00
libretroadmin 9dd1fb895b - Turn rotation arrows static where possible
- Don't call matrix_4x4_rotate_z - inline the code instead
2022-07-04 15:28:54 +02:00
libretroadmin 794e088ae1 (C89_BUILD) Buildfix 2022-07-03 18:18:52 +02:00
libretroadmin 50873f7c38 Simplify gfx_display_rotate_z 2022-07-03 17:38:09 +02:00
sonninnos 91c8541e20
(Ozone+XMB) Savestate thumbnail aspect ratio (#14139) 2022-07-03 16:14:51 +02:00
libretroadmin b021f96522 (PSL1GHT) Silence some warnings 2022-07-03 14:20:10 +02:00
libretroadmin f4803b1023 Silence warning - video_shader_is_shader_chain_config 2022-07-01 14:16:13 +02:00
Anders Storhaug 8addb08250
(Win32) Remove black margins with borderless non-fullscreen window (#14098) 2022-06-27 07:30:51 +02:00
libretroadmin 0172d57ada (CTR) Simply font_render_driver_bottom 2022-06-27 02:46:13 +02:00
libretroadmin ce1d1fd430 (font_driver.c) Simplify code - get rid of unneeded array loops 2022-06-27 01:04:14 +02:00
libretroadmin 128753c81d (Freetype) Use FT_New_Memory_Face instead of FT_New_Face to load
font from memory - first read it from file to memory beforehand -
this solves an asset extraction issue when selecting 'Update Assets' -
apparently FT_New_Face keeps an open file handle to the font file which
prevents it from being overwritten/deleted while the program is still
running.
TODO/FIXME - move file loading code out of the font renderer init function
and move it higher level
2022-06-26 20:38:46 +02:00
libretroadmin 367dfd6e71 No longer include file_path_special.h in gfx_display.h 2022-06-26 18:35:07 +02:00
libretroadmin 4e13134c40 Remove unnecessary wrapper function gfx_display_font - just wrapped
around gfx_display_font_file
2022-06-26 18:19:43 +02:00
libretroadmin cf12a5e7e7 (Font drivers) Uniformity in naming conventions 2022-06-26 18:01:43 +02:00
libretroadmin aab64da1be (Font driver/drivers display) All the font_init_first implementations
were exactly the same, cut down on code duplication
2022-06-26 17:27:59 +02:00
libretroadmin 41a073da73 (gfx_display_metal) Change ident name - should fix #14094 2022-06-23 18:39:24 +02:00
libretroadmin bb15f009e4 Simplify gfx_display_check_compatibility 2022-06-21 19:45:27 +02:00
libretroadmin fae8d7e38f (Debug) Fix build failure 2022-06-21 03:33:36 +02:00
libretroadmin 61e08ee35b Fix line breaks in gfx/video_driver.c 2022-06-20 20:26:02 +02:00
libretroadmin 0356c563b8 Simplify gfx_display_check_compatibility 2022-06-20 20:19:16 +02:00
sonninnos a0bfdcce3b
(D3D11/12) Make waitable swapchains optional (#14074) 2022-06-19 21:25:37 +02:00
sonninnos ca0b3095e8
(D3D11/12) Make low-latency optional (#14073) 2022-06-19 14:14:34 +02:00
libretroadmin 4f1ad9b665 video_shader_load_preset_into_shader - remove unused variable 2022-06-18 19:08:30 +02:00
LibretroAdmin 109b6f9781
Merge pull request #14039 from sonninnos/d3d11-vblank
(D3D11/12) Reduce lag with WaitForVBlank
2022-06-15 19:23:17 +01:00
sonninnos 31a43b9390 (D3D11/12) Reduce lag with WaitForVBlank 2022-06-14 16:49:30 +03:00
sonninnos b444377b50 (WIN32) Don't update title on every frame 2022-06-14 16:43:32 +03:00
sonninnos 3d619de114 Automatic Frame Delay improvements 2022-06-14 07:11:43 +03:00
LibretroAdmin e8d5c0d4e1
Merge pull request #14022 from MrHuu/master
(3DS) Add CONSOLE_LOG guards
2022-06-08 08:45:38 +01:00
sonninnos b630b98c60 (Vulkan) Show swapchain images logging again 2022-06-08 08:59:53 +03:00
LibretroAdmin 21a942665c
Merge pull request #14008 from HyperspaceMadness/Shader_Load_Extra_Param_References
Shader Load Extra Parameter Reference Files
2022-06-08 00:52:14 +01:00
MrHuu 3a1d567ced (3DS) Add CONSOLE_LOG guards 2022-06-07 22:23:45 +02:00
libretroadmin 8ec1f3294e (D3D10/11/12) Miscellaneous corrections/safety checks 2022-06-07 06:37:23 +02:00
libretroadmin 65ab04e775 (D3D11/D3D12) Prevent Griffin build failure 2022-06-07 04:30:28 +02:00
sonninnos 0bb65fb39c (D3D11/12) Add waitable swapchains and max frame latency option 2022-06-07 00:25:03 +03:00
HyperspaceMadness 8d177ed865 Shader Load Extra Parameter Reference Files
When a shader preset is loaded now when there are more than one #reference line the parameter values will be loaded from the references after the first one
2022-06-04 20:12:21 -04:00
libretroadmin 8b5b1ce96d (D3D) Get rid of unnecesary inline functions 2022-06-04 23:14:15 +02:00
libretroadmin 85ca66bfad (D3D) Move d3d{}_release_texture out of d3d{}_init_texture 2022-06-04 21:31:43 +02:00
libretroadmin d0ce0ac06f (D3D12) Fix regression 2022-06-04 21:28:00 +02:00
libretroadmin 4dc08fad5c (D3D) Miscellaneous cleanups 2022-06-04 19:16:14 +02:00
libretroadmin c0c1198d35 (GCC12) Get rid of warning: the comparison will always evaluate as 'true' for the pointer operand in 'filt->thread_data + (sizetype)((long long unsigned int)i * 48)' must not be NULL [-Waddress] 2022-06-04 10:04:59 +02:00
libretroadmin 0fbb36c61a (D3D12) Try to fix compilation for mingw toolchains with GCC 12.x
and beyond
2022-06-04 07:02:32 +02:00
libretroadmin 18bebe0c73 (D3D12) Small cleanups - less implicit memsets 2022-06-04 06:55:34 +02:00
libretroadmin 05797eb6b8 (D3D12) Move functions over to files that need it 2022-06-04 06:02:50 +02:00
libretroadmin 92a7d5bf61 (D3D12) Get rid of some unused inline functions 2022-06-04 02:51:59 +02:00
libretroadmin 281fe83936 (D3D12) Remove unused inline functions 2022-06-04 00:20:47 +02:00
libretroadmin cb56b35568 (D3D12) Won't work on older mingw versions too, roll this back 2022-06-03 23:22:40 +02:00
libretroadmin c0a7739f85 (D3D12) Try alternative approach in hopes it will still work on older mingw versions 2022-06-03 23:12:11 +02:00
libretroadmin 92a1dac0ea (D3D12) Fix newer mingw versions 2022-06-03 23:04:58 +02:00
sonninnos 5bf82038ad (WIN32) Fix video resolution logging 2022-06-01 18:45:33 +03:00
libretroadmin 63d1ef4677 (Wayland) Prevent implicit declarations 2022-06-01 05:43:28 +02:00
libretroadmin e33f6cbbe2 Don't define _GNU_SOURCE when already defined 2022-06-01 05:39:28 +02:00
libretroadmin b0597d91a2 Try to define F_ADD_SEALS and F_SEAL_SHRINK when not defined 2022-06-01 05:37:45 +02:00
libretroadmin b8d9070c9b (DXGI/HDR) Move global to only function that requires it 2022-05-31 21:03:38 +02:00
libretroadmin 06d62cf86a Simplify vulkan set_resize function callbacks 2022-05-31 20:18:27 +02:00
libretroadmin bf7b1c9d9c (Wayland) Fixups 2022-05-31 20:04:33 +02:00
libretroadmin ccdf68e64a (Wayland) Buildfix 2022-05-31 19:51:41 +02:00
libretroadmin 6408cc8958 Make memfd_create call more backwards compatible by calling it through
syscall -
On older systems, you'll have to include linux/memfd.h for the MFD_ defines, and call memfd_create() via the the syscall(2) wrapper (and include unistd.h and sys/syscall.h for it work). We exclude linux/memfd.h header include because we already provide
the MFD_ defines in case they are missing
2022-05-31 19:45:55 +02:00
libretroadmin 5b85d46383 (Vulkan) Get rid of g_win32_inited = true line - this is already done
in create_vk_context
2022-05-31 19:14:12 +02:00
LibretroAdmin 6ba8fe225d
Revert "Shader Preset Loading of Multiple additional #references lines for settings" 2022-05-30 02:39:25 +02:00
Ophidon 4c934e66d5
Fix BFI Regression 2022-05-29 00:51:28 -04:00
LibretroAdmin 16c0f5e223
Merge pull request #13964 from 5th-fork/master
[UWP] add support for 4k to angle on xbox
2022-05-27 15:10:33 +01:00
Remi McGill 684889507b Shader Loading of Multiple References for settings
Multi reference settings working

Config fixes

Multi-Reference Loading Working, Checking for shader chain not working

Checking References is working

Improved path_linked_list_add_path

Simplify path list stuff

Fixed Static Definition

Fixes

Fixes

Fix to Trigger PR Update

Removed Legacy Orbis which got left in a merge

Memory Leak Fix
2022-05-24 14:07:55 -04:00
tunip3 6994ff3ab7
add display res matching 2022-05-23 22:55:41 +01:00
tunip3 6c6d16e978
Update gl2.c 2022-05-23 22:54:29 +01:00
LibretroAdmin 49370f1f26
Merge pull request #13961 from libretro/orbisdev-orbis
WIP: Orbis/PS4 Support using OrbisDev toolchain (pt. 2)
2022-05-23 22:00:08 +01:00
LibretroAdmin c92da21647
Merge pull request #13954 from Apaczer/upscale240x160_mix
Add Upscale_240x160-320x240 video filter with 'mixed' method
2022-05-23 20:46:40 +01:00
Apaczer 8722f83dee change function's alias
fixes PSP build
2022-05-23 20:40:31 +02:00
libretroadmin 14c0948fb9 (video_thread_wrapper.c) Put back logs at request 2022-05-23 13:43:54 +02:00
libretroadmin 802b3ecd05 (Drivers shader) Revert back to earlier version 2022-05-22 20:49:45 +02:00
libretroadmin 9590fdd0d4 Cleanups pt.2 2022-05-22 20:29:53 +02:00
libretroadmin 41d225f937 Cleanup 2022-05-22 20:14:56 +02:00
libretroadmin 13c746f703 Merge branch 'orbis' of https://github.com/orbisdev/RetroArch into orbisdev-orbis 2022-05-22 19:51:41 +02:00
libretroadmin 5c6d5b0aa3 (thread_wrapper) Logging is not thread-safe, remove log messages 2022-05-21 20:31:38 +02:00
libretroadmin cc61c90602 (Vulkan shader) Add framebuffer copy/clear to inner functions - remove
functions
2022-05-21 18:49:21 +02:00
libretroadmin 68608e5db1 (shader_vulkan) Cleanups:
* Properly namespace functions
* Get rid of functions that were never used
* More cleanups in general
2022-05-21 17:55:43 +02:00
Francisco José García García 8f81692b78 [ORBIS] shader cache 2022-05-21 17:10:36 +02:00
Francisco Javier Trujillo Mata 6366fcf8e3 [ORBIS] Remove legacy implementation and compile with Werror 2022-05-21 17:10:35 +02:00
libretroadmin f30cbaf7a3 (shader_vulkan) More rewrites 2022-05-21 17:00:43 +02:00
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02:00
libretroadmin 46603db2fa (shader_vulkan) Get rid of Pass:set_pass_info 2022-05-21 14:49:31 +02:00
libretroadmin 302169b49a (shader_vulkan) Cleanups 2022-05-21 14:37:07 +02:00
libretroadmin c48209d323 (shader_vulkan) More cleanups 2022-05-21 13:08:13 +02:00
LibretroAdmin 44288455cb
Merge pull request #13957 from Cthulhu-throwaway/more-threaded-video-fixes
(Threaded Video) FIxes
2022-05-21 10:54:21 +01:00
libretroadmin 49954569f9 (shader_vulkan) Simplifications 2022-05-21 11:47:08 +02:00
Cthulhu-throwaway 68d864e01b (Threaded Video) FIxes 2022-05-21 06:23:17 -03:00
libretroadmin 66a2a12766 (Vulkan) Move functions to proper place where they're used
and turn them static
2022-05-21 01:40:23 +02:00
libretroadmin 3b99b42812 (shader_vulkan) Simplify - move functions over that were exclusively
used in shader_vulkan.cpp from vulkan_common.c to there
2022-05-21 01:11:28 +02:00
libretroadmin 25c33a8306 (drivers_shader) Simplify shader_gl3/shader_vulkan 2022-05-21 00:43:52 +02:00
Apaczer 455dbb6dd0 add upscale240x160 mixed method 2022-05-20 20:46:00 +02:00
libretroadmin e1db81787d (video_thread_wrapper) Small variable cleanup 2022-05-20 13:45:38 +02:00
LibretroAdmin adf3929f78
Merge pull request #13938 from Cthulhu-throwaway/threaded-video-cleanup
(Threaded Video/video_thread_wrapper.c) Cleaning and optimization
2022-05-20 12:44:56 +01:00
libretroadmin 41f45becdb (D3D12) Buildfix 2022-05-20 04:41:43 +02:00
libretroadmin 7c2d033b83 (DXGI) Untangle macros 2022-05-20 00:21:57 +02:00
libretroadmin 937ad8bfc6 (D3D9) Cleanups 2022-05-19 22:32:03 +02:00
jdgleaver f2dca12a22 (Ozone/XMB) Prevent unnecessary thumbnail requests when scrolling through playlists 2022-05-19 16:42:01 +01:00
libretroadmin 30685c6e60 (d3dcompiler_common) Cleanups 2022-05-19 16:18:34 +02:00
libretroadmin af89df2b82 (Vulkan) Some C89_BUILD fixes 2022-05-19 15:47:45 +02:00
libretroadmin 493b8fdef8 (Vulkan) Style nits/cleanups 2022-05-19 15:43:51 +02:00
libretroadmin eaabfefcb0 (Vulkan) Cleanups 2022-05-19 15:28:26 +02:00
libretroadmin a378ce0aec (Vulkan) Buildfix 2022-05-19 13:40:37 +02:00
libretroadmin 7a55686a95 (Vulkan) Fix XMB regression 2022-05-18 23:29:04 +02:00
Cthulhu-throwaway 9e39abcd00 (Threaded Video/video_thread_wrapper.c) Cleaning and optimization 2022-05-18 18:27:54 -03:00
libretroadmin 241d6eb901 (Vulkan) Simplify vulkan_create_texture 2022-05-18 23:19:58 +02:00
libretroadmin 8881020b75 (vulkan_common.c) Cleanups 2022-05-18 21:00:42 +02:00
libretroadmin 6f156d064e (Vulkan) vulkan_transition_texture - get rid of early return 2022-05-18 16:48:23 +02:00
libretroadmin 3cad090b4c (Vulkan) Optimizations/cleanups -
* Honor SUBOPTIMAL on non-Android since you'd want to recreate
swapchains then. On Android it can be promoted to SUCCESS.
SUBOPTIMAL_KHR can happen there when rotation (pre-rotate) is wrong.
* Small cleanups in general - less conditionals
2022-05-18 16:39:54 +02:00
libretroadmin c527bce8e3 (D3D) Cleanups 2022-05-17 23:28:18 +02:00
libretroadmin 5a5c65d9b9 (D3D10) Remove inline functions 2022-05-17 23:13:33 +02:00
LibretroAdmin b3632586f5
Merge pull request #13902 from Ryunam/autorr-toggle
Add option to manually enable/disable automatic refresh rate switching
2022-05-17 21:39:07 +01:00
libretroadmin 255522f9a0 (D3D10) Get rid of lots of inline functions 2022-05-17 18:39:22 +02:00
libretroadmin fe37647c84 (D3D11) d3d11_init_shader - simplify some code 2022-05-17 17:26:13 +02:00
libretroadmin de4bfa0805 (D3D11) Get rid of some inlined functions 2022-05-17 17:04:43 +02:00
libretroadmin 7eb9f6b49b (D3D8) Set suppress_screensaver depending on preprocessor define 2022-05-17 14:22:51 +02:00
libretroadmin efe6d14d37 Get rid of d3d9_suppress_screensaver in d3d9_common.c 2022-05-17 14:21:22 +02:00
libretroadmin a396cd872c (GL2 Raster font) Prefix gl_raster_font with gl2_ 2022-05-17 14:16:53 +02:00
libretroadmin 87b76dc7a4 (video_shader_parse.c) Cleanups 2022-05-17 14:12:02 +02:00
libretroadmin 49bf60cc90 (Win32) Cleanups 2022-05-17 13:21:56 +02:00
libretroadmin 7896341dfc Revert "Move d3d_input_driver to win32_common and rename it win32_input_driver"
This reverts commit 201eeae7f1.
2022-05-17 12:34:12 +02:00
libretroadmin cdcc8fe992 (D3D11) Fix regression with XMB pipeline shaders 2022-05-17 00:50:07 +02:00
libretroadmin 0a5eff8468 (Metal raster font) Buildfix 2022-05-16 22:48:33 +02:00
libretroadmin 3115338849 (D3D10/D3D11/Vulkan) Cleanups 2022-05-16 22:26:46 +02:00
libretroadmin bfa627737e (D3D/Vulkan) Try to prevent implicit memsets 2022-05-16 21:37:02 +02:00
libretroadmin c8e3ae09e7 Font driver cleanups #2 2022-05-16 20:34:46 +02:00
libretroadmin ee0749e884 (Font drivers) Font driver cleanups 2022-05-16 19:41:00 +02:00
libretroadmin 93dfa0217d (D3D10/D3D11/D3D12) Simplify font drivers 2022-05-16 18:00:55 +02:00
Ryunam d7cfcd3f9b Add option to toggle automatic refresh rate switching 2022-05-16 17:50:11 +02:00
libretroadmin 1c1d37e959 (D3D8) Simplifications 2022-05-16 14:19:17 +02:00
libretroadmin 3b7ff9d69b (D3D9) Simplify d3d9_reset 2022-05-16 13:34:32 +02:00
libretroadmin 0df2be001e (D3D9) Only d3d9_renderchain_add_lut requires create_texture_from_file now,
so split up into two separate functions - this function requires D3DX
which we intend to get rid of long-term
2022-05-16 13:24:58 +02:00
libretroadmin 372ac81ee1 (D3D8) d3d8_texture_new - path never used, so get rid of it and get
rid of D3DX remnants for D3D8
2022-05-16 13:19:40 +02:00
libretroadmin df5f5cd9a4 (D3D9) Cut down on ifdefs 2022-05-16 13:00:24 +02:00
libretroadmin 88d0a4ac75 (D3D9 HLSL) Simplifications 2022-05-16 12:01:23 +02:00
libretroadmin 5ffd95aa1b (D3D9) Simplify d3d9_vertex_buffer_new 2022-05-16 11:33:15 +02:00
libretroadmin 201eeae7f1 Move d3d_input_driver to win32_common and rename it win32_input_driver 2022-05-16 08:03:13 +02:00
libretroadmin 275e58c6ce Cleanup D3D8/D3D9 matrix functions 2022-05-16 07:55:39 +02:00
libretroadmin e061e7028b Revert "(D3D) Start cutting down on d3d_matrix_identity"
This reverts commit d6e6fb2a93.
2022-05-16 07:46:21 +02:00
libretroadmin d6e6fb2a93 (D3D) Start cutting down on d3d_matrix_identity 2022-05-16 07:37:24 +02:00
libretroadmin 23f1f98c01 (D3D8) Cleanups - remove unused code 2022-05-16 07:32:36 +02:00
libretroadmin 52bb930cc7 (D3D9) Cleanup 2022-05-15 21:04:53 +02:00
libretroadmin febd584930 (D3D9) Cleanups - cut down on pointless inlined functions 2022-05-15 17:20:54 +02:00
libretroadmin 28cd77c5b4 (D3D9) Cleanups 2022-05-15 16:28:18 +02:00
libretroadmin 2ca4d8bd7b (D3D8) Cleanups 2022-05-15 08:15:35 +02:00
libretroadmin c2ae445a85 (D3D8) More buildfixes 2022-05-15 07:25:12 +02:00
libretroadmin 77fd75dd06 (D3D8) More buildfixes 2022-05-15 06:11:58 +02:00
libretroadmin 0676db9096 (D3D8) More buildfixes 2022-05-15 06:01:44 +02:00
libretroadmin a496bfa57b (D3D8) Buildfixes 2022-05-15 05:53:04 +02:00
libretroadmin 7934e677ca Get rid of inline functions in d3d8_common.h - simplify code 2022-05-15 05:48:09 +02:00
jdgleaver 801b16885e Enable automatic configuration of 'VSync Swap Interval' 2022-05-12 14:22:46 +01:00
twinaphex 6099428ab7 (Windows) Fix exclusive fullscreen video refresh rate when vsync swap interval is not equal to one -
Refresh rate in exclusive fullscreen mode was being incorrectly multiplied by vsync swap interval, breaking swap interval functionality at the gfx driver level
2022-05-12 15:05:02 +02:00
twinaphex c3c7f5167f Buildfix 2022-05-06 22:31:42 +02:00
tunip3 ba2203e1e4
fix uwp debug build (#13918)
* fix uwp debug build
2022-05-06 21:49:21 +02:00
twinaphex 984f857621 (D3D11) Fix overlay not showing up regression 2022-04-29 14:23:36 +02:00
m4xw e389b8c7a1
Fix readability and precision issues in aspectratio_lut (#13893) 2022-04-28 15:30:13 +02:00
twinaphex 604335bc27 (D3D9) Simplifications to HLSL/Cg drivers 2022-04-27 19:07:04 +02:00
twinaphex 251208fd0b (D3D9 Cg)d3d9_cg_renderchain_add_lut function no longer used - remove 2022-04-27 18:47:44 +02:00
twinaphex 9463f0ee55 (D3D9 Cg) Buildfix 2022-04-27 18:04:24 +02:00
twinaphex 84e49bd2d1 (D3D9) Simplify some code 2022-04-26 18:33:30 +02:00
twinaphex 47a1f8f851 (D3D8/D3D9) Do not run unnecessary d3d_matrix_identity call before
d3d_matrix_rotation_z - rotation_z already sets identity matrix for
the matrix
2022-04-25 19:21:52 +02:00
twinaphex 3c3a305eb3 Add HAVE_GDI ifdef 2022-04-25 18:39:41 +02:00
twinaphex 3d0f8c1ed5 (D3D9) Get rid of d3d9_set_stream_source inline function 2022-04-25 17:40:18 +02:00
twinaphex 609c56b7cd (D3D9) Cleanups 2022-04-25 17:06:11 +02:00
twinaphex 2864f70bd9 (D3D12) Cleanups 2022-04-24 23:33:08 +02:00
twinaphex 589548337c (D3D10) Cleanup 2022-04-24 22:03:08 +02:00
twinaphex 77adfb1c1a Simplify D3D10/D3D12 headers 2022-04-24 21:56:06 +02:00
twinaphex abe85e5e13 (D3D11) Get rid of more ununused inline functions 2022-04-24 21:38:05 +02:00
twinaphex d6aa3fdce5 (D3D9) Cleanups - get rid of more inline functions 2022-04-24 15:07:56 +02:00
twinaphex 96d7c31983 (D3D11) Cleanups 2022-04-24 13:40:38 +02:00
twinaphex fc2b3f1ed9 (D3D) Cleanups 2022-04-24 12:59:23 +02:00
twinaphex 736f6eb8b6 (D3D8) Rewrite D3D8 code somewhat - this driver will never
have renderchains, so simplify it
2022-04-24 12:23:01 +02:00
twinaphex 6a537a656d (D3D10/D3D11/D3D12) Get rid of save_hlsl codepath when loading
shaders (and they fail), or debug mode
2022-04-24 12:01:36 +02:00
twinaphex 3c6098dff7 (D3D11) Cleanups of unused inline functions 2022-04-24 11:59:20 +02:00
twinaphex 8973f2ae01 (D3D11) Cleanups - use less inlined functions 2022-04-23 16:25:59 +02:00
twinaphex 0888297f31 (D3D11) Cleanups - go through less inlined functions 2022-04-23 11:36:10 +02:00
twinaphex 1887aee7c4 (D3D11) Cleanup some inline functions 2022-04-23 09:07:00 +02:00
twinaphex 5d82b36f9c (D3D11) Use less inlined functions 2022-04-22 22:58:35 +02:00
twinaphex 7f8a0e352f (D3D11) Get rid of some inline functions 2022-04-22 21:12:05 +02:00
twinaphex a25fabd6f7 (D3D9 HLSL) Set this parameter to 0 to indicate we are using
vertex declarations instead of FVFs
2022-04-22 16:41:08 +02:00
twinaphex 90f53bf6f4 (D3D9) Cleanups 2022-04-22 16:21:27 +02:00
twinaphex 845a469d4c (D3D8/9) Cleanups 2022-04-22 16:02:21 +02:00
twinaphex c4b8b9cfe9 (D3D8) Buildfixes 2022-04-22 15:29:33 +02:00
twinaphex 45c901ca53 (D3D8) Cleanups - get rid of many inline functions 2022-04-22 15:05:28 +02:00
twinaphex 0117228fec (D3D9 HLSL) Buildfix 2022-04-22 14:41:50 +02:00
twinaphex afb04b419b (D3D9) Cleanups 2022-04-22 14:37:39 +02:00
twinaphex b231ae7c41 (D3D9) Start getting rid of inline D3D9 functions 2022-04-22 14:25:13 +02:00
twinaphex cedf77d87f Move d3d9_renderchain_blit_to_texture to d3d9_common.c 2022-04-22 13:50:36 +02:00
twinaphex bc018cff15 (D3D9 Cg) Cleanups 2022-04-22 13:36:42 +02:00
Autechre 3d1f01fecc
Cg rewrite (#13871)
* (D3D9 Cg) rewrite/cleanups

* Buildfixes
2022-04-22 05:39:14 +02:00
twinaphex a0738111e9 (D3D9 Cg) Cleanups 2022-04-22 05:14:04 +02:00
driver1998 2f0bdac2f5
Fixes the d3d9cg driver (#13870) 2022-04-22 00:15:54 +01:00
twinaphex 6f0bef6b7b (D3D8) Cleanups 2022-04-21 17:06:14 +02:00
twinaphex b43039f7b0 (D3D8) Buildfixes 2022-04-20 18:25:34 +02:00
twinaphex 5b97ba65c0 (D3D8) Buildfix 2022-04-20 18:06:20 +02:00
twinaphex ac45f16d79 Buildfix 2022-04-20 17:45:31 +02:00
twinaphex 437051c112 (D3D8) Replace inline function calls with straight function calls 2022-04-20 17:26:03 +02:00
twinaphex 56b08940c2 (D3D8) Replace inline function calls with direct function calls 2022-04-20 17:11:59 +02:00
twinaphex 8c27e58e20 (D3D8/D3D9) Cleanups 2022-04-20 16:00:00 +02:00
twinaphex 3cf86d3093 Get rid of d3d9_SDKVersion 2022-04-20 15:47:32 +02:00
twinaphex 53b039cf7d Try to use inline functions less - call D3D9 functions directly 2022-04-20 15:01:40 +02:00
twinaphex a348571ba8 (D3D9 HLSL/Cg) Create specialized versions of set_vertices_on_change 2022-04-20 14:04:12 +02:00
twinaphex d1cbba2847 (D3D9 HLSL) Don't go through inlined functions 2022-04-20 13:34:20 +02:00
twinaphex 825bc0739e (D3D9) Cleanups 2022-04-20 12:50:59 +02:00
twinaphex e1f74d3959 Merge renderchain code 2022-04-20 12:32:44 +02:00
twinaphex 68032c7734 (D3D9) Split up D3D9 driver into two separate drivers - one for D3D9 HLSL
and another one for D3D9 Cg
2022-04-19 15:45:22 +02:00
twinaphex 6195711bb3 (D3D9) Move functions to d3d9.c 2022-04-19 14:49:08 +02:00
twinaphex 6a032fc1f8 (D3D9) Move global over to d3d9_common.c 2022-04-19 14:27:40 +02:00
twinaphex 4114545564 (D3D9) Remove d3d9_clear 2022-04-19 14:03:29 +02:00
twinaphex 7c37f9c053 Get rid of some inline functions 2022-04-19 13:49:32 +02:00
twinaphex bceb753993 Turn it into static function 2022-04-19 13:19:14 +02:00
twinaphex df3927dd33 Cleanups 2022-04-19 12:12:03 +02:00
twinaphex a5802ce757 (D3D9) Cleanups 2022-04-19 11:03:24 +02:00
twinaphex 9a354982a9 Move common D3D9 common out to file d3d9_common.c 2022-04-19 10:32:15 +02:00
twinaphex 7bdcc8bfe1 (D3D9) Cleanups 2022-04-17 02:23:28 +02:00
twinaphex 2ef0ea0cc7 Cleanups 2022-04-16 22:33:18 +02:00
driver1998 67e3e37ab0
d3d9 hlsl xmb fix (#13855) 2022-04-16 19:21:32 +02:00
nfp0 d13fec5db5
Bring back number of swapchain images log (#13836)
Co-authored-by: nfp0 <nf.pereira@live.com>
2022-04-06 19:52:22 +02:00
Tony 85fef3427a
Fast-Forward Frameskip improvement (#13834) 2022-04-06 15:39:25 +01:00
twinaphex 14578c0b18 (gl3/glcore) Remove gl3_build_default_matrix 2022-04-02 23:48:34 +02:00
twinaphex 8cdfc8e8b6 Fix CXX_BUILD errors 2022-04-02 20:37:54 +02:00
twinaphex 3873af37c6 (Vulkan) Turn this code into a switch instead of several conditionals 2022-04-02 19:10:56 +02:00
twinaphex 65b8ec4cef (Vulkan) Fix crashes 2022-04-02 19:02:54 +02:00
Tony 0dbd2bc3b9
(XMB) Shadow adjustments (#13815) 2022-04-02 17:05:35 +02:00
Cthulhu-throwaway 8194629314
[Threaded Video] Stability Fixes (#13813) 2022-04-01 20:34:28 +02:00
twinaphex 5319b592e9 Silence some Wayland warnings 2022-03-30 17:29:07 +02:00
Autechre 4c3a4d66df
Cxx buildfixes (#13803)
* CXX_BUILD buildfixes
* (D3D11) Buildfixes for CXX_BUILD
* (Linux/qb) Disable KMS for Linux when building for C89, headers use inline which is not
available for C89
2022-03-30 17:30:20 +02:00
twinaphex a7569b5712 More CXX_BUILD buildfixes 2022-03-30 15:45:48 +02:00
twinaphex c8d57fe667 (CXX_BUILD) Some CXX_BUILD fixes 2022-03-30 15:13:28 +02:00
OsirizX 4d367a2b59 [PSL1GHT] Add RSX graphics support for ps3 2022-03-27 18:03:30 +02:00
jSTE0 55b77cb663 gfx/rs90: Optimise layout of sdl_rs90_video
Move frequently accessed member variables to the beginning of the
structure to improve cache locality. Having menu_texture at the end of
the structure also saves one instruction in the hot path of
sdl_rs90_gfx_frame() (for the ARMv5TE Miyoo) as well as a few other
functions.
2022-03-27 04:35:36 +01:00
DisasterMo 2f88edb93f Add 6x10 font compatibility
This adds compatibility with 6x10 fonts. The hope is to be able to add more fonts to RGUI, like Latin Supplement Extended and others, in the future.
2022-03-22 18:14:46 +01:00
Colin Kinloch d95bc2dd54 (Wayland) Dynamically load libdecor at runtime 2022-03-22 06:58:41 +01:00
Colin Kinloch 47c850c7fd (Wayland) Dedupe VK/GL code 2022-03-21 07:50:34 +01:00
Colin Kinloch c6892d03c3 (Wayland) Fix splash screen when using xdg_toplevel 2022-03-20 20:18:11 +01:00
Colin Kinloch 065fb5acee (Wayland) Skip splash screen if window is not ready 2022-03-18 16:29:49 +01:00
Mats 910a652b3c (steam) Replace OSK with the Steam one on the deck 2022-03-16 19:00:16 +01:00
Giovanni Cascione fe943a65e8 mali_fbdev: fix segfault switching video threaded from quickmenu 2022-03-15 05:45:38 +01:00
MajorPainTheCactus 3a25e1fbc3 Fixed D3D11 HDR bug just introduced 2022-03-15 05:44:07 +01:00
MajorPainTheCactus f3bda542d6 Fixed crash when using stock shader and HDR and previous optimisation 2022-03-15 05:44:07 +01:00
MajorPainTheCactus 32b8560858 Removed redundant copy of buffer in HDR mode if the shader has already a HDR format i.e R10G10B10A2 2022-03-15 05:44:07 +01:00
MrHuu 9ed51bc528
(3DS) Add new3ds speedup toggle (#13718) 2022-03-09 08:20:15 +01:00
vaguerant 1726d8acb9
Add Optimize for GamePad option on Wii U (#13257)
* Add 'Optimize for Wii U GamePad' option

* style nit
2022-03-08 14:56:51 +01:00
twinaphex 9bcee062ff Cleanups/warnings 2022-03-07 19:32:01 +01:00
twinaphex 4d112da58d Silence some MSVC code analysis warnings 2022-03-07 19:02:46 +01:00
Vladimir Serbinenko c11a798467
Series of djgpp fixes (#13705)
* features_cpu: Fix clock for djgpp

* frontend_dos_set_fork: Fix wrong id names

* dos_input: Fix missing indexing

* dos_joypad: Fix wrong id name

* Fix menu drawing

Menu is already prescaled to VGA_WIDTH x VGA_HEIGHT in vga_menu_frame. We need
to always use those dimensions

* Change dos compilation from griffin to common

* Set vga menu size to 320x200

* Add DOS compilation in gitlab-ci.yml
2022-03-05 15:53:18 +01:00
twinaphex 460f5e745d Silence some MSVC 2019 code analysis warnings 2022-03-05 14:39:56 +01:00
Vladimir Serbinenko 4a53c6771c
Several fixes and improvements do NGC and Wii (#13698)
* Support new elf2dol path in Makefile.griffin

* Fix NULL pointer dereference when no core info is available

* Fix double include of different versions of libogc

* Move ngc and wii to Makefile.common

Resulting binary is 60K *smaller*. This is surprising but probably due to
less inlining happening

* gx_gfx: Fix hang on gfx initialization

* Remove sthread_isself on NGC/Wii

It relies on pthread_equal that is not there for either legacy pthreads
or normal pthreads on those platforms

* Wii networking

* Missing includes in split

* Network fixes

* Fix logging of non-format string as a format

* Support for gx netlogger

* Network fix

* Network fixes

* Network info

* gx: Move config files to app directory

Otherwise it clashes between wiiU and vWii version with unpredictable
effects
2022-03-04 13:43:00 +01:00
jdgleaver 3e4201ed30
Bitmap font improvements (#13693) 2022-03-02 16:47:46 +01:00
jdgleaver f6dc1c6d93
Disable per-game and per-content-directory shader presets when running contentless cores (#13690) 2022-03-01 09:44:55 +01:00
Guo Yunhe ab65e31e09
fix: osd fonts for chinese, korean, arabic and persian (#13639) 2022-02-26 18:05:55 +01:00
Tony 7768c296b9
Prevent refresh rate switching to half frame rate modes (#13656) 2022-02-24 07:10:27 +01:00
Colin Kinloch 6dec52fda7
(Wayland) Fix wayland vulkan not reacting to initial resize (#13640)
(Wayland) Correct log stamps for GL or Vulkan

(Wayland) Fix style issues and sync formatting on identical code in GL and Vulkan
2022-02-22 08:58:46 +01:00
Colin Kinloch b2527b43e8
(Wayland) Show window early to get screen info (#13591)
* (Wayland) Show window early to get screen info

* Report current monitor size on initial get_video_size call

* Fullscreen to monitor selected in settings

* Fullscreen on current monitor when setting is set to automatic

* Fallback to shm_open when memfd_create is not supported
2022-02-18 19:59:41 +01:00
Keith Bowes bbfcecfab0
Fix building against FFmpeg 5.0 (#13611)
Co-authored-by: Maxime Gauduin <alucryd@archlinux.org>
2022-02-18 18:40:54 +01:00
Michael Burgardt b8242601ec
Fix localisations (#13622)
* Fix translations with messed-up string placement

* Fix Hebrew and Persian text display

Hebrew is now displayed properly as right-to-left.
Miscellaneous whitespaces, like the zero width non-joiner used in Persian, no longer break right-to-left texts.
2022-02-14 02:43:55 +01:00
Salvador 8093f4595c
Gba filter (#13613)
New GBA filter Upscale_240x160-320x240
2022-02-10 12:40:00 +01:00
Autechre b45a192416
Revert "(Wayland) Show window early to get screen info (#13582)" (#13590)
This reverts commit 4bb2c14293.
2022-02-01 12:47:53 +01:00
Colin Kinloch 4bb2c14293
(Wayland) Show window early to get screen info (#13582)
* Report current monitor size on initial get_video_size call

* Fullscreen to monitor selected in settings

* Fullscreen on current monitor when setting is set to automatic
2022-02-01 10:30:34 +01:00
Tony 6d5d2e722d
Logging cleanups (#13579) 2022-01-31 18:05:23 +01:00
jdgleaver a953b27614
Rework optional fast-forward frame skipping: Drop frames based on frame timing (#13578) 2022-01-31 16:32:17 +01:00
Vladimir Serbinenko 17ccfe4004
Support GL1 on osx-ppc (#13569)
* Fix handling of big-endianness in gl1

* Enable gl1 on osx-ppc

* Force gl1 on apple if gfx supports only gl1

* Backport gl2 apple workaround to gl1

* Fix big-endianness handling in widgets
2022-01-30 09:30:39 +01:00
Giovanni Cascione ffbbdbd256
fbdev: fix segfault on video thread switch and exit from hw_ctx cores (#13571) 2022-01-30 09:24:33 +01:00
Colin Kinloch 5bd7433ac4
(Vulkan/GL) goto error without HAVE_EGL (#13568) 2022-01-29 19:56:49 +01:00
Tony 86cced8eab
Fix frameskipping with duped frames (#13560) 2022-01-29 10:57:01 +01:00
Tony 84f558db0b
Add optional frame skipping when fast-forwarding (#13550) 2022-01-26 18:30:33 +01:00
Piotr Dobrowolski a612e7f7cc
sdl_gl_ctx: fix focus detection on webOS (#13526) 2022-01-24 16:31:35 +01:00
Vladimir Serbinenko 4e24fb3d01
Add osx-ppc compilation for frontend (#13532)
* Fix old osx condition

Current code assumes that osx < 10.12 is equivalent to ppc osx. It's not
true as Leopard x86 is still < 10.12 but not ppc. As xcode compiles fat
binaries it includes osx x86 and compilation fails.

* Disable crtswitchres when no c++11 is available

Crtswitchres altually needs c++11. Since it's not that important to make
it compatible with lower c++, just disable if no c++11 is available

* Don't use firstObject on old Mac OS X.

It was introduced in 10.6, so on old ones just implement it ourselves

* Compile osx-ppc frontend

* osx-ppc: Build a fat binary

On 10.6 i386 xcode apparently refuses to build a pure ppc.
Settle for a fat binary.
2022-01-24 16:22:07 +01:00
Tony 49d3a947b8
(D3D10/11) Add vsync swap interval (#13521) 2022-01-21 04:35:22 +01:00
Giovanni Cascione f93548ab56
mali_fbdev fix for fps drop after egl_destroy (#13494)
Currently each time a screen resolution or setting change occurs, fbdev_destroy, fbdev_init and fbdev_set_mode are called in sequence, trying to destroy context and surface (though context pointer seems to remain unchanged) and create again both of them.
However it seems something is wrong with egl_destroy, as after the call fps drops from 60 to 33fps in GUI with huge performance impact, at least with libmali.
Philosophy is changed with this commit to avoid destroying and creating context and surface each time (creation only occurs in fbdev_init and egl_destroy is called only if retroarch is shutting down).
As a minor modification, framebuffer is resetted to 0 on retroarch shutdown to avoid any chance of freezed screen effect.
2022-01-14 15:30:04 +01:00
Dystopian 2095fc53f8
Fix webOS build and run (#13480) 2022-01-12 07:12:34 +01:00
Colin Kinloch 3e3cf904ca
(Vulkan) Double combined image sampler descriptor pool size (#13467) 2022-01-10 09:10:11 +01:00
MajorPainTheCactus ad4f6176ff
Vulkan driver fixes for HDR (#13468)
* Fixed crash on boot with xmb and vulkan driver Fixed wrong blend state affecting the ribbon shader Fixed up C++ style comments with C style

* Fixed compilation issue - I made a last minute change and thought I had compiled it but obviously hadn't! No wonder it worked.
2022-01-10 06:26:02 +01:00
MajorPainTheCactus 1a228a4e78
Added HDR support to Vulkan driver (#13456) 2022-01-08 13:22:34 +01:00
Tony 5b85339839
(Vulkan) Emulate mailbox only with vsync (#13460) 2022-01-07 17:08:24 +01:00
crystalct 19d05db9ae
PSL1GHT/PS3 build fix (#13446) 2022-01-06 08:21:14 +01:00
Giovanni Cascione f43b19db4f
mali_fbdev: fix for yoffset>0 (screen freezing), setterm unavailable and refresh_rate division by 0 (#13450)
-In case yoffset is not set=0 by the driver (which seems to occur randomly on certain configurations), on next set_video_mode call screen freezes and cannot be updated. Condition to set yoffset to 0 if current value is >0 is added as fix.
-If setterm is not available, sh error occurs in the shell on gfx_ctx_mali_fbdev_destroy call. Condition based on setterm availability is added to avoid this.
-If pixclock from driver is not available (=0), divide by 0 occurs when trying to calculate refresh rate. Condition is added as a fix, if pixclock=0 refresh rate is set as 60.
2022-01-05 19:26:39 +01:00
cedorg be05a7e194
Fix buffer overflow. (#13436)
retroarch sometimes crashes at startup when loading asset textures with gl1 driver.

Co-authored-by: cborg <moi@schtroumpf-moi.village>
2021-12-31 18:17:02 +01:00
Nikos Chantziaras be650a790c
Add option for showing the overlay behind the menu (#13360)
* Add option for showing the overlay behind the menu

This commit lays the groundwork for this option. Support for this option
in the video drivers themselves is going to be added in later commits.

* gl1: Add overlay behind menu support

* gl2: Add overlay behind menu support

* gl3: Add overlay behind menu support

* vulkan: Add overlay behind menu support

* ctr: Add overlay behind menu support

* d3d9: Add overlay behind menu support

* d3d10: Add overlay behind menu support

* d3d11: Add overlay behind menu support

* d3d12: Add overlay behind menu support

* CHANGES.md: overlay behind menu

Co-authored-by: MrHuu <MrHuu@users.noreply.github.com>
Co-authored-by: Tony <45124675+sonninnos@users.noreply.github.com>
2021-12-26 04:56:44 +01:00
Colin Kinloch 22df09885e
(Wayland) Use any display for initial metrics (#13417) 2021-12-26 04:53:57 +01:00
tunip3 a28e226ef4
Make resolution switching automatic and fix angle output issues [UWP/XBOX] (#13406)
* force angle to render at 1080p regardless of screensize as the output is 1080p regardless of screensize.
This fixes an issue where at 4k any angle output would be zoomed into a corner

* set resolution based on display resolution (auto 4k)

* set driver to d3d11 if booting with opengl

* reset width and height of output on boot to match display

Co-authored-by: Tunip3 <tunip3@users.noreply.github.com>
2021-12-24 14:34:30 +01:00
twinaphex e1d144e2b8 (Wayland) Style nits 2021-12-24 14:29:12 +01:00
Colin Kinloch f0392474f2
(Wayland) Add libdecor for client side decoration (#13397) 2021-12-24 14:20:45 +01:00
Colin Kinloch 1afbe4a326
(Wayland) Use checked sizes in EGL resize (#13394) 2021-12-24 03:27:07 +01:00
Colin Kinloch 7d52d43667
[Wayland] Fix window title update (#13396) 2021-12-24 03:14:20 +01:00
MajorPainTheCactus 9151326b73
Added support for HDR shaders - if we detect a shader that uses SLANG_FORMAT_A2B10G10R10_UNORM_PACK32 or SLANG_FORMAT_R16G16B16A16_SFLOAT as the format for the last render target in the shader chain AND hdr is switched on then this disables the internal HDR shader and allows the shader chain to define an inverse tonemapper and hdr10 shader. The first use of this is for my hdr shader crt\crt-sony-pvm-4k-hdr.slangp - submitted seperately (#13390) 2021-12-22 02:17:17 +01:00
Cthulhu-throwaway 690c802921
Netplay Stuff (#13375)
* Netplay Stuff

## PROTOCOL FALLBACK
In order to support older clients a protocol fallback system was introduced.
The host will no longer send its header automatically after a TCP connection is established, instead, it awaits for the client to send his before determining which protocol this connection is going to operate on.
Netplay has now two protocols, a low protocol and a high protocol; the low protocol is the minimum protocol it supports, while the high protocol is the highest protocol it can operate on.
To fully support older clients, a hack was necessary: sending the high protocol in the unused client's header salt field, while keeping the protocol field to the low protocol. Without this hack we would only be able to support older clients if a newer client was the host.
Any future system can make use of this system by checking connection->netplay_protocol, which is available for both the client and host.

## NETPLAY CHAT
Starting with protocol 6, netplay chat is available through the new NETPLAY_CMD_PLAYER_CHAT command.
Limitations of the command code, which causes a disconnection on unknown commands, makes this system not possible on protocol 5.
Protocol 5 connections can neither send nor receive chat, but other netplay operations are unaffected.
Clients send chat as a string to the server, and it's the server's sole responsability to relay chat messages.
As of now, sending chat uses RetroArch's input menu, while the display of on-screen chat uses a widget overlay and RetroArch's notifications as a fallback.
If a new overlay and/or input system is desired, no backwards compatibility changes need to be made.
Only clients in playing mode (as opposed to spectating mode) can send and receive chat.

## SETTINGS SHARING
Some settings are better used when both host and clients share the same configuration.
As of protocol 6, the following settings will be shared from host to clients (without altering a client's configuration file): input latency frames and allow pausing.

## NETPLAY TUNNEL/MITM
With the current MITM system being defunct (at least as of 1.9.X), a new system was in order to solve most if not all of the problems with the current system.
This new system uses a tunneling approach, which is similar to most VPN and tunneling services around.

Tunnel commands:
RATS[unique id] (RetroArch Tunnel Session) - 16 bytes -> When this command is sent with a zeroed unique id, the tunnel server interprets this as a netplay host wanting to create a new session, in this case, the same command is returned to the host, but now with its unique session id. When a client needs to connect to a host, this command is sent with the unique session id of the host, causing the tunnel server to send a RATL command to the host.
RATL[unique id] (RetroArch Tunnel Link) - 16 bytes -> The tunnel server sends this command to the host when a client wants to connect to the host. Once the host receives this command, it establishes a new connection to the tunnel server, sending this command together with the client's unique id through this new connection, causing the tunnel server to link this connection to the connection of the client.
RATP (RetroArch Tunnel Ping) - 4 bytes -> The tunnel server sends this command to verify that the host, whom the session belongs to, is still around. The host replies with the same command. A session is closed if the tunnel server can not verify that the host is alive.

Operations:
Host -> Instead of listening and accepting connections, it connects to the tunnel server, requests a new session and then monitor this connection for new linking requests. Once a request is received, it establishes a new connection to the tunnel server for linking with a client. The tunnel server's address and port are obtained by querying the lobby server. The host will publish its session id together with the rest of its info to the lobby server.
Client -> It connects to the tunnel server and then sends the session id of the host it wants to connect to. A host's session id is obtained from the json data sent by the lobby server.

Improvements (from current MITM system):
No longer a risk of TCP port exhaustion; we only use one port now at the tunnel server.
Very little cpu usage. About 95% net I/O bound now.
Future backwards compatible with any and all changes to netplay as it no longer runs any netplay logic at MITM servers.
No longer operates the host in client mode, which was a source of many of the current problems.
Cleaner and more maintainable system and code.

Notable functions:
netplay_mitm_query -> Grabs the tunnel's address and port from the lobby server.
init_tcp_socket -> Handles the creation and operation mode of the TCP socket based on whether it's host, host+MITM or client.
handle_mitm_connection -> Creates and completes linking connections and replies to ping commands (only 1 of each per call to not affect performance).

## MISC
Ping Limiter: If a client's estimated latency to the server is higher than this value, connection will be dropped just before finishing the netplay handshake.
Ping Counter: A ping counter (similar to the FPS one) can be shown in the bottom right corner of the screen, if you are connected to a host.
LAN Discovery: Refactored and moved to its own "Refresh Netplay LAN List" button.

## FIXES
Many minor fixes to the current netplay implementation are also included.

* Remove NETPLAY_TEST_BUILD
2021-12-19 16:58:01 +01:00
Tony 8cc423e036
Logging cleanups (#13370) 2021-12-17 18:04:24 +01:00
Tony 6ee92d8583
Stop logging fps statistics twice on quit (#13369) 2021-12-17 16:06:15 +01:00
Tony 2c7d2bcc18
Log font rendering backend only once (#13371) 2021-12-17 16:05:32 +01:00
Tony 71836c1055
Add option for showing notifications only in menu (#13326) 2021-12-16 14:38:43 +01:00
Francisco Javier Trujillo Mata 1cd0938cc3
[PS2] Improve Compilation (#13359)
* Allow parallel compilation in PS2

* Allow to compile with griffin or common compilation in PS2

* Enable dummy core to be used in other platforms

* Use threads in YML config

* Add the compilation to PS2 in GitHub Actions
2021-12-15 19:01:56 +01:00
vaguerant 34892555ec
Fix rotation on 3DS and Wii U (#13353)
* Fix rotation on 3DS
* Fix rotation on Wii U
2021-12-14 13:43:48 +01:00
Tony 09880e92d2
Logging cleanups (#13320) 2021-12-04 14:21:12 +01:00
Tony 41838ef544
Refresh rate switch addition on startup (#13316) 2021-12-03 17:52:46 +01:00
Hans-Kristian Arntzen ce8a3db4dc
Avoid hard crash when capturing screenshot in emulating mailbox. (#13315)
The emulating mailbox infrastructure is very hacky and needs a rethink
to be able to properly support screenshots. emulating mailbox is pretty
nasty to begin with and should be considered a hack.
2021-12-03 16:19:49 +01:00
Tony 121ca3a482
'Automatic Frame Delay' improvements: (#13297)
- swap interval handling
- d3dx handling
2021-12-02 02:32:39 +01:00
twinaphex b4137915e8 Move code to proper locations 2021-11-23 16:58:36 +01:00
twinaphex 0a40e1f771 (gl_core/gl3) Rename gl_core internally to gl3 2021-11-23 08:45:54 +01:00
twinaphex ed437fdd8e (video_crt_switch) Cleanups and potential build fix 2021-11-21 12:08:31 +01:00
Autechre 9e40966dce
Merge pull request #13249 from ToKe79/lakka2upstream
Upstream patches from Lakka
2021-11-20 22:07:47 +01:00
twinaphex d04dee7ee0 (GL1) Update code so that GL Hard Sync will work with menu
enabled [Hard sync doesn't seem implemented for GL1 anyway]
2021-11-20 03:40:48 +01:00
twinaphex 282c8ddc5f (GL3) Allow Hard GPU Sync in menu 2021-11-20 03:26:54 +01:00
twinaphex e7e6b9977f (GL2) Backport 75a66be87b - Allow Hard GPU sync in menu 2021-11-20 02:20:53 +01:00
Tomáš Kelemen (vudiq) fd5c718b48
buildfix: undefined srm.x_scale, srm.y_scale
srm.x_scale and srm.y_scale are undefined in this context/scope.

Upstream of patch used by Lakka at build time
1943ad296e/packages/libretro/retroarch/patches/retroarch-07-gpicase_buildfix.patch
2021-11-18 00:36:11 +01:00
Jamiras 2adf52a493 move achievement activation to background thread 2021-11-16 11:33:37 -07:00
Jamiras a3b508f136 show widget for loaded game 2021-11-16 08:26:42 -07:00
jdgleaver 196cc8b33d SDL1 buildfix 2021-11-12 12:35:31 +01:00
twinaphex 0b768d0460 Split up recording code 2021-11-10 02:34:04 +01:00
twinaphex 619398bbe4 Backport parts of 73c0760236 2021-11-09 23:12:57 +01:00
MrHuu 8171e513aa [3DS] Fix achievement widget 2021-11-09 19:47:45 +01:00
twinaphex 2a5751ca0e Get rid of some getters 2021-11-09 07:06:04 +01:00
twinaphex fc898d016b (GX2) wiiu_gfx_load_texture - make it safer - get rid of unused
wiiu pointer; do early return when image is NULL
2021-11-08 17:07:17 +01:00
twinaphex a93a2e3366 (MSVC2019 UWP) Buildfix 2021-11-07 05:54:23 +01:00
twinaphex 88c771fc66 Cleanups 2021-11-07 01:44:45 +01:00
Tony 3137f8470b
Add 'Automatic Frame Delay' option (#13190) 2021-11-05 23:42:23 +01:00
twinaphex fe0c0d73ff Move aspectratio_lut to video_driver.c 2021-11-05 03:47:04 +01:00
twinaphex f50df1acfb Buildfix 2021-11-05 03:15:17 +01:00
twinaphex c17bcb8d91 Move code from retroarch.c to video_driver.c 2021-11-05 02:53:58 +01:00
twinaphex e4ccc2508e Move code over from retroarch.c to video_driver.c 2021-11-05 02:33:22 +01:00
twinaphex c5b20dff41 (3DS/CTR) Cleanup 2021-11-03 22:01:01 +01:00
twinaphex f59b420fde * Move more code to command.c
* Buildfix for CTR/3DS
2021-11-03 21:59:58 +01:00
twinaphex 69e8416e45 (CTR) C89 conformity cleanups 2021-11-03 21:42:11 +01:00
twinaphex bf8cae10a3 Move retroarch_get_shader_preset to video_shader_parse.c 2021-10-29 16:35:50 +02:00
Autechre e42f8228de
Move cli_shader to video_state (#13168)
* Move cli_shader to video_state

* Formatting fixes
2021-10-29 15:35:43 +02:00
twinaphex ec7b7821fa Move code out of retroarch.c 2021-10-29 14:13:16 +02:00
twinaphex 80e7e1adde Move state over 2021-10-28 06:03:54 +02:00
alphanu1 f5d8d07cf1
Fixes for fractal scaling (#13149)
* CRT Fractal scalling fix for SR2

Added comment to remind me to add video core to SR2

fixed typo

* Addedd only x fractal scaling for super resolutions

* Properly handle fractional scale factors and fix some typos.

Co-authored-by: Antonio Giner <calamity15khz@gmail.com>
2021-10-26 01:43:22 +02:00
twinaphex 758eafa686 (SDL) Potential buildfix 2021-10-20 15:57:34 +02:00