diff --git a/.gitignore b/.gitignore index 89dd7f9292..3c6424b82f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,8 @@ Debug Release Windows/.vs Windows/x64 +Windows/ARM +Windows/ARM64 Windows/ipch Windows/bin-release Windows/win-version.h @@ -33,8 +35,12 @@ ext/_Output android/lint.xml PPSSPPWindows64.exe.manifest PPSSPPWindows.exe.manifest +PPSSPPWindowsARM64.exe.manifest +PPSSPPWindowsARM.exe.manifest PPSSPPDebug64.exe.manifest PPSSPPDebug.exe.manifest +PPSSPPDebugARM64.exe.manifest +PPSSPPDebugARM.exe.manifest assets/flash0 UWP/icph UWP/.vs diff --git a/Common/ArmCPUDetect.cpp b/Common/ArmCPUDetect.cpp index a7b333fe8d..4a166793d8 100644 --- a/Common/ArmCPUDetect.cpp +++ b/Common/ArmCPUDetect.cpp @@ -208,7 +208,7 @@ void CPUInfo::Detect() #endif strcpy(brand_string, "Apple A"); num_cores = 2; -#elif PPSSPP_PLATFORM(UWP) +#elif PPSSPP_PLATFORM(WINDOWS) strcpy(brand_string, "Unknown"); isVFP3 = true; isVFP4 = false; diff --git a/Common/ColorConvNEON.cpp b/Common/ColorConvNEON.cpp index 3f6b235619..46a5cea5fd 100644 --- a/Common/ColorConvNEON.cpp +++ b/Common/ColorConvNEON.cpp @@ -18,7 +18,11 @@ #include "ppsspp_config.h" #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include +#endif #include "ColorConvNEON.h" #include "Common.h" #include "CPUDetect.h" diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj index 6938b73896..1a30dc46a2 100644 --- a/Common/Common.vcxproj +++ b/Common/Common.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -37,6 +53,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + true + StaticLibrary false @@ -49,6 +78,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + true + @@ -58,12 +100,24 @@ + + + + + + + + + + + + @@ -121,6 +175,62 @@ ../Windows/git-version-gen.cmd + + + Use + Level3 + stdafx.h;Common/DbgNew.h + MultiThreadedDebug + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_64=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext/native;../ext/snappy;.. + NotSet + Precise + false + true + false + false + ProgramDatabase + + + Windows + true + + + Winmm.lib + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + + + + Use + Level3 + stdafx.h;Common/DbgNew.h + MultiThreadedDebug + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_32=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext/native;../ext/snappy;.. + NotSet + Precise + false + true + false + false + ProgramDatabase + + + Windows + true + + + Winmm.lib + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + Level3 @@ -187,6 +297,74 @@ ../Windows/git-version-gen.cmd + + + Level3 + Use + MaxSpeed + true + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_64=1;NDEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + stdafx.h + ../ext/native;../ext/snappy;.. + false + NotSet + Precise + Speed + false + true + false + MultiThreaded + true + + + Windows + true + true + true + + + Winmm.lib + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + + + + Level3 + Use + MaxSpeed + true + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_32=1;NDEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + stdafx.h + ../ext/native;../ext/snappy;.. + false + NotSet + Precise + Speed + false + true + false + MultiThreaded + true + + + Windows + true + true + true + + + Winmm.lib + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + @@ -217,13 +395,21 @@ true true true + true + true true + true + true true true true + true + true true + true + true @@ -258,14 +444,22 @@ true true true + false + false true + false + false true true true + false + false true + false + false @@ -279,19 +473,31 @@ true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true @@ -307,8 +513,12 @@ Create Create + Create + Create Create Create + Create + Create @@ -330,4 +540,4 @@ - \ No newline at end of file + diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp index f6cd32f294..050df10138 100644 --- a/Common/KeyMap.cpp +++ b/Common/KeyMap.cpp @@ -674,6 +674,7 @@ const KeyMap_IntStrPair psp_button_names[] = { {VIRTKEY_DEVMENU, "DevMenu"}, {VIRTKEY_TEXTURE_DUMP, "Texture Dumping"}, {VIRTKEY_TEXTURE_REPLACE, "Texture Replacement"}, + {VIRTKEY_SCREENSHOT, "Screenshot"}, {CTRL_HOME, "Home"}, {CTRL_HOLD, "Hold"}, diff --git a/Common/KeyMap.h b/Common/KeyMap.h index d6eff13da6..6724221607 100644 --- a/Common/KeyMap.h +++ b/Common/KeyMap.h @@ -56,6 +56,7 @@ enum { VIRTKEY_SPEED_CUSTOM2 = 0x40000018, VIRTKEY_TEXTURE_DUMP = 0x40000019, VIRTKEY_TEXTURE_REPLACE = 0x4000001A, + VIRTKEY_SCREENSHOT = 0x4000001B, VIRTKEY_LAST, VIRTKEY_COUNT = VIRTKEY_LAST - VIRTKEY_FIRST }; diff --git a/Common/OSVersion.cpp b/Common/OSVersion.cpp index 1103fb8ad6..4bdc8cfbb5 100644 --- a/Common/OSVersion.cpp +++ b/Common/OSVersion.cpp @@ -125,15 +125,18 @@ std::string GetWindowsSystemArchitecture() { ZeroMemory(&sysinfo, sizeof(SYSTEM_INFO)); GetNativeSystemInfo(&sysinfo); - if (sysinfo.wProcessorArchitecture & PROCESSOR_ARCHITECTURE_AMD64) - return "(x64)"; - // Need to check for equality here, since ANDing with 0 is always 0. - else if (sysinfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) + switch (sysinfo.wProcessorArchitecture) { + case PROCESSOR_ARCHITECTURE_INTEL: return "(x86)"; - else if (sysinfo.wProcessorArchitecture & PROCESSOR_ARCHITECTURE_ARM) + case PROCESSOR_ARCHITECTURE_AMD64: + return "(x64)"; + case PROCESSOR_ARCHITECTURE_ARM: return "(ARM)"; - else + case PROCESSOR_ARCHITECTURE_ARM64: + return "(ARM64)"; + default: return "(Unknown)"; + } } #endif diff --git a/Core/Config.cpp b/Core/Config.cpp index 1ad898efa4..bfc8806751 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -572,7 +572,7 @@ int Config::NextValidBackend() { return (int)GPUBackend::DIRECT3D11; } #endif -#if !PPSSPP_PLATFORM(UWP) +#if !PPSSPP_PLATFORM(UWP) && !defined(_M_ARM64) && !defined(_M_ARM) if (!failed.count((int)GPUBackend::OPENGL)) { return (int)GPUBackend::OPENGL; } diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj index 1e505e246d..fd905fd4a3 100644 --- a/Core/Core.vcxproj +++ b/Core/Core.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -21,7 +37,8 @@ {533F1D30-D04D-47CC-AD71-20F658907E36} Core - + + @@ -36,6 +53,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + true + StaticLibrary false @@ -49,6 +79,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + true + @@ -58,12 +101,24 @@ + + + + + + + + + + + + @@ -111,6 +166,52 @@ Updating git-version.cpp + + + Level3 + ..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WIN32;_ARCH_64=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + NotSet + Precise + false + true + false + false + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + + + Level3 + ..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\arm\include;../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WIN32;_ARCH_32=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + NotSet + Precise + false + true + false + false + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + Level3 @@ -170,6 +271,64 @@ Updating git-version.cpp + + + Level3 + MaxSpeed + true + true + ..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\aarch64\include;../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + NotSet + Precise + false + false + Speed + false + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WIN32;_ARCH_64=1;_LIB;NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions) + false + MultiThreaded + true + + + true + true + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + + + Level3 + MaxSpeed + true + true + ..\ffmpeg\WindowsInclude;..\ffmpeg\Windows\arm\include;../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + NotSet + Precise + false + false + Speed + false + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;USE_FFMPEG;WIN32;_ARCH_32=1;_LIB;NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions) + false + MultiThreaded + true + + + true + true + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + @@ -252,7 +411,11 @@ MaxSpeed + MaxSpeed + MaxSpeed Default + Default + Default @@ -336,128 +499,212 @@ true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false @@ -477,19 +724,78 @@ true true true + true + true true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true - - - - - - - - - - - @@ -501,7 +807,11 @@ true true true + false + false true + false + false @@ -513,15 +823,27 @@ true Speed MaxSpeed + MaxSpeed + MaxSpeed true + true + true Speed + Speed + Speed AnySuitable ProgramDatabase Default Default + Default + Default AnySuitable + AnySuitable + AnySuitable AnySuitable AnySuitable + AnySuitable + AnySuitable @@ -697,37 +1019,61 @@ true true true + false + true true + false + true true true true + false + true true + false + true true true true + false + true true + false + true true true true + true + false true + true + false true true true + true + false true + true + false true true true + true + false true + true + false @@ -748,12 +1094,36 @@ true true true + true + true true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true - - - - @@ -767,7 +1137,11 @@ true true true + false + false true + false + false @@ -803,4 +1177,4 @@ - \ No newline at end of file + diff --git a/Core/HLE/sceMp3.cpp b/Core/HLE/sceMp3.cpp index 07a5e78cf0..b182ab54f6 100644 --- a/Core/HLE/sceMp3.cpp +++ b/Core/HLE/sceMp3.cpp @@ -31,6 +31,7 @@ static const u32 ERROR_MP3_INVALID_HANDLE = 0x80671001; static const u32 ERROR_MP3_UNRESERVED_HANDLE = 0x80671102; static const u32 ERROR_MP3_NOT_YET_INIT_HANDLE = 0x80671103; static const u32 ERROR_MP3_NO_RESOURCE_AVAIL = 0x80671201; +static const u32 ERROR_MP3_BAD_RESET_FRAME = 0x80671501; static const u32 ERROR_MP3_BAD_ADDR = 0x80671002; static const u32 ERROR_MP3_BAD_SIZE = 0x80671003; static const u32 ERROR_AVCODEC_INVALID_DATA = 0x807f00fd; @@ -171,15 +172,16 @@ static int sceMp3Decode(u32 mp3, u32 outPcmPtr) { } static int sceMp3ResetPlayPosition(u32 mp3) { - DEBUG_LOG(ME, "SceMp3ResetPlayPosition(%08x)", mp3); - AuCtx *ctx = getMp3Ctx(mp3); if (!ctx) { - ERROR_LOG(ME, "%s: bad mp3 handle %08x", __FUNCTION__, mp3); - return -1; + if (mp3 >= MP3_MAX_HANDLES) + return hleLogError(ME, ERROR_MP3_INVALID_HANDLE, "invalid handle"); + return hleLogError(ME, ERROR_MP3_NOT_YET_INIT_HANDLE, "unreserved handle"); + } else if (ctx->Version < 0 || ctx->AuBuf == 0) { + return hleLogError(ME, ERROR_MP3_NOT_YET_INIT_HANDLE, "not yet init"); } - return ctx->AuResetPlayPosition(); + return hleLogSuccessI(ME, ctx->AuResetPlayPosition()); } static int sceMp3CheckStreamDataNeeded(u32 mp3) { @@ -356,20 +358,20 @@ static int CalculateMp3SamplesPerFrame(int versionBits, int layerBits) { } } -static int ParseMp3Header(AuCtx *ctx, int offset, bool *isID3) { - u32 ptr = ctx->AuBuf + ctx->AuStreamWorkareaSize() + offset; - int header = bswap32(Memory::Read_U32(ptr)); - // ID3 tag , can be seen in Hanayaka Nari Wa ga Ichizoku. - static const int ID3 = 0x49443300; - if ((header & 0xFFFFFF00) == ID3) { - *isID3 = true; - // TODO: Can we count on startPos being read already? What if it's past the buffer size? - int size = bswap32(Memory::Read_U32(ptr + ctx->startPos + 6)); - // Highest bit of each byte has to be ignored (format: 0x7F7F7F7F) - size = (size & 0x7F) | ((size & 0x7F00) >> 1) | ((size & 0x7F0000) >> 2) | ((size & 0x7F000000) >> 3); - header = bswap32(Memory::Read_U32(ptr + ctx->startPos + 10 + size)); +static int FindMp3Header(AuCtx *ctx, int &header, int end) { + u32 addr = ctx->AuBuf + ctx->AuStreamWorkareaSize(); + if (Memory::IsValidRange(addr, end)) { + u8 *ptr = Memory::GetPointerUnchecked(addr); + for (int offset = 0; offset < end; ++offset) { + // If we hit valid sync bits, then we've found a header. + if (ptr[offset] == 0xFF && (ptr[offset + 1] & 0xC0) == 0xC0) { + header = bswap32(Memory::Read_U32(addr + offset)); + return offset; + } + } } - return header; + + return -1; } static int sceMp3Init(u32 mp3) { @@ -382,74 +384,56 @@ static int sceMp3Init(u32 mp3) { return hleLogError(ME, ERROR_MP3_UNRESERVED_HANDLE, "incorrect handle type"); } - // First, let's search for the MP3 header. It can be offset by at most 1439 bytes. - bool hasID3Tag = false; - int header = 0; - for (int offset = 0; offset < 1440; ++offset) { - header = ParseMp3Header(ctx, offset, &hasID3Tag); - // If we hit valid sync bits, then we've found a header. - if ((header & 0xFFC00000) == 0xFFC00000) { - // Ignore the data before that. - ctx->EatSourceBuff(offset); - break; - } - } - static const int PARSE_DELAY_MS = 500; - // Couldn't find a header after all? - if ((header & 0xFFC00000) != 0xFFC00000) { + // First, let's search for the MP3 header. It can be offset by at most 1439 bytes. + // If we have an ID3 tag, we'll get past it based on frame sync. Don't modify startPos. + int header = 0; + if (FindMp3Header(ctx, header, 1440) < 0) return hleDelayResult(hleLogWarning(ME, ERROR_AVCODEC_INVALID_DATA, "no header found"), "mp3 init", PARSE_DELAY_MS); - } // Parse the Mp3 header - int layer = (header >> 17) & 0x3; - ctx->Version = ((header >> 19) & 0x3); - ctx->SamplingRate = __CalculateMp3SampleRates((header >> 10) & 0x3, ctx->Version); + int layerBits = (header >> 17) & 0x3; + int versionBits = (header >> 19) & 0x3; + ctx->SamplingRate = __CalculateMp3SampleRates((header >> 10) & 0x3, versionBits); ctx->Channels = __CalculateMp3Channels((header >> 6) & 0x3); - ctx->BitRate = __CalculateMp3Bitrates((header >> 12) & 0xF, ctx->Version, layer); - ctx->MaxOutputSample = CalculateMp3SamplesPerFrame(ctx->Version, layer); + ctx->BitRate = __CalculateMp3Bitrates((header >> 12) & 0xF, versionBits, layerBits); + ctx->MaxOutputSample = CalculateMp3SamplesPerFrame(versionBits, layerBits); ctx->freq = ctx->SamplingRate; - // for mp3, if required freq is 48000, reset resampling Frequency to 48000 seems get better sound quality (e.g. Miku Custom BGM) - if (ctx->freq == 48000) { - ctx->decoder->SetResampleFrequency(ctx->freq); + DEBUG_LOG(ME, "sceMp3Init(): channels=%i, samplerate=%iHz, bitrate=%ikbps", ctx->Channels, ctx->SamplingRate, ctx->BitRate); + + if (layerBits != 1) { + // TODO: Should return ERROR_AVCODEC_INVALID_DATA. + WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not layer 3"); + } + if (versionBits != 3) { + // TODO: Should return 0x80671301 (unsupported version?) + WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not MPEG v1"); + } + if (ctx->BitRate == 0 || ctx->BitRate == -1) { + return hleDelayResult(hleReportError(ME, ERROR_AVCODEC_INVALID_DATA, "invalid bitrate v%d l%d rate %04x", versionBits, layerBits, (header >> 12) & 0xF), "mp3 init", PARSE_DELAY_MS); + } + if (ctx->SamplingRate == -1) { + return hleDelayResult(hleReportError(ME, ERROR_AVCODEC_INVALID_DATA, "invalid sample rate v%d l%d rate %02x", versionBits, layerBits, (header >> 10) & 0x3), "mp3 init", PARSE_DELAY_MS); + } else if (ctx->SamplingRate != 44100) { + // TODO: Should return 0x80671302 (unsupported sample rate?) + WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not 44.1kHz"); } // Based on bitrate, we can calculate the frame size in bytes. - // Note: this doesn't correctly handling padding or slot size, but the PSP doesn't either. + // Note: this doesn't correctly handle padding or slot size, but the PSP doesn't either. uint32_t bytesPerSecond = (ctx->MaxOutputSample / 8) * ctx->BitRate * 1000; // The frame count ignores the upper bits of these sizes, although they are used in cases. uint64_t totalBytes = (ctx->endPos & 0xFFFFFFFF) - (ctx->startPos & 0xFFFFFFFF); ctx->FrameNum = (int)((totalBytes * ctx->SamplingRate) / bytesPerSecond); - // For mp3 file, if ID3 tag is detected, we must move startPos to 0x400 (stream start position), remove 0x400 bytes of the sourcebuff, and reduce the available buffer size by 0x400 - // this is very important for ID3 tag mp3, since our universal audio decoder is for decoding stream part only. - if (hasID3Tag) { - // if get ID3 tage, we will decode from 0x400 - // TODO: This doesn't seem right. - ctx->startPos = 0x400; - ctx->EatSourceBuff(0x400); - } + ctx->Version = versionBits; - DEBUG_LOG(ME, "sceMp3Init(): channels=%i, samplerate=%iHz, bitrate=%ikbps", ctx->Channels, ctx->SamplingRate, ctx->BitRate); - - if (layer != 1) { - // TODO: Should return ERROR_AVCODEC_INVALID_DATA. - WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not layer 3"); - } - if (ctx->Version != 3) { - // TODO: Should return 0x80671301 (unsupported version?) - WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not MPEG v1"); - } - if (ctx->BitRate == 0 || ctx->BitRate == -1) { - return hleDelayResult(hleReportError(ME, ERROR_AVCODEC_INVALID_DATA, "invalid bitrate v%d l%d rate %04x", ctx->Version, layer, (header >> 12) & 0xF), "mp3 init", PARSE_DELAY_MS); - } - if (ctx->SamplingRate == -1) { - return hleDelayResult(hleReportError(ME, ERROR_AVCODEC_INVALID_DATA, "invalid sample rate v%d l%d rate %02x", ctx->Version, layer, (header >> 10) & 0x3), "mp3 init", PARSE_DELAY_MS); - } else if (ctx->SamplingRate != 44100) { - // TODO: Should return 0x80671302 (unsupported sample rate?) - WARN_LOG_REPORT(ME, "sceMp3Init: invalid data: not 44.1kHz"); + // for mp3, if required freq is 48000, reset resampling Frequency to 48000 seems get better sound quality (e.g. Miku Custom BGM) + // TODO: Isn't this backwards? Woudln't we want to read as 48kHz and resample to 44.1kHz? + if (ctx->freq == 48000) { + ctx->decoder->SetResampleFrequency(ctx->freq); } return hleDelayResult(hleLogSuccessI(ME, 0), "mp3 init", PARSE_DELAY_MS); @@ -637,15 +621,21 @@ static u32 sceMp3GetMPEGVersion(u32 mp3) { return hleReportDebug(ME, ctx->AuGetVersion()); } -static u32 sceMp3ResetPlayPositionByFrame(u32 mp3, int position) { - DEBUG_LOG(ME, "sceMp3ResetPlayPositionByFrame(%08x, %i)", mp3, position); +static u32 sceMp3ResetPlayPositionByFrame(u32 mp3, u32 frame) { AuCtx *ctx = getMp3Ctx(mp3); if (!ctx) { - ERROR_LOG(ME, "%s: bad mp3 handle %08x", __FUNCTION__, mp3); - return -1; + if (mp3 >= MP3_MAX_HANDLES) + return hleLogError(ME, ERROR_MP3_INVALID_HANDLE, "invalid handle"); + return hleLogError(ME, ERROR_MP3_NOT_YET_INIT_HANDLE, "unreserved handle"); + } else if (ctx->Version < 0 || ctx->AuBuf == 0) { + return hleLogError(ME, ERROR_MP3_NOT_YET_INIT_HANDLE, "not yet init"); } - return ctx->AuResetPlayPositionByFrame(position); + if (frame >= ctx->AuGetFrameNum()) { + return hleLogError(ME, ERROR_MP3_BAD_RESET_FRAME, "bad frame position"); + } + + return hleLogSuccessI(ME, ctx->AuResetPlayPositionByFrame(frame)); } static u32 sceMp3LowLevelInit(u32 mp3, u32 unk) { @@ -721,7 +711,7 @@ const HLEFunction sceMp3[] = { {0XF5478233, &WrapI_U, "sceMp3ReleaseMp3Handle", 'i', "x" }, {0XAE6D2027, &WrapU_U, "sceMp3GetMPEGVersion", 'x', "x" }, {0X3548AEC8, &WrapU_U, "sceMp3GetFrameNum", 'i', "x" }, - {0X0840E808, &WrapU_UI, "sceMp3ResetPlayPositionByFrame", 'x', "xi" }, + {0X0840E808, &WrapU_UU, "sceMp3ResetPlayPositionByFrame", 'i', "xi" }, {0X1B839B83, &WrapU_UU, "sceMp3LowLevelInit", 'x', "xx" }, {0XE3EE2C81, &WrapU_UUUUU, "sceMp3LowLevelDecode", 'x', "xxxxx"} }; diff --git a/Core/HW/SimpleAudioDec.cpp b/Core/HW/SimpleAudioDec.cpp index 1ce59329f4..4e4b2e642f 100644 --- a/Core/HW/SimpleAudioDec.cpp +++ b/Core/HW/SimpleAudioDec.cpp @@ -334,7 +334,6 @@ u32 AuCtx::AuDecode(u32 pcmAddr) { } auto outbuf = Memory::GetPointer(PCMBuf); - memset(outbuf, 0, PCMBufSize); // important! empty outbuf to avoid noise int outpcmbufsize = 0; // Decode a single frame in sourcebuff and output into PCMBuf. @@ -344,7 +343,7 @@ u32 AuCtx::AuDecode(u32 pcmAddr) { decoder->Decode(&sourcebuff[nextSync], (int)sourcebuff.size() - nextSync, outbuf, &outpcmbufsize); if (outpcmbufsize == 0) { - // no output pcm, we are at the end of the stream + // Nothing was output, hopefully we're at the end of the stream. AuBufAvailable = 0; sourcebuff.clear(); } else { @@ -353,14 +352,16 @@ u32 AuCtx::AuDecode(u32 pcmAddr) { // get consumed source length int srcPos = decoder->GetSourcePos() + nextSync; // remove the consumed source - sourcebuff.erase(0, srcPos); + if (srcPos > 0) + sourcebuff.erase(sourcebuff.begin(), sourcebuff.begin() + srcPos); // reduce the available Aubuff size // (the available buff size is now used to know if we can read again from file and how many to read) AuBufAvailable -= srcPos; } } - if (sourcebuff.empty() && LoopNum != 0) { + bool end = readPos - AuBufAvailable >= (int64_t)endPos; + if (end && LoopNum != 0) { // When looping, start the sum back off at zero and reset readPos to the start. SumDecodedSamples = 0; readPos = startPos; @@ -368,6 +369,14 @@ u32 AuCtx::AuDecode(u32 pcmAddr) { LoopNum--; } + if (outpcmbufsize == 0 && !end) { + outpcmbufsize = MaxOutputSample * 4; + memset(outbuf, 0, PCMBufSize); + } else if ((u32)outpcmbufsize < PCMBufSize) { + // TODO: We probably should use a rolling buffer instead. + memset(outbuf + outpcmbufsize, 0, PCMBufSize - outpcmbufsize); + } + Memory::Write_U32(PCMBuf, pcmAddr); return outpcmbufsize; } @@ -432,7 +441,8 @@ u32 AuCtx::AuNotifyAddStreamData(int size) { } if (Memory::IsValidRange(AuBuf, size)) { - sourcebuff.append((const char *)Memory::GetPointer(AuBuf + offset), size); + sourcebuff.resize(sourcebuff.size() + size); + Memory::MemcpyUnchecked(&sourcebuff[sourcebuff.size() - size], AuBuf + offset, size); } return 0; @@ -466,13 +476,24 @@ u32 AuCtx::AuGetInfoToAddStreamData(u32 bufPtr, u32 sizePtr, u32 srcPosPtr) { return 0; } -u32 AuCtx::AuResetPlayPositionByFrame(int position) { - readPos = position; +u32 AuCtx::AuResetPlayPositionByFrame(int frame) { + // Note: this doesn't correctly handle padding or slot size, but the PSP doesn't either. + uint32_t bytesPerSecond = (MaxOutputSample / 8) * BitRate * 1000; + readPos = startPos + (frame * bytesPerSecond) / SamplingRate; + // Not sure why, but it seems to consistently seek 1 before, maybe in case it's off slightly. + if (frame != 0) + readPos -= 1; + SumDecodedSamples = frame * MaxOutputSample; + AuBufAvailable = 0; + sourcebuff.clear(); return 0; } u32 AuCtx::AuResetPlayPosition() { readPos = startPos; + SumDecodedSamples = 0; + AuBufAvailable = 0; + sourcebuff.clear(); return 0; } diff --git a/Core/HW/SimpleAudioDec.h b/Core/HW/SimpleAudioDec.h index 1adad1c2cf..1dc8aa28e5 100644 --- a/Core/HW/SimpleAudioDec.h +++ b/Core/HW/SimpleAudioDec.h @@ -119,7 +119,11 @@ public: void DoState(PointerWrap &p); void EatSourceBuff(int amount) { - sourcebuff.erase(0, amount); + if (amount > sourcebuff.size()) { + amount = (int)sourcebuff.size(); + } + if (amount > 0) + sourcebuff.erase(sourcebuff.begin(), sourcebuff.begin() + amount); AuBufAvailable -= amount; } // Au source information. Written to from for example sceAacInit so public for now. @@ -155,7 +159,7 @@ public: private: size_t FindNextMp3Sync(); - std::string sourcebuff; // source buffer + std::vector sourcebuff; // source buffer }; diff --git a/Core/HW/StereoResampler.cpp b/Core/HW/StereoResampler.cpp index 8b2fcfadd1..843c89c009 100644 --- a/Core/HW/StereoResampler.cpp +++ b/Core/HW/StereoResampler.cpp @@ -47,8 +47,12 @@ #include #endif #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include #endif +#endif StereoResampler::StereoResampler() : m_bufsize(MAX_SAMPLES_DEFAULT) diff --git a/Core/MIPS/IR/IRInterpreter.cpp b/Core/MIPS/IR/IRInterpreter.cpp index 045b69f469..29e34249a9 100644 --- a/Core/MIPS/IR/IRInterpreter.cpp +++ b/Core/MIPS/IR/IRInterpreter.cpp @@ -10,8 +10,12 @@ #endif #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include #endif +#endif #include "Core/Core.h" #include "Core/CoreTiming.h" diff --git a/Core/Reporting.cpp b/Core/Reporting.cpp index 6393a80f4a..34431ff61f 100644 --- a/Core/Reporting.cpp +++ b/Core/Reporting.cpp @@ -255,8 +255,12 @@ namespace Reporting // TODO: Do we care about OS version? #if defined(__ANDROID__) return "Android"; +#elif defined(_WIN64) && defined(_M_ARM64) + return "Windows ARM64"; #elif defined(_WIN64) return "Windows 64"; +#elif defined(_WIN32) && defined(_M_ARM) + return "Windows ARM32"; #elif defined(_WIN32) return "Windows"; #elif defined(IOS) diff --git a/Core/Util/AudioFormatNEON.cpp b/Core/Util/AudioFormatNEON.cpp index 9ef6ae21b2..ae358170a8 100644 --- a/Core/Util/AudioFormatNEON.cpp +++ b/Core/Util/AudioFormatNEON.cpp @@ -18,7 +18,11 @@ #include "ppsspp_config.h" #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include +#endif #include "Common/Common.h" #include "Core/Util/AudioFormat.h" #include "Core/Util/AudioFormatNEON.h" diff --git a/GPU/Common/TextureCacheCommon.cpp b/GPU/Common/TextureCacheCommon.cpp index b2d40d1d9c..40b9d59161 100644 --- a/GPU/Common/TextureCacheCommon.cpp +++ b/GPU/Common/TextureCacheCommon.cpp @@ -36,8 +36,12 @@ #include #endif #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include #endif +#endif // Videos should be updated every few frames, so we forget quickly. #define VIDEO_DECIMATE_AGE 4 diff --git a/GPU/Common/TextureDecoderNEON.cpp b/GPU/Common/TextureDecoderNEON.cpp index 2a4d065721..481144015d 100644 --- a/GPU/Common/TextureDecoderNEON.cpp +++ b/GPU/Common/TextureDecoderNEON.cpp @@ -21,7 +21,11 @@ #include "ext/xxhash.h" +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include +#endif #include "GPU/GPUState.h" #include "GPU/Common/TextureDecoder.h" diff --git a/GPU/D3D11/TextureCacheD3D11.cpp b/GPU/D3D11/TextureCacheD3D11.cpp index f23752cc3d..4b66e6a583 100644 --- a/GPU/D3D11/TextureCacheD3D11.cpp +++ b/GPU/D3D11/TextureCacheD3D11.cpp @@ -85,16 +85,16 @@ ID3D11SamplerState *SamplerCacheD3D11::GetOrCreateSampler(ID3D11Device *device, samp.Filter = D3D11_FILTER_ANISOTROPIC; else samp.Filter = filters[filterKey]; -#if PPSSPP_PLATFORM(UWP) && PPSSPP_ARCH(ARM) - // For some reason, can't set MaxLOD on mobile. - samp.MaxLOD = FLT_MAX; - samp.MinLOD = -FLT_MAX; - samp.MipLODBias = 0.0f; -#else - samp.MaxLOD = key.maxLevel / 256.0f; - samp.MinLOD = key.minLevel / 256.0f; - samp.MipLODBias = key.lodBias / 256.0f; -#endif + // Can't set MaxLOD on Feature Level <= 9_3. + if (device->GetFeatureLevel() <= D3D_FEATURE_LEVEL_9_3) { + samp.MaxLOD = FLT_MAX; + samp.MinLOD = -FLT_MAX; + samp.MipLODBias = 0.0f; + } else { + samp.MaxLOD = key.maxLevel / 256.0f; + samp.MinLOD = key.minLevel / 256.0f; + samp.MipLODBias = key.lodBias / 256.0f; + } samp.ComparisonFunc = D3D11_COMPARISON_NEVER; for (int i = 0; i < 4; i++) { samp.BorderColor[i] = 1.0f; diff --git a/GPU/GPU.cpp b/GPU/GPU.cpp index 2fe380d3c1..666cc760cd 100644 --- a/GPU/GPU.cpp +++ b/GPU/GPU.cpp @@ -27,8 +27,9 @@ #if PPSSPP_PLATFORM(UWP) #include "GPU/D3D11/GPU_D3D11.h" #else +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "GPU/GLES/GPU_GLES.h" - +#endif #include "GPU/Vulkan/GPU_Vulkan.h" #include "GPU/Null/NullGpu.h" #include "GPU/Software/SoftGpu.h" @@ -71,8 +72,12 @@ bool GPU_Init(GraphicsContext *ctx, Draw::DrawContext *draw) { SetGPU(new NullGPU()); break; case GPUCORE_GLES: +#if !defined(_M_ARM64) && !defined(_M_ARM) SetGPU(new GPU_GLES(ctx, draw)); break; +#else + return false; +#endif case GPUCORE_SOFTWARE: SetGPU(new SoftGPU(ctx, draw)); break; diff --git a/GPU/GPU.vcxproj b/GPU/GPU.vcxproj index 589d78ae7d..93852595ec 100644 --- a/GPU/GPU.vcxproj +++ b/GPU/GPU.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -36,6 +52,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + true + StaticLibrary false @@ -49,6 +78,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + true + @@ -58,12 +100,24 @@ + + + + + + + + + + + + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); @@ -73,10 +127,26 @@ ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x86;$(VC_LibraryPath_x86);$(WindowsSdk_LibraryPath_x86); @@ -126,6 +196,52 @@ Updating git-version.cpp + + + Level3 + ..\dx9sdk\Include\DX11;../common;..;../ext;../ext/native;../ext/glew;../ext/snappy; + NotSet + Precise + false + true + false + false + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_64=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + + + Level3 + ..\dx9sdk\Include\DX11;../common;..;../ext;../ext/native;../ext/glew;../ext/snappy; + NotSet + Precise + false + true + false + false + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_32=1;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + Level3 @@ -180,6 +296,62 @@ Updating git-version.cpp + + + Level3 + MaxSpeed + true + true + ..\dx9sdk\Include\DX11;../common;..;../ext;../ext/native;../ext/glew;../ext/snappy; + false + NotSet + Precise + Speed + false + true + false + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_64=1;_LIB;NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions) + MultiThreaded + true + + + true + true + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + + + Level3 + MaxSpeed + true + true + ..\dx9sdk\Include\DX11;../common;..;../ext;../ext/native;../ext/glew;../ext/snappy; + false + NotSet + Precise + Speed + false + true + false + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_ARCH_32=1;_LIB;NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions) + MultiThreaded + true + + + true + true + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + @@ -200,7 +372,11 @@ true true true + false + false true + false + false @@ -232,17 +408,72 @@ - - - - - - - - - - - + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + @@ -289,7 +520,11 @@ true true true + false + false true + false + false @@ -299,16 +534,29 @@ true true true + true + false true + true + false true true true + false + true true + false + true - + + true + true + true + true + @@ -337,19 +585,84 @@ - - - - - - - - - - - - - + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + @@ -389,4 +702,4 @@ - \ No newline at end of file + diff --git a/GPU/GPUState.cpp b/GPU/GPUState.cpp index 7e3f3812ef..5ac8b8013a 100644 --- a/GPU/GPUState.cpp +++ b/GPU/GPUState.cpp @@ -28,8 +28,12 @@ #include #endif #if PPSSPP_ARCH(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include #endif +#endif // This must be aligned so that the matrices within are aligned. alignas(16) GPUgstate gstate; diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 6f8714d9f0..56ff7ff9d7 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -91,6 +91,8 @@ static bool frameStep_; static int lastNumFlips; static bool startDumping; +extern bool g_TakeScreenshot; + static void __EmuScreenVblank() { I18NCategory *sy = GetI18NCategory("System"); @@ -217,9 +219,11 @@ void EmuScreen::bootGame(const std::string &filename) { coreParam.gpuCore = GPUCORE_DIRECTX11; break; #if !PPSSPP_PLATFORM(UWP) +#if !defined(_M_ARM) && !defined(_M_ARM64) case GPUBackend::OPENGL: coreParam.gpuCore = GPUCORE_GLES; break; +#endif case GPUBackend::DIRECT3D9: coreParam.gpuCore = GPUCORE_DIRECTX9; break; @@ -606,6 +610,10 @@ void EmuScreen::onVKeyDown(int virtualKeyCode) { System_SendMessage("toggle_fullscreen", ""); break; + case VIRTKEY_SCREENSHOT: + g_TakeScreenshot = true; + break; + case VIRTKEY_TEXTURE_DUMP: g_Config.bSaveNewTextures = !g_Config.bSaveNewTextures; if (g_Config.bSaveNewTextures) { diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 15e1c389ea..43f75bb716 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -205,6 +205,9 @@ void GameSettingsScreen::CreateViews() { renderingBackendChoice->HideChoice(1); // D3D9 renderingBackendChoice->HideChoice(2); // D3D11 #else +#if defined(_M_ARM) || defined(_M_ARM64) + renderingBackendChoice->HideChoice(0); // OpenGL +#endif if (!DoesVersionMatchWindows(6, 0, 0, 0, true)) { // Hide the D3D11 choice if Windows version is older than Windows Vista. renderingBackendChoice->HideChoice(2); // D3D11 @@ -875,6 +878,8 @@ void GameSettingsScreen::CreateViews() { #elif defined(__ANDROID__) systemSettings->Add(new ChoiceWithValueDisplay(&g_Config.sNickName, sy->T("Change Nickname"), (const char *)nullptr))->OnClick.Handle(this, &GameSettingsScreen::OnChangeNickname); #endif + systemSettings->Add(new CheckBox(&g_Config.bScreenshotsAsPNG, sy->T("Screenshots as PNG"))); + #if defined(_WIN32) || (defined(USING_QT_UI) && !defined(MOBILE_DEVICE)) if (!g_Config.bSimpleUI) { // Screenshot functionality is not yet available on non-Windows/non-Qt diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 3f290b92bb..841b3d9acf 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -887,7 +887,6 @@ void NativeShutdownGraphics() { void TakeScreenshot() { g_TakeScreenshot = false; -#if defined(_WIN32) || (defined(USING_QT_UI) && !defined(MOBILE_DEVICE)) std::string path = GetSysDirectory(DIRECTORY_SCREENSHOT); while (path.length() > 0 && path.back() == '/') { path.resize(path.size() - 1); @@ -920,7 +919,6 @@ void TakeScreenshot() { I18NCategory *err = GetI18NCategory("Error"); osm.Show(err->T("Could not save screenshot file")); } -#endif } void RenderOverlays(UIContext *dc, void *userdata) { diff --git a/UI/UI.vcxproj b/UI/UI.vcxproj index ab7e4583a5..594287ba99 100644 --- a/UI/UI.vcxproj +++ b/UI/UI.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -108,6 +124,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary false @@ -121,6 +150,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -130,12 +172,24 @@ + + + + + + + + + + + + @@ -186,6 +240,56 @@ ../Windows/git-version-gen.cmd + + + + + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;_ARCH_64=1;WIN32;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + true + false + false + MultiThreadedDebug + false + Common/DbgNew.h + $(EXTERNAL_COMPILE_OPTIONS) + ProgramDatabase + + + Windows + true + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + + + + + + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;_ARCH_32=1;WIN32;_DEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + true + false + false + MultiThreadedDebug + false + Common/DbgNew.h + $(EXTERNAL_COMPILE_OPTIONS) + ProgramDatabase + + + Windows + true + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + Level3 @@ -244,7 +348,67 @@ ../Windows/git-version-gen.cmd + + + Level3 + + + MaxSpeed + true + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;_ARCH_64=1;WIN32;NDEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + false + true + false + MultiThreaded + true + $(EXTERNAL_COMPILE_OPTIONS) + false + Size + + + Windows + true + true + true + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + + + + Level3 + + + MaxSpeed + true + true + USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;_ARCH_32=1;WIN32;NDEBUG;_LIB;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../common;..;../ext/native;../ext/glew;../ext/snappy;../ext/zlib;../ext/native/ext + false + true + false + MultiThreaded + true + $(EXTERNAL_COMPILE_OPTIONS) + false + Size + + + Windows + true + true + true + + + Updating git-version.cpp + ../Windows/git-version-gen.cmd + + - \ No newline at end of file + diff --git a/UWP/.gitignore b/UWP/.gitignore index e9662c04b3..bc18c645d1 100644 --- a/UWP/.gitignore +++ b/UWP/.gitignore @@ -2,8 +2,10 @@ Package.appxmanifest Assets +AppPackages x64 ARM +ARM64 *.VC.db *.VC.VC.opendb ipch diff --git a/UWP/Armips_UWP/Armips_UWP.vcxproj b/UWP/Armips_UWP/Armips_UWP.vcxproj index fabf7943e9..92f1ccf6bb 100644 --- a/UWP/Armips_UWP/Armips_UWP.vcxproj +++ b/UWP/Armips_UWP/Armips_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -49,6 +57,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -66,6 +79,12 @@ true v141 + + StaticLibrary + false + true + v141 + StaticLibrary false @@ -86,9 +105,15 @@ + + + + + + @@ -109,10 +134,18 @@ false $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)..\..\ext\armips; + + false + $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)..\..\ext\armips; + false $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)..\..\ext\armips; + + false + $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)..\..\ext\armips; + false $(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir)..\..\ext\armips; @@ -157,6 +190,18 @@ false + + + NotUsing + false + false + + + Console + false + false + + NotUsing @@ -169,6 +214,18 @@ false + + + NotUsing + false + false + + + Console + false + false + + NotUsing @@ -297,7 +354,9 @@ Create Create Create + Create Create + Create Create Create Create diff --git a/UWP/CommonUWP/CommonUWP.vcxproj b/UWP/CommonUWP/CommonUWP.vcxproj index 6696b15898..c1470e6fed 100644 --- a/UWP/CommonUWP/CommonUWP.vcxproj +++ b/UWP/CommonUWP/CommonUWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/native;../../ext/snappy;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -238,6 +300,21 @@ false + + + Use + false + true + ../..;../../ext/native;../../ext/snappy;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + pch.h + + + Console + false + false + + Use @@ -253,6 +330,21 @@ false + + + Use + false + true + ../..;../../ext/native;../../ext/snappy;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + pch.h + + + Console + false + false + + Use @@ -383,8 +475,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create diff --git a/UWP/CoreUWP/CoreUWP.vcxproj b/UWP/CoreUWP/CoreUWP.vcxproj index 22101489c7..2eccd7d621 100644 --- a/UWP/CoreUWP/CoreUWP.vcxproj +++ b/UWP/CoreUWP/CoreUWP.vcxproj @@ -1,10 +1,14 @@ - + Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + Use + false + true + pch.h + ../../ffmpeg/Windows10/ARM64/include;../../ffmpeg/WindowsInclude;../..;../../ext/native;../../ext/snappy;../../Common;../../ext/zlib;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + USE_FFMPEG;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -238,6 +300,21 @@ false + + + Use + false + true + pch.h + ../../ffmpeg/Windows10/ARM64/include;../../ffmpeg/WindowsInclude;../..;../../ext/native;../../ext/snappy;../../Common;../../ext/zlib;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + USE_FFMPEG;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -253,6 +330,21 @@ false + + + Use + false + true + pch.h + ../../ffmpeg/Windows10/ARM64/include;../../ffmpeg/WindowsInclude;../..;../../ext/native;../../ext/snappy;../../Common;../../ext/zlib;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + USE_FFMPEG;_CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -438,6 +530,9 @@ + + + @@ -644,6 +739,16 @@ + + + + + + + + + + @@ -717,8 +822,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -730,8 +838,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -741,8 +852,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -752,8 +866,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -763,8 +880,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -774,8 +894,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -785,8 +908,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -797,8 +923,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -808,8 +937,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create @@ -823,4 +955,4 @@ - \ No newline at end of file + diff --git a/UWP/CoreUWP/CoreUWP.vcxproj.filters b/UWP/CoreUWP/CoreUWP.vcxproj.filters index 9366bca1a1..9a887c8a3b 100644 --- a/UWP/CoreUWP/CoreUWP.vcxproj.filters +++ b/UWP/CoreUWP/CoreUWP.vcxproj.filters @@ -68,6 +68,9 @@ {2c71417c-cc7b-42cb-880d-ac0cb45ab5bb} + + {3b1039f9-72dc-4c7f-bd4e-25791be20df7} + @@ -667,6 +670,36 @@ Debugger\WebSocket + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + @@ -1249,5 +1282,14 @@ Debugger\WebSocket + + MIPS\ARM64 + + + MIPS\ARM64 + + + MIPS\ARM64 + \ No newline at end of file diff --git a/UWP/GPU_UWP/GPU_UWP.vcxproj b/UWP/GPU_UWP/GPU_UWP.vcxproj index 5f674f79b2..9211acc618 100644 --- a/UWP/GPU_UWP/GPU_UWP.vcxproj +++ b/UWP/GPU_UWP/GPU_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/snappy;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -238,6 +300,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/snappy;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -253,6 +330,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/snappy;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -412,8 +504,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create diff --git a/UWP/NativeUWP/NativeUWP.vcxproj b/UWP/NativeUWP/NativeUWP.vcxproj index b9af0a361c..1b61ab00bf 100644 --- a/UWP/NativeUWP/NativeUWP.vcxproj +++ b/UWP/NativeUWP/NativeUWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/native/ext;../..;../../ext/native;../../ext/zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -238,6 +300,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/native/ext;../..;../../ext/native;../../ext/zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -253,6 +330,21 @@ false + + + Use + false + true + pch.h + ../..;../../ext/native/ext;../..;../../ext/native;../../ext/zlib;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + NOMINMAX;_CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -413,8 +505,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -424,8 +519,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -435,8 +533,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -446,8 +547,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -457,8 +561,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -468,8 +575,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -479,8 +589,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -490,8 +603,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -501,8 +617,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -512,8 +631,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -523,8 +645,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -534,8 +659,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -545,8 +673,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -556,8 +687,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -567,8 +701,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -578,8 +715,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -589,8 +729,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -600,8 +743,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -611,8 +757,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -622,8 +771,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -633,8 +785,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -644,8 +799,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -655,8 +813,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -666,8 +827,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -677,8 +841,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -688,8 +855,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -699,8 +869,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -710,8 +883,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -721,8 +897,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -732,8 +911,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -743,8 +925,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -754,8 +939,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -765,8 +953,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -776,8 +967,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -787,8 +981,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -798,8 +995,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -809,8 +1009,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -820,8 +1023,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -831,8 +1037,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -842,8 +1051,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -853,8 +1065,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -864,8 +1079,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -875,8 +1093,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -886,8 +1107,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -897,8 +1121,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -908,8 +1135,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -919,8 +1149,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -930,8 +1163,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -941,8 +1177,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -952,8 +1191,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -963,8 +1205,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -974,8 +1219,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -985,8 +1233,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -996,8 +1247,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1007,8 +1261,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1018,8 +1275,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1029,8 +1289,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1040,8 +1303,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1051,8 +1317,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1062,8 +1331,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1073,8 +1345,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1084,8 +1359,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1095,8 +1373,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1106,8 +1387,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1117,8 +1401,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1128,8 +1415,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1139,8 +1429,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1150,8 +1443,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1161,8 +1457,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1195,8 +1494,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1208,10 +1510,16 @@ + + + + + + @@ -1224,8 +1532,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1237,10 +1548,16 @@ + + + + + + @@ -1253,8 +1570,11 @@ NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -1266,10 +1586,16 @@ + + + + + + @@ -1311,8 +1637,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create diff --git a/UWP/PPSSPP_UWP.sln b/UWP/PPSSPP_UWP.sln index b68bce01d5..73a916158b 100644 --- a/UWP/PPSSPP_UWP.sln +++ b/UWP/PPSSPP_UWP.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.136 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28803.202 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CommonUWP", "CommonUWP\CommonUWP.vcxproj", "{ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}" EndProject @@ -42,147 +42,168 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|ARM.ActiveCfg = Debug|ARM {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|ARM.Build.0 = Debug|ARM - {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|ARM64.ActiveCfg = Debug|Win32 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|ARM64.Build.0 = Debug|ARM64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|Win32.ActiveCfg = Debug|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|Win32.Build.0 = Debug|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|x64.ActiveCfg = Debug|x64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Debug|x64.Build.0 = Debug|x64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|ARM.ActiveCfg = Release|ARM {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|ARM.Build.0 = Release|ARM - {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|ARM64.ActiveCfg = Release|Win32 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|ARM64.ActiveCfg = Release|ARM64 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|ARM64.Build.0 = Release|ARM64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|Win32.ActiveCfg = Release|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|Win32.Build.0 = Release|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|x64.ActiveCfg = Release|x64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.Release|x64.Build.0 = Release|x64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {ACB316CA-3ECB-48E5-BE0A-91E72D5B0F12}.UWP Gold|x64.Build.0 = UWP Gold|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|ARM.ActiveCfg = Debug|ARM {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|ARM.Build.0 = Debug|ARM - {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|ARM64.ActiveCfg = Debug|Win32 + {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|ARM64.Build.0 = Debug|ARM64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|Win32.ActiveCfg = Debug|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|Win32.Build.0 = Debug|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|x64.ActiveCfg = Debug|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Debug|x64.Build.0 = Debug|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|ARM.ActiveCfg = Release|ARM {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|ARM.Build.0 = Release|ARM - {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|ARM64.ActiveCfg = Release|Win32 + {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|ARM64.ActiveCfg = Release|ARM64 + {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|ARM64.Build.0 = Release|ARM64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|Win32.ActiveCfg = Release|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|Win32.Build.0 = Release|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|x64.ActiveCfg = Release|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.Release|x64.Build.0 = Release|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {40B76674-02DE-40EF-889B-FAD1489685E7}.UWP Gold|x64.Build.0 = UWP Gold|x64 {5D271429-C288-4534-98AF-94475D940058}.Debug|ARM.ActiveCfg = Debug|ARM {5D271429-C288-4534-98AF-94475D940058}.Debug|ARM.Build.0 = Debug|ARM - {5D271429-C288-4534-98AF-94475D940058}.Debug|ARM64.ActiveCfg = Debug|Win32 + {5D271429-C288-4534-98AF-94475D940058}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5D271429-C288-4534-98AF-94475D940058}.Debug|ARM64.Build.0 = Debug|ARM64 {5D271429-C288-4534-98AF-94475D940058}.Debug|Win32.ActiveCfg = Debug|Win32 {5D271429-C288-4534-98AF-94475D940058}.Debug|Win32.Build.0 = Debug|Win32 {5D271429-C288-4534-98AF-94475D940058}.Debug|x64.ActiveCfg = Debug|x64 {5D271429-C288-4534-98AF-94475D940058}.Debug|x64.Build.0 = Debug|x64 {5D271429-C288-4534-98AF-94475D940058}.Release|ARM.ActiveCfg = Release|ARM {5D271429-C288-4534-98AF-94475D940058}.Release|ARM.Build.0 = Release|ARM - {5D271429-C288-4534-98AF-94475D940058}.Release|ARM64.ActiveCfg = Release|Win32 + {5D271429-C288-4534-98AF-94475D940058}.Release|ARM64.ActiveCfg = Release|ARM64 + {5D271429-C288-4534-98AF-94475D940058}.Release|ARM64.Build.0 = Release|ARM64 {5D271429-C288-4534-98AF-94475D940058}.Release|Win32.ActiveCfg = Release|Win32 {5D271429-C288-4534-98AF-94475D940058}.Release|Win32.Build.0 = Release|Win32 {5D271429-C288-4534-98AF-94475D940058}.Release|x64.ActiveCfg = Release|x64 {5D271429-C288-4534-98AF-94475D940058}.Release|x64.Build.0 = Release|x64 {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {5D271429-C288-4534-98AF-94475D940058}.UWP Gold|x64.Build.0 = UWP Gold|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|ARM.ActiveCfg = Debug|ARM {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|ARM.Build.0 = Debug|ARM - {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|ARM64.ActiveCfg = Debug|Win32 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|ARM64.Build.0 = Debug|ARM64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|Win32.ActiveCfg = Debug|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|Win32.Build.0 = Debug|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|x64.ActiveCfg = Debug|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Debug|x64.Build.0 = Debug|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|ARM.ActiveCfg = Release|ARM {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|ARM.Build.0 = Release|ARM - {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|ARM64.ActiveCfg = Release|Win32 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|ARM64.ActiveCfg = Release|ARM64 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|ARM64.Build.0 = Release|ARM64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|Win32.ActiveCfg = Release|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|Win32.Build.0 = Release|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|x64.ActiveCfg = Release|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.Release|x64.Build.0 = Release|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {935028AF-B850-4AD7-A00E-7BA84FB97D05}.UWP Gold|x64.Build.0 = UWP Gold|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|ARM.ActiveCfg = Debug|ARM {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|ARM.Build.0 = Debug|ARM - {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|ARM64.ActiveCfg = Debug|Win32 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|ARM64.Build.0 = Debug|ARM64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|Win32.ActiveCfg = Debug|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|Win32.Build.0 = Debug|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|x64.ActiveCfg = Debug|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Debug|x64.Build.0 = Debug|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|ARM.ActiveCfg = Release|ARM {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|ARM.Build.0 = Release|ARM - {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|ARM64.ActiveCfg = Release|Win32 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|ARM64.ActiveCfg = Release|ARM64 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|ARM64.Build.0 = Release|ARM64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|Win32.ActiveCfg = Release|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|Win32.Build.0 = Release|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|x64.ActiveCfg = Release|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.Release|x64.Build.0 = Release|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {5FAC15BD-7397-4512-99D5-66CDC03AF5B7}.UWP Gold|x64.Build.0 = UWP Gold|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|ARM.ActiveCfg = Debug|ARM {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|ARM.Build.0 = Debug|ARM - {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|ARM64.ActiveCfg = Debug|Win32 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|ARM64.Build.0 = Debug|ARM64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|Win32.ActiveCfg = Debug|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|Win32.Build.0 = Debug|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|x64.ActiveCfg = Debug|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Debug|x64.Build.0 = Debug|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|ARM.ActiveCfg = Release|ARM {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|ARM.Build.0 = Release|ARM - {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|ARM64.ActiveCfg = Release|Win32 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|ARM64.ActiveCfg = Release|ARM64 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|ARM64.Build.0 = Release|ARM64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|Win32.ActiveCfg = Release|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|Win32.Build.0 = Release|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|x64.ActiveCfg = Release|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.Release|x64.Build.0 = Release|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {2F911C05-B341-4291-8BF5-09EDECBDD5F5}.UWP Gold|x64.Build.0 = UWP Gold|x64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|ARM.ActiveCfg = Debug|ARM {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|ARM.Build.0 = Debug|ARM - {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|ARM64.ActiveCfg = Debug|Win32 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|ARM64.Build.0 = Debug|ARM64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|Win32.ActiveCfg = Debug|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|Win32.Build.0 = Debug|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|x64.ActiveCfg = Debug|x64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Debug|x64.Build.0 = Debug|x64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|ARM.ActiveCfg = Release|ARM {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|ARM.Build.0 = Release|ARM - {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|ARM64.ActiveCfg = Release|Win32 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|ARM64.ActiveCfg = Release|ARM64 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|ARM64.Build.0 = Release|ARM64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|Win32.ActiveCfg = Release|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|Win32.Build.0 = Release|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|x64.ActiveCfg = Release|x64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.Release|x64.Build.0 = Release|x64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {DDF90203-0AAE-4F38-B589-2E9637658CE6}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 @@ -190,7 +211,9 @@ Global {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM.ActiveCfg = Debug|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM.Build.0 = Debug|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM.Deploy.0 = Debug|ARM - {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM64.ActiveCfg = Debug|Win32 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM64.Build.0 = Debug|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|ARM64.Deploy.0 = Debug|ARM64 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|Win32.ActiveCfg = Debug|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|Win32.Build.0 = Debug|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Debug|Win32.Deploy.0 = Debug|Win32 @@ -200,7 +223,9 @@ Global {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM.ActiveCfg = Release|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM.Build.0 = Release|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM.Deploy.0 = Release|ARM - {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM64.ActiveCfg = Release|Win32 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM64.ActiveCfg = Release|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM64.Build.0 = Release|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|ARM64.Deploy.0 = Release|ARM64 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|Win32.ActiveCfg = Release|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|Win32.Build.0 = Release|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.Release|Win32.Deploy.0 = Release|Win32 @@ -210,7 +235,9 @@ Global {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM.Build.0 = UWP Gold|ARM {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM.Deploy.0 = UWP Gold|ARM - {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 + {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|ARM64.Deploy.0 = UWP Gold|ARM64 {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|Win32.Deploy.0 = UWP Gold|Win32 @@ -219,64 +246,72 @@ Global {01D7D581-09A3-4A26-94BD-A7C529B29329}.UWP Gold|x64.Deploy.0 = UWP Gold|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|ARM.ActiveCfg = Debug|ARM {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|ARM.Build.0 = Debug|ARM - {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|ARM64.ActiveCfg = Debug|Win32 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|ARM64.Build.0 = Debug|ARM64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|Win32.ActiveCfg = Debug|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|Win32.Build.0 = Debug|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|x64.ActiveCfg = Debug|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Debug|x64.Build.0 = Debug|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|ARM.ActiveCfg = Release|ARM {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|ARM.Build.0 = Release|ARM - {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|ARM64.ActiveCfg = Release|Win32 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|ARM64.ActiveCfg = Release|ARM64 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|ARM64.Build.0 = Release|ARM64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|Win32.ActiveCfg = Release|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|Win32.Build.0 = Release|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|x64.ActiveCfg = Release|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.Release|x64.Build.0 = Release|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {D326891E-ECE4-4B94-B5E7-8AA0A8E8ECBC}.UWP Gold|x64.Build.0 = UWP Gold|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|ARM.ActiveCfg = Debug|ARM {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|ARM.Build.0 = Debug|ARM - {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|ARM64.ActiveCfg = Debug|Win32 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|ARM64.Build.0 = Debug|ARM64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|Win32.ActiveCfg = Debug|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|Win32.Build.0 = Debug|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|x64.ActiveCfg = Debug|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Debug|x64.Build.0 = Debug|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|ARM.ActiveCfg = Release|ARM {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|ARM.Build.0 = Release|ARM - {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|ARM64.ActiveCfg = Release|Win32 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|ARM64.ActiveCfg = Release|ARM64 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|ARM64.Build.0 = Release|ARM64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|Win32.ActiveCfg = Release|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|Win32.Build.0 = Release|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|x64.ActiveCfg = Release|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.Release|x64.Build.0 = Release|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|ARM.ActiveCfg = UWP Gold|ARM {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|ARM.Build.0 = UWP Gold|ARM - {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|ARM64.ActiveCfg = UWP Gold|Win32 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|ARM64.ActiveCfg = UWP Gold|ARM64 + {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|ARM64.Build.0 = UWP Gold|ARM64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|Win32.ActiveCfg = UWP Gold|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|Win32.Build.0 = UWP Gold|Win32 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|x64.ActiveCfg = UWP Gold|x64 {2B2D16BD-1D37-46AF-A3F8-552900951B26}.UWP Gold|x64.Build.0 = UWP Gold|x64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|ARM.ActiveCfg = Debug|ARM {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|ARM.Build.0 = Debug|ARM - {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|ARM64.ActiveCfg = Debug|Win32 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|ARM64.Build.0 = Debug|ARM64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|Win32.ActiveCfg = Debug|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|Win32.Build.0 = Debug|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|x64.ActiveCfg = Debug|x64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Debug|x64.Build.0 = Debug|x64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|ARM.ActiveCfg = Release|ARM {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|ARM.Build.0 = Release|ARM - {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|ARM64.ActiveCfg = Release|Win32 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|ARM64.ActiveCfg = Release|ARM64 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|ARM64.Build.0 = Release|ARM64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|Win32.ActiveCfg = Release|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|Win32.Build.0 = Release|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|x64.ActiveCfg = Release|x64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.Release|x64.Build.0 = Release|x64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM.ActiveCfg = Release|ARM {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM.Build.0 = Release|ARM - {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM64.ActiveCfg = Release|x64 - {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM64.Build.0 = Release|x64 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM64.ActiveCfg = Release|ARM64 + {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|ARM64.Build.0 = Release|ARM64 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|Win32.ActiveCfg = Release|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|Win32.Build.0 = Release|Win32 {75286959-E7A2-4CBE-8B95-BF05C9C540FF}.UWP Gold|x64.ActiveCfg = Release|x64 diff --git a/UWP/SPIRVCross_UWP/SPIRVCross_UWP.vcxproj b/UWP/SPIRVCross_UWP/SPIRVCross_UWP.vcxproj index 4c4c18f190..abb8c1dfef 100644 --- a/UWP/SPIRVCross_UWP/SPIRVCross_UWP.vcxproj +++ b/UWP/SPIRVCross_UWP/SPIRVCross_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -219,6 +266,20 @@ false + + + Use + false + true + pch.h + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions);NOMINMAX + + + Console + false + false + + Use @@ -233,6 +294,20 @@ false + + + Use + false + true + pch.h + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions);NOMINMAX + + + Console + false + false + + Use @@ -247,6 +322,20 @@ false + + + Use + false + true + pch.h + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions);NOMINMAX + + + Console + false + false + + Use @@ -313,8 +402,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create diff --git a/UWP/UI_UWP/UI_UWP.vcxproj b/UWP/UI_UWP/UI_UWP.vcxproj index a71aff31d9..0239f337b0 100644 --- a/UWP/UI_UWP/UI_UWP.vcxproj +++ b/UWP/UI_UWP/UI_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + Use + false + true + NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + ../..;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + pch.h + + + Console + false + false + + Use @@ -238,6 +300,21 @@ false + + + Use + false + true + NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + ../..;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + pch.h + + + Console + false + false + + Use @@ -253,6 +330,21 @@ false + + + Use + false + true + GOLD;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + ../..;../../ext/native;../../Common;../../ext/native/ext;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + pch.h + + + Console + false + false + + Use @@ -370,8 +462,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create @@ -380,4 +475,4 @@ - + \ No newline at end of file diff --git a/UWP/UWP.vcxproj b/UWP/UWP.vcxproj index d785bf6c56..6dd31abfef 100644 --- a/UWP/UWP.vcxproj +++ b/UWP/UWP.vcxproj @@ -1,10 +1,18 @@  + + Debug + ARM64 + Debug Win32 + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -62,6 +74,11 @@ true v141 + + Application + true + v141 + Application true @@ -88,6 +105,13 @@ v141 true + + Application + false + false + v141 + true + Application false @@ -95,6 +119,13 @@ v141 true + + Application + false + false + v141 + true + Application false @@ -131,14 +162,26 @@ + + + + + + + + + + + + @@ -177,6 +220,27 @@ copy PackageNormal.appxmanifest Package.appxmanifest /Y mkdir Assets copy AssetsNormal\*.* Assets /Y +../Windows/git-version-gen.cmd + + + + + libavcodec.a;libavformat.a;libavutil.a;libswresample.a;libswscale.a;d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + ../ffmpeg/Windows10/ARM64/lib;%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + ..;../ext/native;../ext/snappy;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204 + _DEBUG;%(PreprocessorDefinitions) + pch.h + + + copy PackageNormal.appxmanifest Package.appxmanifest /Y +mkdir Assets +copy AssetsNormal\*.* Assets /Y ../Windows/git-version-gen.cmd @@ -198,6 +262,27 @@ copy AssetsNormal\*.* Assets /Y copy PackageNormal.appxmanifest Package.appxmanifest /Y mkdir Assets copy AssetsNormal\*.* Assets /Y +../Windows/git-version-gen.cmd + + + + + xinputuap.lib;libavcodec.a;libavformat.a;libavutil.a;libswresample.a;libswscale.a;d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + ../ffmpeg/Windows10/ARM64/lib;%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + ..;../ext/native;../ext/snappy;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204 + NDEBUG;%(PreprocessorDefinitions) + pch.h + + + copy PackageNormal.appxmanifest Package.appxmanifest /Y +mkdir Assets +copy AssetsNormal\*.* Assets /Y ../Windows/git-version-gen.cmd @@ -219,6 +304,27 @@ copy AssetsNormal\*.* Assets /Y copy PackageGold.appxmanifest Package.appxmanifest /Y mkdir Assets copy AssetsGold\*.* Assets /Y +../Windows/git-version-gen.cmd + + + + + libavcodec.a;libavformat.a;libavutil.a;libswresample.a;libswscale.a;d2d1.lib; d3d11.lib; dxgi.lib; windowscodecs.lib; dwrite.lib; %(AdditionalDependencies) + ../ffmpeg/Windows10/ARM64/lib;%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + ..;../ext/native;../ext/snappy;$(ProjectDir);$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204 + GOLD;NDEBUG;%(PreprocessorDefinitions) + pch.h + + + copy PackageGold.appxmanifest Package.appxmanifest /Y +mkdir Assets +copy AssetsGold\*.* Assets /Y ../Windows/git-version-gen.cmd @@ -405,8 +511,11 @@ copy AssetsGold\*.* Assets /Y NotUsing NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing + NotUsing NotUsing NotUsing NotUsing @@ -422,8 +531,11 @@ copy AssetsGold\*.* Assets /Y Create Create Create + Create Create + Create Create + Create Create Create Create diff --git a/UWP/glslang_UWP/glslang_UWP.vcxproj b/UWP/glslang_UWP/glslang_UWP.vcxproj index 13eadac609..e81a474973 100644 --- a/UWP/glslang_UWP/glslang_UWP.vcxproj +++ b/UWP/glslang_UWP/glslang_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -219,6 +266,20 @@ false + + + Use + false + true + pch.h + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -233,6 +294,20 @@ false + + + Use + false + true + pch.h + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -247,6 +322,20 @@ false + + + Use + false + true + pch.h + _CRT_SECURE_NO_WARNINGS;NOMINMAX;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + Use @@ -396,8 +485,11 @@ Create Create Create + Create Create + Create Create + Create Create Create Create @@ -406,4 +498,4 @@ - + \ No newline at end of file diff --git a/UWP/glslang_UWP/glslang_UWP.vcxproj.filters b/UWP/glslang_UWP/glslang_UWP.vcxproj.filters index 9d3fc6da3c..83fb40022d 100644 --- a/UWP/glslang_UWP/glslang_UWP.vcxproj.filters +++ b/UWP/glslang_UWP/glslang_UWP.vcxproj.filters @@ -163,6 +163,7 @@ glslang\MachineIndependent + diff --git a/UWP/libkirk_UWP/libkirk_UWP.vcxproj b/UWP/libkirk_UWP/libkirk_UWP.vcxproj index 579034284b..fa74dcec03 100644 --- a/UWP/libkirk_UWP/libkirk_UWP.vcxproj +++ b/UWP/libkirk_UWP/libkirk_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -223,6 +270,21 @@ false + + + NotUsing + false + true + + + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing @@ -238,6 +300,21 @@ false + + + NotUsing + false + true + + + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing @@ -253,6 +330,21 @@ false + + + NotUsing + false + true + + + _ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing diff --git a/UWP/zlib_UWP/zlib_UWP.vcxproj b/UWP/zlib_UWP/zlib_UWP.vcxproj index 48995ec5a3..f5bda9773b 100644 --- a/UWP/zlib_UWP/zlib_UWP.vcxproj +++ b/UWP/zlib_UWP/zlib_UWP.vcxproj @@ -5,6 +5,10 @@ Debug ARM + + Debug + ARM64 + Debug Win32 @@ -17,6 +21,10 @@ Release ARM + + Release + ARM64 + Release Win32 @@ -29,6 +37,10 @@ UWP Gold ARM + + UWP Gold + ARM64 + UWP Gold Win32 @@ -61,6 +73,11 @@ true v141 + + StaticLibrary + true + v141 + StaticLibrary true @@ -84,12 +101,24 @@ false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false false v141 + + StaticLibrary + false + false + v141 + StaticLibrary false @@ -119,12 +148,21 @@ + + + + + + + + + @@ -148,12 +186,21 @@ false + + false + false + + false + false + + false + false @@ -215,6 +262,19 @@ false + + + NotUsing + false + true + _CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing @@ -228,6 +288,19 @@ false + + + NotUsing + false + true + _CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing @@ -241,6 +314,19 @@ false + + + NotUsing + false + true + _CRT_SECURE_NO_WARNINGS;_ARM64_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1;%(ClCompile.PreprocessorDefinitions) + + + Console + false + false + + NotUsing diff --git a/Windows/GPU/D3D11Context.cpp b/Windows/GPU/D3D11Context.cpp index 2841c00387..4a88910136 100644 --- a/Windows/GPU/D3D11Context.cpp +++ b/Windows/GPU/D3D11Context.cpp @@ -51,7 +51,7 @@ void D3D11Context::SwapInterval(int interval) { HRESULT D3D11Context::CreateTheDevice(IDXGIAdapter *adapter) { bool windowed = true; -#ifdef _DEBUG +#if defined(_DEBUG) && !defined(_M_ARM) && !defined(_M_ARM64) UINT createDeviceFlags = D3D11_CREATE_DEVICE_DEBUG; #else UINT createDeviceFlags = 0; diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp index 09555849a4..3005f28139 100644 --- a/Windows/MainWindow.cpp +++ b/Windows/MainWindow.cpp @@ -48,13 +48,19 @@ #include "Core/MIPS/JitCommon/JitBlockCache.h" #include "Windows/InputBox.h" #include "Windows/InputDevice.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "Windows/GPU/WindowsGLContext.h" +#include "Windows/GEDebugger/GEDebugger.h" +#endif #include "Windows/Debugger/Debugger_Disasm.h" #include "Windows/Debugger/Debugger_MemoryDlg.h" -#include "Windows/GEDebugger/GEDebugger.h" + +#include "Common/GraphicsContext.h" #include "Windows/main.h" +#ifndef _M_ARM #include "Windows/DinputDevice.h" +#endif #include "Windows/EmuThread.h" #include "Windows/resource.h" @@ -519,9 +525,10 @@ namespace MainWindow DialogManager::AddDlg(disasmWindow[0]); disasmWindow[0]->Show(g_Config.bShowDebuggerOnLoad); +#if !defined(_M_ARM64) && !defined(_M_ARM) geDebuggerWindow = new CGEDebugger(MainWindow::GetHInstance(), MainWindow::GetHWND()); DialogManager::AddDlg(geDebuggerWindow); - +#endif memoryWindow[0] = new CMemoryDlg(MainWindow::GetHInstance(), MainWindow::GetHWND(), currentDebugMIPS); DialogManager::AddDlg(memoryWindow[0]); } @@ -532,11 +539,13 @@ namespace MainWindow delete disasmWindow[0]; disasmWindow[0] = 0; +#if !defined(_M_ARM64) && !defined(_M_ARM) DialogManager::RemoveDlg(geDebuggerWindow); if (geDebuggerWindow) delete geDebuggerWindow; geDebuggerWindow = 0; - +#endif + DialogManager::RemoveDlg(memoryWindow[0]); if (memoryWindow[0]) delete memoryWindow[0]; @@ -822,7 +831,9 @@ namespace MainWindow return WindowsRawInput::ProcessChar(hWnd, wParam, lParam); case WM_DEVICECHANGE: +#ifndef _M_ARM DinputDevice::CheckDevices(); +#endif return DefWindowProc(hWnd, message, wParam, lParam); case WM_VERYSLEEPY_MSG: diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp index 47ef6b0aa1..ab1d48d3be 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp @@ -16,11 +16,17 @@ #include "Common/ConsoleListener.h" #include "Common/OSVersion.h" #include "Common/Vulkan/VulkanLoader.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "GPU/GLES/TextureScalerGLES.h" #include "GPU/GLES/TextureCacheGLES.h" +#include "GPU/GLES/FramebufferManagerGLES.h" +#endif #include "UI/OnScreenDisplay.h" #include "GPU/Common/PostShader.h" -#include "GPU/GLES/FramebufferManagerGLES.h" +#include "GPU/Common/FramebufferCommon.h" +#include "GPU/Common/TextureCacheCommon.h" +#include "GPU/Common/TextureScalerCommon.h" + #include "Core/Config.h" #include "Core/ConfigValues.h" #include "Core/FileSystems/MetaFileSystem.h" @@ -943,8 +949,10 @@ namespace MainWindow { break; case ID_DEBUG_GEDEBUGGER: +#if !defined(_M_ARM64) && !defined(_M_ARM) if (geDebuggerWindow) geDebuggerWindow->Show(true); +#endif break; case ID_DEBUG_MEMORYVIEW: @@ -1354,11 +1362,16 @@ namespace MainWindow { bool allowD3D11 = DoesVersionMatchWindows(6, 0, 0, 0, true); bool allowVulkan = VulkanMayBeAvailable(); +#if !defined(_M_ARM64) && !defined(_M_ARM) + bool allowOpenGL = true; +#else + bool allowOpenGL = false; +#endif switch (GetGPUBackend()) { case GPUBackend::DIRECT3D9: EnableMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_GRAYED); EnableMenuItem(menu, ID_OPTIONS_DIRECT3D11, allowD3D11 ? MF_ENABLED : MF_GRAYED); - EnableMenuItem(menu, ID_OPTIONS_OPENGL, MF_ENABLED); + EnableMenuItem(menu, ID_OPTIONS_OPENGL, allowOpenGL ? MF_ENABLED : MF_GRAYED); EnableMenuItem(menu, ID_OPTIONS_VULKAN, allowVulkan ? MF_ENABLED : MF_GRAYED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_CHECKED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D11, MF_UNCHECKED); @@ -1378,7 +1391,7 @@ namespace MainWindow { case GPUBackend::VULKAN: EnableMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_ENABLED); EnableMenuItem(menu, ID_OPTIONS_DIRECT3D11, allowD3D11 ? MF_ENABLED : MF_GRAYED); - EnableMenuItem(menu, ID_OPTIONS_OPENGL, MF_ENABLED); + EnableMenuItem(menu, ID_OPTIONS_OPENGL, allowOpenGL ? MF_ENABLED : MF_GRAYED); EnableMenuItem(menu, ID_OPTIONS_VULKAN, MF_GRAYED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_UNCHECKED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D11, MF_UNCHECKED); @@ -1388,7 +1401,7 @@ namespace MainWindow { case GPUBackend::DIRECT3D11: EnableMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_ENABLED); EnableMenuItem(menu, ID_OPTIONS_DIRECT3D11, MF_GRAYED); - EnableMenuItem(menu, ID_OPTIONS_OPENGL, MF_ENABLED); + EnableMenuItem(menu, ID_OPTIONS_OPENGL, allowOpenGL ? MF_ENABLED : MF_GRAYED); EnableMenuItem(menu, ID_OPTIONS_VULKAN, allowVulkan ? MF_ENABLED : MF_GRAYED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D9, MF_UNCHECKED); CheckMenuItem(menu, ID_OPTIONS_DIRECT3D11, MF_CHECKED); @@ -1397,6 +1410,10 @@ namespace MainWindow { break; } +#if defined(_M_ARM64) || defined(_M_ARM) + EnableMenuItem(menu, ID_DEBUG_GEDEBUGGER, MF_GRAYED); +#endif + UpdateDynamicMenuCheckmarks(menu); UpdateCommands(); } diff --git a/Windows/PPSSPP.sln b/Windows/PPSSPP.sln index 918e2910d6..d9a8616f15 100644 --- a/Windows/PPSSPP.sln +++ b/Windows/PPSSPP.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28803.202 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PPSSPPWindows", "PPSSPP.vcxproj", "{567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}" ProjectSection(ProjectDependencies) = postProject @@ -81,120 +81,236 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "discord-rpc", "..\ext\disco EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|ARM.ActiveCfg = Debug|ARM + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|ARM.Build.0 = Debug|ARM + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|ARM64.Build.0 = Debug|ARM64 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|Win32.ActiveCfg = Debug|Win32 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|Win32.Build.0 = Debug|Win32 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|x64.ActiveCfg = Debug|x64 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Debug|x64.Build.0 = Debug|x64 + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|ARM.ActiveCfg = Release|ARM + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|ARM.Build.0 = Release|ARM + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|ARM64.ActiveCfg = Release|ARM64 + {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|ARM64.Build.0 = Release|ARM64 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|Win32.ActiveCfg = Release|Win32 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|Win32.Build.0 = Release|Win32 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|x64.ActiveCfg = Release|x64 {567AF8DB-42C1-4D08-96CD-D70A2DFEFC6B}.Release|x64.Build.0 = Release|x64 + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|ARM.ActiveCfg = Debug|ARM + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|ARM.Build.0 = Debug|ARM + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|ARM64.Build.0 = Debug|ARM64 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|Win32.ActiveCfg = Debug|Win32 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|Win32.Build.0 = Debug|Win32 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|x64.ActiveCfg = Debug|x64 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Debug|x64.Build.0 = Debug|x64 + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|ARM.ActiveCfg = Release|ARM + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|ARM.Build.0 = Release|ARM + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|ARM64.ActiveCfg = Release|ARM64 + {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|ARM64.Build.0 = Release|ARM64 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|Win32.ActiveCfg = Release|Win32 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|Win32.Build.0 = Release|Win32 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|x64.ActiveCfg = Release|x64 {3FCDBAE2-5103-4350-9A8E-848CE9C73195}.Release|x64.Build.0 = Release|x64 + {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|ARM.ActiveCfg = Debug|ARM + {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|ARM.Build.0 = Debug|ARM + {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|ARM64.Build.0 = Debug|ARM64 {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|Win32.ActiveCfg = Debug|Win32 {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|Win32.Build.0 = Debug|Win32 {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|x64.ActiveCfg = Debug|x64 {F761046E-6C38-4428-A5F1-38391A37BB34}.Debug|x64.Build.0 = Debug|x64 + {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|ARM.ActiveCfg = Release|ARM + {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|ARM.Build.0 = Release|ARM + {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|ARM64.ActiveCfg = Release|ARM64 + {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|ARM64.Build.0 = Release|ARM64 {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|Win32.ActiveCfg = Release|Win32 {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|Win32.Build.0 = Release|Win32 {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|x64.ActiveCfg = Release|x64 {F761046E-6C38-4428-A5F1-38391A37BB34}.Release|x64.Build.0 = Release|x64 + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|ARM.ActiveCfg = Debug|ARM + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|ARM.Build.0 = Debug|ARM + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|ARM64.Build.0 = Debug|ARM64 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|Win32.ActiveCfg = Debug|Win32 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|Win32.Build.0 = Debug|Win32 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|x64.ActiveCfg = Debug|x64 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Debug|x64.Build.0 = Debug|x64 + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|ARM.ActiveCfg = Release|ARM + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|ARM.Build.0 = Release|ARM + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|ARM64.ActiveCfg = Release|ARM64 + {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|ARM64.Build.0 = Release|ARM64 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|Win32.ActiveCfg = Release|Win32 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|Win32.Build.0 = Release|Win32 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|x64.ActiveCfg = Release|x64 {457F45D2-556F-47BC-A31D-AFF0D15BEAED}.Release|x64.Build.0 = Release|x64 + {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|ARM.ActiveCfg = Debug|ARM + {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|ARM.Build.0 = Debug|ARM + {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|ARM64.Build.0 = Debug|ARM64 {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|Win32.ActiveCfg = Debug|Win32 {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|Win32.Build.0 = Debug|Win32 {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|x64.ActiveCfg = Debug|x64 {533F1D30-D04D-47CC-AD71-20F658907E36}.Debug|x64.Build.0 = Debug|x64 + {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|ARM.ActiveCfg = Release|ARM + {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|ARM.Build.0 = Release|ARM + {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|ARM64.ActiveCfg = Release|ARM64 + {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|ARM64.Build.0 = Release|ARM64 {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|Win32.ActiveCfg = Release|Win32 {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|Win32.Build.0 = Release|Win32 {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|x64.ActiveCfg = Release|x64 {533F1D30-D04D-47CC-AD71-20F658907E36}.Release|x64.Build.0 = Release|x64 + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|ARM.ActiveCfg = Debug|ARM + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|ARM.Build.0 = Debug|ARM + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|ARM64.Build.0 = Debug|ARM64 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|Win32.ActiveCfg = Debug|Win32 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|Win32.Build.0 = Debug|Win32 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|x64.ActiveCfg = Debug|x64 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Debug|x64.Build.0 = Debug|x64 + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|ARM.ActiveCfg = Release|ARM + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|ARM.Build.0 = Release|ARM + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|ARM64.ActiveCfg = Release|ARM64 + {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|ARM64.Build.0 = Release|ARM64 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|Win32.ActiveCfg = Release|Win32 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|Win32.Build.0 = Release|Win32 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|x64.ActiveCfg = Release|x64 {C4DF647E-80EA-4111-A0A8-218B1B711E18}.Release|x64.Build.0 = Release|x64 + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|ARM.ActiveCfg = Debug|ARM + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|ARM.Build.0 = Debug|ARM + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|ARM64.Build.0 = Debug|ARM64 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|Win32.ActiveCfg = Debug|Win32 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|Win32.Build.0 = Debug|Win32 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|x64.ActiveCfg = Debug|x64 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Debug|x64.Build.0 = Debug|x64 + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|ARM.ActiveCfg = Release|ARM + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|ARM.Build.0 = Release|ARM + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|ARM64.ActiveCfg = Release|ARM64 + {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|ARM64.Build.0 = Release|ARM64 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|Win32.ActiveCfg = Release|Win32 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|Win32.Build.0 = Release|Win32 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|x64.ActiveCfg = Release|x64 {EE9BD869-CAA3-447D-8328-294D90DE2C1F}.Release|x64.Build.0 = Release|x64 + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|ARM.ActiveCfg = Debug|ARM + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|ARM.Build.0 = Debug|ARM + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|ARM64.Build.0 = Debug|ARM64 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|Win32.ActiveCfg = Debug|Win32 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|Win32.Build.0 = Debug|Win32 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|x64.ActiveCfg = Debug|x64 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Debug|x64.Build.0 = Debug|x64 + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|ARM.ActiveCfg = Release|ARM + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|ARM.Build.0 = Release|ARM + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|ARM64.ActiveCfg = Release|ARM64 + {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|ARM64.Build.0 = Release|ARM64 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|Win32.ActiveCfg = Release|Win32 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|Win32.Build.0 = Release|Win32 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|x64.ActiveCfg = Release|x64 {3BAAE095-E0AB-4B0E-B5DF-CE39C8AE31DE}.Release|x64.Build.0 = Release|x64 + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|ARM.ActiveCfg = Debug|ARM + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|ARM.Build.0 = Debug|ARM + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|ARM64.Build.0 = Debug|ARM64 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|Win32.ActiveCfg = Debug|Win32 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|Win32.Build.0 = Debug|Win32 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|x64.ActiveCfg = Debug|x64 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Debug|x64.Build.0 = Debug|x64 + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|ARM.ActiveCfg = Release|ARM + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|ARM.Build.0 = Release|ARM + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|ARM64.ActiveCfg = Release|ARM64 + {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|ARM64.Build.0 = Release|ARM64 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|Win32.ActiveCfg = Release|Win32 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|Win32.Build.0 = Release|Win32 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|x64.ActiveCfg = Release|x64 {37CBC214-7CE7-4655-B619-F7CEE16E3313}.Release|x64.Build.0 = Release|x64 + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|ARM.ActiveCfg = Debug|ARM + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|ARM.Build.0 = Debug|ARM + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|ARM64.Build.0 = Debug|ARM64 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|Win32.ActiveCfg = Debug|Win32 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|Win32.Build.0 = Debug|Win32 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|x64.ActiveCfg = Debug|x64 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Debug|x64.Build.0 = Debug|x64 + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|ARM.ActiveCfg = Release|ARM + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|ARM.Build.0 = Release|ARM + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|ARM64.ActiveCfg = Release|ARM64 + {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|ARM64.Build.0 = Release|ARM64 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|Win32.ActiveCfg = Release|Win32 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|Win32.Build.0 = Release|Win32 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|x64.ActiveCfg = Release|x64 {004B8D11-2BE3-4BD9-AB40-2BE04CF2096F}.Release|x64.Build.0 = Release|x64 + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|ARM.ActiveCfg = Debug|ARM + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|ARM.Build.0 = Debug|ARM + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|ARM64.Build.0 = Debug|ARM64 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|Win32.ActiveCfg = Debug|Win32 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|Win32.Build.0 = Debug|Win32 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|x64.ActiveCfg = Debug|x64 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Debug|x64.Build.0 = Debug|x64 + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|ARM.ActiveCfg = Release|ARM + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|ARM.Build.0 = Release|ARM + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|ARM64.ActiveCfg = Release|ARM64 + {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|ARM64.Build.0 = Release|ARM64 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|Win32.ActiveCfg = Release|Win32 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|Win32.Build.0 = Release|Win32 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|x64.ActiveCfg = Release|x64 {129E5E2B-39C1-4D84-96FE-DFD22DBB4A25}.Release|x64.Build.0 = Release|x64 + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|ARM.ActiveCfg = Debug|ARM + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|ARM.Build.0 = Debug|ARM + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|ARM64.Build.0 = Debug|ARM64 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|Win32.ActiveCfg = Debug|Win32 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|Win32.Build.0 = Debug|Win32 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|x64.ActiveCfg = Debug|x64 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Debug|x64.Build.0 = Debug|x64 + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|ARM.ActiveCfg = Release|ARM + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|ARM.Build.0 = Release|ARM + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|ARM64.ActiveCfg = Release|ARM64 + {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|ARM64.Build.0 = Release|ARM64 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|Win32.ActiveCfg = Release|Win32 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|Win32.Build.0 = Release|Win32 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|x64.ActiveCfg = Release|x64 {EDFA2E87-8AC1-4853-95D4-D7594FF81947}.Release|x64.Build.0 = Release|x64 + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|ARM.ActiveCfg = Debug|ARM + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|ARM.Build.0 = Debug|ARM + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|ARM64.Build.0 = Debug|ARM64 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|Win32.ActiveCfg = Debug|Win32 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|Win32.Build.0 = Debug|Win32 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|x64.ActiveCfg = Debug|x64 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Debug|x64.Build.0 = Debug|x64 + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|ARM.ActiveCfg = Release|ARM + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|ARM.Build.0 = Release|ARM + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|ARM64.ActiveCfg = Release|ARM64 + {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|ARM64.Build.0 = Release|ARM64 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|Win32.ActiveCfg = Release|Win32 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|Win32.Build.0 = Release|Win32 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|x64.ActiveCfg = Release|x64 {4328A62C-F1E9-47ED-B816-A1A81DAF4363}.Release|x64.Build.0 = Release|x64 + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|ARM.ActiveCfg = Debug|ARM + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|ARM.Build.0 = Debug|ARM + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|ARM64.Build.0 = Debug|ARM64 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|Win32.ActiveCfg = Debug|Win32 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|Win32.Build.0 = Debug|Win32 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|x64.ActiveCfg = Debug|x64 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Debug|x64.Build.0 = Debug|x64 + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|ARM.ActiveCfg = Release|ARM + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|ARM.Build.0 = Release|ARM + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|ARM64.ActiveCfg = Release|ARM64 + {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|ARM64.Build.0 = Release|ARM64 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|Win32.ActiveCfg = Release|Win32 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|Win32.Build.0 = Release|Win32 {BEB0A821-3C7F-410F-A525-63AFBC69BF8F}.Release|x64.ActiveCfg = Release|x64 diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj index 0291adb8b7..ffddcb744d 100644 --- a/Windows/PPSSPP.vcxproj +++ b/Windows/PPSSPP.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -42,11 +58,34 @@ Unicode $(DefaultPlatformToolset) + + Application + Unicode + $(DefaultPlatformToolset) + + + Application + Unicode + $(DefaultPlatformToolset) + true + Application Unicode $(DefaultPlatformToolset) + + Application + Unicode + $(DefaultPlatformToolset) + Spectre + + + Application + Unicode + $(DefaultPlatformToolset) + true + @@ -62,10 +101,26 @@ + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 @@ -73,25 +128,45 @@ true ..\ $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ true + true + true ..\ $(Configuration)\ false ..\ $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ false + false + false AllRules.ruleset AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + AllRules.ruleset AllRules.ruleset + AllRules.ruleset + AllRules.ruleset + + + + ..\ @@ -106,12 +181,40 @@ ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + PPSSPPDebugARM64 + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + ..\ + + + PPSSPPDebugARM + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + ..\ + PPSSPPWindows64 false ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + PPSSPPWindowsARM64 + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + ..\ + + + PPSSPPWindowsARM + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + ..\ + false ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); @@ -187,6 +290,74 @@ Updating git-version.cpp + + + + false + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_64=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + Sync + Use + Level3 + ProgramDatabase + ../dx9sdk/Include/DX11;../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + stdafx.h;Common/DbgNew.h + MultiThreadedDebug + false + NotSet + Precise + true + false + Disabled + $(EXTERNAL_COMPILE_OPTIONS) + + + oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;comctl32.lib;d3d9.lib;dxguid.lib;..\ffmpeg\Windows\aarch64\lib\avcodec.lib;..\ffmpeg\Windows\aarch64\lib\avformat.lib;..\ffmpeg\Windows\aarch64\lib\avutil.lib;..\ffmpeg\Windows\aarch64\lib\swresample.lib;..\ffmpeg\Windows\aarch64\lib\swscale.lib;%(AdditionalDependencies) + true + $(OutDir)$(ProjectName).pdb + true + LinkVerboseLib + /ignore:4049 /ignore:4217 %(AdditionalOptions) + Windows + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + + + + false + _CRTDBG_MAP_ALLOC;USING_WIN_UI;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_32=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + Sync + Use + Level3 + ProgramDatabase + ../dx9sdk/Include/DX11;../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + stdafx.h;Common/DbgNew.h + MultiThreadedDebug + false + NotSet + Precise + true + false + Disabled + $(EXTERNAL_COMPILE_OPTIONS) + + + oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;comctl32.lib;d3d9.lib;dxguid.lib;..\ffmpeg\Windows\arm\lib\avcodec.lib;..\ffmpeg\Windows\arm\lib\avformat.lib;..\ffmpeg\Windows\arm\lib\avutil.lib;..\ffmpeg\Windows\arm\lib\swresample.lib;..\ffmpeg\Windows\arm\lib\swscale.lib;%(AdditionalDependencies) + true + $(OutDir)$(ProjectName).pdb + true + LinkVerboseLib + /ignore:4049 /ignore:4217 %(AdditionalOptions) + Windows + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + AnySuitable @@ -276,54 +447,168 @@ $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + + + + AnySuitable + true + Speed + false + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_64=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + false + NotSet + Precise + Use + Level3 + ProgramDatabase + ../dx9sdk/Include/DX11;../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + stdafx.h + true + false + $(EXTERNAL_COMPILE_OPTIONS) + + + oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;comctl32.lib;d3d9.lib;dxguid.lib;..\ffmpeg\Windows\aarch64\lib\avcodec.lib;..\ffmpeg\Windows\aarch64\lib\avformat.lib;..\ffmpeg\Windows\aarch64\lib\avutil.lib;..\ffmpeg\Windows\aarch64\lib\swresample.lib;..\ffmpeg\Windows\aarch64\lib\swscale.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + Windows + true + true + /ignore:4049 /ignore:4217 %(AdditionalOptions) + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + + + + + + AnySuitable + true + Speed + false + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_32=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + true + Sync + MultiThreaded + false + NotSet + Precise + Use + Level3 + ProgramDatabase + ../dx9sdk/Include/DX11;../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + stdafx.h + true + false + $(EXTERNAL_COMPILE_OPTIONS) + + + oleaut32.lib;comdlg32.lib;shell32.lib;user32.lib;gdi32.lib;advapi32.lib;ole32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;comctl32.lib;d3d9.lib;dxguid.lib;..\ffmpeg\Windows\arm\lib\avcodec.lib;..\ffmpeg\Windows\arm\lib\avformat.lib;..\ffmpeg\Windows\arm\lib\avutil.lib;..\ffmpeg\Windows\arm\lib\swresample.lib;..\ffmpeg\Windows\arm\lib\swscale.lib;%(AdditionalDependencies) + %(AdditionalLibraryDirectories) + true + Windows + true + true + /ignore:4049 /ignore:4217 %(AdditionalOptions) + true + + + ../Windows/git-version-gen.cmd + Updating git-version.cpp + + + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + + true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true @@ -334,29 +619,57 @@ NotUsing + NotUsing + NotUsing + + + + NotUsing + NotUsing + NotUsing + + + + + true + true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true @@ -370,15 +683,53 @@ - - - + + true + true + true + true + + + true + true + true + true + + + true + true + - - - - - + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + @@ -389,8 +740,12 @@ $(IntDir)%(Filename)2.obj $(IntDir)%(Filename)2.obj + $(IntDir)%(Filename)2.obj + $(IntDir)%(Filename)2.obj $(IntDir)%(Filename)2.obj $(IntDir)%(Filename)2.obj + $(IntDir)%(Filename)2.obj + $(IntDir)%(Filename)2.obj @@ -398,7 +753,12 @@ - + + true + true + true + true + @@ -406,8 +766,12 @@ Create Create + Create + Create Create Create + Create + Create @@ -416,25 +780,41 @@ true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true true true true + true + true true + true + true @@ -443,13 +823,21 @@ true true true + true + true true + true + true true true true + true + true true + true + true @@ -458,13 +846,21 @@ true true true + true + true true + true + true true true true + true + true true + true + true @@ -478,14 +874,47 @@ - - - + + true + true + true + true + + + true + true + true + true + + + true + true + - - - - + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + @@ -543,6 +972,8 @@ $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) @@ -586,4 +1017,4 @@ - \ No newline at end of file + diff --git a/Windows/WindowsHost.cpp b/Windows/WindowsHost.cpp index adc7b67769..194503d11e 100644 --- a/Windows/WindowsHost.cpp +++ b/Windows/WindowsHost.cpp @@ -51,7 +51,9 @@ #include "Windows/WindowsHost.h" #include "Windows/MainWindow.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "Windows/GPU/WindowsGLContext.h" +#endif #include "Windows/GPU/WindowsVulkanContext.h" #include "Windows/GPU/D3D9Context.h" #include "Windows/GPU/D3D11Context.h" @@ -60,7 +62,9 @@ #include "Windows/Debugger/Debugger_Disasm.h" #include "Windows/Debugger/Debugger_MemoryDlg.h" +#ifndef _M_ARM #include "Windows/DinputDevice.h" +#endif #include "Windows/XinputDevice.h" #include "Windows/KeyboardDevice.h" @@ -86,11 +90,13 @@ WindowsHost::WindowsHost(HINSTANCE hInstance, HWND mainWindow, HWND displayWindo //add first XInput device to respond input.push_back(std::shared_ptr(new XinputDevice())); +#ifndef _M_ARM //find all connected DInput devices of class GamePad numDinputDevices_ = DinputDevice::getNumPads(); for (size_t i = 0; i < numDinputDevices_; i++) { input.push_back(std::shared_ptr(new DinputDevice(static_cast(i)))); } +#endif keyboard = std::shared_ptr(new KeyboardDevice()); input.push_back(keyboard); @@ -115,9 +121,11 @@ void WindowsHost::UpdateConsolePosition() { bool WindowsHost::InitGraphics(std::string *error_message, GraphicsContext **ctx) { WindowsGraphicsContext *graphicsContext = nullptr; switch (g_Config.iGPUBackend) { +#if !defined(_M_ARM64) && !defined(_M_ARM) case (int)GPUBackend::OPENGL: graphicsContext = new WindowsGLContext(); break; +#endif case (int)GPUBackend::DIRECT3D9: graphicsContext = new D3D9Context(); break; @@ -208,6 +216,7 @@ void WindowsHost::PollControllers() { static int checkCounter = 0; static const int CHECK_FREQUENCY = 71; if (checkCounter++ > CHECK_FREQUENCY) { +#ifndef _M_ARM size_t newCount = DinputDevice::getNumPads(); if (newCount > numDinputDevices_) { INFO_LOG(SYSTEM, "New controller device detected"); @@ -216,7 +225,7 @@ void WindowsHost::PollControllers() { } numDinputDevices_ = newCount; } - +#endif checkCounter = 0; } diff --git a/Windows/main.cpp b/Windows/main.cpp index 5ed2a7331d..00aa3a2969 100644 --- a/Windows/main.cpp +++ b/Windows/main.cpp @@ -56,8 +56,9 @@ #include "Windows/Debugger/Debugger_Disasm.h" #include "Windows/Debugger/Debugger_MemoryDlg.h" #include "Windows/Debugger/Debugger_VFPUDlg.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "Windows/GEDebugger/GEDebugger.h" - +#endif #include "Windows/W32Util/DialogManager.h" #include "Windows/W32Util/ShellUtil.h" @@ -81,9 +82,11 @@ extern "C" { extern "C" { __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; } +#if !defined(_M_ARM64) && !defined(_M_ARM) +CGEDebugger* geDebuggerWindow = 0; +#endif CDisasm *disasmWindow[MAX_CPUCOUNT] = {0}; -CGEDebugger *geDebuggerWindow = 0; CMemoryDlg *memoryWindow[MAX_CPUCOUNT] = {0}; static std::string langRegion; @@ -592,8 +595,9 @@ int WINAPI WinMain(HINSTANCE _hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLin CtrlDisAsmView::init(); CtrlMemView::init(); CtrlRegisterList::init(); +#if !defined(_M_ARM64) && !defined(_M_ARM) CGEDebugger::Init(); - +#endif DialogManager::AddDlg(vfpudlg = new CVFPUDlg(_hInstance, hwndMain, currentDebugMIPS)); MainWindow::CreateDebugWindows(); diff --git a/Windows/main.h b/Windows/main.h index 2990c93731..9018b41bc8 100644 --- a/Windows/main.h +++ b/Windows/main.h @@ -20,17 +20,19 @@ #include "Debugger/Debugger_Disasm.h" #include "Debugger/Debugger_MemoryDlg.h" -#include "Windows/GEDebugger/GEDebugger.h" - #include "Common/CommonWindows.h" #define MAX_CPUCOUNT 1 extern CDisasm *disasmWindow[MAX_CPUCOUNT]; -extern CGEDebugger *geDebuggerWindow ; extern CMemoryDlg *memoryWindow[MAX_CPUCOUNT]; +#if !defined(_M_ARM64) && !defined(_M_ARM) +#include "Windows/GEDebugger/GEDebugger.h" +extern CGEDebugger* geDebuggerWindow; +#endif + extern HMENU g_hPopupMenus; extern int g_activeWindow; -enum { WINDOW_MAINWINDOW, WINDOW_CPUDEBUGGER, WINDOW_GEDEBUGGER }; \ No newline at end of file +enum { WINDOW_MAINWINDOW, WINDOW_CPUDEBUGGER, WINDOW_GEDEBUGGER }; diff --git a/assets/compat.ini b/assets/compat.ini index 1b582dbee0..f34bd56fde 100644 --- a/assets/compat.ini +++ b/assets/compat.ini @@ -143,6 +143,12 @@ ULJM91018 = true NPJH90062 = true # Phantasy Star Portable Infinity Demo NPJH90157 = true # Infinity demo +# Test Drive Unlimited +# just to disable range culling without adding another hack +# since it causes a lot of missing geometry when driving +ULES00637 = true +ULKS46126 = true +ULUS10249 = true [ClearToRAM] # SOCOM Navy Seals games require this. See issue #8973. diff --git a/assets/lang b/assets/lang index 152c6893e9..e1cd0446bd 160000 --- a/assets/lang +++ b/assets/lang @@ -1 +1 @@ -Subproject commit 152c6893e9a30cc45f363cc87a8f48dc5d63cddb +Subproject commit e1cd0446bd5683f0f8a7fb08777027d42aa20e00 diff --git a/cmake/Toolchains/nvidiajetsonsdl.armv8.cmake b/cmake/Toolchains/nvidiajetsonsdl.armv8.cmake new file mode 100644 index 0000000000..b7e708313f --- /dev/null +++ b/cmake/Toolchains/nvidiajetsonsdl.armv8.cmake @@ -0,0 +1,17 @@ +if(NOT EXISTS "/usr/lib/aarch64-linux-gnu/tegra") + message(FATAL_ERROR "Nvidia Jetson platform not recognized") +endif() + +include_directories(SYSTEM + /usr/include/GL +) + +set(ARCH_FLAGS "-march=armv8-a+crc -mtune=cortex-a57 -funsafe-math-optimizations") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_FLAGS}" CACHE STRING "" FORCE) +set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${ARCH_FLAGS}" CACHE STRING "" FORCE) + +set (CMAKE_EXE_LINKER_FLAGS "-Wl,-rpath,/usr/lib/aarch64-linux-gnu/tegra" CACHE STRING "" FORCE) + +set(OPENGL_LIBRARIES /usr/lib/aarch64-linux-gnu/tegra/libGLX_nvidia.so.0) +set(USING_X11_VULKAN ON CACHE BOOL "" FORCE) diff --git a/ext/.gitignore b/ext/.gitignore index a69091e773..d278d5b72a 100644 --- a/ext/.gitignore +++ b/ext/.gitignore @@ -1,2 +1,4 @@ Win32 x64 +ARM64 +ARM diff --git a/ext/SPIRV-Cross.vcxproj b/ext/SPIRV-Cross.vcxproj index a802a23474..3c4cb76671 100644 --- a/ext/SPIRV-Cross.vcxproj +++ b/ext/SPIRV-Cross.vcxproj @@ -1,10 +1,26 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -43,12 +59,38 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary false $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -63,9 +105,21 @@ + + + + + + + + + + + + $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ @@ -79,10 +133,26 @@ $(Platform)\SPIRV-Cross$(Configuration)\ $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + + $(Platform)\SPIRV-Cross$(Configuration)\ + $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + + + $(Platform)\SPIRV-Cross$(Configuration)\ + $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + $(Platform)\SPIRV-Cross$(Configuration)\ $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + + $(Platform)\SPIRV-Cross$(Configuration)\ + $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + + + $(Platform)\SPIRV-Cross$(Configuration)\ + $(SolutionDir)$(Platform)\SPIRV-Cross$(Configuration)\ + @@ -115,6 +185,38 @@ Windows + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + false + MultiThreadedDebug + true + ProgramDatabase + + + Windows + + + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + false + MultiThreadedDebug + true + ProgramDatabase + + + Windows + + Level3 @@ -154,6 +256,46 @@ true + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + false + true + false + + + Windows + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + false + true + false + + + Windows + true + true + + @@ -177,4 +319,4 @@ - \ No newline at end of file + diff --git a/ext/discord-rpc-build/discord-rpc.vcxproj b/ext/discord-rpc-build/discord-rpc.vcxproj index bbf0c03363..78d19d8887 100644 --- a/ext/discord-rpc-build/discord-rpc.vcxproj +++ b/ext/discord-rpc-build/discord-rpc.vcxproj @@ -1,10 +1,26 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -62,12 +78,38 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary false $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -82,19 +124,43 @@ + + + + + + + + + + + + false + + false + + + false + true true + + true + + + true + false @@ -119,6 +185,48 @@ true + + + Level3 + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + true + ..\discord-rpc\include;..\discord-rpc\src;..\rapidjson\include + MultiThreaded + true + false + false + + + Windows + true + true + true + + + + + Level3 + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + true + ..\discord-rpc\include;..\discord-rpc\src;..\rapidjson\include + MultiThreaded + true + false + false + + + Windows + true + true + true + + Level3 @@ -151,6 +259,38 @@ true + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + true + ..\discord-rpc\include;..\discord-rpc\src;..\rapidjson\include + MultiThreadedDebug + true + ProgramDatabase + + + Windows + true + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + true + ..\discord-rpc\include;..\discord-rpc\src;..\rapidjson\include + MultiThreadedDebug + true + ProgramDatabase + + + Windows + true + + Level3 @@ -174,4 +314,4 @@ - \ No newline at end of file + diff --git a/ext/glslang.vcxproj b/ext/glslang.vcxproj index f482878cad..c3325050c6 100644 --- a/ext/glslang.vcxproj +++ b/ext/glslang.vcxproj @@ -1,10 +1,26 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -43,12 +59,38 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary false $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -63,9 +105,21 @@ + + + + + + + + + + + + @@ -106,6 +160,44 @@ true + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + glslang/glslang/OSDependent/Windows;glslang/glslang/MachineIndependent + MultiThreadedDebug + false + Default + true + ProgramDatabase + + + Windows + true + + + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + glslang/glslang/OSDependent/Windows;glslang/glslang/MachineIndependent + MultiThreadedDebug + false + Default + true + ProgramDatabase + + + Windows + true + + Level3 @@ -149,6 +241,50 @@ true + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + glslang/glslang/OSDependent/Windows;glslang/glslang/MachineIndependent + MultiThreaded + false + true + false + + + Windows + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + glslang/glslang/OSDependent/Windows;glslang/glslang/MachineIndependent + MultiThreaded + false + true + false + + + Windows + true + true + true + + @@ -256,4 +392,4 @@ - \ No newline at end of file + diff --git a/ext/libarmips.vcxproj b/ext/libarmips.vcxproj index 9bcfc4f4de..a30fc1b7ec 100644 --- a/ext/libarmips.vcxproj +++ b/ext/libarmips.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -17,6 +33,14 @@ Release x64 + + Tests + ARM + + + Tests + ARM64 + Tests Win32 @@ -45,6 +69,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary true @@ -57,6 +94,18 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + StaticLibrary false @@ -70,6 +119,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -79,18 +141,36 @@ + + + + + + + + + + + + + + + + + + .;$(IncludePath) @@ -104,6 +184,18 @@ _Output\ _Output\$(ProjectName)\$(Configuration)64\ + + $(ProjectName)dARM64 + .;$(IncludePath) + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM64\ + + + $(ProjectName)dARM + .;$(IncludePath) + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM\ + .;$(IncludePath) _Output\ @@ -116,6 +208,18 @@ _Output\ _Output\$(ProjectName)\$(Configuration)64\ + + .;$(IncludePath) + $(ProjectName)testsARM64 + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM64\ + + + .;$(IncludePath) + $(ProjectName)testsARM + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM\ + .;$(IncludePath) _Output\ @@ -128,6 +232,18 @@ _Output\ _Output\$(ProjectName)\$(Configuration)64\ + + $(ProjectName)ARM64 + .;$(IncludePath) + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM64\ + + + $(ProjectName)ARM + .;$(IncludePath) + _Output\ + _Output\$(ProjectName)\$(Configuration)ARM\ + Use @@ -169,6 +285,48 @@ $(OutDir)$(TargetName)$(TargetExt) + + + Use + Level3 + _CRTDBG_MAP_ALLOC;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreadedDebug + armips + false + + + true + ProgramDatabase + + + Windows + true + + + $(OutDir)$(TargetName)$(TargetExt) + + + + + Use + Level3 + _CRTDBG_MAP_ALLOC;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreadedDebug + armips + false + + + true + ProgramDatabase + + + Windows + true + + + $(OutDir)$(TargetName)$(TargetExt) + + Use @@ -195,6 +353,33 @@ true + + + Use + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + armips + + + Windows + true + + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + armips + MultiThreadedDebug + + + Windows + true + + Level3 @@ -237,6 +422,50 @@ true + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + armips + false + true + true + false + + + Windows + true + true + true + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + MultiThreaded + armips + false + true + true + false + + + Windows + true + true + true + + @@ -282,10 +511,16 @@ Create Create + Create + Create Create Create + Create + Create Create Create + Create + Create @@ -347,4 +582,4 @@ - \ No newline at end of file + diff --git a/ext/libkirk/libkirk.vcxproj b/ext/libkirk/libkirk.vcxproj index 3c1e3a62d4..064eafe636 100644 --- a/ext/libkirk/libkirk.vcxproj +++ b/ext/libkirk/libkirk.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -36,6 +52,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + true + $(DefaultPlatformToolset) + Unicode + true + StaticLibrary false @@ -49,6 +78,19 @@ $(DefaultPlatformToolset) Unicode + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + + + StaticLibrary + false + $(DefaultPlatformToolset) + Unicode + true + @@ -58,12 +100,24 @@ + + + + + + + + + + + + @@ -98,6 +152,38 @@ true + + + Level3 + true + false + false + MultiThreadedDebug + false + ../../Common/DbgNew.h + _CRTDBG_MAP_ALLOC;_USING_V110_SDK71_;%(PreprocessorDefinitions) + ProgramDatabase + + + true + + + + + Level3 + true + false + false + MultiThreadedDebug + false + ../../Common/DbgNew.h + _CRTDBG_MAP_ALLOC;_USING_V110_SDK71_;%(PreprocessorDefinitions) + ProgramDatabase + + + true + + Level3 @@ -139,6 +225,46 @@ true + + + Level3 + MaxSpeed + true + true + false + true + false + MultiThreaded + true + Speed + false + + + true + true + true + + + + + Level3 + MaxSpeed + true + true + false + true + false + MultiThreaded + true + Speed + false + + + true + true + true + + @@ -159,4 +285,4 @@ - \ No newline at end of file + diff --git a/ext/native/base/logging.h b/ext/native/base/logging.h index 0e5ac59def..9fbd413731 100644 --- a/ext/native/base/logging.h +++ b/ext/native/base/logging.h @@ -25,6 +25,8 @@ inline void Crash() { int *x = (int *)1337; *x = 1; } inline void Crash() { __asm { int 3 }; } #elif defined(_M_ARM) inline void Crash() { int *x = (int *)1337; *x = 1; } +#elif defined(_M_ARM64) +inline void Crash() { int* x = (int*)1337; *x = 1; } #endif #else diff --git a/ext/native/ext/libpng17/arm/filter_neon_intrinsics.c b/ext/native/ext/libpng17/arm/filter_neon_intrinsics.c index e7a09f4364..09c2516a60 100644 --- a/ext/native/ext/libpng17/arm/filter_neon_intrinsics.c +++ b/ext/native/ext/libpng17/arm/filter_neon_intrinsics.c @@ -17,7 +17,11 @@ /* This code requires -mfpu=neon on the command line: */ #if PNG_ARM_NEON_IMPLEMENTATION == 1 /* intrinsics code from pngpriv.h */ +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include +#endif /* libpng row pointers are not necessarily aligned to any particular boundary, * however this code will only work with appropriate alignment. arm/arm_init.c diff --git a/ext/native/ext/libzip/zip.h b/ext/native/ext/libzip/zip.h index 9128d01c4d..af753687bb 100644 --- a/ext/native/ext/libzip/zip.h +++ b/ext/native/ext/libzip/zip.h @@ -41,7 +41,7 @@ #define ZIP_EXTERN // __declspec(dllexport) #endif -#ifdef _M_X64 +#if defined(_M_X64) || defined(_M_ARM64) typedef __int64 ssize_t; #else typedef __int32 ssize_t; diff --git a/ext/native/gfx_es2/gpu_features.cpp b/ext/native/gfx_es2/gpu_features.cpp index 3f8a56b014..00c458b002 100644 --- a/ext/native/gfx_es2/gpu_features.cpp +++ b/ext/native/gfx_es2/gpu_features.cpp @@ -6,6 +6,7 @@ #include "base/logging.h" #include "base/stringutil.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #if !PPSSPP_PLATFORM(UWP) #include "gfx/gl_common.h" @@ -13,6 +14,7 @@ #include "GL/wglew.h" #endif #endif +#endif #include "gfx_es2/gpu_features.h" @@ -119,7 +121,7 @@ void ProcessGPUFeatures() { void CheckGLExtensions() { -#if !PPSSPP_PLATFORM(UWP) +#if !PPSSPP_PLATFORM(UWP) && !defined(_M_ARM64) && !defined(_M_ARM) // Make sure to only do this once. It's okay to call CheckGLExtensions from wherever. if (extensionsDone) @@ -569,7 +571,7 @@ static const char *glsl_fragment_prelude = "#endif\n"; std::string ApplyGLSLPrelude(const std::string &source, uint32_t stage) { -#if !PPSSPP_PLATFORM(UWP) +#if !PPSSPP_PLATFORM(UWP) && !defined(_M_ARM64) && !defined(_M_ARM) std::string temp; std::string version = ""; if (!gl_extensions.IsGLES && gl_extensions.IsCoreContext) { diff --git a/ext/native/math/dataconv.h b/ext/native/math/dataconv.h index 30619fc3f9..fafe6a4a44 100644 --- a/ext/native/math/dataconv.h +++ b/ext/native/math/dataconv.h @@ -10,8 +10,12 @@ #include #endif #if PPSSPP_PLATFORM(ARM_NEON) +#if defined(_MSC_VER) && defined(_M_ARM64) +#include +#else #include #endif +#endif extern const float one_over_255_x4[4]; @@ -160,4 +164,4 @@ inline void ExpandFloat24x3ToFloat4(float dest[4], const uint32_t src[3]) { inline uint32_t BytesToUint32(uint8_t a, uint8_t b, uint8_t c, uint8_t d) { return (a) | (b << 8) | (c << 16) | (d << 24); -} \ No newline at end of file +} diff --git a/ext/native/native.vcxproj b/ext/native/native.vcxproj index 3b5a40afd5..3a7d58e58e 100644 --- a/ext/native/native.vcxproj +++ b/ext/native/native.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -37,6 +53,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + true + StaticLibrary false @@ -50,6 +79,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + true + @@ -59,21 +101,45 @@ + + + + + + + + + + + + + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + + + $(VC_IncludePath);$(WindowsSDK_IncludePath) + @@ -119,6 +185,52 @@ Ws2_32.lib + + + + + Level3 + _CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\ext;..\..;..\..\dx9sdk\Include;..\..\dx9sdk\Include\DX11;..\zlib;..\ext\zlib;..\native;..\RollerballGL;..\glew;..\SDL\include;..\native\ext;%(AdditionalIncludeDirectories); + true + false + false + MultiThreadedDebug + false + ../../Common/DbgNew.h + ProgramDatabase + + + Windows + true + + + Ws2_32.lib + + + + + + + Level3 + _CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\ext;..\..;..\..\dx9sdk\Include;..\..\dx9sdk\Include\DX11;..\zlib;..\ext\zlib;..\native;..\RollerballGL;..\glew;..\SDL\include;..\native\ext;%(AdditionalIncludeDirectories); + true + false + false + MultiThreadedDebug + false + ../../Common/DbgNew.h + ProgramDatabase + + + Windows + true + + + Ws2_32.lib + + Level3 @@ -175,12 +287,74 @@ Ws2_32.lib + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\ext;..\..;..\..\dx9sdk\Include;..\..\dx9sdk\Include\DX11;..\zlib;..\ext\zlib;..\native;..\RollerballGL;..\glew;..\SDL\include;..\native\ext;%(AdditionalIncludeDirectories); + NotSet + Precise + true + false + MultiThreaded + false + true + false + + + Windows + true + true + true + + + Ws2_32.lib + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\ext;..\..;..\..\dx9sdk\Include;..\..\dx9sdk\Include\DX11;..\zlib;..\ext\zlib;..\native;..\RollerballGL;..\glew;..\SDL\include;..\native\ext;%(AdditionalIncludeDirectories); + NotSet + Precise + true + false + MultiThreaded + false + true + false + + + Windows + true + true + true + + + Ws2_32.lib + + true true true + true + true true + true + true @@ -310,13 +484,21 @@ true true true + true + true true + true + true true true true + true + true true + true + true @@ -329,20 +511,42 @@ AnySuitable Speed AnySuitable + AnySuitable + AnySuitable true + true + true Speed + Speed + Speed false + false + false AnySuitable + AnySuitable + AnySuitable Speed + Speed + Speed false + false + false StreamingSIMDExtensions2 Precise StreamingSIMDExtensions2 + StreamingSIMDExtensions2 + StreamingSIMDExtensions2 Precise + Precise + Precise MaxSpeed MaxSpeed + MaxSpeed + MaxSpeed Default Default + Default + Default @@ -366,325 +570,541 @@ CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp CompileAsCpp + CompileAsCpp + CompileAsCpp @@ -719,7 +1139,11 @@ true true true + true + true true + true + true @@ -741,6 +1165,8 @@ AssemblyAndSourceCode + AssemblyAndSourceCode + AssemblyAndSourceCode @@ -772,4 +1198,4 @@ - \ No newline at end of file + diff --git a/ext/zlib/zlib.vcxproj b/ext/zlib/zlib.vcxproj index 7ecc6db1f2..d36394dcb6 100644 --- a/ext/zlib/zlib.vcxproj +++ b/ext/zlib/zlib.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -67,6 +83,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + true + Unicode + $(DefaultPlatformToolset) + true + StaticLibrary false @@ -80,6 +109,19 @@ Unicode $(DefaultPlatformToolset) + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + + + StaticLibrary + false + Unicode + $(DefaultPlatformToolset) + true + @@ -89,12 +131,24 @@ + + + + + + + + + + + + @@ -140,6 +194,50 @@ true + + + + + Level3 + _CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + false + NotSet + Precise + Default + true + false + false + MultiThreadedDebug + ../../Common/DbgNew.h + ProgramDatabase + + + Windows + true + + + + + + + Level3 + _CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + false + NotSet + Precise + Default + true + false + false + MultiThreadedDebug + ../../Common/DbgNew.h + ProgramDatabase + + + Windows + true + + Level3 @@ -192,7 +290,61 @@ true + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + false + AnySuitable + Speed + false + NotSet + Precise + true + false + MultiThreaded + true + + + Windows + true + true + true + + + + + Level3 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + false + AnySuitable + Speed + false + NotSet + Precise + true + false + MultiThreaded + true + + + Windows + true + true + true + + - \ No newline at end of file + diff --git a/ffmpeg b/ffmpeg index 4e8e6a1e7a..90701640c7 160000 --- a/ffmpeg +++ b/ffmpeg @@ -1 +1 @@ -Subproject commit 4e8e6a1e7a9ecb4736b4c96f8b3ef1f0e267080b +Subproject commit 90701640c7f458461310b54e7d4041230e2d5d5a diff --git a/headless/Headless.vcxproj b/headless/Headless.vcxproj index 0fdb7d83c4..09d01ce1e9 100644 --- a/headless/Headless.vcxproj +++ b/headless/Headless.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -38,6 +54,19 @@ Unicode $(DefaultPlatformToolset) + + Application + true + Unicode + $(DefaultPlatformToolset) + + + Application + true + Unicode + $(DefaultPlatformToolset) + true + Application false @@ -51,6 +80,19 @@ Unicode $(DefaultPlatformToolset) + + Application + false + Unicode + $(DefaultPlatformToolset) + + + Application + false + Unicode + $(DefaultPlatformToolset) + true + @@ -60,12 +102,24 @@ + + + + + + + + + + + + true @@ -77,6 +131,16 @@ ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + true + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + true + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + false ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); @@ -87,6 +151,16 @@ ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + false + ..\dx9sdk\Include;$(VC_IncludePath);$(WindowsSdk_IncludePath); + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + NotUsing @@ -151,6 +225,64 @@ Updating git-version.cpp + + + NotUsing + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_64=1;_CONSOLE;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../dx9sdk/Include/DX11;../Common;..;../Core;../ext/glew;../ext/native + NotSet + Precise + false + true + false + false + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + Console + true + Winmm.lib;Ws2_32.lib;dsound.lib;..\ffmpeg\Windows\aarch64\lib\avcodec.lib;..\ffmpeg\Windows\aarch64\lib\avformat.lib;..\ffmpeg\Windows\aarch64\lib\avutil.lib;..\ffmpeg\Windows\aarch64\lib\swresample.lib;..\ffmpeg\Windows\aarch64\lib\swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + + + ../Windows/git-version-gen.cmd + + + Updating git-version.cpp + + + + + NotUsing + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_32=1;_CONSOLE;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../dx9sdk/Include/DX11;../Common;..;../Core;../ext/glew;../ext/native + NotSet + Precise + false + true + false + false + MultiThreadedDebug + Common/DbgNew.h + ProgramDatabase + + + Console + true + shell32.lib;advapi32.lib;gdi32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;..\ffmpeg\Windows\arm\lib\avcodec.lib;..\ffmpeg\Windows\arm\lib\avformat.lib;..\ffmpeg\Windows\arm\lib\avutil.lib;..\ffmpeg\Windows\arm\lib\swresample.lib;..\ffmpeg\Windows\arm\lib\swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + + + ../Windows/git-version-gen.cmd + + + Updating git-version.cpp + + Level3 @@ -221,11 +353,87 @@ Updating git-version.cpp + + + Level3 + NotUsing + true + true + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_64=1;_CONSOLE;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../dx9sdk/Include/DX11;../Common;..;../Core;../ext/glew;../ext/native + false + NotSet + Precise + Speed + false + true + false + MultiThreaded + true + + + Console + true + true + true + Winmm.lib;Ws2_32.lib;dsound.lib;..\ffmpeg\Windows\aarch64\lib\avcodec.lib;..\ffmpeg\Windows\aarch64\lib\avformat.lib;..\ffmpeg\Windows\aarch64\lib\avutil.lib;..\ffmpeg\Windows\aarch64\lib\swresample.lib;..\ffmpeg\Windows\aarch64\lib\swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + + + ../Windows/git-version-gen.cmd + + + Updating git-version.cpp + + + + + Level3 + NotUsing + true + true + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_32=1;_CONSOLE;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../dx9sdk/Include/DX11;../Common;..;../Core;../ext/glew;../ext/native + false + NotSet + Precise + Speed + false + true + false + MultiThreaded + true + + + Console + true + true + true + shell32.lib;advapi32.lib;gdi32.lib;Winmm.lib;Ws2_32.lib;dsound.lib;..\ffmpeg\Windows\arm\lib\avcodec.lib;..\ffmpeg\Windows\arm\lib\avformat.lib;..\ffmpeg\Windows\arm\lib\avutil.lib;..\ffmpeg\Windows\arm\lib\swresample.lib;..\ffmpeg\Windows\arm\lib\swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + + + ../Windows/git-version-gen.cmd + + + Updating git-version.cpp + + - + + true + true + true + true + - + + true + true + true + true + @@ -233,13 +441,21 @@ NotUsing NotUsing NotUsing + NotUsing + NotUsing NotUsing + NotUsing + NotUsing true true true + true + true true + true + true @@ -280,4 +496,4 @@ - \ No newline at end of file + diff --git a/headless/WindowsHeadlessHost.cpp b/headless/WindowsHeadlessHost.cpp index f2172f7238..f25c709629 100644 --- a/headless/WindowsHeadlessHost.cpp +++ b/headless/WindowsHeadlessHost.cpp @@ -26,7 +26,9 @@ #include "Core/System.h" #include "GPU/Common/GPUDebugInterface.h" #include "GPU/GPUState.h" +#if !defined(_M_ARM64) && !defined(_M_ARM) #include "Windows/GPU/WindowsGLContext.h" +#endif #include "Windows/GPU/D3D9Context.h" #include "Windows/GPU/D3D11Context.h" #include "Windows/GPU/WindowsVulkanContext.h" @@ -91,11 +93,12 @@ bool WindowsHeadlessHost::InitGraphics(std::string *error_message, GraphicsConte switch (gpuCore_) { case GPUCORE_NULL: case GPUCORE_GLES: +#if !defined(_M_ARM64) && !defined(_M_ARM) case GPUCORE_SOFTWARE: graphicsContext = new WindowsGLContext(); needRenderThread = true; break; - +#endif case GPUCORE_DIRECTX9: graphicsContext = new D3D9Context(); break; diff --git a/ppsspp_config.h b/ppsspp_config.h index 9d585b70be..91150cbbe7 100644 --- a/ppsspp_config.h +++ b/ppsspp_config.h @@ -53,7 +53,7 @@ #endif #endif -#if defined(__aarch64__) +#if defined(__aarch64__) || defined(_M_ARM64) #define PPSSPP_ARCH_ARM64 1 #define PPSSPP_ARCH_64BIT 1 #define PPSSPP_ARCH_ARM_NEON 1 @@ -80,13 +80,13 @@ #if defined(_WIN32) // Covers both 32 and 64bit Windows #define PPSSPP_PLATFORM_WINDOWS 1 - // UWP trickery + #ifdef _M_ARM + #define PPSSPP_ARCH_ARM_HARDFP 1 + #endif + // UWP trickery #if defined(WINAPI_FAMILY) && defined(WINAPI_FAMILY_PARTITION) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP #define PPSSPP_PLATFORM_UWP 1 - #ifdef _M_ARM - #define PPSSPP_ARCH_ARM_HARDFP 1 - #endif #endif #endif #elif defined(__APPLE__) diff --git a/unittest/UnitTests.vcxproj b/unittest/UnitTests.vcxproj index a18fda2780..19019e726a 100644 --- a/unittest/UnitTests.vcxproj +++ b/unittest/UnitTests.vcxproj @@ -1,6 +1,14 @@ - + + + Debug + ARM + + + Debug + ARM64 + Debug Win32 @@ -9,6 +17,14 @@ Debug x64 + + Release + ARM + + + Release + ARM64 + Release Win32 @@ -38,6 +54,19 @@ $(DefaultPlatformToolset) Unicode + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + true + Application false @@ -51,6 +80,19 @@ $(DefaultPlatformToolset) Unicode + + Application + false + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + Unicode + true + @@ -60,12 +102,24 @@ + + + + + + + + + + + + true @@ -75,6 +129,14 @@ true ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + true + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + true + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + false ..\dx9sdk\Lib\x86;$(VC_LibraryPath_x86);$(WindowsSdk_LibraryPath_x86); @@ -83,6 +145,14 @@ false ..\dx9sdk\Lib\x64;$(VC_LibraryPath_x64);$(WindowsSdk_LibraryPath_x64); + + false + $(VC_LibraryPath_ARM64);$(WindowsSdk_LibraryPath_ARM64); + + + false + $(VC_LibraryPath_ARM);$(WindowsSdk_LibraryPath_ARM); + @@ -128,6 +198,52 @@ ..\ffmpeg\Windows\x86_64\lib + + + + + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_64=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + true + false + false + MultiThreadedDebug + false + Common/DbgNew.h + ProgramDatabase + + + Console + true + Ws2_32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dsound.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + ..\ffmpeg\Windows\aarch64\lib + + + + + + + Level3 + _CRTDBG_MAP_ALLOC;USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_ARCH_32=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + true + false + false + MultiThreadedDebug + false + Common/DbgNew.h + ProgramDatabase + + + Console + true + Ws2_32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dsound.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + ..\ffmpeg\Windows\arm\lib + + Level3 @@ -182,14 +298,86 @@ ..\ffmpeg\Windows\x86_64\lib + + + Level3 + + + MaxSpeed + true + true + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_64=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + false + true + false + MultiThreaded + true + Size + false + + + Console + true + true + true + Ws2_32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dsound.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + ..\ffmpeg\Windows\aarch64\lib + + + + + Level3 + + + MaxSpeed + true + true + USING_WIN_UI;GLEW_STATIC;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_ARCH_32=1;_WINDOWS;_UNICODE;UNICODE;%(PreprocessorDefinitions) + ../ext;../common;..;../ext/native;../ext/glew;../ext/zlib + false + true + false + MultiThreaded + true + Size + false + + + Console + true + true + true + Ws2_32.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;dsound.lib;avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;comctl32.lib;d3d9.lib;dxguid.lib;%(AdditionalDependencies) + /ignore:4049 /ignore:4217 %(AdditionalOptions) + ..\ffmpeg\Windows\arm\lib + + - + + true + true + true + true + - + + true + true + - - + + true + true + + + true + true + true + true + @@ -225,4 +413,4 @@ - \ No newline at end of file +