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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLProgram.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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 22 matching lines...) Expand all
33 33
34 WebGLProgram* WebGLProgram::create(WebGLRenderingContextBase* ctx) { 34 WebGLProgram* WebGLProgram::create(WebGLRenderingContextBase* ctx) {
35 return new WebGLProgram(ctx); 35 return new WebGLProgram(ctx);
36 } 36 }
37 37
38 WebGLProgram::WebGLProgram(WebGLRenderingContextBase* ctx) 38 WebGLProgram::WebGLProgram(WebGLRenderingContextBase* ctx)
39 : WebGLSharedPlatform3DObject(ctx), 39 : WebGLSharedPlatform3DObject(ctx),
40 m_linkStatus(false), 40 m_linkStatus(false),
41 m_linkCount(0), 41 m_linkCount(0),
42 m_activeTransformFeedbackCount(0), 42 m_activeTransformFeedbackCount(0),
43 m_vertexShader(this, nullptr),
44 m_fragmentShader(this, nullptr),
43 m_infoValid(true) { 45 m_infoValid(true) {
44 setObject(ctx->contextGL()->CreateProgram()); 46 setObject(ctx->contextGL()->CreateProgram());
45 } 47 }
46 48
47 WebGLProgram::~WebGLProgram() { 49 WebGLProgram::~WebGLProgram() {
48 // These heap objects handle detachment on their own. Clear out 50 // These heap objects handle detachment on their own. Clear out
49 // the references to prevent deleteObjectImpl() from trying to do 51 // the references to prevent deleteObjectImpl() from trying to do
50 // same, as we cannot safely access other heap objects from this 52 // same, as we cannot safely access other heap objects from this
51 // destructor. 53 // destructor.
52 m_vertexShader = nullptr; 54 m_vertexShader = nullptr;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 WebGLSharedPlatform3DObject::trace(visitor); 164 WebGLSharedPlatform3DObject::trace(visitor);
163 } 165 }
164 166
165 DEFINE_TRACE_WRAPPERS(WebGLProgram) { 167 DEFINE_TRACE_WRAPPERS(WebGLProgram) {
166 visitor->traceWrappers(m_vertexShader); 168 visitor->traceWrappers(m_vertexShader);
167 visitor->traceWrappers(m_fragmentShader); 169 visitor->traceWrappers(m_fragmentShader);
168 WebGLSharedPlatform3DObject::traceWrappers(visitor); 170 WebGLSharedPlatform3DObject::traceWrappers(visitor);
169 } 171 }
170 172
171 } // namespace blink 173 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698