MCPcopy Create free account
hub / github.com/defold/defold / NullGetTextureResourceSize

Function NullGetTextureResourceSize

engine/graphics/src/null/graphics_null.cpp:1670–1691  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1668 }
1669
1670 static uint32_t NullGetTextureResourceSize(HContext context, HTexture texture)
1671 {
1672 DM_MUTEX_OPTIONAL_SCOPED_LOCK(g_NullContext->m_BaseContext.m_AssetHandleContainerMutex);
1673 NullTexture* tex = GetAssetFromContainer<NullTexture>(g_NullContext->m_BaseContext.m_AssetHandleContainer, texture);
1674 if (!tex)
1675 {
1676 return 0;
1677 }
1678
1679 uint32_t size_total = 0;
1680 uint32_t size = tex->m_Base.m_Width * tex->m_Base.m_Height * dmMath::Max(1U, GetTextureFormatBitsPerPixel(tex->m_Base.m_Format)/8);
1681 for(uint32_t i = 0; i < tex->m_Base.m_MipMapCount; ++i)
1682 {
1683 size_total += size;
1684 size >>= 2;
1685 }
1686 if (tex->m_Base.m_Type == TEXTURE_TYPE_CUBE_MAP)
1687 {
1688 size_total *= 6;
1689 }
1690 return size_total + sizeof(NullTexture);
1691 }
1692
1693 static void NullEnableTexture(HContext _context, uint32_t unit, uint8_t id_index, HTexture texture)
1694 {

Callers

nothing calls this directly

Calls 2

MaxFunction · 0.50

Tested by

no test coverage detected