diff options
Diffstat (limited to 'src/libGLESv2/renderer/d3d/TextureStorage.cpp')
-rw-r--r-- | src/libGLESv2/renderer/d3d/TextureStorage.cpp | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/src/libGLESv2/renderer/d3d/TextureStorage.cpp b/src/libGLESv2/renderer/d3d/TextureStorage.cpp index b46db145..dedd266c 100644 --- a/src/libGLESv2/renderer/d3d/TextureStorage.cpp +++ b/src/libGLESv2/renderer/d3d/TextureStorage.cpp @@ -17,54 +17,35 @@ namespace rx { -unsigned int TextureStorageInterface::mCurrentTextureSerial = 1; -TextureStorageInterface::TextureStorageInterface(TextureStorage *textureStorage, unsigned int rtSerialLayerStride) +unsigned int TextureStorage::mCurrentTextureSerial = 1; + +TextureStorage::TextureStorage() : mTextureSerial(issueTextureSerial()), - mInstance(textureStorage), - mFirstRenderTargetSerial(gl::RenderbufferStorage::issueSerials(static_cast<unsigned int>(textureStorage->getLevelCount()) * rtSerialLayerStride)), - mRenderTargetSerialsLayerStride(rtSerialLayerStride) + mFirstRenderTargetSerial(0), + mRenderTargetSerialsLayerStride(0) {} -TextureStorageInterface::~TextureStorageInterface() +void TextureStorage::initializeSerials(unsigned int rtSerialsToReserve, unsigned int rtSerialsLayerStride) { - delete mInstance; + mFirstRenderTargetSerial = gl::RenderbufferStorage::issueSerials(rtSerialsToReserve); + mRenderTargetSerialsLayerStride = rtSerialsLayerStride; } -bool TextureStorageInterface::isRenderTarget() const +unsigned int TextureStorage::getRenderTargetSerial(const gl::ImageIndex &index) const { - return mInstance->isRenderTarget(); -} - -bool TextureStorageInterface::isManaged() const -{ - return mInstance->isManaged(); + unsigned int layerOffset = (index.hasLayer() ? (static_cast<unsigned int>(index.layerIndex) * mRenderTargetSerialsLayerStride) : 0); + return mFirstRenderTargetSerial + static_cast<unsigned int>(index.mipIndex) + layerOffset; } -unsigned int TextureStorageInterface::getTextureSerial() const +unsigned int TextureStorage::getTextureSerial() const { return mTextureSerial; } -unsigned int TextureStorageInterface::issueTextureSerial() +unsigned int TextureStorage::issueTextureSerial() { return mCurrentTextureSerial++; } -int TextureStorageInterface::getTopLevel() const -{ - return mInstance->getTopLevel(); -} - -int TextureStorageInterface::getLevelCount() const -{ - return mInstance->getLevelCount(); -} - -unsigned int TextureStorageInterface::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; -} - } |