nil: Add a nil_image_level_extent_px() helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24326>
This commit is contained in:

committed by
Marge Bot

parent
113d3447bb
commit
866fc8b3f4
@@ -222,11 +222,19 @@ nil_extent4d_B_to_tl(struct nil_extent4d extent_B,
|
||||
return nil_extent4d_div_round_up(extent_B, nil_tiling_extent_B(tiling));
|
||||
}
|
||||
|
||||
struct nil_extent4d
|
||||
nil_image_level_extent_px(const struct nil_image *image, uint32_t level)
|
||||
{
|
||||
assert(level == 0 || image->sample_layout == NIL_SAMPLE_LAYOUT_1X1);
|
||||
|
||||
return nil_minify_extent4d(image->extent_px, level);
|
||||
}
|
||||
|
||||
struct nil_extent4d
|
||||
nil_image_level_extent_sa(const struct nil_image *image, uint32_t level)
|
||||
{
|
||||
const struct nil_extent4d level_extent_px =
|
||||
nil_minify_extent4d(image->extent_px, level);
|
||||
nil_image_level_extent_px(image, level);
|
||||
|
||||
return nil_extent4d_px_to_sa(level_extent_px, image->sample_layout);
|
||||
}
|
||||
@@ -235,7 +243,7 @@ static struct nil_extent4d
|
||||
image_level_extent_B(const struct nil_image *image, uint32_t level)
|
||||
{
|
||||
const struct nil_extent4d level_extent_px =
|
||||
nil_minify_extent4d(image->extent_px, level);
|
||||
nil_image_level_extent_px(image, level);
|
||||
const struct nil_extent4d level_extent_el =
|
||||
nil_extent4d_px_to_el(level_extent_px, image->format,
|
||||
image->sample_layout);
|
||||
@@ -488,7 +496,7 @@ nil_image_for_level(const struct nil_image *image_in,
|
||||
assert(level < image_in->num_levels);
|
||||
|
||||
const struct nil_extent4d lvl_extent_px =
|
||||
nil_minify_extent4d(image_in->extent_px, level);
|
||||
nil_image_level_extent_px(image_in, level);
|
||||
const struct nil_image_level lvl = image_in->levels[level];
|
||||
const uint32_t align_B = nil_tiling_size_B(lvl.tiling);
|
||||
|
||||
|
@@ -196,6 +196,8 @@ nil_image_level_layer_offset_B(const struct nil_image *image,
|
||||
return image->levels[level].offset_B + (layer * image->array_stride_B);
|
||||
}
|
||||
|
||||
struct nil_extent4d nil_image_level_extent_px(const struct nil_image *image,
|
||||
uint32_t level);
|
||||
struct nil_extent4d nil_image_level_extent_sa(const struct nil_image *image,
|
||||
uint32_t level);
|
||||
uint64_t nil_image_level_size_B(const struct nil_image *image,
|
||||
|
Reference in New Issue
Block a user