Fixed link time warnings on MacOS MacOS' linker dislikes local static variables that are used in two separate libraries. Removing them from the header files fixes all the warnings. Bug b/chromium:907088 Change-Id: I7b8ed44bf9a3180489a7407980740fd3f3863046 Reviewed-on: https://swiftshader-review.googlesource.com/c/22889 Tested-by: Alexis Hétu <sugoi@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/OpenGL/libGLESv2/Android.mk b/src/OpenGL/libGLESv2/Android.mk index 747a6b0..2368bd5 100644 --- a/src/OpenGL/libGLESv2/Android.mk +++ b/src/OpenGL/libGLESv2/Android.mk
@@ -54,6 +54,7 @@ utilities.cpp \ VertexArray.cpp \ VertexDataManager.cpp \ + ../../Common/SharedLibrary.cpp COMMON_C_INCLUDES := \ bionic \
diff --git a/src/OpenGL/libGLESv2/BUILD.gn b/src/OpenGL/libGLESv2/BUILD.gn index e6543cf..cf12aaf 100644 --- a/src/OpenGL/libGLESv2/BUILD.gn +++ b/src/OpenGL/libGLESv2/BUILD.gn
@@ -68,6 +68,7 @@ ] sources = [ + "../../Common/SharedLibrary.cpp", "Buffer.cpp", "Context.cpp", "Device.cpp",
diff --git a/src/OpenGL/libGLESv2/Texture.cpp b/src/OpenGL/libGLESv2/Texture.cpp index 0cf4084..d6742d9 100644 --- a/src/OpenGL/libGLESv2/Texture.cpp +++ b/src/OpenGL/libGLESv2/Texture.cpp
@@ -33,6 +33,13 @@ namespace es2 { +egl::Image*& ImageLevels::getNullImage() +{ + static egl::Image* nullImage; + nullImage = nullptr; + return nullImage; +} + Texture::Texture(GLuint name) : egl::Texture(name) { mMinFilter = GL_NEAREST_MIPMAP_LINEAR;
diff --git a/src/OpenGL/libGLESv2/Texture.h b/src/OpenGL/libGLESv2/Texture.h index 4f57d32..f27879d 100644 --- a/src/OpenGL/libGLESv2/Texture.h +++ b/src/OpenGL/libGLESv2/Texture.h
@@ -60,9 +60,7 @@ return image[index]; } - static egl::Image* nullImage; - nullImage = nullptr; - return nullImage; + return getNullImage(); } inline void release() @@ -91,6 +89,7 @@ private: egl::Image *image[IMPLEMENTATION_MAX_TEXTURE_LEVELS] = {}; + static egl::Image*& getNullImage(); }; class Texture : public egl::Texture
diff --git a/src/OpenGL/libGLESv2/libGLESv2.vcxproj b/src/OpenGL/libGLESv2/libGLESv2.vcxproj index 5c0e73e..8748629 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.vcxproj +++ b/src/OpenGL/libGLESv2/libGLESv2.vcxproj
@@ -350,6 +350,7 @@ </ResourceCompile> </ItemDefinitionGroup> <ItemGroup> + <ClCompile Include="..\..\Common\SharedLibrary.cpp" /> <ClCompile Include="..\common\Image.cpp" /> <ClCompile Include="..\common\Object.cpp" /> <ClCompile Include="Buffer.cpp" />
diff --git a/src/OpenGL/libGLESv2/libGLESv2.vcxproj.filters b/src/OpenGL/libGLESv2/libGLESv2.vcxproj.filters index 004a944..295eeca 100644 --- a/src/OpenGL/libGLESv2/libGLESv2.vcxproj.filters +++ b/src/OpenGL/libGLESv2/libGLESv2.vcxproj.filters
@@ -80,6 +80,9 @@ <ClCompile Include="entry_points.cpp"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="..\..\Common\SharedLibrary.cpp"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="Buffer.h">