1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // This file contains the ContextState class. 6 7 #ifndef GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ 8 #define GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ 9 10 #include <GLES2/gl2.h> 11 #include <vector> 12 #include "gles2_impl_export.h" 13 14 namespace gpu { 15 namespace gles2 { 16 17 struct GLES2_IMPL_EXPORT ClientContextState { 18 ClientContextState(); 19 ~ClientContextState(); 20 21 // Returns true if state was cached in which case 'enabled' will be set to the 22 // current state. 23 bool GetEnabled(GLenum cap, bool* enabled) const; 24 25 // Sets the state of a capability. 26 // Returns true if the capability is one that is cached. 27 // 'changed' will be true if the state was different from 'enabled. 28 bool SetCapabilityState(GLenum cap, bool enabled, bool* changed); 29 30 #include "gpu/command_buffer/client/client_context_state_autogen.h" 31 32 EnableFlags enable_flags; 33 }; 34 35 } // namespace gles2 36 } // namespace gpu 37 38 #endif // GPU_COMMAND_BUFFER_CLIENT_CLIENT_CONTEXT_STATE_H_ 39 40