blob: d819ea912b8bd16f63bd0007247aed26f9802fd0 [file] [log] [blame]
// 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 <EGL/egl.h>
#include "base/logging.h"
#include "glinterface.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_