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 14namespace gpu { 15namespace gles2 { 16 17struct 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