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

Unified Diff: gpu/command_buffer/service/context_group.h

Issue 812543002: Update from https://crrev.com/308331 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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/context_group.h
diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h
index b6b64830803d1ea2808a9f599bf9e4888ce07a53..f695a3e1a81d429a965abbea62f288a05b13552f 100644
--- a/gpu/command_buffer/service/context_group.h
+++ b/gpu/command_buffer/service/context_group.h
@@ -5,6 +5,7 @@
#ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_GROUP_H_
#define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_GROUP_H_
+#include <map>
#include <string>
#include <vector>
#include "base/basictypes.h"
@@ -174,6 +175,43 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
draw_buffer_ = buf;
}
+ void AddSamplerId(GLuint client_id, GLuint service_id) {
+ samplers_id_map_[client_id] = service_id;
+ }
+
+ bool GetSamplerServiceId(GLuint client_id, GLuint* service_id) const {
+ std::map<GLuint, GLuint>::const_iterator iter =
+ samplers_id_map_.find(client_id);
+ if (iter == samplers_id_map_.end())
+ return false;
+ if (service_id)
+ *service_id = iter->second;
+ return true;
+ }
+
+ void RemoveSamplerId(GLuint client_id) {
+ samplers_id_map_.erase(client_id);
+ }
+
+ void AddTransformFeedbackId(GLuint client_id, GLuint service_id) {
+ transformfeedbacks_id_map_[client_id] = service_id;
+ }
+
+ bool GetTransformFeedbackServiceId(
+ GLuint client_id, GLuint* service_id) const {
+ std::map<GLuint, GLuint>::const_iterator iter =
+ transformfeedbacks_id_map_.find(client_id);
+ if (iter == transformfeedbacks_id_map_.end())
+ return false;
+ if (service_id)
+ *service_id = iter->second;
+ return true;
+ }
+
+ void RemoveTransformFeedbackId(GLuint client_id) {
+ transformfeedbacks_id_map_.erase(client_id);
+ }
+
private:
friend class base::RefCounted<ContextGroup>;
~ContextGroup();
@@ -223,6 +261,10 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
std::vector<base::WeakPtr<gles2::GLES2Decoder> > decoders_;
+ // Mappings from client side IDs to service side IDs.
+ std::map<GLuint, GLuint> samplers_id_map_;
+ std::map<GLuint, GLuint> transformfeedbacks_id_map_;
+
GLenum draw_buffer_;
DISALLOW_COPY_AND_ASSIGN(ContextGroup);
« no previous file with comments | « gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h ('k') | gpu/command_buffer/service/gl_context_virtual.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698