Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: gpu/command_buffer/service/uniform_subscription_manager.cc

Issue 659903002: Add subscribeUniform extension pipeline (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: V2 API Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698