mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-01 01:54:26 +01:00
[dxvk] Add new helper function to compute mip level extent
We're going to need this outside the DxvkImage class as well.
This commit is contained in:
parent
cdc5e93dac
commit
a82dbf6200
@ -190,11 +190,7 @@ namespace dxvk {
|
||||
* \returns Size of that level
|
||||
*/
|
||||
VkExtent3D mipLevelExtent(uint32_t level) const {
|
||||
VkExtent3D size = m_info.extent;
|
||||
size.width = std::max(1u, size.width >> level);
|
||||
size.height = std::max(1u, size.height >> level);
|
||||
size.depth = std::max(1u, size.depth >> level);
|
||||
return size;
|
||||
return util::computeMipLevelExtent(m_info.extent, level);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -87,6 +87,20 @@ namespace dxvk::util {
|
||||
&& ((extent.depth % blockSize.depth == 0) || (uint32_t(offset.z + extent.depth) == imageSize.depth));
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Computes mip level extent
|
||||
*
|
||||
* \param [in] size Base mip level extent
|
||||
* \param [in] level mip level to compute
|
||||
* \returns Extent of the given mip level
|
||||
*/
|
||||
inline VkExtent3D computeMipLevelExtent(VkExtent3D size, uint32_t level) {
|
||||
size.width = std::max(1u, size.width >> level);
|
||||
size.height = std::max(1u, size.height >> level);
|
||||
size.depth = std::max(1u, size.depth >> level);
|
||||
return size;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Computes block offset for compressed images
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user