Adds a function to the Renderer which will return a newly created Image.

TRAC #22254 Author: Shannon Woods Signed-off-by: Geoff Lang Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1569 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent d9ec9022
......@@ -336,7 +336,7 @@ Texture2D::Texture2D(rx::Renderer *renderer, GLuint id) : Texture(renderer, id)
for (int i = 0; i < IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++i)
{
mImageArray[i] = new rx::Image();
mImageArray[i] = renderer->createImage();
}
}
......@@ -925,7 +925,7 @@ TextureCubeMap::TextureCubeMap(rx::Renderer *renderer, GLuint id) : Texture(rend
for (int j = 0; j < IMPLEMENTATION_MAX_TEXTURE_LEVELS; ++j)
{
mImageArray[i][j] = new rx::Image();
mImageArray[i][j] = renderer->createImage();
}
}
}
......
......@@ -166,6 +166,9 @@ class Renderer
virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type, void *data) = 0;
virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type) = 0;
// Image creation
virtual Image *createImage() = 0;
protected:
bool initializeCompiler();
ID3DBlob *compileToBinary(gl::InfoLog &infoLog, const char *hlsl, const char *profile, bool alternateFlags);
......
......@@ -1250,4 +1250,11 @@ void Renderer11::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsi
return;
}
Image *Renderer11::createImage()
{
// TODO
UNIMPLEMENTED();
return NULL;
}
}
\ No newline at end of file
......@@ -132,6 +132,9 @@ class Renderer11 : public Renderer
virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type, void *data);
virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type);
// Image operations
virtual Image *createImage();
// D3D11-renderer specific methods
ID3D11Device *getDevice() { return mDevice; }
ID3D11DeviceContext *getDeviceContext() { return mDeviceContext; };
......
......@@ -2810,4 +2810,9 @@ bool Renderer9::copyToRenderTarget(IDirect3DSurface9 *dest, IDirect3DSurface9 *s
return true;
}
Image *Renderer9::createImage()
{
return new Image();
}
}
\ No newline at end of file
......@@ -166,6 +166,9 @@ class Renderer9 : public Renderer
virtual ShaderExecutable *loadExecutable(const void *function, size_t length, GLenum type, void *data);
virtual ShaderExecutable *compileToExecutable(gl::InfoLog &infoLog, const char *shaderHLSL, GLenum type);
// Image operations
virtual Image *createImage();
// D3D9-renderer specific methods
bool boxFilter(IDirect3DSurface9 *source, IDirect3DSurface9 *dest);
......
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