radv: replace radv_get_layerCount by vk_image_subresource_layer_count()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22794>
This commit is contained in:
Samuel Pitoiset
2023-05-02 11:17:50 +02:00
committed by Marge Bot
parent a77c88f1e8
commit 963f51158d
6 changed files with 17 additions and 25 deletions
+9 -9
View File
@@ -1234,7 +1234,7 @@ radv_clear_cmask(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
unsigned slice_size = image->planes[0].surface.cmask_slice_size;
offset += slice_size * range->baseArrayLayer;
size = slice_size * radv_get_layerCount(image, range);
size = slice_size * vk_image_subresource_layer_count(&image->vk, range);
}
return radv_fill_buffer(cmd_buffer, image, image->bindings[0].bo,
@@ -1253,7 +1253,7 @@ radv_clear_fmask(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
assert(range->baseMipLevel == 0 && radv_get_levelCount(image, range) == 1);
offset += slice_size * range->baseArrayLayer;
size = slice_size * radv_get_layerCount(image, range);
size = slice_size * vk_image_subresource_layer_count(&image->vk, range);
return radv_fill_buffer(cmd_buffer, image, image->bindings[0].bo,
radv_buffer_get_va(image->bindings[0].bo) + offset, size, value);
@@ -1264,7 +1264,7 @@ radv_clear_dcc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
const VkImageSubresourceRange *range, uint32_t value)
{
uint32_t level_count = radv_get_levelCount(image, range);
uint32_t layer_count = radv_get_layerCount(image, range);
uint32_t layer_count = vk_image_subresource_layer_count(&image->vk, range);
uint32_t flush_bits = 0;
/* Mark the image as being compressed. */
@@ -1296,7 +1296,7 @@ radv_clear_dcc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *image,
*/
offset +=
dcc_level->dcc_offset + dcc_level->dcc_slice_fast_clear_size * range->baseArrayLayer;
size = dcc_level->dcc_slice_fast_clear_size * radv_get_layerCount(image, range);
size = dcc_level->dcc_slice_fast_clear_size * vk_image_subresource_layer_count(&image->vk, range);
}
/* Do not clear this level if it can't be compressed. */
@@ -1319,7 +1319,7 @@ radv_clear_dcc_comp_to_single(struct radv_cmd_buffer *cmd_buffer,
{
struct radv_device *device = cmd_buffer->device;
unsigned bytes_per_pixel = vk_format_get_blocksize(image->vk.format);
unsigned layer_count = radv_get_layerCount(image, range);
unsigned layer_count = vk_image_subresource_layer_count(&image->vk, range);
struct radv_meta_saved_state saved_state;
bool is_msaa = image->info.samples > 1;
struct radv_image_view iview;
@@ -1460,7 +1460,7 @@ radv_clear_htile(struct radv_cmd_buffer *cmd_buffer, const struct radv_image *im
}
}
} else {
unsigned layer_count = radv_get_layerCount(image, range);
unsigned layer_count = vk_image_subresource_layer_count(&image->vk, range);
uint64_t size = image->planes[0].surface.meta_slice_size * layer_count;
uint64_t offset = image->bindings[0].offset + image->planes[0].surface.meta_offset +
image->planes[0].surface.meta_slice_size * range->baseArrayLayer;
@@ -2115,7 +2115,7 @@ radv_fast_clear_range(struct radv_cmd_buffer *cmd_buffer, struct radv_image *ima
.baseMipLevel = range->baseMipLevel,
.levelCount = radv_get_levelCount(image, range),
.baseArrayLayer = range->baseArrayLayer,
.layerCount = radv_get_layerCount(image, range),
.layerCount = vk_image_subresource_layer_count(&image->vk, range),
},
},
0, NULL);
@@ -2131,7 +2131,7 @@ radv_fast_clear_range(struct radv_cmd_buffer *cmd_buffer, struct radv_image *ima
},
},
.baseArrayLayer = range->baseArrayLayer,
.layerCount = radv_get_layerCount(image, range->layerCount),
.layerCount = vk_image_subresource_layer_count(&image->vk, range),
};
VkClearAttachment clear_att = {
@@ -2220,7 +2220,7 @@ radv_cmd_clear_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *imag
for (uint32_t l = 0; l < radv_get_levelCount(image, range); ++l) {
const uint32_t layer_count = image->vk.image_type == VK_IMAGE_TYPE_3D
? radv_minify(image->info.depth, range->baseMipLevel + l)
: radv_get_layerCount(image, range);
: vk_image_subresource_layer_count(&image->vk, range);
if (cs) {
for (uint32_t s = 0; s < layer_count; ++s) {
+2 -2
View File
@@ -515,7 +515,7 @@ radv_process_depth_stencil(struct radv_cmd_buffer *cmd_buffer, struct radv_image
.extent = {width, height},
});
for (uint32_t s = 0; s < radv_get_layerCount(image, subresourceRange); s++) {
for (uint32_t s = 0; s < vk_image_subresource_layer_count(&image->vk, subresourceRange); s++) {
radv_process_depth_image_layer(cmd_buffer, image, subresourceRange, l, s);
}
}
@@ -553,7 +553,7 @@ radv_expand_depth_stencil_compute(struct radv_cmd_buffer *cmd_buffer, struct rad
width = radv_minify(image->info.width, subresourceRange->baseMipLevel + l);
height = radv_minify(image->info.height, subresourceRange->baseMipLevel + l);
for (uint32_t s = 0; s < radv_get_layerCount(image, subresourceRange); s++) {
for (uint32_t s = 0; s < vk_image_subresource_layer_count(&image->vk, subresourceRange); s++) {
radv_image_view_init(
&load_iview, cmd_buffer->device,
&(VkImageViewCreateInfo){
+3 -3
View File
@@ -571,7 +571,7 @@ radv_process_color_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *
}
if (radv_dcc_enabled(image, subresourceRange->baseMipLevel) &&
(image->info.array_size != radv_get_layerCount(image, subresourceRange) ||
(image->info.array_size != vk_image_subresource_layer_count(&image->vk, subresourceRange) ||
subresourceRange->baseArrayLayer != 0)) {
/* Only use predication if the image has DCC with mipmaps or
* if the range of layers covers the whole image because the
@@ -629,7 +629,7 @@ radv_process_color_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *
.extent = {width, height},
});
for (uint32_t s = 0; s < radv_get_layerCount(image, subresourceRange); s++) {
for (uint32_t s = 0; s < vk_image_subresource_layer_count(&image->vk, subresourceRange); s++) {
radv_process_color_image_layer(cmd_buffer, image, subresourceRange, l, s, flush_cb);
}
}
@@ -746,7 +746,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, struct radv_imag
width = radv_minify(image->info.width, subresourceRange->baseMipLevel + l);
height = radv_minify(image->info.height, subresourceRange->baseMipLevel + l);
for (uint32_t s = 0; s < radv_get_layerCount(image, subresourceRange); s++) {
for (uint32_t s = 0; s < vk_image_subresource_layer_count(&image->vk, subresourceRange); s++) {
radv_image_view_init(
&load_iview, cmd_buffer->device,
&(VkImageViewCreateInfo){
+1 -1
View File
@@ -80,7 +80,7 @@ radv_expand_fmask_image_inplace(struct radv_cmd_buffer *cmd_buffer, struct radv_
struct radv_meta_saved_state saved_state;
const uint32_t samples = image->info.samples;
const uint32_t samples_log2 = ffs(samples) - 1;
unsigned layer_count = radv_get_layerCount(image, subresourceRange);
unsigned layer_count = vk_image_subresource_layer_count(&image->vk, subresourceRange);
struct radv_image_view iview;
VkResult result = radv_device_init_meta_fmask_expand_state_internal(device, samples_log2);
+2 -2
View File
@@ -2202,11 +2202,11 @@ radv_image_view_init(struct radv_image_view *iview, struct radv_device *device,
switch (image->vk.image_type) {
case VK_IMAGE_TYPE_1D:
case VK_IMAGE_TYPE_2D:
assert(range->baseArrayLayer + radv_get_layerCount(image, range) - 1 <=
assert(range->baseArrayLayer + vk_image_subresource_layer_count(&image->vk, range) - 1 <=
image->info.array_size);
break;
case VK_IMAGE_TYPE_3D:
assert(range->baseArrayLayer + radv_get_layerCount(image, range) - 1 <=
assert(range->baseArrayLayer + vk_image_subresource_layer_count(&image->vk, range) - 1 <=
radv_minify(image->info.depth, range->baseMipLevel));
break;
default:
-8
View File
@@ -2798,14 +2798,6 @@ unsigned radv_image_queue_family_mask(const struct radv_image *image,
enum radv_queue_family family,
enum radv_queue_family queue_family);
static inline uint32_t
radv_get_layerCount(const struct radv_image *image, const VkImageSubresourceRange *range)
{
return range->layerCount == VK_REMAINING_ARRAY_LAYERS
? image->info.array_size - range->baseArrayLayer
: range->layerCount;
}
static inline uint32_t
radv_get_levelCount(const struct radv_image *image, const VkImageSubresourceRange *range)
{