| Index: gpu/command_buffer/service/uniform_subscription_manager.cc
|
| diff --git a/gpu/command_buffer/service/uniform_subscription_manager.cc b/gpu/command_buffer/service/uniform_subscription_manager.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..306c0ec21037e78fb6f13eb3728fc31eaa4070f6
|
| --- /dev/null
|
| +++ b/gpu/command_buffer/service/uniform_subscription_manager.cc
|
| @@ -0,0 +1,55 @@
|
| +// Copyright (c) 2014 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.
|
| +
|
| +#include "gpu/command_buffer/service/uniform_subscription_manager.h"
|
| +
|
| +namespace gpu {
|
| +namespace gles2 {
|
| +
|
| +UniformSubscriptionManager::UniformSubscriptionManager() {
|
| +}
|
| +
|
| +UniformSubscriptionManager::~UniformSubscriptionManager() {
|
| + DCHECK(subscriptions_.empty());
|
| +}
|
| +
|
| +void UniformSubscriptionManager::Destroy(bool have_context) {
|
| + subscriptions_.clear();
|
| +}
|
| +
|
| +void UniformSubscriptionManager::AddSubscription(GLuint client_id,
|
| + GLint location,
|
| + GLenum target) {
|
| + if (subscriptions_.find(client_id) != subscriptions_.end()) {
|
| + subscriptions_.insert(std::make_pair(client_id, ProgramSubscriptions()));
|
| + }
|
| + subscriptions_[client_id].push_back(std::make_pair(target, location));
|
| +}
|
| +
|
| +void UniformSubscriptionManager::ActivateUniformSubscriptionState() {
|
| + // TODO(orglofch)
|
| +}
|
| +
|
| +const UniformSubscriptionManager::ProgramSubscriptions*
|
| +UniformSubscriptionManager::SubscriptionsForProgram(GLuint client_id) {
|
| + SubscriptionMap::iterator it = subscriptions_.find(client_id);
|
| + if (it != subscriptions_.end()) {
|
| + return &it->second;
|
| + } else {
|
| + return NULL;
|
| + }
|
| +}
|
| +
|
| +Program::UniformApiType UniformSubscriptionManager::ApiTypeForTarget(
|
| + GLenum target) {
|
| + switch (target) {
|
| + case GL_MOUSE_POSITION:
|
| + return Program::kUniform2i;
|
| + }
|
| + NOTREACHED() << "Unhandled uniform subscription target " << target;
|
| + return Program::kUniformNone;
|
| +}
|
| +
|
| +} // namespace gles2
|
| +} // namespace gpu
|
|
|