| OLD | NEW | 
|---|
| 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 "gpu/command_buffer/client/gles2_interface.h" | 
| 8 #include "modules/webgl/WebGL2RenderingContextBase.h" | 8 #include "modules/webgl/WebGL2RenderingContextBase.h" | 
| 9 | 9 | 
| 10 namespace blink { | 10 namespace blink { | 
| 11 | 11 | 
| 12 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas
    e* ctx) | 12 WebGLTransformFeedback* WebGLTransformFeedback::create(WebGL2RenderingContextBas
    e* ctx) | 
| 13 { | 13 { | 
| 14     return new WebGLTransformFeedback(ctx); | 14     return new WebGLTransformFeedback(ctx); | 
| 15 } | 15 } | 
| 16 | 16 | 
| 17 WebGLTransformFeedback::~WebGLTransformFeedback() | 17 WebGLTransformFeedback::~WebGLTransformFeedback() | 
| 18 { | 18 { | 
| 19     // See the comment in WebGLObject::detachAndDeleteObject(). | 19     // See the comment in WebGLObject::detachAndDeleteObject(). | 
| 20     detachAndDeleteObject(); | 20     detachAndDeleteObject(); | 
| 21 } | 21 } | 
| 22 | 22 | 
| 23 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx) | 23 WebGLTransformFeedback::WebGLTransformFeedback(WebGL2RenderingContextBase* ctx) | 
| 24     : WebGLSharedPlatform3DObject(ctx) | 24     : WebGLSharedPlatform3DObject(ctx) | 
| 25     , m_target(0) | 25     , m_target(0) | 
| 26     , m_active(false) |  | 
| 27     , m_paused(false) |  | 
| 28     , m_program(nullptr) | 26     , m_program(nullptr) | 
| 29 { | 27 { | 
| 30     GLuint tf; | 28     GLuint tf; | 
| 31     ctx->contextGL()->GenTransformFeedbacks(1, &tf); | 29     ctx->contextGL()->GenTransformFeedbacks(1, &tf); | 
| 32     setObject(tf); | 30     setObject(tf); | 
| 33 } | 31 } | 
| 34 | 32 | 
| 35 void WebGLTransformFeedback::deleteObjectImpl(gpu::gles2::GLES2Interface* gl) | 33 void WebGLTransformFeedback::deleteObjectImpl(gpu::gles2::GLES2Interface* gl) | 
| 36 { | 34 { | 
| 37     gl->DeleteTransformFeedbacks(1, &m_object); | 35     gl->DeleteTransformFeedbacks(1, &m_object); | 
| 38     m_object = 0; | 36     m_object = 0; | 
| 39 } | 37 } | 
| 40 | 38 | 
| 41 void WebGLTransformFeedback::setTarget(GLenum target) | 39 void WebGLTransformFeedback::setTarget(GLenum target) | 
| 42 { | 40 { | 
| 43     if (m_target) | 41     if (m_target) | 
| 44         return; | 42         return; | 
| 45     if (target == GL_TRANSFORM_FEEDBACK) | 43     if (target == GL_TRANSFORM_FEEDBACK) | 
| 46         m_target = target; | 44         m_target = target; | 
| 47 } | 45 } | 
| 48 | 46 | 
| 49 void WebGLTransformFeedback::setActive(bool active) |  | 
| 50 { |  | 
| 51     m_active = active; |  | 
| 52 } |  | 
| 53 |  | 
| 54 void WebGLTransformFeedback::setPaused(bool paused) |  | 
| 55 { |  | 
| 56     m_paused = paused; |  | 
| 57 } |  | 
| 58 |  | 
| 59 void WebGLTransformFeedback::setProgram(WebGLProgram* program) | 47 void WebGLTransformFeedback::setProgram(WebGLProgram* program) | 
| 60 { | 48 { | 
| 61     m_program = program; | 49     m_program = program; | 
| 62 } | 50 } | 
| 63 | 51 | 
| 64 DEFINE_TRACE(WebGLTransformFeedback) | 52 DEFINE_TRACE(WebGLTransformFeedback) | 
| 65 { | 53 { | 
| 66     visitor->trace(m_program); | 54     visitor->trace(m_program); | 
| 67     WebGLSharedPlatform3DObject::trace(visitor); | 55     WebGLSharedPlatform3DObject::trace(visitor); | 
| 68 } | 56 } | 
| 69 | 57 | 
| 70 } // namespace blink | 58 } // namespace blink | 
| OLD | NEW | 
|---|