mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 21:40:08 +01:00
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:
parent
113d3447bb
commit
866fc8b3f4
2 changed files with 13 additions and 3 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue