Home | History | Annotate | Download | only in libGLESv2
      1 //
      2 // Copyright 2014 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 //
      6 
      7 // ImageIndex.cpp: Implementation for ImageIndex methods.
      8 
      9 #include "libGLESv2/ImageIndex.h"
     10 #include "libGLESv2/Texture.h"
     11 #include "common/utilities.h"
     12 
     13 namespace gl
     14 {
     15 
     16 ImageIndex::ImageIndex(const ImageIndex &other)
     17     : type(other.type),
     18       mipIndex(other.mipIndex),
     19       layerIndex(other.layerIndex)
     20 {}
     21 
     22 ImageIndex &ImageIndex::operator=(const ImageIndex &other)
     23 {
     24     type = other.type;
     25     mipIndex = other.mipIndex;
     26     layerIndex = other.layerIndex;
     27     return *this;
     28 }
     29 
     30 ImageIndex ImageIndex::Make2D(GLint mipIndex)
     31 {
     32     return ImageIndex(GL_TEXTURE_2D, mipIndex, ENTIRE_LEVEL);
     33 }
     34 
     35 ImageIndex ImageIndex::MakeCube(GLenum target, GLint mipIndex)
     36 {
     37     ASSERT(gl::IsCubemapTextureTarget(target));
     38     return ImageIndex(target, mipIndex, TextureCubeMap::targetToLayerIndex(target));
     39 }
     40 
     41 ImageIndex ImageIndex::Make2DArray(GLint mipIndex, GLint layerIndex)
     42 {
     43     return ImageIndex(GL_TEXTURE_2D_ARRAY, mipIndex, layerIndex);
     44 }
     45 
     46 ImageIndex ImageIndex::Make3D(GLint mipIndex, GLint layerIndex)
     47 {
     48     return ImageIndex(GL_TEXTURE_3D, mipIndex, layerIndex);
     49 }
     50 
     51 ImageIndex::ImageIndex(GLenum typeIn, GLint mipIndexIn, GLint layerIndexIn)
     52     : type(typeIn),
     53       mipIndex(mipIndexIn),
     54       layerIndex(layerIndexIn)
     55 {}
     56 
     57 }
     58