| Index: gpu/gles2_conform_support/egl/display.h
|
| diff --git a/gpu/gles2_conform_support/egl/display.h b/gpu/gles2_conform_support/egl/display.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eb438faaa5eba7a2b1b6c6b19d69ead5961d959f
|
| --- /dev/null
|
| +++ b/gpu/gles2_conform_support/egl/display.h
|
| @@ -0,0 +1,77 @@
|
| +// Copyright (c) 2011 The Chromium 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 GPU_GLES2_CONFORM_TEST_DISPLAY_H_
|
| +#define GPU_GLES2_CONFORM_TEST_DISPLAY_H_
|
| +
|
| +#include <EGL/egl.h>
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/scoped_ptr.h"
|
| +
|
| +namespace gpu {
|
| +class CommandBufferService;
|
| +class GpuScheduler;
|
| +
|
| +namespace gles2 {
|
| +class GLES2CmdHelper;
|
| +class GLES2Implementation;
|
| +} // namespace gles2
|
| +} // namespace gpu
|
| +
|
| +namespace egl {
|
| +
|
| +class Config;
|
| +class Surface;
|
| +
|
| +class Display {
|
| + public:
|
| + explicit Display(EGLNativeDisplayType display_id);
|
| + virtual ~Display();
|
| +
|
| + bool is_initialized() const { return is_initialized_; }
|
| + bool Initialize();
|
| +
|
| + // Config routines.
|
| + bool IsValidConfig(EGLConfig config);
|
| + bool GetConfigs(EGLConfig* configs, EGLint config_size, EGLint* num_config);
|
| + bool GetConfigAttrib(EGLConfig config, EGLint attribute, EGLint* value);
|
| +
|
| + // Surface routines.
|
| + bool IsValidNativeWindow(EGLNativeWindowType win);
|
| + bool IsValidSurface(EGLSurface surface);
|
| + EGLSurface CreateWindowSurface(EGLConfig config,
|
| + EGLNativeWindowType win,
|
| + const EGLint* attrib_list);
|
| + void DestroySurface(EGLSurface surface);
|
| + void SwapBuffers(EGLSurface surface);
|
| +
|
| + // Context routines.
|
| + bool IsValidContext(EGLContext ctx);
|
| + EGLContext CreateContext(EGLConfig config,
|
| + EGLContext share_ctx,
|
| + const EGLint* attrib_list);
|
| + void DestroyContext(EGLContext ctx);
|
| + bool MakeCurrent(EGLSurface draw, EGLSurface read, EGLContext ctx);
|
| +
|
| + private:
|
| + EGLNativeDisplayType display_id_;
|
| +
|
| + bool is_initialized_;
|
| + scoped_ptr<gpu::CommandBufferService> command_buffer_;
|
| + scoped_ptr<gpu::GpuScheduler> gpu_scheduler_;
|
| + scoped_ptr<gpu::gles2::GLES2CmdHelper> gles2_cmd_helper_;
|
| + int32 transfer_buffer_id_;
|
| +
|
| + // TODO(alokp): Support more than one config, surface, and context.
|
| + scoped_ptr<Config> config_;
|
| + scoped_ptr<Surface> surface_;
|
| + scoped_ptr<gpu::gles2::GLES2Implementation> context_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Display);
|
| +};
|
| +
|
| +} // namespace egl
|
| +
|
| +#endif // GPU_GLES2_CONFORM_TEST_DISPLAY_H_
|
|
|