| Index: ui/gl/gl_context.h
|
| diff --git a/ui/gl/gl_context.h b/ui/gl/gl_context.h
|
| index 0d1aa6d0f40492d74e3f056cc3ffbd53e4a2ef74..742779adca489fe185e6d4a5eb64b6c4ee90b76a 100644
|
| --- a/ui/gl/gl_context.h
|
| +++ b/ui/gl/gl_context.h
|
| @@ -68,6 +68,12 @@ struct GLContextAttribs {
|
| ContextPriority context_priority = ContextPriorityMedium;
|
| };
|
|
|
| +struct GLWorkarounds {
|
| + // glClearColor does not always work on Intel 6xxx Mac drivers. See
|
| + // crbug.com/710443.
|
| + bool clear_to_zero_or_one_broken = false;
|
| +};
|
| +
|
| // Encapsulates an OpenGL context, hiding platform specific management.
|
| class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
| public:
|
| @@ -96,6 +102,9 @@ class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
| // Creates a GPUTimingClient class which abstracts various GPU Timing exts.
|
| virtual scoped_refptr<GPUTimingClient> CreateGPUTimingClient() = 0;
|
|
|
| + // Set the GL workarounds.
|
| + void SetGLWorkarounds(const GLWorkarounds& workarounds);
|
| +
|
| // Gets the GLStateRestorer for the context.
|
| GLStateRestorer* GetGLStateRestorer();
|
|
|
| @@ -222,6 +231,8 @@ class GL_EXPORT GLContext : public base::RefCounted<GLContext> {
|
|
|
| std::unique_ptr<GLVersionInfo> GenerateGLVersionInfo();
|
|
|
| + GLWorkarounds gl_workarounds_;
|
| +
|
| bool static_bindings_initialized_ = false;
|
| bool dynamic_bindings_initialized_ = false;
|
| std::unique_ptr<DriverGL> driver_gl_;
|
|
|