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

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

Issue 2401893002: [wrapper-tracing] WebGL and friends: Add write barriers (Closed)
Patch Set: Rebase 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 42ae0f174622aa2c845a3c5aef464ceef23194ae..7770ea6409f2d0356bcfc5d663b7569261ffab92 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
@@ -227,7 +227,17 @@ WebGL2RenderingContextBase::WebGL2RenderingContextBase(
: WebGLRenderingContextBase(passedCanvas,
std::move(contextProvider),
requestedAttributes,
- 2) {
+ 2),
+ m_readFramebufferBinding(this, nullptr),
+ m_transformFeedbackBinding(this, nullptr),
+ m_boundCopyReadBuffer(this, nullptr),
+ m_boundCopyWriteBuffer(this, nullptr),
+ m_boundPixelPackBuffer(this, nullptr),
+ m_boundPixelUnpackBuffer(this, nullptr),
+ m_boundTransformFeedbackBuffer(this, nullptr),
+ m_boundUniformBuffer(this, nullptr),
+ m_currentBooleanOcclusionQuery(this, nullptr),
+ m_currentTransformFeedbackPrimitivesWrittenQuery(this, nullptr) {
m_supportedInternalFormatsStorage.insert(
kSupportedInternalFormatsStorage,
kSupportedInternalFormatsStorage +
@@ -2849,7 +2859,7 @@ void WebGL2RenderingContextBase::bindSampler(GLuint unit,
return;
}
- m_samplerUnits[unit] = sampler;
+ m_samplerUnits[unit] = TraceWrapperMember<WebGLSampler>(this, sampler);
contextGL()->BindSampler(unit, objectOrZero(sampler));
}
@@ -4042,7 +4052,8 @@ bool WebGL2RenderingContextBase::validateAndUpdateBufferBindBaseTarget(
synthesizeGLError(GL_INVALID_VALUE, functionName, "index out of range");
return false;
}
- m_boundIndexedTransformFeedbackBuffers[index] = buffer;
+ m_boundIndexedTransformFeedbackBuffers[index] =
+ TraceWrapperMember<WebGLBuffer>(this, buffer);
m_boundTransformFeedbackBuffer = buffer;
break;
case GL_UNIFORM_BUFFER:
@@ -4050,7 +4061,8 @@ bool WebGL2RenderingContextBase::validateAndUpdateBufferBindBaseTarget(
synthesizeGLError(GL_INVALID_VALUE, functionName, "index out of range");
return false;
}
- m_boundIndexedUniformBuffers[index] = buffer;
+ m_boundIndexedUniformBuffers[index] =
+ TraceWrapperMember<WebGLBuffer>(this, buffer);
m_boundUniformBuffer = buffer;
// Keep track of what the maximum bound uniform buffer index is

Powered by Google App Engine
This is Rietveld 408576698