diff options
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h index 8f981936ea..6d0b89e6d4 100644 --- a/src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h +++ b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/IndexDataManager.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved. +// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // @@ -11,6 +11,10 @@ #define LIBGLESV2_INDEXDATAMANAGER_H_ #include "common/angleutils.h" +#include "common/mathutil.h" +#include "libGLESv2/Error.h" + +#include <GLES2/gl2.h> namespace { @@ -24,6 +28,7 @@ class Buffer; namespace rx { +class IndexBufferInterface; class StaticIndexBufferInterface; class StreamingIndexBufferInterface; class IndexBuffer; @@ -32,13 +37,13 @@ class Renderer; struct TranslatedIndexData { - unsigned int minIndex; - unsigned int maxIndex; + RangeUI indexRange; unsigned int startIndex; unsigned int startOffset; // In bytes IndexBuffer *indexBuffer; BufferD3D *storage; + GLenum indexType; unsigned int serial; }; @@ -48,17 +53,17 @@ class IndexDataManager explicit IndexDataManager(Renderer *renderer); virtual ~IndexDataManager(); - GLenum prepareIndexData(GLenum type, GLsizei count, gl::Buffer *arrayElementBuffer, const GLvoid *indices, TranslatedIndexData *translated); - StaticIndexBufferInterface *getCountingIndices(GLsizei count); + gl::Error prepareIndexData(GLenum type, GLsizei count, gl::Buffer *arrayElementBuffer, const GLvoid *indices, TranslatedIndexData *translated); private: + gl::Error getStreamingIndexBuffer(GLenum destinationIndexType, IndexBufferInterface **outBuffer); + DISALLOW_COPY_AND_ASSIGN(IndexDataManager); Renderer *const mRenderer; StreamingIndexBufferInterface *mStreamingBufferShort; StreamingIndexBufferInterface *mStreamingBufferInt; - StaticIndexBufferInterface *mCountingBuffer; }; } |