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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLTransformFeedback.cpp

Issue 1817323003: Revert of Remove create/delete methods from WebGraphicsContext3D. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@complex-casts
Patch Set: Created 4 years, 9 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/webgl/WebGLTransformFeedback.h" 5 #include "modules/webgl/WebGLTransformFeedback.h"
6 6
7 #include "gpu/command_buffer/client/gles2_interface.h"
8 #include "modules/webgl/WebGL2RenderingContextBase.h" 7 #include "modules/webgl/WebGL2RenderingContextBase.h"
9 8
10 namespace blink { 9 namespace blink {
11 10
12 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas e* ctx) 11 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas e* ctx)
13 { 12 {
14 return new WebGLTransformFeedback(ctx); 13 return new WebGLTransformFeedback(ctx);
15 } 14 }
16 15
17 WebGLTransformFeedback::~WebGLTransformFeedback() 16 WebGLTransformFeedback::~WebGLTransformFeedback()
18 { 17 {
19 // See the comment in WebGLObject::detachAndDeleteObject(). 18 // See the comment in WebGLObject::detachAndDeleteObject().
20 detachAndDeleteObject(); 19 detachAndDeleteObject();
21 } 20 }
22 21
23 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx) 22 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx)
24 : WebGLSharedPlatform3DObject(ctx) 23 : WebGLSharedPlatform3DObject(ctx)
25 , m_target(0) 24 , m_target(0)
26 , m_active(false) 25 , m_active(false)
27 , m_paused(false) 26 , m_paused(false)
28 , m_program(nullptr) 27 , m_program(nullptr)
29 { 28 {
30 GLuint tf; 29 setObject(ctx->webContext()->createTransformFeedback());
31 ctx->contextGL()->GenTransformFeedbacks(1, &tf);
32 setObject(tf);
33 } 30 }
34 31
35 void WebGLTransformFeedback::deleteObjectImpl(WebGraphicsContext3D* context3d, g pu::gles2::GLES2Interface* gl) 32 void WebGLTransformFeedback::deleteObjectImpl(WebGraphicsContext3D* context3d, g pu::gles2::GLES2Interface* gl)
36 { 33 {
37 gl->DeleteTransformFeedbacks(1, &m_object); 34 context3d->deleteTransformFeedback(m_object);
38 m_object = 0; 35 m_object = 0;
39 } 36 }
40 37
41 void WebGLTransformFeedback::setTarget(GLenum target) 38 void WebGLTransformFeedback::setTarget(GLenum target)
42 { 39 {
43 if (m_target) 40 if (m_target)
44 return; 41 return;
45 if (target == GL_TRANSFORM_FEEDBACK) 42 if (target == GL_TRANSFORM_FEEDBACK)
46 m_target = target; 43 m_target = target;
47 } 44 }
(...skipping 13 matching lines...) Expand all
61 m_program = program; 58 m_program = program;
62 } 59 }
63 60
64 DEFINE_TRACE(WebGLTransformFeedback) 61 DEFINE_TRACE(WebGLTransformFeedback)
65 { 62 {
66 visitor->trace(m_program); 63 visitor->trace(m_program);
67 WebGLSharedPlatform3DObject::trace(visitor); 64 WebGLSharedPlatform3DObject::trace(visitor);
68 } 65 }
69 66
70 } // namespace blink 67 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698