// Copyright (c) 2010 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BENCH_GL_EGL_STUFF_H_ #define BENCH_GL_EGL_STUFF_H_ #include "base/logging.h" #include "glinterface.h" #include <EGL/egl.h> class EGLInterface : public GLInterface { public: EGLInterface() : display_(EGL_NO_DISPLAY), config_(NULL), surface_(NULL), context_(NULL) { } virtual ~EGLInterface() {} virtual bool Init(); virtual void Cleanup(); virtual XVisualInfo* GetXVisual(); virtual void SwapBuffers(); virtual bool SwapInterval(int interval); virtual void CheckError(); virtual bool MakeCurrent(const GLContext& context); virtual const GLContext CreateContext(); virtual void DeleteContext(const GLContext& context); virtual const GLContext& GetMainContext() { return context_; } void TerminateGL(); const EGLDisplay display() const { return display_; } const EGLSurface surface() const { return surface_; } private: EGLDisplay display_; EGLConfig config_; EGLSurface surface_; EGLContext context_; }; #endif // BENCH_GL_EGL_STUFF_H_