anv/image: Minify before dividing by block dimensions

This commit is contained in:
Jason Ekstrand
2016-01-27 11:47:07 -08:00
parent 1bea1eff38
commit 96cf5cfee1
+8 -8
View File
@@ -544,18 +544,18 @@ anv_image_view_init(struct anv_image_view *iview,
* data from a source Image to a destination Image.
*/
const struct isl_format_layout * isl_layout = image->format->isl_layout;
iview->level_0_extent.width = DIV_ROUND_UP(image->extent.width , isl_layout->bw);
iview->level_0_extent.height = DIV_ROUND_UP(image->extent.height, isl_layout->bh);
iview->level_0_extent.depth = DIV_ROUND_UP(image->extent.depth , isl_layout->bd);
iview->level_0_extent.width = anv_minify(iview->level_0_extent.width , range->baseMipLevel);
iview->level_0_extent.height = anv_minify(iview->level_0_extent.height, range->baseMipLevel);
iview->level_0_extent.depth = anv_minify(iview->level_0_extent.depth , range->baseMipLevel);
iview->level_0_extent.width = anv_minify(image->extent.width, range->baseMipLevel);
iview->level_0_extent.height = anv_minify(image->extent.height, range->baseMipLevel);
iview->level_0_extent.depth = anv_minify(image->extent.depth, range->baseMipLevel);
iview->level_0_extent.width = DIV_ROUND_UP(iview->level_0_extent.width, isl_layout->bw);
iview->level_0_extent.height = DIV_ROUND_UP(iview->level_0_extent.height, isl_layout->bh);
iview->level_0_extent.depth = DIV_ROUND_UP(iview->level_0_extent.depth, isl_layout->bd);
mCreateInfo.subresourceRange.baseMipLevel = 0;
mCreateInfo.subresourceRange.baseArrayLayer = 0;
} else {
iview->level_0_extent.width = image->extent.width ;
iview->level_0_extent.width = image->extent.width;
iview->level_0_extent.height = image->extent.height;
iview->level_0_extent.depth = image->extent.depth ;
iview->level_0_extent.depth = image->extent.depth;
}
iview->extent = (VkExtent3D) {