diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/ImageIndex.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/ImageIndex.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/ImageIndex.h b/src/3rdparty/angle/src/libANGLE/ImageIndex.h index b527c7c8ab..8e1b010325 100644 --- a/src/3rdparty/angle/src/libANGLE/ImageIndex.h +++ b/src/3rdparty/angle/src/libANGLE/ImageIndex.h @@ -23,37 +23,48 @@ struct ImageIndex GLenum type; GLint mipIndex; GLint layerIndex; + GLint numLayers; ImageIndex(const ImageIndex &other); ImageIndex &operator=(const ImageIndex &other); bool hasLayer() const { return layerIndex != ENTIRE_LEVEL; } + bool is3D() const; static ImageIndex Make2D(GLint mipIndex); + static ImageIndex MakeRectangle(GLint mipIndex); static ImageIndex MakeCube(GLenum target, GLint mipIndex); static ImageIndex Make2DArray(GLint mipIndex, GLint layerIndex); + static ImageIndex Make2DArrayRange(GLint mipIndex, GLint layerIndex, GLint numLayers); static ImageIndex Make3D(GLint mipIndex, GLint layerIndex = ENTIRE_LEVEL); static ImageIndex MakeGeneric(GLenum target, GLint mipIndex); + static ImageIndex Make2DMultisample(); static ImageIndex MakeInvalid(); static const GLint ENTIRE_LEVEL = static_cast<GLint>(-1); bool operator<(const ImageIndex &other) const; + bool operator==(const ImageIndex &other) const; + bool operator!=(const ImageIndex &other) const; private: friend class ImageIndexIterator; - ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn); + ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn, GLint numLayersIn); }; class ImageIndexIterator { public: + ImageIndexIterator(const ImageIndexIterator &other); + static ImageIndexIterator Make2D(GLint minMip, GLint maxMip); + static ImageIndexIterator MakeRectangle(GLint minMip, GLint maxMip); static ImageIndexIterator MakeCube(GLint minMip, GLint maxMip); static ImageIndexIterator Make3D(GLint minMip, GLint maxMip, GLint minLayer, GLint maxLayer); static ImageIndexIterator Make2DArray(GLint minMip, GLint maxMip, const GLsizei *layerCounts); + static ImageIndexIterator Make2DMultisample(); ImageIndex next(); ImageIndex current() const; @@ -65,6 +76,7 @@ class ImageIndexIterator const Range<GLint> &layerRange, const GLsizei *layerCounts); GLint maxLayer() const; + void done(); GLenum mType; Range<GLint> mMipRange; |