Commit 67938efc by Geoff Lang

Added missing depth swizzle backing formats and fixed compressed texture bit calculation.

Change-Id: I2390ace1fe5297f9fcad0c873c55dae564a09c43 Reviewed-on: https://chromium-review.googlesource.com/181773Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarShannon Woods <shannonwoods@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org>
parent eaa84061
...@@ -742,6 +742,9 @@ static SwizzleInfoMap BuildSwizzleInfoMap() ...@@ -742,6 +742,9 @@ static SwizzleInfoMap BuildSwizzleInfoMap()
SwizzleInfoMap map; SwizzleInfoMap map;
map.insert(SwizzleInfoPair(SwizzleSizeType( 8, GL_UNSIGNED_NORMALIZED), SwizzleFormatInfo(DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM ))); map.insert(SwizzleInfoPair(SwizzleSizeType( 8, GL_UNSIGNED_NORMALIZED), SwizzleFormatInfo(DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_R8G8B8A8_UNORM )));
map.insert(SwizzleInfoPair(SwizzleSizeType(16, GL_UNSIGNED_NORMALIZED), SwizzleFormatInfo(DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM, DXGI_FORMAT_R16G16B16A16_UNORM)));
map.insert(SwizzleInfoPair(SwizzleSizeType(24, GL_UNSIGNED_NORMALIZED), SwizzleFormatInfo(DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT)));
map.insert(SwizzleInfoPair(SwizzleSizeType(32, GL_UNSIGNED_NORMALIZED), SwizzleFormatInfo(DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT, DXGI_FORMAT_R32G32B32A32_FLOAT)));
map.insert(SwizzleInfoPair(SwizzleSizeType( 8, GL_SIGNED_NORMALIZED ), SwizzleFormatInfo(DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM ))); map.insert(SwizzleInfoPair(SwizzleSizeType( 8, GL_SIGNED_NORMALIZED ), SwizzleFormatInfo(DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM, DXGI_FORMAT_R8G8B8A8_SNORM )));
...@@ -793,8 +796,10 @@ static const SwizzleFormatInfo GetSwizzleFormatInfo(GLint internalFormat, GLuint ...@@ -793,8 +796,10 @@ static const SwizzleFormatInfo GetSwizzleFormatInfo(GLint internalFormat, GLuint
if (gl::IsFormatCompressed(internalFormat, clientVersion)) if (gl::IsFormatCompressed(internalFormat, clientVersion))
{ {
maxBits = (gl::GetCompressedBlockWidth(internalFormat, clientVersion) * gl::GetCompressedBlockHeight(internalFormat, clientVersion)) / unsigned int compressedBitsPerBlock = gl::GetPixelBytes(internalFormat, clientVersion) * 8;
(gl::GetPixelBytes(internalFormat, clientVersion) * 8); unsigned int blockSize = gl::GetCompressedBlockWidth(internalFormat, clientVersion) *
gl::GetCompressedBlockHeight(internalFormat, clientVersion);
maxBits = std::max(compressedBitsPerBlock / blockSize, maxBits);
} }
else else
{ {
......
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