LCOV - code coverage report
Current view: top level - dom/canvas - WebGLTransformFeedback.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 4 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 8 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #ifndef WEBGL_TRANSFORM_FEEDBACK_H_
       7             : #define WEBGL_TRANSFORM_FEEDBACK_H_
       8             : 
       9             : #include "mozilla/LinkedList.h"
      10             : #include "nsWrapperCache.h"
      11             : #include "WebGLObjectModel.h"
      12             : 
      13             : namespace mozilla {
      14             : 
      15             : class WebGLTransformFeedback final
      16             :     : public nsWrapperCache
      17             :     , public WebGLRefCountedObject<WebGLTransformFeedback>
      18             :     , public LinkedListElement<WebGLTransformFeedback>
      19             : {
      20             :     friend class ScopedDrawHelper;
      21             :     friend class ScopedDrawWithTransformFeedback;
      22             :     friend class WebGLContext;
      23             :     friend class WebGL2Context;
      24             :     friend class WebGLProgram;
      25             : 
      26             : public:
      27             :     const GLuint mGLName;
      28             : private:
      29             :     // GLES 3.0.4 p267, Table 6.24 "Transform Feedback State"
      30             :     WebGLRefPtr<WebGLBuffer> mGenericBufferBinding;
      31             :     std::vector<IndexedBufferBinding> mIndexedBindings;
      32             :     bool mIsPaused;
      33             :     bool mIsActive;
      34             :     // Not in state tables:
      35             :     WebGLRefPtr<WebGLProgram> mActive_Program;
      36             :     MOZ_INIT_OUTSIDE_CTOR GLenum mActive_PrimMode;
      37             :     MOZ_INIT_OUTSIDE_CTOR size_t mActive_VertPosition;
      38             :     MOZ_INIT_OUTSIDE_CTOR size_t mActive_VertCapacity;
      39             : 
      40             : public:
      41             :     WebGLTransformFeedback(WebGLContext* webgl, GLuint tf);
      42             : private:
      43             :     ~WebGLTransformFeedback();
      44             : 
      45             : public:
      46           0 :     NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(WebGLTransformFeedback)
      47           0 :     NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(WebGLTransformFeedback)
      48             : 
      49             :     void Delete();
      50           0 :     WebGLContext* GetParentObject() const { return mContext; }
      51             :     virtual JSObject* WrapObject(JSContext*, JS::Handle<JSObject*>) override;
      52             : 
      53           0 :     bool IsActiveAndNotPaused() const { return mIsActive && !mIsPaused; }
      54             : 
      55             :     void AddBufferBindCounts(int8_t addVal) const;
      56             : 
      57             :     // GL Funcs
      58             :     void BeginTransformFeedback(GLenum primMode);
      59             :     void EndTransformFeedback();
      60             :     void PauseTransformFeedback();
      61             :     void ResumeTransformFeedback();
      62             : };
      63             : 
      64             : } // namespace mozilla
      65             : 
      66             : #endif // WEBGL_TRANSFORM_FEEDBACK_H_

Generated by: LCOV version 1.13