diff options
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp')
-rw-r--r-- | Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp new file mode 100644 index 000000000..8061189f0 --- /dev/null +++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp @@ -0,0 +1,55 @@ +// +// Copyright (c) 2014 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. +// + +// DisplayImpl.cpp: Implementation methods of egl::Display + +#include "libANGLE/renderer/DisplayImpl.h" + +#include "libANGLE/Surface.h" + +namespace rx +{ + +DisplayImpl::DisplayImpl() + : mExtensionsInitialized(false), + mCapsInitialized(false) +{ +} + +DisplayImpl::~DisplayImpl() +{ + ASSERT(mSurfaceSet.empty()); +} + +void DisplayImpl::destroySurface(egl::Surface *surface) +{ + mSurfaceSet.erase(surface); + surface->onDestroy(); +} + +const egl::DisplayExtensions &DisplayImpl::getExtensions() const +{ + if (!mExtensionsInitialized) + { + generateExtensions(&mExtensions); + mExtensionsInitialized = true; + } + + return mExtensions; +} + +const egl::Caps &DisplayImpl::getCaps() const +{ + if (!mCapsInitialized) + { + generateCaps(&mCaps); + mCapsInitialized = true; + } + + return mCaps; +} + +} |