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

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

Issue 2378583003: Ping watchdog thread during GpuChannel destruction (Closed)
Patch Set: Fix lifetime and use nullptr Created 4 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/context_group.h
diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h
index 43f2d4124083101c4ad59590ed0826bcb283df18..525bb1e6cc26271868c9eb2165c54284a6d10c4d 100644
--- a/gpu/command_buffer/service/context_group.h
+++ b/gpu/command_buffer/service/context_group.h
@@ -39,6 +39,7 @@ class MailboxManager;
class RenderbufferManager;
class PathManager;
class ProgramManager;
+class ProgressReporter;
class SamplerManager;
class ShaderManager;
class TextureManager;
@@ -59,7 +60,8 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
framebuffer_completeness_cache,
const scoped_refptr<FeatureInfo>& feature_info,
bool bind_generates_resource,
- gpu::ImageFactory* image_factory);
+ gpu::ImageFactory* image_factory,
+ ProgressReporter* progress_reporter);
// This should only be called by GLES2Decoder. This must be paired with a
// call to destroy if it succeeds.
@@ -234,6 +236,7 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
bool QueryGLFeature(GLenum pname, GLint min_required, GLint* v);
bool QueryGLFeatureU(GLenum pname, GLint min_required, uint32_t* v);
bool HaveContexts();
+ void ReportProgress();
const GpuPreferences& gpu_preferences_;
scoped_refptr<MailboxManager> mailbox_manager_;
@@ -294,6 +297,11 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
std::unique_ptr<PassthroughResources> passthrough_resources_;
+ // Used to notify the watchdog thread of progress during destruction,
+ // preventing time-outs when destruction takes a long time. May be null when
+ // using in-process command buffer.
+ ProgressReporter* progress_reporter_;
+
DISALLOW_COPY_AND_ASSIGN(ContextGroup);
};
« no previous file with comments | « no previous file | gpu/command_buffer/service/context_group.cc » ('j') | gpu/command_buffer/service/context_group.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698