From 92a4b90ed0fceeb9240a1436d3ffe1d9164c358a Mon Sep 17 00:00:00 2001 From: "Dr. Chat" Date: Sun, 19 Mar 2017 20:20:43 -0500 Subject: [PATCH] TextureInfo: Use round_up rather than floating point math for calculating tile width. --- src/xenia/gpu/texture_info.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/xenia/gpu/texture_info.cc b/src/xenia/gpu/texture_info.cc index 5c600bc32..5394d3524 100644 --- a/src/xenia/gpu/texture_info.cc +++ b/src/xenia/gpu/texture_info.cc @@ -210,7 +210,7 @@ void TextureInfo::CalculateTextureSizes1D(uint32_t width) { xe::round_up(size_1d.logical_width, format_info->block_width) / format_info->block_width; - uint32_t tile_width = uint32_t(std::ceil(block_width / 32.0f)); + uint32_t tile_width = xe::round_up(block_width, 32) / 32; size_1d.block_width = tile_width * 32; uint32_t bytes_per_block = @@ -250,7 +250,7 @@ void TextureInfo::CalculateTextureSizes2D(uint32_t width, uint32_t height) { // Tiles are 32x32 blocks. The pitch of all textures must a multiple of tile // dimensions. - uint32_t tile_width = uint32_t(std::ceil(block_width / 32.0f)); + uint32_t tile_width = xe::round_up(block_width, 32) / 32; size_2d.block_width = tile_width * 32; size_2d.block_height = block_height; @@ -293,8 +293,8 @@ void TextureInfo::CalculateTextureSizesCube(uint32_t width, uint32_t height, format_info->block_height; // Tiles are 32x32 blocks. All textures must be multiples of tile dimensions. - uint32_t tile_width = uint32_t(std::ceil(block_width / 32.0f)); - uint32_t tile_height = uint32_t(std::ceil(block_height / 32.0f)); + uint32_t tile_width = xe::round_up(block_width, 32) / 32; + uint32_t tile_height = xe::round_up(block_height, 32) / 32; size_cube.block_width = tile_width * 32; size_cube.block_height = tile_height * 32;