tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

IndexBuffer9.h (1748B)


      1 //
      2 // Copyright 2002 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 
      7 // Indexffer9.h: Defines the D3D9 IndexBuffer implementation.
      8 
      9 #ifndef LIBANGLE_RENDERER_D3D_D3D9_INDEXBUFFER9_H_
     10 #define LIBANGLE_RENDERER_D3D_D3D9_INDEXBUFFER9_H_
     11 
     12 #include "libANGLE/renderer/d3d/IndexBuffer.h"
     13 
     14 namespace rx
     15 {
     16 class Renderer9;
     17 
     18 class IndexBuffer9 : public IndexBuffer
     19 {
     20  public:
     21    explicit IndexBuffer9(Renderer9 *const renderer);
     22    ~IndexBuffer9() override;
     23 
     24    angle::Result initialize(const gl::Context *context,
     25                             unsigned int bufferSize,
     26                             gl::DrawElementsType indexType,
     27                             bool dynamic) override;
     28 
     29    angle::Result mapBuffer(const gl::Context *context,
     30                            unsigned int offset,
     31                            unsigned int size,
     32                            void **outMappedMemory) override;
     33    angle::Result unmapBuffer(const gl::Context *context) override;
     34 
     35    gl::DrawElementsType getIndexType() const override;
     36    unsigned int getBufferSize() const override;
     37    angle::Result setSize(const gl::Context *context,
     38                          unsigned int bufferSize,
     39                          gl::DrawElementsType indexType) override;
     40 
     41    angle::Result discard(const gl::Context *context) override;
     42 
     43    D3DFORMAT getIndexFormat() const;
     44    IDirect3DIndexBuffer9 *getBuffer() const;
     45 
     46  private:
     47    Renderer9 *const mRenderer;
     48 
     49    IDirect3DIndexBuffer9 *mIndexBuffer;
     50    unsigned int mBufferSize;
     51    gl::DrawElementsType mIndexType;
     52    bool mDynamic;
     53 };
     54 
     55 }  // namespace rx
     56 
     57 #endif  // LIBANGLE_RENDERER_D3D_D3D9_INDEXBUFFER9_H_