1 /*-------------------------------------------------------------------------
2 * drawElements Quality Program Tester Core
3 * ----------------------------------------
5 * Copyright 2014 The Android Open Source Project
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 * \brief EGL unique resources
22 *//*--------------------------------------------------------------------*/
24 #include "egluUnique.hpp"
25 #include "eglwLibrary.hpp"
32 UniqueDisplay::UniqueDisplay (const Library& egl, EGLDisplay display)
38 UniqueDisplay::~UniqueDisplay (void)
40 if (m_display != EGL_NO_DISPLAY)
41 m_egl.terminate(m_display);
44 UniqueSurface::UniqueSurface (const Library& egl, EGLDisplay display, EGLSurface surface)
51 UniqueSurface::~UniqueSurface (void)
53 if (m_surface != EGL_NO_SURFACE)
54 m_egl.destroySurface(m_display, m_surface);
57 UniqueContext::UniqueContext (const Library& egl, EGLDisplay display, EGLContext context)
64 UniqueContext::~UniqueContext (void)
66 if (m_context != EGL_NO_CONTEXT)
67 m_egl.destroyContext(m_display, m_context);
70 ScopedCurrentContext::ScopedCurrentContext (const Library& egl, EGLDisplay display, EGLSurface draw, EGLSurface read, EGLContext context)
74 EGLU_CHECK_CALL(m_egl, makeCurrent(display, draw, read, context));
77 ScopedCurrentContext::~ScopedCurrentContext (void)
79 m_egl.makeCurrent(m_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
82 UniqueImage::UniqueImage (const Library& egl, EGLDisplay display, EGLImage image)
89 UniqueImage::~UniqueImage (void)
91 if (m_image != EGL_NO_IMAGE)
92 m_egl.destroyImageKHR(m_display, m_image);