gfx/angle/src/libGLESv2/renderer/IndexBuffer9.h

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 //
     2 // Copyright (c) 2002-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 //
     7 // Indexffer9.h: Defines the D3D9 IndexBuffer implementation.
     9 #ifndef LIBGLESV2_RENDERER_INDEXBUFFER9_H_
    10 #define LIBGLESV2_RENDERER_INDEXBUFFER9_H_
    12 #include "libGLESv2/renderer/IndexBuffer.h"
    14 namespace rx
    15 {
    16 class Renderer9;
    18 class IndexBuffer9 : public IndexBuffer
    19 {
    20   public:
    21     explicit IndexBuffer9(Renderer9 *const renderer);
    22     virtual ~IndexBuffer9();
    24     virtual bool initialize(unsigned int bufferSize, GLenum indexType, bool dynamic);
    26     static IndexBuffer9 *makeIndexBuffer9(IndexBuffer *indexBuffer);
    28     virtual bool mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory);
    29     virtual bool unmapBuffer();
    31     virtual GLenum getIndexType() const;
    32     virtual unsigned int getBufferSize() const;
    33     virtual bool setSize(unsigned int bufferSize, GLenum indexType);
    35     virtual bool discard();
    37     D3DFORMAT getIndexFormat() const;
    38     IDirect3DIndexBuffer9 *getBuffer() const;
    40   private:
    41     DISALLOW_COPY_AND_ASSIGN(IndexBuffer9);
    43     rx::Renderer9 *const mRenderer;
    45     IDirect3DIndexBuffer9 *mIndexBuffer;
    46     unsigned int mBufferSize;
    47     GLenum mIndexType;
    48     bool mDynamic;
    49 };
    51 }
    53 #endif // LIBGLESV2_RENDERER_INDEXBUFFER9_H_

mercurial