tor-browser

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

IndexBuffer11.h (1814B)


      1 //
      2 // Copyright 2012 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 // IndexBuffer11.h: Defines the D3D11 IndexBuffer implementation.
      8 
      9 #ifndef LIBANGLE_RENDERER_D3D_D3D11_INDEXBUFFER11_H_
     10 #define LIBANGLE_RENDERER_D3D_D3D11_INDEXBUFFER11_H_
     11 
     12 #include "libANGLE/renderer/d3d/IndexBuffer.h"
     13 #include "libANGLE/renderer/d3d/d3d11/ResourceManager11.h"
     14 
     15 namespace rx
     16 {
     17 class Renderer11;
     18 
     19 class IndexBuffer11 : public IndexBuffer
     20 {
     21  public:
     22    explicit IndexBuffer11(Renderer11 *const renderer);
     23    ~IndexBuffer11() override;
     24 
     25    angle::Result initialize(const gl::Context *context,
     26                             unsigned int bufferSize,
     27                             gl::DrawElementsType indexType,
     28                             bool dynamic) override;
     29 
     30    angle::Result mapBuffer(const gl::Context *context,
     31                            unsigned int offset,
     32                            unsigned int size,
     33                            void **outMappedMemory) override;
     34    angle::Result unmapBuffer(const gl::Context *context) override;
     35 
     36    gl::DrawElementsType getIndexType() const override;
     37    unsigned int getBufferSize() const override;
     38    angle::Result setSize(const gl::Context *context,
     39                          unsigned int bufferSize,
     40                          gl::DrawElementsType indexType) override;
     41 
     42    angle::Result discard(const gl::Context *context) override;
     43 
     44    DXGI_FORMAT getIndexFormat() const;
     45    const d3d11::Buffer &getBuffer() const;
     46 
     47  private:
     48    Renderer11 *const mRenderer;
     49 
     50    d3d11::Buffer mBuffer;
     51    unsigned int mBufferSize;
     52    gl::DrawElementsType mIndexType;
     53    bool mDynamicUsage;
     54 };
     55 
     56 }  // namespace rx
     57 
     58 #endif  // LIBANGLE_RENDERER_D3D_D3D11_INDEXBUFFER11_H_