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));
|
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
|
struct nil_extent4d
|
||||||
nil_image_level_extent_sa(const struct nil_image *image, uint32_t level)
|
nil_image_level_extent_sa(const struct nil_image *image, uint32_t level)
|
||||||
{
|
{
|
||||||
const struct nil_extent4d level_extent_px =
|
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);
|
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)
|
image_level_extent_B(const struct nil_image *image, uint32_t level)
|
||||||
{
|
{
|
||||||
const struct nil_extent4d level_extent_px =
|
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 =
|
const struct nil_extent4d level_extent_el =
|
||||||
nil_extent4d_px_to_el(level_extent_px, image->format,
|
nil_extent4d_px_to_el(level_extent_px, image->format,
|
||||||
image->sample_layout);
|
image->sample_layout);
|
||||||
@@ -488,7 +496,7 @@ nil_image_for_level(const struct nil_image *image_in,
|
|||||||
assert(level < image_in->num_levels);
|
assert(level < image_in->num_levels);
|
||||||
|
|
||||||
const struct nil_extent4d lvl_extent_px =
|
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 struct nil_image_level lvl = image_in->levels[level];
|
||||||
const uint32_t align_B = nil_tiling_size_B(lvl.tiling);
|
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);
|
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,
|
struct nil_extent4d nil_image_level_extent_sa(const struct nil_image *image,
|
||||||
uint32_t level);
|
uint32_t level);
|
||||||
uint64_t nil_image_level_size_B(const struct nil_image *image,
|
uint64_t nil_image_level_size_B(const struct nil_image *image,
|
||||||
|
Reference in New Issue
Block a user