Commit ae6495e5 by Jamie Madill

Use rx::ImplFactory in ResourceManager.

This will make mocking easier for unit testing ResourceManager. BUG=angleproject:942 Change-Id: I24b9d0be550991845225141d6e7d5630383a8718 Reviewed-on: https://chromium-review.googlesource.com/258901Tested-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent 87de3627
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
namespace gl namespace gl
{ {
ResourceManager::ResourceManager(rx::Renderer *renderer) ResourceManager::ResourceManager(rx::ImplFactory *factory)
: mRenderer(renderer), : mFactory(factory),
mRefCount(1) mRefCount(1)
{ {
} }
...@@ -94,7 +94,7 @@ GLuint ResourceManager::createShader(const gl::Data &data, GLenum type) ...@@ -94,7 +94,7 @@ GLuint ResourceManager::createShader(const gl::Data &data, GLenum type)
if (type == GL_VERTEX_SHADER || type == GL_FRAGMENT_SHADER) if (type == GL_VERTEX_SHADER || type == GL_FRAGMENT_SHADER)
{ {
mShaderMap[handle] = new Shader(this, mRenderer->createShader(type), type, handle); mShaderMap[handle] = new Shader(this, mFactory->createShader(type), type, handle);
} }
else UNREACHABLE(); else UNREACHABLE();
...@@ -106,7 +106,7 @@ GLuint ResourceManager::createProgram() ...@@ -106,7 +106,7 @@ GLuint ResourceManager::createProgram()
{ {
GLuint handle = mProgramShaderHandleAllocator.allocate(); GLuint handle = mProgramShaderHandleAllocator.allocate();
mProgramMap[handle] = new Program(mRenderer->createProgram(), this, handle); mProgramMap[handle] = new Program(mFactory->createProgram(), this, handle);
return handle; return handle;
} }
...@@ -146,7 +146,7 @@ GLuint ResourceManager::createFenceSync() ...@@ -146,7 +146,7 @@ GLuint ResourceManager::createFenceSync()
{ {
GLuint handle = mFenceSyncHandleAllocator.allocate(); GLuint handle = mFenceSyncHandleAllocator.allocate();
FenceSync *fenceSync = new FenceSync(mRenderer->createFenceSync(), handle); FenceSync *fenceSync = new FenceSync(mFactory->createFenceSync(), handle);
fenceSync->addRef(); fenceSync->addRef();
mFenceSyncMap[handle] = fenceSync; mFenceSyncMap[handle] = fenceSync;
...@@ -360,7 +360,7 @@ void ResourceManager::checkBufferAllocation(unsigned int buffer) ...@@ -360,7 +360,7 @@ void ResourceManager::checkBufferAllocation(unsigned int buffer)
{ {
if (buffer != 0 && !getBuffer(buffer)) if (buffer != 0 && !getBuffer(buffer))
{ {
Buffer *bufferObject = new Buffer(mRenderer->createBuffer(), buffer); Buffer *bufferObject = new Buffer(mFactory->createBuffer(), buffer);
mBufferMap[buffer] = bufferObject; mBufferMap[buffer] = bufferObject;
bufferObject->addRef(); bufferObject->addRef();
} }
...@@ -370,7 +370,7 @@ void ResourceManager::checkTextureAllocation(GLuint texture, GLenum type) ...@@ -370,7 +370,7 @@ void ResourceManager::checkTextureAllocation(GLuint texture, GLenum type)
{ {
if (!getTexture(texture) && texture != 0) if (!getTexture(texture) && texture != 0)
{ {
Texture *textureObject = new Texture(mRenderer->createTexture(type), texture, type); Texture *textureObject = new Texture(mFactory->createTexture(type), texture, type);
mTextureMap[texture] = textureObject; mTextureMap[texture] = textureObject;
textureObject->addRef(); textureObject->addRef();
} }
...@@ -380,7 +380,7 @@ void ResourceManager::checkRenderbufferAllocation(GLuint renderbuffer) ...@@ -380,7 +380,7 @@ void ResourceManager::checkRenderbufferAllocation(GLuint renderbuffer)
{ {
if (renderbuffer != 0 && !getRenderbuffer(renderbuffer)) if (renderbuffer != 0 && !getRenderbuffer(renderbuffer))
{ {
Renderbuffer *renderbufferObject = new Renderbuffer(mRenderer->createRenderbuffer(), renderbuffer); Renderbuffer *renderbufferObject = new Renderbuffer(mFactory->createRenderbuffer(), renderbuffer);
mRenderbufferMap[renderbuffer] = renderbufferObject; mRenderbufferMap[renderbuffer] = renderbufferObject;
renderbufferObject->addRef(); renderbufferObject->addRef();
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
namespace rx namespace rx
{ {
class Renderer; class ImplFactory;
} }
namespace gl namespace gl
...@@ -36,7 +36,7 @@ struct Data; ...@@ -36,7 +36,7 @@ struct Data;
class ResourceManager class ResourceManager
{ {
public: public:
explicit ResourceManager(rx::Renderer *renderer); explicit ResourceManager(rx::ImplFactory *factory);
~ResourceManager(); ~ResourceManager();
void addRef(); void addRef();
...@@ -78,7 +78,7 @@ class ResourceManager ...@@ -78,7 +78,7 @@ class ResourceManager
private: private:
DISALLOW_COPY_AND_ASSIGN(ResourceManager); DISALLOW_COPY_AND_ASSIGN(ResourceManager);
rx::Renderer *mRenderer; rx::ImplFactory *mFactory;
std::size_t mRefCount; std::size_t mRefCount;
typedef std::map<GLuint, Buffer*> BufferMap; typedef std::map<GLuint, Buffer*> BufferMap;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment