OSDN Git Service

Make Blitter part of Renderer.
authorNicolas Capens <capn@google.com>
Tue, 27 Jun 2017 21:08:08 +0000 (17:08 -0400)
committerNicolas Capens <capn@google.com>
Wed, 28 Jun 2017 14:58:18 +0000 (14:58 +0000)
commit81aa97bd20033674ba28d779c05fbcee1539ebf7
treeb583fac63fc4dd785fc2583b446f62ea34cf959e
parent74a4504e009bf01261835c7dfcdf024664de81d7
Make Blitter part of Renderer.

This fixes two issues. We had a global 'blitter' instance which doesn't
get destroyed until the library us unloaded. This is reported as a
memory leak (albeit benign). Potentially worse is that the singleton was
shared between all threads, and the Routine cache isn't thread safe.

Bug chromium:732691

Change-Id: I7b90d7d2bc67b4a9f78cdf4f54a76fa2f798b7cc
Reviewed-on: https://swiftshader-review.googlesource.com/10128
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
21 files changed:
src/OpenGL/common/Image.cpp
src/OpenGL/common/Image.hpp
src/OpenGL/libEGL/Context.hpp
src/OpenGL/libGLES_CM/Context.cpp
src/OpenGL/libGLES_CM/Context.h
src/OpenGL/libGLES_CM/Texture.cpp
src/OpenGL/libGLES_CM/Texture.h
src/OpenGL/libGLES_CM/libGLES_CM.cpp
src/OpenGL/libGLES_CM/main.cpp
src/OpenGL/libGLESv2/Context.cpp
src/OpenGL/libGLESv2/Context.h
src/OpenGL/libGLESv2/Texture.cpp
src/OpenGL/libGLESv2/Texture.h
src/OpenGL/libGLESv2/libGLESv2.cpp
src/OpenGL/libGLESv2/libGLESv3.cpp
src/OpenGL/libGLESv2/main.cpp
src/Reactor/SubzeroReactor.cpp
src/Renderer/Blitter.cpp
src/Renderer/Blitter.hpp
src/Renderer/Renderer.cpp
src/Renderer/Renderer.hpp