229 Commits

Author SHA1 Message Date
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
Anders Storhaug
8addb08250
(Win32) Remove black margins with borderless non-fullscreen window (#14098) 2022-06-27 07:30:51 +02:00
sonninnos
b444377b50 (WIN32) Don't update title on every frame 2022-06-14 16:43:32 +03:00
sonninnos
5bf82038ad (WIN32) Fix video resolution logging 2022-06-01 18:45:33 +03: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
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 201eeae7f1cba8e29c1f14c6c7fec8d330db1d9e.
2022-05-17 12:34:12 +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
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
4d112da58d Silence some MSVC code analysis warnings 2022-03-07 19:02:46 +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
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
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
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
MajorPainTheCactus
0ac542f1db
Fix for warning and fix for incorrect comment (#12944) 2021-09-06 01:16:01 +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
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
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
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
sonninnos
04962e1741 (D3D) Add common window title for D3D9+ 2021-06-06 22:24:47 +03: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
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
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
twinaphex
7fe2ad81a0 HAVE_CLIP_WINDOW - don't define for this anything below MSVC 2005 2021-04-12 05:38:43 +02:00
twinaphex
611efea2bf More CXX_BUILD fixes 2021-03-22 15:20:51 +01:00
twinaphex
e5ca68a518 Simplify video_driver_get_ptr 2021-03-21 17:33:44 +01:00
sonninnos
1e95683c06 (WINRAW) Key position fixes 2021-03-20 00:58:11 +02:00
sonninnos
6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
sonninnos
aad12cc663 (Windows) Mouse grabbing/clipping with alt-tab 2021-02-07 20:18:04 +02:00
sonninnos
e39ade0f05 (WIN32) Cursor clipping for grabbed mouse 2021-02-02 14:15:58 +02:00
Autechre
cff0a4e202
MSVC2003 buildfix - (#11915)
* MIIM_STRING and MIIM_FTYPE only available if WINVER is higher than
or equal to 0x0500
2021-01-21 03:07:46 +01:00
Autechre
39e84fd5b2
Refactor Win32 menubar code - (#11914)
* Get rid of camelCase notation
* Turn functions into static functions if not used outside
* Rewrite while (true) as for (;;)
* Some general cleanups
2021-01-21 02:59:30 +01:00
Dwedit
217b6d2f9d Restored missing comments and fixes 2020-12-28 16:45:33 -05:00
Dwedit
34a31f8a1c ui_win32_application.c: Add support for accelerators to main win32 message loop
rarch.rc: Add accelerators for Open (Ctrl+O) and Fullscreen (Alt+Enter)
ui_win32_resource.h: Add accelerator resource ID definition
win32_common.c: Load accelerators, Localize Win32 menu items to current language, and display shortcut keys
2020-12-28 16:39:39 -05:00