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

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

Issue 1814263004: Remove create/delete methods from WebGraphicsContext3D. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@complex-casts
Patch Set: complex-create: rebase 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"
7 #include "modules/webgl/WebGL2RenderingContextBase.h" 8 #include "modules/webgl/WebGL2RenderingContextBase.h"
8 9
9 namespace blink { 10 namespace blink {
10 11
11 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas e* ctx) 12 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas e* ctx)
12 { 13 {
13 return new WebGLTransformFeedback(ctx); 14 return new WebGLTransformFeedback(ctx);
14 } 15 }
15 16
16 WebGLTransformFeedback::~WebGLTransformFeedback() 17 WebGLTransformFeedback::~WebGLTransformFeedback()
17 { 18 {
18 // See the comment in WebGLObject::detachAndDeleteObject(). 19 // See the comment in WebGLObject::detachAndDeleteObject().
19 detachAndDeleteObject(); 20 detachAndDeleteObject();
20 } 21 }
21 22
22 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx) 23 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx)
23 : WebGLSharedPlatform3DObject(ctx) 24 : WebGLSharedPlatform3DObject(ctx)
24 , m_target(0) 25 , m_target(0)
25 , m_active(false) 26 , m_active(false)
26 , m_paused(false) 27 , m_paused(false)
27 , m_program(nullptr) 28 , m_program(nullptr)
28 { 29 {
29 setObject(ctx->webContext()->createTransformFeedback()); 30 GLuint tf;
31 ctx->contextGL()->GenTransformFeedbacks(1, &tf);
32 setObject(tf);
30 } 33 }
31 34
32 void WebGLTransformFeedback::deleteObjectImpl(WebGraphicsContext3D* context3d, g pu::gles2::GLES2Interface* gl) 35 void WebGLTransformFeedback::deleteObjectImpl(WebGraphicsContext3D* context3d, g pu::gles2::GLES2Interface* gl)
33 { 36 {
34 context3d->deleteTransformFeedback(m_object); 37 gl->DeleteTransformFeedbacks(1, &m_object);
35 m_object = 0; 38 m_object = 0;
36 } 39 }
37 40
38 void WebGLTransformFeedback::setTarget(GLenum target) 41 void WebGLTransformFeedback::setTarget(GLenum target)
39 { 42 {
40 if (m_target) 43 if (m_target)
41 return; 44 return;
42 if (target == GL_TRANSFORM_FEEDBACK) 45 if (target == GL_TRANSFORM_FEEDBACK)
43 m_target = target; 46 m_target = target;
44 } 47 }
(...skipping 13 matching lines...) Expand all
58 m_program = program; 61 m_program = program;
59 } 62 }
60 63
61 DEFINE_TRACE(WebGLTransformFeedback) 64 DEFINE_TRACE(WebGLTransformFeedback)
62 { 65 {
63 visitor->trace(m_program); 66 visitor->trace(m_program);
64 WebGLSharedPlatform3DObject::trace(visitor); 67 WebGLSharedPlatform3DObject::trace(visitor);
65 } 68 }
66 69
67 } // namespace blink 70 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698