Pass gl::Context to impl methods instead of ContextImpl.
In some cases we might have to call back into the GL layer, passing
the Context, and if we just have a ContextImpl pointer this isn't
possible. It also removes the need for SafeGetImpl.
BUG=angleproject:2044
Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6
Reviewed-on: https://chromium-review.googlesource.com/516835
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/FramebufferImpl.h b/src/libANGLE/renderer/FramebufferImpl.h
index b4438f8..c4871bd 100644
--- a/src/libANGLE/renderer/FramebufferImpl.h
+++ b/src/libANGLE/renderer/FramebufferImpl.h
@@ -31,8 +31,8 @@
public:
explicit FramebufferImpl(const gl::FramebufferState &state) : mState(state) {}
virtual ~FramebufferImpl() {}
- virtual void destroy(ContextImpl *contextImpl) {}
- virtual void destroyDefault(DisplayImpl *displayImpl) {}
+ virtual void destroy(const gl::Context *context) {}
+ virtual void destroyDefault(const egl::Display *display) {}
virtual gl::Error discard(size_t count, const GLenum *attachments) = 0;
virtual gl::Error invalidate(size_t count, const GLenum *attachments) = 0;
@@ -40,20 +40,20 @@
const GLenum *attachments,
const gl::Rectangle &area) = 0;
- virtual gl::Error clear(ContextImpl *context, GLbitfield mask) = 0;
- virtual gl::Error clearBufferfv(ContextImpl *context,
+ virtual gl::Error clear(const gl::Context *context, GLbitfield mask) = 0;
+ virtual gl::Error clearBufferfv(const gl::Context *context,
GLenum buffer,
GLint drawbuffer,
const GLfloat *values) = 0;
- virtual gl::Error clearBufferuiv(ContextImpl *context,
+ virtual gl::Error clearBufferuiv(const gl::Context *context,
GLenum buffer,
GLint drawbuffer,
const GLuint *values) = 0;
- virtual gl::Error clearBufferiv(ContextImpl *context,
+ virtual gl::Error clearBufferiv(const gl::Context *context,
GLenum buffer,
GLint drawbuffer,
const GLint *values) = 0;
- virtual gl::Error clearBufferfi(ContextImpl *context,
+ virtual gl::Error clearBufferfi(const gl::Context *context,
GLenum buffer,
GLint drawbuffer,
GLfloat depth,
@@ -61,13 +61,13 @@
virtual GLenum getImplementationColorReadFormat() const = 0;
virtual GLenum getImplementationColorReadType() const = 0;
- virtual gl::Error readPixels(ContextImpl *context,
+ virtual gl::Error readPixels(const gl::Context *context,
const gl::Rectangle &area,
GLenum format,
GLenum type,
void *pixels) const = 0;
- virtual gl::Error blit(ContextImpl *context,
+ virtual gl::Error blit(const gl::Context *context,
const gl::Rectangle &sourceArea,
const gl::Rectangle &destArea,
GLbitfield mask,
@@ -75,7 +75,7 @@
virtual bool checkStatus() const = 0;
- virtual void syncState(ContextImpl *contextImpl,
+ virtual void syncState(const gl::Context *context,
const gl::Framebuffer::DirtyBits &dirtyBits) = 0;
virtual gl::Error getSamplePosition(size_t index, GLfloat *xy) const = 0;