From 9bcadc8029b615d3d447a2a875fd720a73255d11 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 5 Dec 2014 20:54:41 -0500 Subject: [PATCH] Common: Remove locale based functions from CommonFuncs. Since %f isn't used anymore in the shader generators, these can go. --- Source/Core/Common/CommonFuncs.h | 40 ------------------- Source/Core/Common/StringUtil.cpp | 2 +- Source/Core/VideoCommon/GeometryShaderGen.cpp | 18 --------- Source/Core/VideoCommon/PixelShaderGen.cpp | 18 --------- .../VideoCommon/TextureConversionShader.cpp | 12 ------ Source/Core/VideoCommon/VertexShaderGen.cpp | 18 --------- 6 files changed, 1 insertion(+), 107 deletions(-) diff --git a/Source/Core/Common/CommonFuncs.h b/Source/Core/Common/CommonFuncs.h index 91d24ec775..679975e76b 100644 --- a/Source/Core/Common/CommonFuncs.h +++ b/Source/Core/Common/CommonFuncs.h @@ -15,7 +15,6 @@ #include #endif -#include #include #include #include "Common/CommonTypes.h" @@ -109,45 +108,6 @@ inline u64 _rotr64(u64 x, unsigned int shift) #define snprintf _snprintf #define vscprintf _vscprintf -// Locale Cross-Compatibility - #define locale_t _locale_t - #define freelocale _free_locale - #define newlocale(mask, locale, base) _create_locale(mask, locale) - - #define LC_GLOBAL_LOCALE ((locale_t)-1) - #define LC_ALL_MASK LC_ALL - #define LC_COLLATE_MASK LC_COLLATE - #define LC_CTYPE_MASK LC_CTYPE - #define LC_MONETARY_MASK LC_MONETARY - #define LC_NUMERIC_MASK LC_NUMERIC - #define LC_TIME_MASK LC_TIME - - inline locale_t uselocale(locale_t new_locale) - { - // Retrieve the current per thread locale setting - bool bIsPerThread = (_configthreadlocale(0) == _ENABLE_PER_THREAD_LOCALE); - - // Retrieve the current thread-specific locale - locale_t old_locale = bIsPerThread ? _get_current_locale() : LC_GLOBAL_LOCALE; - - if (new_locale == LC_GLOBAL_LOCALE) - { - // Restore the global locale - _configthreadlocale(_DISABLE_PER_THREAD_LOCALE); - } - else if (new_locale != nullptr) - { - // Configure the thread to set the locale only for this thread - _configthreadlocale(_ENABLE_PER_THREAD_LOCALE); - - // Set all locale categories - for (int i = LC_MIN; i <= LC_MAX; i++) - setlocale(i, new_locale->locinfo->lc_category[i].locale); - } - - return old_locale; - } - // 64 bit offsets for windows #define fseeko _fseeki64 #define ftello _ftelli64 diff --git a/Source/Core/Common/StringUtil.cpp b/Source/Core/Common/StringUtil.cpp index d1af64f30e..edc1ca9046 100644 --- a/Source/Core/Common/StringUtil.cpp +++ b/Source/Core/Common/StringUtil.cpp @@ -72,7 +72,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar // will be present in the middle of a multibyte sequence. // // This is why we lookup an ANSI (cp1252) locale here and use _vsnprintf_l. - static locale_t c_locale = nullptr; + static _locale_t c_locale = nullptr; if (!c_locale) c_locale = _create_locale(LC_ALL, ".1252"); writtenCount = _vsnprintf_l(out, outsize, format, c_locale, args); diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp index 83a590a7ed..f9a8704269 100644 --- a/Source/Core/VideoCommon/GeometryShaderGen.cpp +++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp @@ -3,10 +3,6 @@ // Refer to the license.txt file included. #include -#include -#ifdef __APPLE__ - #include -#endif #include "VideoCommon/GeometryShaderGen.h" #include "VideoCommon/LightingShaderGen.h" @@ -26,15 +22,6 @@ static inline void GenerateGeometryShader(T& out, u32 components, API_TYPE ApiTy out.SetBuffer(text); const bool is_writing_shadercode = (out.GetBuffer() != nullptr); -#ifndef ANDROID - locale_t locale; - locale_t old_locale; - if (is_writing_shadercode) - { - locale = newlocale(LC_NUMERIC_MASK, "C", nullptr); // New locale for compilation - old_locale = uselocale(locale); // Apply the locale for this thread - } -#endif if (is_writing_shadercode) text[sizeof(text) - 1] = 0x7C; // canary @@ -115,11 +102,6 @@ static inline void GenerateGeometryShader(T& out, u32 components, API_TYPE ApiTy { if (text[sizeof(text) - 1] != 0x7C) PanicAlert("GeometryShader generator - buffer too small, canary has been eaten!"); - -#ifndef ANDROID - uselocale(old_locale); // restore locale - freelocale(locale); -#endif } } diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp index ae27c3f586..4086343699 100644 --- a/Source/Core/VideoCommon/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/PixelShaderGen.cpp @@ -5,10 +5,6 @@ #include #include #include -#include -#ifdef __APPLE__ - #include -#endif #include "VideoCommon/BoundingBox.h" #include "VideoCommon/BPMemory.h" @@ -160,15 +156,6 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T out.SetBuffer(text); const bool is_writing_shadercode = (out.GetBuffer() != nullptr); -#ifndef ANDROID - locale_t locale; - locale_t old_locale; - if (is_writing_shadercode) - { - locale = newlocale(LC_NUMERIC_MASK, "C", nullptr); // New locale for compilation - old_locale = uselocale(locale); // Apply the locale for this thread - } -#endif if (is_writing_shadercode) text[sizeof(text) - 1] = 0x7C; // canary @@ -596,11 +583,6 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T { if (text[sizeof(text) - 1] != 0x7C) PanicAlert("PixelShader generator - buffer too small, canary has been eaten!"); - -#ifndef ANDROID - uselocale(old_locale); // restore locale - freelocale(locale); -#endif } } diff --git a/Source/Core/VideoCommon/TextureConversionShader.cpp b/Source/Core/VideoCommon/TextureConversionShader.cpp index 1ab973d11b..8734eb42c3 100644 --- a/Source/Core/VideoCommon/TextureConversionShader.cpp +++ b/Source/Core/VideoCommon/TextureConversionShader.cpp @@ -4,10 +4,6 @@ #include #include -#include -#ifdef __APPLE__ - #include -#endif #include "Common/MathUtil.h" #include "VideoCommon/BPMemory.h" @@ -579,10 +575,6 @@ static void WriteZ24Encoder(char*& p, API_TYPE ApiType) const char *GenerateEncodingShader(u32 format,API_TYPE ApiType) { -#ifndef ANDROID - locale_t locale = newlocale(LC_NUMERIC_MASK, "C", nullptr); // New locale for compilation - locale_t old_locale = uselocale(locale); // Apply the locale for this thread -#endif text[sizeof(text) - 1] = 0x7C; // canary char *p = text; @@ -666,10 +658,6 @@ const char *GenerateEncodingShader(u32 format,API_TYPE ApiType) if (text[sizeof(text) - 1] != 0x7C) PanicAlert("TextureConversionShader generator - buffer too small, canary has been eaten!"); -#ifndef ANDROID - uselocale(old_locale); // restore locale - freelocale(locale); -#endif return text; } diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp index 26d6942372..6ce3a453b9 100644 --- a/Source/Core/VideoCommon/VertexShaderGen.cpp +++ b/Source/Core/VideoCommon/VertexShaderGen.cpp @@ -3,10 +3,6 @@ // Refer to the license.txt file included. #include -#include -#ifdef __APPLE__ - #include -#endif #include "VideoCommon/BPMemory.h" #include "VideoCommon/CPMemory.h" @@ -66,15 +62,6 @@ static inline void GenerateVertexShader(T& out, u32 components, API_TYPE api_typ out.SetBuffer(text); const bool is_writing_shadercode = (out.GetBuffer() != nullptr); -#ifndef ANDROID - locale_t locale; - locale_t old_locale; - if (is_writing_shadercode) - { - locale = newlocale(LC_NUMERIC_MASK, "C", nullptr); // New locale for compilation - old_locale = uselocale(locale); // Apply the locale for this thread - } -#endif if (is_writing_shadercode) text[sizeof(text) - 1] = 0x7C; // canary @@ -465,11 +452,6 @@ static inline void GenerateVertexShader(T& out, u32 components, API_TYPE api_typ { if (text[sizeof(text) - 1] != 0x7C) PanicAlert("VertexShader generator - buffer too small, canary has been eaten!"); - -#ifndef ANDROID - uselocale(old_locale); // restore locale - freelocale(locale); -#endif } }