Commit f61738a5 by Nicolas Capens

Rename lod offset to top level.

BUG=angle:596 Change-Id: Ic256445528d6587adcf0adfd8aaba5e47778988b Reviewed-on: https://chromium-review.googlesource.com/192055Tested-by: 's avatarNicolas Capens <nicolascapens@chromium.org> Reviewed-by: 's avatarShannon Woods <shannonwoods@chromium.org>
parent e47e7363
......@@ -217,16 +217,16 @@ bool Texture::isSwizzled() const
mSamplerState.swizzleAlpha != GL_ALPHA;
}
int Texture::getLodOffset()
int Texture::getTopLevel()
{
rx::TextureStorageInterface *texture = getNativeTexture();
return texture ? texture->getLodOffset() : 0;
return texture ? texture->getTopLevel() : 0;
}
void Texture::getSamplerState(SamplerState *sampler)
{
*sampler = mSamplerState;
sampler->lodOffset = getLodOffset();
sampler->lodOffset = getTopLevel();
}
GLenum Texture::getUsage() const
......
......@@ -96,7 +96,7 @@ class Texture : public RefCountObject
GLenum getSwizzleBlue() const;
GLenum getSwizzleAlpha() const;
bool isSwizzled() const;
int getLodOffset();
int getTopLevel();
void getSamplerState(SamplerState *sampler);
GLenum getUsage() const;
......
......@@ -52,9 +52,9 @@ unsigned int TextureStorageInterface::issueTextureSerial()
return mCurrentTextureSerial++;
}
int TextureStorageInterface::getLodOffset() const
int TextureStorageInterface::getTopLevel() const
{
return mInstance->getLodOffset();
return mInstance->getTopLevel();
}
int TextureStorageInterface::getBaseLevel() const
......
......@@ -25,7 +25,7 @@ class TextureStorage
TextureStorage() {};
virtual ~TextureStorage() {};
virtual int getLodOffset() const = 0;
virtual int getTopLevel() const = 0;
virtual bool isRenderTarget() const = 0;
virtual bool isManaged() const = 0;
virtual int getBaseLevel() const = 0;
......@@ -54,7 +54,7 @@ class TextureStorageInterface
unsigned int getTextureSerial() const;
virtual int getLodOffset() const;
virtual int getTopLevel() const;
virtual bool isRenderTarget() const;
virtual bool isManaged() const;
virtual int getBaseLevel() const;
......
......@@ -48,7 +48,7 @@ bool TextureStorage11::SwizzleCacheValue::operator!=(const SwizzleCacheValue &ot
TextureStorage11::TextureStorage11(Renderer *renderer, int baseLevel, UINT bindFlags)
: mBindFlags(bindFlags),
mLodOffset(0),
mTopLevel(0),
mMipLevels(0),
mBaseLevel(baseLevel),
mTextureFormat(DXGI_FORMAT_UNKNOWN),
......@@ -96,9 +96,10 @@ UINT TextureStorage11::getBindFlags() const
{
return mBindFlags;
}
int TextureStorage11::getLodOffset() const
int TextureStorage11::getTopLevel() const
{
return mLodOffset;
return mTopLevel;
}
bool TextureStorage11::isRenderTarget() const
......@@ -121,7 +122,7 @@ int TextureStorage11::getMaxLevel() const
int levels = 0;
if (getBaseTexture())
{
levels = mMipLevels - getLodOffset();
levels = mMipLevels - getTopLevel();
}
return getBaseLevel() + levels;
}
......@@ -216,7 +217,7 @@ bool TextureStorage11::updateSubresourceLevel(ID3D11Resource *srcTexture, unsign
copyArea.depth == texSize.depth;
ID3D11Resource *dstTexture = getBaseTexture();
unsigned int dstSubresource = getSubresourceIndex(level + mLodOffset, layerTarget);
unsigned int dstSubresource = getSubresourceIndex(level + mTopLevel, layerTarget);
ASSERT(dstTexture);
......@@ -355,14 +356,14 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, int baseLevel, int
if (width > 0 && height > 0)
{
// adjust size if needed for compressed textures
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mLodOffset);
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mTopLevel);
ID3D11Device *device = mRenderer->getDevice();
D3D11_TEXTURE2D_DESC desc;
desc.Width = width; // Compressed texture size constraints?
desc.Height = height;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = 1;
desc.Format = mTextureFormat;
desc.SampleDesc.Count = 1;
......@@ -519,7 +520,7 @@ ID3D11ShaderResourceView *TextureStorage11_2D::getSRV(const gl::SamplerState &sa
srvDesc.Format = (swizzleRequired ? mSwizzleShaderResourceFormat : mShaderResourceFormat);
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2D;
srvDesc.Texture2D.MipLevels = mipmapping ? (mMipLevels == 0 ? -1 : mMipLevels) : 1;
srvDesc.Texture2D.MostDetailedMip = mLodOffset;
srvDesc.Texture2D.MostDetailedMip = mTopLevel;
ID3D11Texture2D *sourceTexture = swizzleRequired ? getSwizzleTexture() : mTexture;
HRESULT result = device->CreateShaderResourceView(sourceTexture, &srvDesc, resultSRV);
......@@ -553,7 +554,7 @@ ID3D11Texture2D *TextureStorage11_2D::getSwizzleTexture()
D3D11_TEXTURE2D_DESC desc;
desc.Width = mTextureWidth;
desc.Height = mTextureHeight;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = 1;
desc.Format = mSwizzleTextureFormat;
desc.SampleDesc.Count = 1;
......@@ -676,14 +677,14 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, int baseLevel,
{
// adjust size if needed for compressed textures
int height = size;
d3d11::MakeValidSize(false, mTextureFormat, &size, &height, &mLodOffset);
d3d11::MakeValidSize(false, mTextureFormat, &size, &height, &mTopLevel);
ID3D11Device *device = mRenderer->getDevice();
D3D11_TEXTURE2D_DESC desc;
desc.Width = size;
desc.Height = size;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = 6;
desc.Format = mTextureFormat;
desc.SampleDesc.Count = 1;
......@@ -859,7 +860,7 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::getSRV(const gl::SamplerState &
d3d11::GetComponentType(mTextureFormat) == GL_UNSIGNED_INT)
{
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY;
srvDesc.Texture2DArray.MostDetailedMip = mLodOffset;
srvDesc.Texture2DArray.MostDetailedMip = mTopLevel;
srvDesc.Texture2DArray.MipLevels = 1;
srvDesc.Texture2DArray.FirstArraySlice = 0;
srvDesc.Texture2DArray.ArraySize = 6;
......@@ -868,7 +869,7 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::getSRV(const gl::SamplerState &
{
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURECUBE;
srvDesc.TextureCube.MipLevels = mipmapping ? (mMipLevels == 0 ? -1 : mMipLevels) : 1;
srvDesc.TextureCube.MostDetailedMip = mLodOffset;
srvDesc.TextureCube.MostDetailedMip = mTopLevel;
}
ID3D11Texture2D *sourceTexture = swizzleRequired ? getSwizzleTexture() : mTexture;
......@@ -903,7 +904,7 @@ ID3D11Texture2D *TextureStorage11_Cube::getSwizzleTexture()
D3D11_TEXTURE2D_DESC desc;
desc.Width = mTextureWidth;
desc.Height = mTextureHeight;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = 6;
desc.Format = mSwizzleTextureFormat;
desc.SampleDesc.Count = 1;
......@@ -1027,7 +1028,7 @@ TextureStorage11_3D::TextureStorage11_3D(Renderer *renderer, int baseLevel, int
if (width > 0 && height > 0 && depth > 0)
{
// adjust size if needed for compressed textures
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mLodOffset);
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mTopLevel);
ID3D11Device *device = mRenderer->getDevice();
......@@ -1035,7 +1036,7 @@ TextureStorage11_3D::TextureStorage11_3D(Renderer *renderer, int baseLevel, int
desc.Width = width;
desc.Height = height;
desc.Depth = depth;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.Format = mTextureFormat;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = getBindFlags();
......@@ -1121,7 +1122,7 @@ ID3D11ShaderResourceView *TextureStorage11_3D::getSRV(const gl::SamplerState &sa
srvDesc.Format = (swizzleRequired ? mSwizzleShaderResourceFormat : mShaderResourceFormat);
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE3D;
srvDesc.Texture3D.MipLevels = mipmapping ? (mMipLevels == 0 ? -1 : mMipLevels) : 1;
srvDesc.Texture3D.MostDetailedMip = mLodOffset;
srvDesc.Texture3D.MostDetailedMip = mTopLevel;
ID3D11Texture3D *sourceTexture = swizzleRequired ? getSwizzleTexture() : mTexture;
HRESULT result = device->CreateShaderResourceView(sourceTexture, &srvDesc, resultSRV);
......@@ -1260,7 +1261,7 @@ ID3D11Texture3D *TextureStorage11_3D::getSwizzleTexture()
desc.Width = mTextureWidth;
desc.Height = mTextureHeight;
desc.Depth = mTextureDepth;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.Format = mSwizzleTextureFormat;
desc.Usage = D3D11_USAGE_DEFAULT;
desc.BindFlags = D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET;
......@@ -1379,14 +1380,14 @@ TextureStorage11_2DArray::TextureStorage11_2DArray(Renderer *renderer, int baseL
if (width > 0 && height > 0 && depth > 0)
{
// adjust size if needed for compressed textures
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mLodOffset);
d3d11::MakeValidSize(false, mTextureFormat, &width, &height, &mTopLevel);
ID3D11Device *device = mRenderer->getDevice();
D3D11_TEXTURE2D_DESC desc;
desc.Width = width;
desc.Height = height;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = depth;
desc.Format = mTextureFormat;
desc.SampleDesc.Count = 1;
......@@ -1473,7 +1474,7 @@ ID3D11ShaderResourceView *TextureStorage11_2DArray::getSRV(const gl::SamplerStat
D3D11_SHADER_RESOURCE_VIEW_DESC srvDesc;
srvDesc.Format = (swizzleRequired ? mSwizzleShaderResourceFormat : mShaderResourceFormat);
srvDesc.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY;
srvDesc.Texture2DArray.MostDetailedMip = mLodOffset;
srvDesc.Texture2DArray.MostDetailedMip = mTopLevel;
srvDesc.Texture2DArray.MipLevels = mipmapping ? (mMipLevels == 0 ? -1 : mMipLevels) : 1;
srvDesc.Texture2DArray.FirstArraySlice = 0;
srvDesc.Texture2DArray.ArraySize = mTextureDepth;
......@@ -1579,7 +1580,7 @@ ID3D11Texture2D *TextureStorage11_2DArray::getSwizzleTexture()
D3D11_TEXTURE2D_DESC desc;
desc.Width = mTextureWidth;
desc.Height = mTextureHeight;
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mLodOffset) : 0);
desc.MipLevels = ((levelCount() > 0) ? (levelCount() + mTopLevel) : 0);
desc.ArraySize = mTextureDepth;
desc.Format = mSwizzleTextureFormat;
desc.SampleDesc.Count = 1;
......
......@@ -41,7 +41,7 @@ class TextureStorage11 : public TextureStorage
virtual void generateMipmap(int level) {};
virtual void generateMipmap(int face, int level) {};
virtual int getLodOffset() const;
virtual int getTopLevel() const;
virtual bool isRenderTarget() const;
virtual bool isManaged() const;
virtual int getBaseLevel() const;
......@@ -71,7 +71,7 @@ class TextureStorage11 : public TextureStorage
virtual unsigned int getTextureLevelDepth(int mipLevel) const = 0;
Renderer11 *mRenderer;
int mLodOffset;
int mTopLevel;
unsigned int mMipLevels;
int mBaseLevel;
......
......@@ -21,7 +21,7 @@
namespace rx
{
TextureStorage9::TextureStorage9(Renderer *renderer, int baseLevel, DWORD usage)
: mLodOffset(0),
: mTopLevel(0),
mBaseLevel(baseLevel),
mRenderer(Renderer9::makeRenderer9(renderer)),
mD3DUsage(usage),
......@@ -79,9 +79,9 @@ DWORD TextureStorage9::getUsage() const
return mD3DUsage;
}
int TextureStorage9::getLodOffset() const
int TextureStorage9::getTopLevel() const
{
return mLodOffset;
return mTopLevel;
}
int TextureStorage9::getBaseLevel() const
......@@ -91,7 +91,7 @@ int TextureStorage9::getBaseLevel() const
int TextureStorage9::getMaxLevel() const
{
return getBaseLevel() + (getBaseTexture() ? getBaseTexture()->GetLevelCount() - getLodOffset() : 0);
return getBaseLevel() + (getBaseTexture() ? getBaseTexture()->GetLevelCount() - getTopLevel() : 0);
}
TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, SwapChain9 *swapchain)
......@@ -115,8 +115,8 @@ TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, int baseLevel, int ma
{
IDirect3DDevice9 *device = mRenderer->getDevice();
D3DFORMAT format = gl_d3d9::GetTextureFormat(internalformat, mRenderer);
d3d9::MakeValidSize(false, format, &width, &height, &mLodOffset);
UINT creationLevels = (maxLevel ? maxLevel + mLodOffset : 0);
d3d9::MakeValidSize(false, format, &width, &height, &mTopLevel);
UINT creationLevels = (maxLevel ? maxLevel + mTopLevel : 0);
HRESULT result = device->CreateTexture(width, height, creationLevels, getUsage(), format, getPool(), &mTexture, NULL);
......@@ -150,11 +150,11 @@ IDirect3DSurface9 *TextureStorage9_2D::getSurfaceLevel(int level, bool dirty)
if (mTexture)
{
HRESULT result = mTexture->GetSurfaceLevel(level + mLodOffset, &surface);
HRESULT result = mTexture->GetSurfaceLevel(level + mTopLevel, &surface);
ASSERT(SUCCEEDED(result));
// With managed textures the driver needs to be informed of updates to the lower mipmap levels
if (level + mLodOffset != 0 && isManaged() && dirty)
if (level + mTopLevel != 0 && isManaged() && dirty)
{
mTexture->AddDirtyRect(NULL);
}
......@@ -215,8 +215,8 @@ TextureStorage9_Cube::TextureStorage9_Cube(Renderer *renderer, int baseLevel, in
IDirect3DDevice9 *device = mRenderer->getDevice();
int height = size;
D3DFORMAT format = gl_d3d9::GetTextureFormat(internalformat, mRenderer);
d3d9::MakeValidSize(false, format, &size, &height, &mLodOffset);
UINT creationLevels = (maxLevel ? maxLevel + mLodOffset : 0);
d3d9::MakeValidSize(false, format, &size, &height, &mTopLevel);
UINT creationLevels = (maxLevel ? maxLevel + mTopLevel : 0);
HRESULT result = device->CreateCubeTexture(size, creationLevels, getUsage(), format, getPool(), &mTexture, NULL);
......@@ -255,7 +255,7 @@ IDirect3DSurface9 *TextureStorage9_Cube::getCubeMapSurface(GLenum faceTarget, in
if (mTexture)
{
D3DCUBEMAP_FACES face = gl_d3d9::ConvertCubeFace(faceTarget);
HRESULT result = mTexture->GetCubeMapSurface(face, level + mLodOffset, &surface);
HRESULT result = mTexture->GetCubeMapSurface(face, level + mTopLevel, &surface);
ASSERT(SUCCEEDED(result));
// With managed textures the driver needs to be informed of updates to the lower mipmap levels
......
......@@ -40,14 +40,14 @@ class TextureStorage9 : public TextureStorage
virtual void generateMipmap(int level) {};
virtual void generateMipmap(int face, int level) {};
virtual int getLodOffset() const;
virtual int getTopLevel() const;
virtual bool isRenderTarget() const;
virtual bool isManaged() const;
virtual int getBaseLevel() const;
virtual int getMaxLevel() const;
protected:
int mLodOffset;
int mTopLevel;
int mBaseLevel;
Renderer9 *mRenderer;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment