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

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

Issue 1922633002: Implement TransformFeedbackManager in GPU command buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/context_group.h
diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h
index e27dd68827334cc6dfb6c656ea302a98114c35b7..a385abd5bce3c3ac3abbd748d48afa9ebdc1a636 100644
--- a/gpu/command_buffer/service/context_group.h
+++ b/gpu/command_buffer/service/context_group.h
@@ -41,6 +41,7 @@ class ProgramManager;
class SamplerManager;
class ShaderManager;
class TextureManager;
+class TransformFeedbackManager;
class MemoryTracker;
struct DisallowedFeatures;
@@ -191,6 +192,10 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
return sampler_manager_.get();
}
+ TransformFeedbackManager* transform_feedback_manager() const {
+ return transform_feedback_manager_.get();
+ }
+
uint32_t GetMemRepresented() const;
// Loses all the context associated with this group.
@@ -198,31 +203,6 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
bool GetBufferServiceId(GLuint client_id, GLuint* service_id) const;
- void AddTransformFeedbackId(GLuint client_id, GLuint service_id) {
- transformfeedbacks_id_map_[client_id] = service_id;
- }
-
- bool GetTransformFeedbackServiceId(
- GLuint client_id, GLuint* service_id) const {
- if (client_id == 0) {
- // Default one.
- if (service_id)
- *service_id = 0;
- return true;
- }
- base::hash_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);
- }
-
void AddSyncId(GLuint client_id, GLsync service_id) {
syncs_id_map_[client_id] = service_id;
}
@@ -299,12 +279,13 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
std::unique_ptr<SamplerManager> sampler_manager_;
+ std::unique_ptr<TransformFeedbackManager> transform_feedback_manager_;
piman 2016/04/28 01:38:47 So, actually, transform feedback objects are not s
Zhenyao Mo 2016/04/29 21:07:54 Done.
+
scoped_refptr<FeatureInfo> feature_info_;
std::vector<base::WeakPtr<gles2::GLES2Decoder> > decoders_;
// Mappings from client side IDs to service side IDs.
- base::hash_map<GLuint, GLuint> transformfeedbacks_id_map_;
base::hash_map<GLuint, GLsync> syncs_id_map_;
DISALLOW_COPY_AND_ASSIGN(ContextGroup);

Powered by Google App Engine
This is Rietveld 408576698