// // Copyright 2016 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // ContextImpl: // Implementation-specific functionality associated with a GL Context. // #include "libANGLE/renderer/ContextImpl.h" #include "libANGLE/Context.h" namespace rx { ContextImpl::ContextImpl(const gl::State &state, gl::ErrorSet *errorSet) : mState(state), mMemoryProgramCache(nullptr), mErrors(errorSet) {} ContextImpl::~ContextImpl() {} void ContextImpl::stencilFillPath(const gl::Path *path, GLenum fillMode, GLuint mask) { UNREACHABLE(); } void ContextImpl::stencilStrokePath(const gl::Path *path, GLint reference, GLuint mask) { UNREACHABLE(); } void ContextImpl::coverFillPath(const gl::Path *path, GLenum coverMode) { UNREACHABLE(); } void ContextImpl::coverStrokePath(const gl::Path *path, GLenum coverMode) { UNREACHABLE(); } void ContextImpl::stencilThenCoverFillPath(const gl::Path *path, GLenum fillMode, GLuint mask, GLenum coverMode) { UNREACHABLE(); } void ContextImpl::stencilThenCoverStrokePath(const gl::Path *path, GLint reference, GLuint mask, GLenum coverMode) { UNREACHABLE(); } void ContextImpl::coverFillPathInstanced(const std::vector &paths, GLenum coverMode, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::coverStrokePathInstanced(const std::vector &paths, GLenum coverMode, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::stencilFillPathInstanced(const std::vector &paths, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::stencilStrokePathInstanced(const std::vector &paths, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::stencilThenCoverFillPathInstanced(const std::vector &paths, GLenum coverMode, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::stencilThenCoverStrokePathInstanced(const std::vector &paths, GLenum coverMode, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues) { UNREACHABLE(); } void ContextImpl::invalidateTexture(gl::TextureType target) { UNREACHABLE(); } angle::Result ContextImpl::onUnMakeCurrent(const gl::Context *context) { return angle::Result::Continue; } void ContextImpl::setMemoryProgramCache(gl::MemoryProgramCache *memoryProgramCache) { mMemoryProgramCache = memoryProgramCache; } void ContextImpl::handleError(GLenum errorCode, const char *message, const char *file, const char *function, unsigned int line) { std::stringstream errorStream; errorStream << "Internal error: " << gl::FmtHex(errorCode) << ": " << message; mErrors->handleError(errorCode, errorStream.str().c_str(), file, function, line); } } // namespace rx