// 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_GLX_STUFF_H_
#define BENCH_GL_GLX_STUFF_H_
#include <GL/glx.h>
#include "glinterface.h"
class GLXInterface : public GLInterface {
public:
GLXInterface() : context_(NULL),
fb_config_(NULL) {}
virtual ~GLXInterface() {}
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_;
}
const GLXFBConfig fb_config() const {
return fb_config_;
}
private:
GLXContext context_;
GLXFBConfig fb_config_;
};
#endif // BENCH_GL_GLX_STUFF_H_