Edit

kc3-lang/angle/src/libGLESv2/renderer/d3d/TextureStorage.cpp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2014-09-18 15:08:50
    Hash : 2f06dbfb
    Message : Remove rx::TextureStorageInterface entirely. This class provides no added benefit now that we've scrapped the type-specialized classes. We can squash it's functionality into TextureStorage instead. BUG=angle:741 Change-Id: I04984806719a01f299986265fe09b3cccf04dca5 Reviewed-on: https://chromium-review.googlesource.com/218316 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>

  • src/libGLESv2/renderer/d3d/TextureStorage.cpp
  • //
    // Copyright (c) 2002-2013 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.
    //
    
    // TextureStorage.cpp: Shared members of abstract rx::TextureStorage class.
    
    #include "libGLESv2/renderer/d3d/TextureStorage.h"
    #include "libGLESv2/renderer/d3d/TextureD3D.h"
    #include "libGLESv2/renderer/Renderer.h"
    #include "libGLESv2/Renderbuffer.h"
    #include "libGLESv2/Texture.h"
    
    #include "common/debug.h"
    #include "common/mathutil.h"
    
    namespace rx
    {
    
    unsigned int TextureStorage::mCurrentTextureSerial = 1;
    
    TextureStorage::TextureStorage()
        : mTextureSerial(issueTextureSerial()),
          mFirstRenderTargetSerial(0),
          mRenderTargetSerialsLayerStride(0)
    {}
    
    void TextureStorage::initializeSerials(unsigned int rtSerialsToReserve, unsigned int rtSerialsLayerStride)
    {
        mFirstRenderTargetSerial = gl::RenderbufferStorage::issueSerials(rtSerialsToReserve);
        mRenderTargetSerialsLayerStride = rtSerialsLayerStride;
    }
    
    unsigned int TextureStorage::getRenderTargetSerial(const gl::ImageIndex &index) const
    {
        unsigned int layerOffset = (index.hasLayer() ? (static_cast<unsigned int>(index.layerIndex) * mRenderTargetSerialsLayerStride) : 0);
        return mFirstRenderTargetSerial + static_cast<unsigned int>(index.mipIndex) + layerOffset;
    }
    
    unsigned int TextureStorage::getTextureSerial() const
    {
        return mTextureSerial;
    }
    
    unsigned int TextureStorage::issueTextureSerial()
    {
        return mCurrentTextureSerial++;
    }
    
    }