Commit Graph

1938 Commits

Author SHA1 Message Date
libretroadmin 30ea7da063 Cut down on header includes 2022-12-05 13:44:20 +01:00
sonninnos 9e503a6106
Build warning fix win32 (#14692) 2022-12-02 17:47:07 +01:00
LibretroAdmin c75af6194b
Extended IME and Korean OSK (#14676) 2022-11-29 04:45:55 +01:00
MajorPainTheCactus 7ebd8e190a
Fixes for d3d12 and d3d11 drivers when using shaders with TATE mode arcades etc (#14678)
Added support for break on errors in d3d12 (development aid)
Added support for DRED (device remove extended data) in d3d12 (development aid)
Made d3d12 viewport and scissors to behave more like vulkan drivers (or be more correct)
Fixed validation error on start up due to buffers not being setup correctly for one frame
2022-11-27 10:20:34 +01:00
libretroadmin e108fefc41 Remove video_driver_set_video_cache_context_ack - replace with single line 2022-11-23 20:55:05 +01:00
libretroadmin 6a098d37ac Use HAVE_DYLIB instead of HAVE_DYNAMIC when loading shared libraries 2022-11-21 05:37:35 +01:00
libretroadmin 3b38ea195f Use HAVE_DYLIB for loading dynamic libraries instead of HAVE_DYNAMIC 2022-11-21 05:23:43 +01:00
libretroadmin 9e0c0865cd Use HAVE_DYLIB more 2022-11-16 17:09:53 +01:00
libretroadmin 63153620a7 There can be builds that are statically built against a libretro core
but still have dylib support
2022-11-16 16:51:53 +01:00
LibretroAdmin bba1fdca30 (D3D12) Use flags instead of boolean variables 2022-11-03 01:31:15 +01:00
LibretroAdmin 7aa8c6bb11 (D3D10) Turn boolean variables into flags 2022-11-02 23:19:41 +01:00
LibretroAdmin 56ad3fa091 (Vk struct) Turn boolean variables into flags 2022-11-02 21:34:00 +01:00
LibretroAdmin 15048027e7 (D3D11) Turn booleans into flags 2022-11-02 08:31:40 +01:00
LibretroAdmin c4d2788c08 Rollback extended character PR - caused too many issues
and caused crashes - contributor can submit a new improved PR -
would also prefer increased readability
2022-11-02 06:23:46 +01:00
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
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 174b01f7d9 Remove unnecessary video_driver_is_cache_context 2022-10-28 19:36:56 +02:00
LibretroAdmin c0d6d6e750 Create video_driver_get_st_flags 2022-10-26 22:35:04 +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
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
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
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 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
LibretroAdmin 75757d7d02 Remove unused DXGI inline functions 2022-09-11 23:15:25 +02:00
LibretroAdmin 7ae555a51d (X11/Xinerama) Style nits; slightly optimize x11_get_metrics 2022-09-05 19:44:15 +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 0ffdd14940 Change msg_len of font driver to size_t - avoids all the type
casting/conversion
2022-09-02 01:10:28 +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
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 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 da13fb0f48 Don't include errno.h in files that don't justify its use 2022-08-25 05:19:30 +02:00
MrHuu 46bafd6e46
(3DS) Add bottom menu options (#14323) 2022-08-17 08:23:07 +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
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 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 88c2ae9ddf No null termination for strings passed to strlcpy/srlcat 2022-07-26 13:23:28 +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 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 71a3c24d52 (Vulkan) Solve some warnings - set VkResult variables to VK_SUCCESS
by default
2022-07-08 21:32:19 +02:00
Anders Storhaug 8addb08250
(Win32) Remove black margins with borderless non-fullscreen window (#14098) 2022-06-27 07:30:51 +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
sonninnos b444377b50 (WIN32) Don't update title on every frame 2022-06-14 16:43:32 +03:00
sonninnos b630b98c60 (Vulkan) Show swapchain images logging again 2022-06-08 08:59:53 +03:00
libretroadmin 8ec1f3294e (D3D10/11/12) Miscellaneous corrections/safety checks 2022-06-07 06:37:23 +02:00
sonninnos 0bb65fb39c (D3D11/12) Add waitable swapchains and max frame latency option 2022-06-07 00:25:03 +03: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 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 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
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02: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
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
libretroadmin 30685c6e60 (d3dcompiler_common) Cleanups 2022-05-19 16:18:34 +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
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 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 efe6d14d37 Get rid of d3d9_suppress_screensaver in d3d9_common.c 2022-05-17 14:21:22 +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 3115338849 (D3D10/D3D11/Vulkan) Cleanups 2022-05-16 22:26:46 +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 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 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 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 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 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 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 b43039f7b0 (D3D8) Buildfixes 2022-04-20 18:25:34 +02:00
twinaphex 5b97ba65c0 (D3D8) Buildfix 2022-04-20 18:06:20 +02:00
twinaphex 437051c112 (D3D8) Replace inline function calls with straight function calls 2022-04-20 17:26:03 +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 e1f74d3959 Merge renderchain code 2022-04-20 12:32:44 +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
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
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 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
OsirizX 4d367a2b59 [PSL1GHT] Add RSX graphics support for ps3 2022-03-27 18:03:30 +02: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
twinaphex 4d112da58d Silence some MSVC code analysis warnings 2022-03-07 19:02:46 +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
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
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
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
Tony 09880e92d2
Logging cleanups (#13320) 2021-12-04 14:21:12 +01:00
twinaphex 0a40e1f771 (gl_core/gl3) Rename gl_core internally to gl3 2021-11-23 08:45:54 +01:00
twinaphex e4ccc2508e Move code over from retroarch.c to video_driver.c 2021-11-05 02:33:22 +01:00
Autechre 0a888f7868
Move video state to gfx/video_driver.c - reduces filesize of retroarch.c to 809kb (#13104)
* Move video state to gfx/video_driver.c - reduces filesize of retroarch.c
to 809Kb
2021-10-13 14:56:22 +02:00
twinaphex 849ed7fc3d Buildfix for MSVC 2021-10-12 11:58:22 +02:00
Soar Qin 290bc214e3
win32: fix broken win9x builds caused by #13089 (#13106)
Co-authored-by: Soar Qin <soarchin@gmial.com>
2021-10-12 11:24:58 +02:00
Soar Qin 39fd4677d9
win32: fix non-ASCII text display in window title (#13089) 2021-10-09 06:28:17 +02:00
Autechre 3f179a5762
Merge pull request #12632 from Sunderland93/remove-xdg-shell-v6
[Wayland] Remove xdg-shell-v6 protocol
2021-10-07 05:10:53 +02:00
Francisco Javier Trujillo Mata 3bbfcf7b39 Adding to get_video_output_size 2 parameters for additional info 2021-10-04 23:53:55 +02:00
twinaphex 49fbed2423 Get rid of input_mouse_grabbed - move retroarch types to
retroarch_types.h
2021-09-30 23:22:50 +02:00
twinaphex efe34f52af (gl_common.c) Add HAVE_CONFIG_H 2021-09-29 17:48:58 +02:00
twinaphex b5190b3662 Add glsym/glsym.h header for gl_common.c 2021-09-28 16:28:56 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
twinaphex 6a72403f0f (MSVC) Define HAVE_D3DX when HAVE_HLSL is defined 2021-09-28 03:37:08 +02:00
twinaphex 0448afab96 Move video driver functions over to gfx/video_driver.c 2021-09-27 19:37:22 +02:00
twinaphex 31eaeb1a03 Create gl_flush 2021-09-26 22:28:28 +02:00
twinaphex 422e940bc4 Fix gl_common.h 2021-09-26 22:22:20 +02:00
twinaphex 76db3e02cf Create gl_clear 2021-09-26 22:10:53 +02:00
twinaphex 4aafbf2340 Create gl_common.c/gl_common.h 2021-09-26 19:57:08 +02:00
twinaphex 4b5951bda3 Rename gl_common.h to gl2_common.h and remove some file dependencies
on it
2021-09-26 17:42:12 +02:00
twinaphex 6f36e0a2dd Rename GL driver files + add some comments to D3D drivers - gl_core
becomes gl3, gl becomes gl2, etc
2021-09-26 14:16:09 +02:00
jdgleaver 12f787547c
Add workaround to fix keyboard input when using x11+udev (#12981) 2021-09-13 18:02:40 +02:00
MajorPainTheCactus 3c6bdfd0d8
Fixed numerous issues with HDR (#12979)
* Fix for warning and fix for incorrect comment

* Fixed contrast to be more correct - now scales from 0-10 linearly and behaves more the way you'd expect it to - changed name to ditch legacy settings users may have
Added ability to skip inverse tonemapper to the shader via the constant buffer using 'inverse_tonemap' - set to 0.0f to skip
Fixed potential bug when swapping between hdr and sdr and the bit depth not being set correctly
Fixed dx11's blend, rasterizer and topology states not being set to the sames when using hdr and leaving the menu - caused issues with PCSX2's Shadow of the Colossus
Added numerous helper functions to help create the correct values to colour the UI - normally the white UI elements should be rendered at paper white not max brightness for various reasons

* Fix stylistic issues - * Don't use camelcase for variables and function names * Use '(void)' for function declarations instead of () in C code * Declare variables at the top of a function or code block * Make sure functions that return a value always have a default return path that is not encapsulated by an else block * Use more unique names for retro_math functions which are less likely to overlap with other libraries' function symbols

Co-authored-by: twinaphex <libretro@gmail.com>
2021-09-13 16:54:50 +02:00
Autechre cfcd0a7a0d
Merge pull request #12795 from sonninnos/video-rate-switch
Automatic PAL/NTSC refresh rate switch where available
2021-09-12 16:15:04 +02:00
Autechre dcf77c4d1e
Merge pull request #12821 from markwkidd/config_h
standardize include paths for config.h
2021-09-10 16:59:15 +02:00
bulzipke 8018be5c9b
Fix ram states to file when core deinit (#12956)
* Fix ram states to file when core deinit

* Fix unterminated state_path
Call CMD_EVENT_RAM_STATE_TO_FILE when CMD_EVENT_UNLOAD_CORE too
2021-09-08 18:01:07 +02:00
MrHuu 07600392df
(3DS) Add bottom screen idle state (#12942) 2021-09-06 01:16:16 +02:00
MajorPainTheCactus 0ac542f1db
Fix for warning and fix for incorrect comment (#12944) 2021-09-06 01:16:01 +02:00
twinaphex b05a0d5aed * Enable HDR for WinRT/UWP (only works on PC UWP for now, won't work on Xbox yet swapchain
issues with both D3D11/12)
* Add sublabel for Expand Gamut
*
2021-09-04 21:36:48 +02:00
MajorPainTheCactus 536d18778b
Fixed up HDR for UWP/WinRT builds (#12936)
Fixed D3D11 validation warnings
Fixed up technically incorrect labels

Co-authored-by: Autechre <libretro@gmail.com>
2021-09-04 21:13:24 +02:00
bulzipke 8adc24ecbc
(3DS) Add bottom screen menu (#12470)
* (3DS) Add bottom screen menu
 -> User can save/load state on botom screen with thumbnail.
 -> Call a save_state_to_file() when RAM state has data to write a disk.
 -> If the bottom screen needs updating, swap the bottom framebuffers.

Add: SAVE/LODE STATE TO RAM
 -> This is useful for devices with slow I/O
 -> 3DS bottom save state use CMD_EVENT_SAVE_STATE_TO_RAM
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE when RAM state has no data
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE_FROM_RAM when RAM sate has data

* Rewrite path_get_state to retroarch_get_current_savestate_path

* Fix unterminated state_path
2021-09-03 18:14:03 +02:00
twinaphex 274638b89e (D3D11) Look at D3D11 feature level - if we are 11.0 or above,
we use Shader Model 5.0 instead of the default SM 4.0 - this fixes
FSR on D3D11 which requires SM5.0
2021-09-03 07:51:44 +02:00
Autechre 7b9cbc08d7
Add HDR support for D3D12 (rebased PR from MajorPainTheCactus) (#12917)
* Add HDR support

* Attempt to fix Mingw build and Metal builds

* (D3D12) Fix relative header includes

* Add missing hdr_sm5.hlsl.h

* (d3d12_common.c) Some C89 build fixes

* Fix MSVC build

* - Attempt to fix build on mingw/msys unix with dirty hack
- Fix shader compilation of hdr_sm5.hlsl.h on MSVC/Visual Studio -
the define was seen as an error and was causing the first pipeline
to error out
- Make sure we manually set handle of backBuffer to NULL

* Moving the release of the texture above the freeing of desc.srv_heap
and desc.rtv_heap solves the hard crashes on teardown/setup in RA -
it was crashing hard in d3d12_release_texture before

* Add HAVE_D3D12_HDR ifdef - needs to be disabled for WinRT for now
because of several things that are Windows desktop-specific right now
(GetWindowRect)

* Add dirty GUID hack - should work for both mingw/msys on Windows/Linux
as well as MSVC/Visual Studio (hopefully)

* Change HAVE_D3D12_HDR to HAVE_DXGI_HDR

* Move away from camelcase named variables

* Fix RARCH_ERR logs - they need a newline at the end

* d3d12_check_display_hdr_support - make it return a bool on return
and set d3d12->hdr.support and d3d12->hdr.enable outside of the
function

* (DXGI) Remove D3D12 dependencies from dxgi_check_display_hdr_support and
move it to dxgi_common.c instead

* (DXGI) move d3d12_swapchain_color_space over to dxgi_common.c and
rename it dxgi_swapchain_color_space

* (DXGI) move d3d12_set_hdr_metadata to dxgi_common.c and
rename it dxgi_set_hdr_metadata

* (DXGI) dxgi_check_display_hdr_support - better error handling?

* Fix typo

* Remove video_force_resolution

* (D3D12) Address TODO/FIXME

* (D3D12) Backport
c1b6c0bff2
- Fixed resource transition for present when HDR is off
Fixed cel shader displaying all black as blending was enabled when the hdr shader was being applied - turned off blending during this shader

* Move d3d12_hdr_uniform_t to dxgi_common.h and
rename it dxgi_hdr_uniform_t

* (D3D11) Add HDR support

* Add TODO/FIXME notes

* Cache hdr_enable in video_frame_info_t

* Update comment
2021-09-03 06:15:25 +02:00
twinaphex 37aa13bb47 (X11) get_video_mode - make sure parameter does not hide global
variable of the same name
2021-08-30 18:39:02 +02:00
sonninnos 2482a6f42a (WINSDL2) Fix keycodes 2021-08-21 22:27:08 +03:00
twinaphex 462137305b Simplify win32_get_metrics 2021-08-21 02:24:32 +02:00
sonninnos b8188baeaf Automatic refresh rate switch where available 2021-08-21 01:15:41 +03:00
twinaphex eb50d7dbb4 (UWP) Push temporary fixes for issue that happens when resizing on UWP
with latest Xbox Series dashboard; DXGIResizeBuffers passing 0, 0 as
width/height is apparently problematic as it changes 0, 0 to 8,8
instead,
breaking the program
2021-08-20 23:16:01 +02:00
Mark W. Kidd 2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
sonninnos 11b0667e72 (WIN32/Vulkan) Refresh rate fixes + cleanups 2021-08-12 18:33:58 +03:00
sonninnos 079070daf7 (WINRAW) Prevent Alt getting stuck when Alt-Tabbing 2021-08-07 04:24:20 +03:00
sonninnos 4e90b731d3 (WINRAW) Alt key fix 2021-08-05 15:24:41 +03:00
sonninnos 2c47d94bf5 (WINRAW) Change legacy virtual keys to scan codes 2021-08-04 19:23:56 +03:00
twinaphex bdba803909 wnd_proc_common_internal - move out code that was only relevant for
Winraw and put it into the Winraw specialized function callback, delay
initialization of mod variable until we use it
2021-08-03 13:46:58 +02:00
twinaphex 2af9441d35 Create separate wnd_proc functions for winraw 2021-08-02 16:14:58 +02:00
sonninnos 2962707d5f (WINRAW) Trigger joypad driver reinit on DEVICECHANGE 2021-08-01 22:35:27 +03:00
jdgleaver 218286aa99 (RS90) Add optional approximate 'semi-linear' scaling filter 2021-07-21 14:11:42 +01:00
Ember Cold 214a80b338 Prevent xdg-screensaver's "Protocol error" messages 2021-07-16 17:21:11 +03:00
Aleksey Samoilov b153087fa4 Remove xdg-shell-v6 fom Makefile.common 2021-07-10 14:44:04 +04:00
Aleksey Samoilov 146804fcbc Remove xdg_shell_v6 support 2021-07-10 14:22:58 +04:00
sonninnos 917fb1f796 D3D12 Updates:
- Relocated 'd3d12_gfx_sync()'
- Fixed swap interval option
- Cleanups
2021-06-18 21:54:36 +03:00
Connor McLaughlin 946d87cf89
(gfx/d3d11) Don't use allow tearing flag with blit swap chains (#12529) 2021-06-16 15:19:27 +02:00
sonninnos 04962e1741 (D3D) Add common window title for D3D9+ 2021-06-06 22:24:47 +03:00
Autechre 52b827155f
Merge pull request #12479 from sonninnos/d3d-tearflag
(D3D11+12) Allow fastforward in fullscreen
2021-06-06 21:14:26 +02:00
Ben 4b2f27eff8 Ver 0.9.2 SR2 (Switchres API) Implimantation
Fixed SR close match refresh bug.
Added menu high resolution option.
Fixed desktop restore bug cuusing endless resolution change requests.
Fixed file conflicts
Added destop restore resolution back in for manu only.
Pulled Switchres fixes.
Added better PI rsolution support.

Ver 0.7 SR2 (Switchres API) Implimantation

Removed HH experimetal check. This is better done via teh switchres.ini at present.
Fixed refresh rate bug. Now new resolution and refesh is added correctly.
Removed SR deinit from menu restore. Meanu now stays at last content resolution.

Ver 0.6.2 SR2 (Switchres API) Implimantation

Fixed super resolution bug casuing abnormal video size and aspect ratio
Fixed logging issue casuing seg falts on RA exit

Ver 0.6 SR2 (Switchres API) Implimantation

Ver 0.2 SR2 (Switchres API) Implimantation

Added forced super resolutions.
Added Multi-monitor/monitor selection support.
Added desktop resolution restore when switching back to menu only.
Added new menu items for 31KHz standard and 120hz monitor profiles.
Added new menu item INI. load monitor profile from switchrss.ini.
Fixed winraw driver. Coordinates new refreshed after a resolution change.
Fixed Menu aspect ratio in super resolutions.
Removed static glabals. These have been added to videocrt_switch struct.

Ver 0.1 SR2 (Switchres API) Implimantation

Removed old CRTSwitchRes method. Added new SR2 API implimantaion.
Resolution swithcing is now done by switchres libs. Both Linux and Windows
working with native and super resolutions. Working multi-monitor support
with monitor index selection. Working 31KHz support with standard and 120Hxz
modes. The monitor index selection is still done via the RA UI. Only choose
native and 15KHz form the CRT options in the RA UI as all options are now set
in the switchres.ini. All other CRT optoins in the RA UI currently do nothing.

Added SR wrapper to fix compile issues. Added back RPi functionality

Fixed windows resize/scaling issues on resolution change

Thanks @Calamity no more need for crt_switch_driver_refresh()

Fix broken case after prevous commit

Monitor preset options 15/31KHz now active. Added new meu option.

Moitor persets can now be choosen fom the RA UI. 15KHz and 31KHz will set
arcade_15 and aracde_31 respectivly. New option INI, if this is chosen your
monitor preset will be selected from your switchres.ini file.

Added 3KHhz, 120Hz. for old RA users. Renamed 31KHz to 31 KHz,  Standard

Fixed winraw input coordinates after switching resolution.

Code cleanup

Fixed menu aspect ratio issue

Added menu resolution restore after closing content

Fixed aspect ratio after menu resolution restore.

code clean up

Fxed menu Resulition Restore Aspect Ratio. When SR uses non integer scalled resolution.

super width bug with restoring menu resolution fix

added super resolution check after setting desktop resolutoion variables

when menu active only sr_deinit() used to restore desktop mode.

Fixed menu sr_deinit bug. now setting sr_active false

Removed static globals, added them to video_switch struct

Fixex compile bug due to comment //

Fixed compile issues doe to c++ comments in teh switchres_wrapper.h

Temporarily removed SR2 logging to fix compile isses for c90

added logging back in. Removed support for winnt and osx

Added define for C89. Disabled SR if defined C89

Removed all RA compile fixes fro C89 C90 etc. Swithing now working again.

Put Switchres behind HAVE_SR2. HAVE_SR2=no by default. --enable-sr2

Ver 0.5 SR2 Implimentation.

Ver 0.4 SR2 Implimantation.

Bake SR inside RA

Removed temporary log files

Disable switchres when C89/C99 builds.

Removed C89 and C90 checks for SR

Fixed switchres_wrapper.h location

Ver 0.3 SR2 Implimenation

Dissable logging for C89 __STDC__

Fix For RPi

fixed missing EOL

fixed RPi function definition

added vidrocrt_switch stuct to RPI funcion

fixed xoffset for RPi

Removed old RPi function call

SR disabled for videocore until VC4 switching ported

Reverted back to state 5c8a56c Bake SR inside RA

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Added lidstc++ to makefile.common for switchres

Fixed RPi switching. Disabled Switchres for videocore unill it is ported.

removed RAA.log. Should not exist

Added check for when SR fails to set mode with an aspect ratio fix.

added video driver re init for RPi

GB, GBA and GBC core check, adjusted reseolutions and scale. Please turn on integer scalling in the RA UI

Added logas back in. Checking STDC verstion >= C11

Fixed c89 for loop declaration.

Code clean up. Added new functions

Fix resolution switching bug introduces with HH code clean up.

Fixed menu restore bug on closw content after code clean up

Moved SR logging to relevant RA logs

Update makefile. Checks for X11 and xrandr

fixed makefile

Use native win32 api for threads.

Fix static lib linking
LIBERROR would be defined twice otherwise + improper function names prefixed by __imp_

Update switchres_wrapper.* header comments

Update year copyright

DRMKMS: build only if libdrm has the required version

XRANDR: build only if xrandr is available

Simplified maklefile

Fixed RPI compile error with unsued functions.

As before

Disable Griffin. No switching support available. Never has been

Removed log file 1

Added Win32 static define

Added SR source

Removed Videocore check on destroy SR

Moved SR deinit to trigger earlier on RA exit.

Fixed compile error after upstream rebase

Fixed aspect ration bug cused by super resolutions. Temporarily disbabled SR logging

Re inabled runtim eSR loggind. Disableed all RARCH logging on retro_deinit_drivers

Removed srdeinit from menu restore. Menu stays in current reolution until a fix can be found

Fixed refresh rate changes when no reolution change is detected.

Forgot to add teh resolution cahge in with the refresh change oops

Fixed endless no detection log.

Removed HH check. This can been better adjusted using the switchres.ini

fixed compile issue

Added better PI crt switching and fixed typo

Pulled Swicthres fixes. Updated desktop restore resolution.

removed unused makefile

Lockec menu refresh to 60hz

fixed missing new line

Fixed file conflicts

Forced 640x480@60 for menu

Added high resolution menu option

Removed item logg checker

Fixed typos

Removed unused functions

Fixed SR close match refesh bug.

Fixed typo
2021-06-04 08:32:56 -07:00
sonninnos 8584b122e1 (D3D11+12) Allow fastforward in fullscreen 2021-06-04 04:31:11 +03:00
CTCaer a8028d5e8e X11: fix fullscreen when swapping monitors/resolution
Most DEs have the tendency to lose focus when monitor is getting swapped or the resolution changes.
That causes X11 exiting fullscreen and setting a lower resolution to fit desktop.
Pushing the window back to top, automatically fixes that and X11 enforces fullscreen again and new max resolution.

Additionally, XConfigure events are now checked and preferred over XGetWindowAttributes.
That saves several to hundreds μs per frame.
2021-05-29 22:19:19 +03:00
twinaphex 4fb6bc9f33 Fix another camelcase variable 2021-05-19 16:13:05 +02:00
twinaphex b82a20ea0c We don't want camelcase notation variable names for RetroArch 2021-05-19 16:11:26 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
twinaphex 9829051841 win32_localize_menu - replace strcmp call with string_is_not_equal 2021-05-18 19:49:57 +02:00
twinaphex e4a8f42ad1 win32_localize_menu - get rid of direct strcpy/strcat calls 2021-05-18 18:53:30 +02:00
jdgleaver 484c4ad51e Add API extension for cores to override frontend fast-forward state 2021-05-13 13:16:37 +01:00
twinaphex 7fe2ad81a0 HAVE_CLIP_WINDOW - don't define for this anything below MSVC 2005 2021-04-12 05:38:43 +02:00
MrHuu 8df97a0c75 (3DS) Add HAVE_OVERLAY 2021-04-04 22:50:59 +02:00
Valerio Proietti fc69e73dcf [DRM] set the correct video mode
mode->vrefresh is a display-only value and should not be used for calculations
the drm context is now able to differentiate between, for example, 640x480@60.00 and 640x480@59.92 when setting the video mode
2021-03-31 13:13:27 +02:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
twinaphex 8f79e14d0a Silence LGTM static code analysis warnings 2021-03-24 00:25:47 +01:00
twinaphex 26824b1f27 (D3D) Comment out Debug functions 2021-03-23 21:24:17 +01:00
twinaphex 611efea2bf More CXX_BUILD fixes 2021-03-22 15:20:51 +01:00
twinaphex b16f526540 (Metal) Cleanups - turn function static 2021-03-21 18:10:55 +01:00
twinaphex 5d2a75d782 (Apple/Metal) Combine various Metal files into one 2021-03-21 18:06:00 +01:00