diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp b/src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp index 4b97e9c113..58dd44fd95 100644 --- a/src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp +++ b/src/3rdparty/angle/src/libGLESv2/ResourceManager.cpp @@ -1,3 +1,4 @@ +#include "precompiled.h" // // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be @@ -17,9 +18,10 @@ namespace gl { -ResourceManager::ResourceManager() +ResourceManager::ResourceManager(rx::Renderer *renderer) { mRefCount = 1; + mRenderer = renderer; } ResourceManager::~ResourceManager() @@ -80,11 +82,11 @@ GLuint ResourceManager::createShader(GLenum type) if (type == GL_VERTEX_SHADER) { - mShaderMap[handle] = new VertexShader(this, handle); + mShaderMap[handle] = new VertexShader(this, mRenderer, handle); } else if (type == GL_FRAGMENT_SHADER) { - mShaderMap[handle] = new FragmentShader(this, handle); + mShaderMap[handle] = new FragmentShader(this, mRenderer, handle); } else UNREACHABLE(); @@ -96,7 +98,7 @@ GLuint ResourceManager::createProgram() { GLuint handle = mProgramShaderHandleAllocator.allocate(); - mProgramMap[handle] = new Program(this, handle); + mProgramMap[handle] = new Program(mRenderer, this, handle); return handle; } @@ -276,7 +278,7 @@ void ResourceManager::checkBufferAllocation(unsigned int buffer) { if (buffer != 0 && !getBuffer(buffer)) { - Buffer *bufferObject = new Buffer(buffer); + Buffer *bufferObject = new Buffer(mRenderer, buffer); mBufferMap[buffer] = bufferObject; bufferObject->addRef(); } @@ -290,11 +292,11 @@ void ResourceManager::checkTextureAllocation(GLuint texture, TextureType type) if (type == TEXTURE_2D) { - textureObject = new Texture2D(texture); + textureObject = new Texture2D(mRenderer, texture); } else if (type == TEXTURE_CUBE) { - textureObject = new TextureCubeMap(texture); + textureObject = new TextureCubeMap(mRenderer, texture); } else { @@ -311,7 +313,7 @@ void ResourceManager::checkRenderbufferAllocation(GLuint renderbuffer) { if (renderbuffer != 0 && !getRenderbuffer(renderbuffer)) { - Renderbuffer *renderbufferObject = new Renderbuffer(renderbuffer, new Colorbuffer(0, 0, GL_RGBA4, 0)); + Renderbuffer *renderbufferObject = new Renderbuffer(mRenderer, renderbuffer, new Colorbuffer(mRenderer, 0, 0, GL_RGBA4, 0)); mRenderbufferMap[renderbuffer] = renderbufferObject; renderbufferObject->addRef(); } |