diff options
Diffstat (limited to 'gfx/angle/checkout/src/libANGLE/renderer/ContextImpl.cpp')
-rw-r--r-- | gfx/angle/checkout/src/libANGLE/renderer/ContextImpl.cpp | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libANGLE/renderer/ContextImpl.cpp b/gfx/angle/checkout/src/libANGLE/renderer/ContextImpl.cpp new file mode 100644 index 0000000000..952d4ee37a --- /dev/null +++ b/gfx/angle/checkout/src/libANGLE/renderer/ContextImpl.cpp @@ -0,0 +1,88 @@ +// +// 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 "common/third_party/base/anglebase/no_destructor.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::invalidateTexture(gl::TextureType target) +{ + UNREACHABLE(); +} + +angle::Result ContextImpl::onUnMakeCurrent(const gl::Context *context) +{ + return angle::Result::Continue; +} + +angle::Result ContextImpl::handleNoopDrawEvent() +{ + 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); +} + +egl::ContextPriority ContextImpl::getContextPriority() const +{ + return egl::ContextPriority::Medium; +} + +egl::Error ContextImpl::releaseHighPowerGPU(gl::Context *) +{ + return egl::NoError(); +} + +egl::Error ContextImpl::reacquireHighPowerGPU(gl::Context *) +{ + return egl::NoError(); +} + +angle::Result ContextImpl::acquireTextures(const gl::Context *context, + const gl::TextureBarrierVector &textureBarriers) +{ + UNREACHABLE(); + return angle::Result::Stop; +} + +angle::Result ContextImpl::releaseTextures(const gl::Context *context, + gl::TextureBarrierVector *textureBarriers) +{ + UNREACHABLE(); + return angle::Result::Stop; +} + +const angle::PerfMonitorCounterGroups &ContextImpl::getPerfMonitorCounters() +{ + static angle::base::NoDestructor<angle::PerfMonitorCounterGroups> sCounters; + return *sCounters; +} +} // namespace rx |