1 // 2 // Copyright 2016 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // ContextImpl: 7 // Implementation-specific functionality associated with a GL Context. 8 // 9 10 #include "libANGLE/renderer/ContextImpl.h" 11 12 #include "libANGLE/Context.h" 13 14 namespace rx 15 { ContextImpl(const gl::State & state,gl::ErrorSet * errorSet)16 ContextImpl::ContextImpl(const gl::State &state, gl::ErrorSet *errorSet) 17 : mState(state), mMemoryProgramCache(nullptr), mErrors(errorSet) 18 {} 19 ~ContextImpl()20 ContextImpl::~ContextImpl() {} 21 invalidateTexture(gl::TextureType target)22 void ContextImpl::invalidateTexture(gl::TextureType target) 23 { 24 UNREACHABLE(); 25 } 26 onUnMakeCurrent(const gl::Context * context)27 angle::Result ContextImpl::onUnMakeCurrent(const gl::Context *context) 28 { 29 return angle::Result::Continue; 30 } 31 handleNoopDrawEvent()32 angle::Result ContextImpl::handleNoopDrawEvent() 33 { 34 return angle::Result::Continue; 35 } 36 setMemoryProgramCache(gl::MemoryProgramCache * memoryProgramCache)37 void ContextImpl::setMemoryProgramCache(gl::MemoryProgramCache *memoryProgramCache) 38 { 39 mMemoryProgramCache = memoryProgramCache; 40 } 41 handleError(GLenum errorCode,const char * message,const char * file,const char * function,unsigned int line)42 void ContextImpl::handleError(GLenum errorCode, 43 const char *message, 44 const char *file, 45 const char *function, 46 unsigned int line) 47 { 48 std::stringstream errorStream; 49 errorStream << "Internal error: " << gl::FmtHex(errorCode) << ": " << message; 50 mErrors->handleError(errorCode, errorStream.str().c_str(), file, function, line); 51 } 52 getContextPriority() const53 egl::ContextPriority ContextImpl::getContextPriority() const 54 { 55 return egl::ContextPriority::Medium; 56 } 57 releaseHighPowerGPU(gl::Context *)58 egl::Error ContextImpl::releaseHighPowerGPU(gl::Context *) 59 { 60 return egl::NoError(); 61 } 62 reacquireHighPowerGPU(gl::Context *)63 egl::Error ContextImpl::reacquireHighPowerGPU(gl::Context *) 64 { 65 return egl::NoError(); 66 } 67 acquireTextures(const gl::Context * context,const gl::TextureBarrierVector & textureBarriers)68 angle::Result ContextImpl::acquireTextures(const gl::Context *context, 69 const gl::TextureBarrierVector &textureBarriers) 70 { 71 UNREACHABLE(); 72 return angle::Result::Stop; 73 } 74 releaseTextures(const gl::Context * context,gl::TextureBarrierVector * textureBarriers)75 angle::Result ContextImpl::releaseTextures(const gl::Context *context, 76 gl::TextureBarrierVector *textureBarriers) 77 { 78 UNREACHABLE(); 79 return angle::Result::Stop; 80 } 81 82 } // namespace rx 83