v3dv: store base mip level in the image view
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
parent
52d9b8c05b
commit
ae235e0f22
|
@ -358,16 +358,18 @@ v3dv_CreateImageView(VkDevice _device,
|
||||||
|
|
||||||
iview->image = image;
|
iview->image = image;
|
||||||
iview->aspects = range->aspectMask;
|
iview->aspects = range->aspectMask;
|
||||||
|
|
||||||
|
iview->base_level = range->baseMipLevel;
|
||||||
iview->extent = (VkExtent3D) {
|
iview->extent = (VkExtent3D) {
|
||||||
.width = u_minify(image->extent.width , range->baseMipLevel),
|
.width = u_minify(image->extent.width , iview->base_level),
|
||||||
.height = u_minify(image->extent.height, range->baseMipLevel),
|
.height = u_minify(image->extent.height, iview->base_level),
|
||||||
.depth = u_minify(image->extent.depth , range->baseMipLevel),
|
.depth = u_minify(image->extent.depth , iview->base_level),
|
||||||
};
|
};
|
||||||
|
|
||||||
iview->first_layer = range->baseArrayLayer;
|
iview->first_layer = range->baseArrayLayer;
|
||||||
iview->last_layer = range->baseArrayLayer +
|
iview->last_layer = range->baseArrayLayer +
|
||||||
v3dv_layer_count(image, range) - 1;
|
v3dv_layer_count(image, range) - 1;
|
||||||
iview->offset = layer_offset(image, range->baseMipLevel, iview->first_layer);
|
iview->offset = layer_offset(image, iview->base_level, iview->first_layer);
|
||||||
|
|
||||||
iview->tiling = image->slices[0].tiling;
|
iview->tiling = image->slices[0].tiling;
|
||||||
|
|
||||||
|
|
|
@ -281,6 +281,7 @@ struct v3dv_image_view {
|
||||||
uint32_t internal_bpp;
|
uint32_t internal_bpp;
|
||||||
uint32_t internal_type;
|
uint32_t internal_type;
|
||||||
|
|
||||||
|
uint32_t base_level;
|
||||||
uint32_t first_layer;
|
uint32_t first_layer;
|
||||||
uint32_t last_layer;
|
uint32_t last_layer;
|
||||||
uint32_t offset;
|
uint32_t offset;
|
||||||
|
|
Loading…
Reference in New Issue