1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/angle/src/libGLESv2/renderer/IndexBuffer11.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,53 @@ 1.4 +// 1.5 +// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. 1.6 +// Use of this source code is governed by a BSD-style license that can be 1.7 +// found in the LICENSE file. 1.8 +// 1.9 + 1.10 +// IndexBuffer11.h: Defines the D3D11 IndexBuffer implementation. 1.11 + 1.12 +#ifndef LIBGLESV2_RENDERER_INDEXBUFFER11_H_ 1.13 +#define LIBGLESV2_RENDERER_INDEXBUFFER11_H_ 1.14 + 1.15 +#include "libGLESv2/renderer/IndexBuffer.h" 1.16 + 1.17 +namespace rx 1.18 +{ 1.19 +class Renderer11; 1.20 + 1.21 +class IndexBuffer11 : public IndexBuffer 1.22 +{ 1.23 + public: 1.24 + explicit IndexBuffer11(Renderer11 *const renderer); 1.25 + virtual ~IndexBuffer11(); 1.26 + 1.27 + virtual bool initialize(unsigned int bufferSize, GLenum indexType, bool dynamic); 1.28 + 1.29 + static IndexBuffer11 *makeIndexBuffer11(IndexBuffer *indexBuffer); 1.30 + 1.31 + virtual bool mapBuffer(unsigned int offset, unsigned int size, void** outMappedMemory); 1.32 + virtual bool unmapBuffer(); 1.33 + 1.34 + virtual GLenum getIndexType() const; 1.35 + virtual unsigned int getBufferSize() const; 1.36 + virtual bool setSize(unsigned int bufferSize, GLenum indexType); 1.37 + 1.38 + virtual bool discard(); 1.39 + 1.40 + DXGI_FORMAT getIndexFormat() const; 1.41 + ID3D11Buffer *getBuffer() const; 1.42 + 1.43 + private: 1.44 + DISALLOW_COPY_AND_ASSIGN(IndexBuffer11); 1.45 + 1.46 + rx::Renderer11 *const mRenderer; 1.47 + 1.48 + ID3D11Buffer *mBuffer; 1.49 + unsigned int mBufferSize; 1.50 + GLenum mIndexType; 1.51 + bool mDynamicUsage; 1.52 +}; 1.53 + 1.54 +} 1.55 + 1.56 +#endif // LIBGLESV2_RENDERER_INDEXBUFFER11_H_ 1.57 \ No newline at end of file