mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-21 06:13:07 +01:00
D3D1x: Fixed update surface size when texture is transcoded.
This commit is contained in:
@@ -4751,9 +4751,10 @@ namespace bgfx { namespace d3d11
|
||||
uint32_t rectpitch = _rect.m_width*bpp/8;
|
||||
if (bimg::isCompressed(bimg::TextureFormat::Enum(m_textureFormat)))
|
||||
{
|
||||
const bimg::ImageBlockInfo& blockInfo = bimg::getBlockInfo(bimg::TextureFormat::Enum(m_textureFormat));
|
||||
const bimg::ImageBlockInfo& blockInfo = bimg::getBlockInfo(bimg::TextureFormat::Enum(m_textureFormat) );
|
||||
rectpitch = (_rect.m_width / blockInfo.blockWidth)*blockInfo.blockSize;
|
||||
}
|
||||
|
||||
const uint32_t srcpitch = UINT16_MAX == _pitch ? rectpitch : _pitch;
|
||||
const uint32_t slicepitch = rectpitch*_rect.m_height;
|
||||
|
||||
@@ -4767,6 +4768,9 @@ namespace bgfx { namespace d3d11
|
||||
temp = (uint8_t*)BX_ALLOC(g_allocator, slicepitch);
|
||||
bimg::imageDecodeToBgra8(g_allocator, temp, data, _rect.m_width, _rect.m_height, srcpitch, bimg::TextureFormat::Enum(m_requestedFormat) );
|
||||
data = temp;
|
||||
|
||||
box.right = bx::max(1u, m_width >> _mip);
|
||||
box.bottom = bx::max(1u, m_height >> _mip);
|
||||
}
|
||||
|
||||
deviceCtx->UpdateSubresource(
|
||||
|
||||
Reference in New Issue
Block a user