Skip to content

Commit

Permalink
Merge pull request #8371 from driver1998/msvc2017_arm_desktop
Browse files Browse the repository at this point in the history
Add Windows ARM32 Desktop support
  • Loading branch information
inactive123 committed Feb 26, 2019
2 parents ce73556 + 33e65e1 commit 0aa9df6
Show file tree
Hide file tree
Showing 6 changed files with 641 additions and 3 deletions.
2 changes: 2 additions & 0 deletions config.def.h
Expand Up @@ -845,6 +845,8 @@ static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/apple/
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/x86_64/latest/";
#elif defined(__i386__) || defined(__i486__) || defined(__i686__) || defined(_M_IX86) || defined(_M_IA64)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/x86/latest/";
#elif defined(__arm__) || defined(_M_ARM)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/windows-msvc2017-desktop/arm/latest/";
#endif
#else
#if defined(__x86_64__) || defined(_M_X64)
Expand Down
7 changes: 6 additions & 1 deletion configuration.c
Expand Up @@ -238,6 +238,7 @@ enum input_driver_enum
INPUT_QNX,
INPUT_RWEBINPUT,
INPUT_DOS,
INPUT_WINRAW,
INPUT_NULL
};

Expand Down Expand Up @@ -457,8 +458,10 @@ static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_ANDROID;
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_SDL2;
#elif defined(EMSCRIPTEN)
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_RWEBINPUT;
#elif defined(_WIN32)
#elif defined(_WIN32) && defined(HAVE_DINPUT)
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_DINPUT;
#elif defined(_WIN32) && !defined(HAVE_DINPUT) && _WIN32_WINNT >= 0x0501
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_WINRAW;
#elif defined(ORBIS)
static enum input_driver_enum INPUT_DEFAULT_DRIVER = INPUT_PS4;
#elif defined(__CELLOS_LV2__)
Expand Down Expand Up @@ -875,6 +878,8 @@ const char *config_get_default_input(void)
return "sdl2";
case INPUT_DINPUT:
return "dinput";
case INPUT_WINRAW:
return "raw";
case INPUT_X:
return "x";
case INPUT_WAYLAND:
Expand Down
2 changes: 2 additions & 0 deletions gfx/common/d3d_common.c
Expand Up @@ -163,7 +163,9 @@ void d3d_input_driver(const char* input_name, const char* joypad_name, const inp
}
#endif

#ifdef HAVE_DINPUT
*input_data = input_dinput.init(joypad_name);
*input = *input_data ? &input_dinput : NULL;
#endif
#endif
}
10 changes: 10 additions & 0 deletions gfx/common/win32_common.c
Expand Up @@ -98,6 +98,12 @@ extern void *dinput_wgl;
extern void *dinput;
#endif

#if defined(HAVE_XINPUT) && !defined(HAVE_DINPUT)
#ifndef MAX_PADS
#define MAX_PADS 4
#endif
#endif

typedef struct DISPLAYCONFIG_RATIONAL_CUSTOM {
UINT32 Numerator;
UINT32 Denominator;
Expand Down Expand Up @@ -601,6 +607,10 @@ static LRESULT win32_handle_keyboard_event(HWND hwnd, UINT message,
if (input_get_ptr() == &input_dinput && (lparam >> 24 & 0x1))
keysym |= 0x80;
}
#else
{
/* fix key binding issues on winraw when DirectInput is not available */
}
#endif
/* Key released? */
if (message == WM_KEYUP || message == WM_SYSKEYUP)
Expand Down
27 changes: 27 additions & 0 deletions pkg/msvc/RetroArch-msvc2017.sln
Expand Up @@ -7,52 +7,76 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RetroArch-msvc2017", "msvc-
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug Cg|ARM = Debug Cg|ARM
Debug Cg|x64 = Debug Cg|x64
Debug Cg|x86 = Debug Cg|x86
Debug QT|ARM = Debug QT|ARM
Debug QT|x64 = Debug QT|x64
Debug QT|x86 = Debug QT|x86
Debug QT+CG|ARM = Debug QT+CG|ARM
Debug QT+CG|x64 = Debug QT+CG|x64
Debug QT+CG|x86 = Debug QT+CG|x86
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release Cg|ARM = Release Cg|ARM
Release Cg|x64 = Release Cg|x64
Release Cg|x86 = Release Cg|x86
Release QT|ARM = Release QT|ARM
Release QT|x64 = Release QT|x64
Release QT|x86 = Release QT|x86
Release QT+CG|ARM = Release QT+CG|ARM
Release QT+CG|x64 = Release QT+CG|x64
Release QT+CG|x86 = Release QT+CG|x86
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|ARM.ActiveCfg = Debug Cg|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|ARM.Build.0 = Debug Cg|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|x64.ActiveCfg = Debug Cg|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|x64.Build.0 = Debug Cg|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|x86.ActiveCfg = Debug Cg|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug Cg|x86.Build.0 = Debug Cg|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|ARM.ActiveCfg = Debug QT|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|ARM.Build.0 = Debug QT|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|x64.ActiveCfg = Debug QT|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|x64.Build.0 = Debug QT|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|x86.ActiveCfg = Debug QT|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT|x86.Build.0 = Debug QT|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|ARM.ActiveCfg = Debug QT+CG|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|ARM.Build.0 = Debug QT+CG|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|x64.ActiveCfg = Debug QT+CG|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|x64.Build.0 = Debug QT+CG|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|x86.ActiveCfg = Debug QT+CG|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug QT+CG|x86.Build.0 = Debug QT+CG|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|ARM.ActiveCfg = Debug|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|ARM.Build.0 = Debug|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|x64.ActiveCfg = Debug|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|x64.Build.0 = Debug|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|x86.ActiveCfg = Debug|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Debug|x86.Build.0 = Debug|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|ARM.ActiveCfg = Release Cg|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|ARM.Build.0 = Release Cg|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|x64.ActiveCfg = Release Cg|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|x64.Build.0 = Release Cg|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|x86.ActiveCfg = Release Cg|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release Cg|x86.Build.0 = Release Cg|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|ARM.ActiveCfg = Release QT|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|ARM.Build.0 = Release QT|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|x64.ActiveCfg = Release QT|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|x64.Build.0 = Release QT|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|x86.ActiveCfg = Release QT|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT|x86.Build.0 = Release QT|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|ARM.ActiveCfg = Release QT+CG|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|ARM.Build.0 = Release QT+CG|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|x64.ActiveCfg = Release QT+CG|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|x64.Build.0 = Release QT+CG|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|x86.ActiveCfg = Release QT+CG|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release QT+CG|x86.Build.0 = Release QT+CG|Win32
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release|ARM.ActiveCfg = Release|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release|ARM.Build.0 = Release|ARM
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release|x64.ActiveCfg = Release|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release|x64.Build.0 = Release|x64
{27FF7CE1-4059-4AA1-8062-FD529560FA54}.Release|x86.ActiveCfg = Release|Win32
Expand All @@ -61,4 +85,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EFD819B9-B842-45B3-9E6A-B019D8898BE8}
EndGlobalSection
EndGlobal

0 comments on commit 0aa9df6

Please sign in to comment.