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

Unified Diff: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp

Issue 2392313004: [wrapper-tracing] Add tracing to WebGLRenderingContextBase and friends (Closed)
Patch Set: Add WebGL2RenderingContextBase 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: third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
index 9c976e9cd5d6ef6bf64d3e53cde1613394f8050b..26c3491ea2acc60bafef74ac3cc692d4cab48976 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -4261,6 +4261,33 @@ DEFINE_TRACE(WebGL2RenderingContextBase) {
WebGLRenderingContextBase::trace(visitor);
}
+DEFINE_TRACE_WRAPPERS(WebGL2RenderingContextBase) {
Ken Russell (switch to Gerrit) 2016/10/06 19:05:14 It's unfortunate that basically exactly the same c
Michael Lippautz 2016/10/06 19:58:13 It's exactly the code because all members here (an
Ken Russell (switch to Gerrit) 2016/10/07 03:01:50 OK -- sounds fine.
haraken 2016/10/07 04:48:49 Yeah, in general, things traced by traceWrapper()s
+ if (isContextLost()) {
+ return;
+ }
+
+ visitor->traceWrappers(m_transformFeedbackBinding);
+ visitor->traceWrappers(m_readFramebufferBinding);
+ visitor->traceWrappers(m_boundCopyReadBuffer);
+ visitor->traceWrappers(m_boundCopyWriteBuffer);
+ visitor->traceWrappers(m_boundPixelPackBuffer);
+ visitor->traceWrappers(m_boundPixelUnpackBuffer);
+ visitor->traceWrappers(m_boundTransformFeedbackBuffer);
+ visitor->traceWrappers(m_boundUniformBuffer);
+ for (auto& buf : m_boundIndexedTransformFeedbackBuffers) {
+ visitor->traceWrappers(buf);
Ken Russell (switch to Gerrit) 2016/10/06 19:05:14 The tracing of the HeapVectors is different from t
Michael Lippautz 2016/10/06 19:58:13 Regular Oilpan tracing is integrated into HeapVect
+ }
+ for (auto& buf : m_boundIndexedUniformBuffers) {
+ visitor->traceWrappers(buf);
+ }
+ visitor->traceWrappers(m_currentBooleanOcclusionQuery);
+ visitor->traceWrappers(m_currentTransformFeedbackPrimitivesWrittenQuery);
+ for (auto& unit : m_samplerUnits) {
+ visitor->traceWrappers(unit);
+ }
+ WebGLRenderingContextBase::traceWrappers(visitor);
+}
+
WebGLTexture* WebGL2RenderingContextBase::validateTexture3DBinding(
const char* functionName,
GLenum target) {

Powered by Google App Engine
This is Rietveld 408576698