| // 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. | |
| // This file contains the ContextState class. | |
| #ifndef GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ | |
| #define GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ | |
| #include <GLES3/gl3.h> | |
| #include "gles2_impl_export.h" | |
| namespace gpu { | |
| namespace gles2 { | |
| struct GLES2_IMPL_EXPORT ClientContextState { | |
| ClientContextState(); | |
| ~ClientContextState(); | |
| // Returns true if state was cached in which case 'enabled' will be set to the | |
| // current state. | |
| bool GetEnabled(GLenum cap, bool* enabled) const; | |
| // Sets the state of a capability. | |
| // Returns true if the capability is one that is cached. | |
| // 'changed' will be true if the state was different from 'enabled. | |
| bool SetCapabilityState(GLenum cap, bool enabled, bool* changed); | |
| // Cache the user's valid viewport. | |
| void SetViewport(GLint x, GLint y, GLsizei width, GLsizei height); | |
| #include "gpu/command_buffer/client/client_context_state_autogen.h" | |
| EnableFlags enable_flags; | |
| GLint viewport_x = 0; | |
| GLint viewport_y = 0; | |
| GLsizei viewport_width = 0; | |
| GLsizei viewport_height = 0; | |
| }; | |
| } // namespace gles2 | |
| } // namespace gpu | |
| #endif // GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ |