| // |
| // Copyright 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. |
| // |
| |
| // ImageIndex.cpp: Implementation for ImageIndex methods. |
| |
| #include "libGLESv2/ImageIndex.h" |
| #include "libGLESv2/Texture.h" |
| #include "common/utilities.h" |
| |
| namespace gl |
| { |
| |
| ImageIndex::ImageIndex(const ImageIndex &other) |
| : type(other.type), |
| mipIndex(other.mipIndex), |
| layerIndex(other.layerIndex) |
| {} |
| |
| ImageIndex &ImageIndex::operator=(const ImageIndex &other) |
| { |
| type = other.type; |
| mipIndex = other.mipIndex; |
| layerIndex = other.layerIndex; |
| return *this; |
| } |
| |
| ImageIndex ImageIndex::Make2D(GLint mipIndex) |
| { |
| return ImageIndex(GL_TEXTURE_2D, mipIndex, 0); |
| } |
| |
| ImageIndex ImageIndex::MakeCube(GLenum target, GLint mipIndex) |
| { |
| ASSERT(gl::IsCubemapTextureTarget(target)); |
| return ImageIndex(target, mipIndex, TextureCubeMap::targetToLayerIndex(target)); |
| } |
| |
| ImageIndex ImageIndex::Make2DArray(GLint mipIndex, GLint layerIndex) |
| { |
| return ImageIndex(GL_TEXTURE_2D_ARRAY, mipIndex, layerIndex); |
| } |
| |
| ImageIndex ImageIndex::Make3D(GLint mipIndex, GLint layerIndex) |
| { |
| return ImageIndex(GL_TEXTURE_3D, mipIndex, layerIndex); |
| } |
| |
| ImageIndex::ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn) |
| : type(typeIn), |
| mipIndex(mipIndexIn), |
| layerIndex(layerIndexIn) |
| {} |
| |
| } |