12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // Copyright (c) 2012 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 UI_GL_GL_CONTEXT_STUB_H_
- #define UI_GL_GL_CONTEXT_STUB_H_
- #include "build/build_config.h"
- #include "ui/gl/gl_context.h"
- #include "ui/gl/gl_export.h"
- namespace gl {
- class GLShareGroup;
- // A GLContext that does nothing for unit tests.
- class GL_EXPORT GLContextStub : public GLContextReal {
- public:
- GLContextStub();
- explicit GLContextStub(GLShareGroup* share_group);
- GLContextStub(const GLContextStub&) = delete;
- GLContextStub& operator=(const GLContextStub&) = delete;
- // Implement GLContext.
- bool Initialize(GLSurface* compatible_surface,
- const GLContextAttribs& attribs) override;
- bool MakeCurrentImpl(GLSurface* surface) override;
- void ReleaseCurrent(GLSurface* surface) override;
- bool IsCurrent(GLSurface* surface) override;
- void* GetHandle() override;
- std::string GetGLVersion() override;
- std::string GetGLRenderer() override;
- unsigned int CheckStickyGraphicsResetStatusImpl() override;
- void SetUseStubApi(bool stub_api);
- void SetExtensionsString(const char* extensions);
- void SetGLVersionString(const char* version_str);
- bool HasRobustness();
- #if BUILDFLAG(IS_APPLE)
- void FlushForDriverCrashWorkaround() override;
- #endif
- protected:
- ~GLContextStub() override;
- GLApi* CreateGLApi(DriverGL* driver) override;
- private:
- bool use_stub_api_;
- std::string version_str_;
- unsigned int graphics_reset_status_ = 0; // GL_NO_ERROR
- };
- } // namespace gl
- #endif // UI_GL_GL_CONTEXT_STUB_H_
|