radv: stop passing image create flags to radv_image_view_init()

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31463>
This commit is contained in:
Samuel Pitoiset 2024-10-01 16:08:52 +02:00 committed by Marge Bot
parent e7cf039657
commit 7702520239
17 changed files with 43 additions and 51 deletions

View file

@ -110,7 +110,7 @@ image_view_init(struct radv_device *device, struct radv_image *image, VkFormat f
},
};
radv_image_view_init(iview, device, &iview_create_info, 0, NULL);
radv_image_view_init(iview, device, &iview_create_info, NULL);
}
void

View file

@ -527,7 +527,7 @@ blit_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_image, VkI
.baseArrayLayer = dst_array_slice,
.layerCount = 1},
},
0, NULL);
NULL);
radv_image_view_init(&src_iview, device,
&(VkImageViewCreateInfo){
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
@ -540,7 +540,7 @@ blit_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_image, VkI
.baseArrayLayer = src_array_slice,
.layerCount = 1},
},
0, NULL);
NULL);
meta_emit_blit(cmd_buffer, &src_iview, src_image_layout, src_offset_0, src_offset_1, &dst_iview, dst_image_layout,
dst_box, sampler);

View file

@ -54,7 +54,7 @@ create_iview(struct radv_cmd_buffer *cmd_buffer, struct radv_meta_blit2d_surf *s
.baseArrayLayer = surf->layer,
.layerCount = 1},
},
0, &(struct radv_image_view_extra_create_info){.disable_dcc_mrt = surf->disable_compression});
&(struct radv_image_view_extra_create_info){.disable_dcc_mrt = surf->disable_compression});
}
static void

View file

@ -1130,7 +1130,6 @@ create_iview(struct radv_cmd_buffer *cmd_buffer, struct radv_meta_blit2d_surf *s
.baseArrayLayer = surf->layer,
.layerCount = 1},
},
0,
&(struct radv_image_view_extra_create_info){
.disable_compression = surf->disable_compression,
});

View file

@ -1288,7 +1288,7 @@ radv_clear_dcc_comp_to_single(struct radv_cmd_buffer *cmd_buffer, struct radv_im
.baseArrayLayer = range->baseArrayLayer,
.layerCount = layer_count},
},
0, &(struct radv_image_view_extra_create_info){.disable_compression = true});
&(struct radv_image_view_extra_create_info){.disable_compression = true});
radv_meta_push_descriptor_set(cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE,
device->meta_state.clear_dcc_comp_to_single_p_layout, 0, 1,
@ -1964,7 +1964,7 @@ radv_clear_image_layer(struct radv_cmd_buffer *cmd_buffer, struct radv_image *im
.baseArrayLayer = range->baseArrayLayer,
.layerCount = layer_count},
},
0, NULL);
NULL);
VkClearAttachment clear_att = {
.aspectMask = range->aspectMask,
@ -2045,7 +2045,7 @@ radv_fast_clear_range(struct radv_cmd_buffer *cmd_buffer, struct radv_image *ima
.layerCount = vk_image_subresource_layer_count(&image->vk, range),
},
},
0, NULL);
NULL);
VkClearRect clear_rect = {
.rect =

View file

@ -304,7 +304,7 @@ radv_process_depth_image_layer(struct radv_cmd_buffer *cmd_buffer, struct radv_i
.layerCount = 1,
},
},
0, NULL);
NULL);
const VkRenderingAttachmentInfo depth_att = {
.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
@ -469,7 +469,7 @@ radv_expand_depth_stencil_compute(struct radv_cmd_buffer *cmd_buffer, struct rad
.baseArrayLayer = subresourceRange->baseArrayLayer + s,
.layerCount = 1},
},
0, &(struct radv_image_view_extra_create_info){.enable_compression = true});
&(struct radv_image_view_extra_create_info){.enable_compression = true});
radv_image_view_init(&store_iview, device,
&(VkImageViewCreateInfo){
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
@ -482,7 +482,7 @@ radv_expand_depth_stencil_compute(struct radv_cmd_buffer *cmd_buffer, struct rad
.baseArrayLayer = subresourceRange->baseArrayLayer + s,
.layerCount = 1},
},
0, &(struct radv_image_view_extra_create_info){.disable_compression = true});
&(struct radv_image_view_extra_create_info){.disable_compression = true});
radv_meta_push_descriptor_set(
cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE, device->meta_state.expand_depth_stencil_compute_p_layout, 0, 2,

View file

@ -136,7 +136,7 @@ radv_meta_decode_etc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *imag
.layerCount = subresource->baseArrayLayer + vk_image_subresource_layer_count(&image->vk, subresource),
},
},
0, NULL);
NULL);
VkFormat store_format = vk_texcompress_etc2_store_format(image->vk.format);
struct radv_image_view dst_iview;
@ -156,7 +156,7 @@ radv_meta_decode_etc(struct radv_cmd_buffer *cmd_buffer, struct radv_image *imag
.layerCount = subresource->baseArrayLayer + vk_image_subresource_layer_count(&image->vk, subresource),
},
},
0, NULL);
NULL);
decode_etc(cmd_buffer, &src_iview, &dst_iview, &(VkOffset3D){offset.x, offset.y, base_slice},
&(VkExtent3D){extent.width, extent.height, slice_count});

View file

@ -430,7 +430,7 @@ radv_process_color_image_layer(struct radv_cmd_buffer *cmd_buffer, struct radv_i
.layerCount = 1,
},
},
0, NULL);
NULL);
const VkRenderingAttachmentInfo color_att = {
.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
@ -679,7 +679,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, struct radv_imag
.baseArrayLayer = subresourceRange->baseArrayLayer + s,
.layerCount = 1},
},
0, &(struct radv_image_view_extra_create_info){.enable_compression = true});
&(struct radv_image_view_extra_create_info){.enable_compression = true});
radv_image_view_init(&store_iview, device,
&(VkImageViewCreateInfo){
.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
@ -692,7 +692,7 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, struct radv_imag
.baseArrayLayer = subresourceRange->baseArrayLayer + s,
.layerCount = 1},
},
0, &(struct radv_image_view_extra_create_info){.disable_compression = true});
&(struct radv_image_view_extra_create_info){.disable_compression = true});
radv_meta_push_descriptor_set(
cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE,

View file

@ -272,7 +272,7 @@ radv_fmask_copy(struct radv_cmd_buffer *cmd_buffer, struct radv_meta_blit2d_surf
.layerCount = 1,
},
},
0, NULL);
NULL);
radv_image_view_init(&dst_iview, device,
&(VkImageViewCreateInfo){
@ -289,7 +289,7 @@ radv_fmask_copy(struct radv_cmd_buffer *cmd_buffer, struct radv_meta_blit2d_surf
.layerCount = 1,
},
},
0, NULL);
NULL);
radv_meta_push_descriptor_set(cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE, device->meta_state.fmask_copy.p_layout, 0,
2,

View file

@ -152,7 +152,7 @@ radv_expand_fmask_image_inplace(struct radv_cmd_buffer *cmd_buffer, struct radv_
.layerCount = layer_count,
},
},
0, NULL);
NULL);
radv_meta_push_descriptor_set(cmd_buffer, VK_PIPELINE_BIND_POINT_COMPUTE, device->meta_state.fmask_expand.p_layout,
0, 2,

View file

@ -369,7 +369,7 @@ radv_meta_resolve_hardware_image(struct radv_cmd_buffer *cmd_buffer, struct radv
.layerCount = 1,
},
},
0, NULL);
NULL);
struct radv_image_view dst_iview;
radv_image_view_init(&dst_iview, device,
@ -387,7 +387,7 @@ radv_meta_resolve_hardware_image(struct radv_cmd_buffer *cmd_buffer, struct radv
.layerCount = 1,
},
},
0, NULL);
NULL);
const VkRenderingAttachmentInfo color_atts[2] = {
{

View file

@ -586,7 +586,7 @@ radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer, struct radv_
.layerCount = 1,
},
},
0, NULL);
NULL);
struct radv_image_view dst_iview;
radv_image_view_init(&dst_iview, device,
@ -604,7 +604,7 @@ radv_meta_resolve_compute_image(struct radv_cmd_buffer *cmd_buffer, struct radv_
.layerCount = 1,
},
},
0, NULL);
NULL);
emit_resolve(cmd_buffer, &src_iview, &dst_iview, &(VkOffset2D){srcOffset.x, srcOffset.y},
&(VkOffset2D){dstOffset.x, dstOffset.y}, &(VkExtent2D){extent.width, extent.height});
@ -703,7 +703,7 @@ radv_depth_stencil_resolve_rendering_cs(struct radv_cmd_buffer *cmd_buffer, VkIm
.layerCount = layer_count,
},
},
0, NULL);
NULL);
struct radv_image_view tdst_iview;
radv_image_view_init(&tdst_iview, device,
@ -721,7 +721,7 @@ radv_depth_stencil_resolve_rendering_cs(struct radv_cmd_buffer *cmd_buffer, VkIm
.layerCount = layer_count,
},
},
0, NULL);
NULL);
emit_depth_stencil_resolve(cmd_buffer, &tsrc_iview, &tdst_iview, &resolve_area.offset,
&(VkExtent3D){resolve_area.extent.width, resolve_area.extent.height, layer_count},

View file

@ -763,7 +763,7 @@ radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer, struct radv
.layerCount = 1,
},
},
0, NULL);
NULL);
struct radv_image_view dst_iview;
radv_image_view_init(&dst_iview, device,
@ -781,7 +781,7 @@ radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer, struct radv
.layerCount = 1,
},
},
0, NULL);
NULL);
const VkRenderingAttachmentInfo color_att = {
.sType = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
@ -946,7 +946,7 @@ radv_depth_stencil_resolve_rendering_fs(struct radv_cmd_buffer *cmd_buffer, VkIm
.layerCount = 1,
},
},
0, NULL);
NULL);
emit_depth_stencil_resolve(cmd_buffer, &tsrc_iview, dst_iview, &resolve_area.offset, &resolve_area.extent, aspects,
resolve_mode);

View file

@ -4796,7 +4796,7 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer)
.layerCount = 1,
},
},
0, NULL);
NULL);
radv_initialise_vrs_surface(image, htile_buffer, &ds);

View file

@ -765,7 +765,7 @@ radv_query_opaque_metadata(struct radv_device *device, struct radv_image *image,
radv_make_texture_descriptor(device, image, false, (VkImageViewType)image->vk.image_type, plane_format,
&fixedmapping, 0, image->vk.mip_levels - 1, 0, image->vk.array_layers - 1, plane_width,
plane_height, image->vk.extent.depth, 0.0f, desc, NULL, 0, NULL, NULL);
plane_height, image->vk.extent.depth, 0.0f, desc, NULL, NULL, NULL);
radv_set_mutable_tex_desc_fields(device, image, base_level_info, plane_id, 0, 0, surface->blk_w, false, false, false,
false, desc, NULL);

View file

@ -96,12 +96,12 @@ gfx10_make_texture_descriptor(struct radv_device *device, struct radv_image *ima
VkImageViewType view_type, VkFormat vk_format, const VkComponentMapping *mapping,
unsigned first_level, unsigned last_level, unsigned first_layer, unsigned last_layer,
unsigned width, unsigned height, unsigned depth, float min_lod, uint32_t *state,
uint32_t *fmask_state, VkImageCreateFlags img_create_flags,
const struct ac_surf_nbc_view *nbc_view, const VkImageViewSlicedCreateInfoEXT *sliced_3d)
uint32_t *fmask_state, const struct ac_surf_nbc_view *nbc_view,
const VkImageViewSlicedCreateInfoEXT *sliced_3d)
{
const struct radv_physical_device *pdev = radv_device_physical(device);
const bool create_2d_view_of_3d =
(img_create_flags & VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT) && view_type == VK_IMAGE_VIEW_TYPE_2D;
(image->vk.create_flags & VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT) && view_type == VK_IMAGE_VIEW_TYPE_2D;
enum pipe_format format = vk_format_to_pipe_format(vk_format);
const struct util_format_description *desc;
enum pipe_swizzle swizzle[4];
@ -314,15 +314,15 @@ radv_make_texture_descriptor(struct radv_device *device, struct radv_image *imag
VkImageViewType view_type, VkFormat vk_format, const VkComponentMapping *mapping,
unsigned first_level, unsigned last_level, unsigned first_layer, unsigned last_layer,
unsigned width, unsigned height, unsigned depth, float min_lod, uint32_t *state,
uint32_t *fmask_state, VkImageCreateFlags img_create_flags,
const struct ac_surf_nbc_view *nbc_view, const VkImageViewSlicedCreateInfoEXT *sliced_3d)
uint32_t *fmask_state, const struct ac_surf_nbc_view *nbc_view,
const VkImageViewSlicedCreateInfoEXT *sliced_3d)
{
const struct radv_physical_device *pdev = radv_device_physical(device);
if (pdev->info.gfx_level >= GFX10) {
gfx10_make_texture_descriptor(device, image, is_storage_image, view_type, vk_format, mapping, first_level,
last_level, first_layer, last_layer, width, height, depth, min_lod, state,
fmask_state, img_create_flags, nbc_view, sliced_3d);
fmask_state, nbc_view, sliced_3d);
} else {
gfx6_make_texture_descriptor(device, image, is_storage_image, view_type, vk_format, mapping, first_level,
last_level, first_layer, last_layer, width, height, depth, min_lod, state,
@ -348,8 +348,7 @@ static void
radv_image_view_make_descriptor(struct radv_image_view *iview, struct radv_device *device, VkFormat vk_format,
const VkComponentMapping *components, bool is_storage_image, bool disable_compression,
bool enable_compression, unsigned plane_id, unsigned descriptor_plane_id,
VkImageCreateFlags img_create_flags, const VkImageViewSlicedCreateInfoEXT *sliced_3d,
bool force_zero_base_mip)
const VkImageViewSlicedCreateInfoEXT *sliced_3d, bool force_zero_base_mip)
{
const struct radv_physical_device *pdev = radv_device_physical(device);
struct radv_image *image = iview->image;
@ -390,8 +389,7 @@ radv_image_view_make_descriptor(struct radv_image_view *iview, struct radv_devic
vk_format_get_plane_width(image->vk.format, plane_id, iview->extent.width),
vk_format_get_plane_height(image->vk.format, plane_id, iview->extent.height), iview->extent.depth,
iview->vk.min_lod, descriptor->plane_descriptors[descriptor_plane_id],
descriptor_plane_id || is_storage_image ? NULL : descriptor->fmask_descriptor, img_create_flags, &iview->nbc_view,
sliced_3d);
descriptor_plane_id || is_storage_image ? NULL : descriptor->fmask_descriptor, &iview->nbc_view, sliced_3d);
const struct legacy_surf_level *base_level_info = NULL;
if (pdev->info.gfx_level <= GFX8) {
@ -439,7 +437,7 @@ radv_image_view_can_fast_clear(const struct radv_device *device, const struct ra
void
radv_image_view_init(struct radv_image_view *iview, struct radv_device *device,
const VkImageViewCreateInfo *pCreateInfo, VkImageCreateFlags img_create_flags,
const VkImageViewCreateInfo *pCreateInfo,
const struct radv_image_view_extra_create_info *extra_create_info)
{
VK_FROM_HANDLE(radv_image, image, pCreateInfo->image);
@ -590,11 +588,9 @@ radv_image_view_init(struct radv_image_view *iview, struct radv_device *device,
for (unsigned i = 0; i < plane_count; ++i) {
VkFormat format = vk_format_get_plane_format(iview->vk.view_format, i);
radv_image_view_make_descriptor(iview, device, format, &pCreateInfo->components, false, disable_compression,
enable_compression, iview->plane_id + i, i, img_create_flags, NULL,
force_zero_base_mip);
enable_compression, iview->plane_id + i, i, NULL, force_zero_base_mip);
radv_image_view_make_descriptor(iview, device, format, &pCreateInfo->components, true, disable_compression,
enable_compression, iview->plane_id + i, i, img_create_flags, sliced_3d,
force_zero_base_mip);
enable_compression, iview->plane_id + i, i, sliced_3d, force_zero_base_mip);
}
}
@ -608,7 +604,6 @@ VKAPI_ATTR VkResult VKAPI_CALL
radv_CreateImageView(VkDevice _device, const VkImageViewCreateInfo *pCreateInfo,
const VkAllocationCallbacks *pAllocator, VkImageView *pView)
{
VK_FROM_HANDLE(radv_image, image, pCreateInfo->image);
VK_FROM_HANDLE(radv_device, device, _device);
struct radv_image_view *view;
@ -616,8 +611,7 @@ radv_CreateImageView(VkDevice _device, const VkImageViewCreateInfo *pCreateInfo,
if (view == NULL)
return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY);
radv_image_view_init(view, device, pCreateInfo, image->vk.create_flags,
&(struct radv_image_view_extra_create_info){.from_client = true});
radv_image_view_init(view, device, pCreateInfo, &(struct radv_image_view_extra_create_info){.from_client = true});
*pView = radv_image_view_to_handle(view);

View file

@ -58,7 +58,7 @@ struct radv_image_view_extra_create_info {
};
void radv_image_view_init(struct radv_image_view *view, struct radv_device *device,
const VkImageViewCreateInfo *pCreateInfo, VkImageCreateFlags img_create_flags,
const VkImageViewCreateInfo *pCreateInfo,
const struct radv_image_view_extra_create_info *extra_create_info);
void radv_image_view_finish(struct radv_image_view *iview);
@ -72,8 +72,7 @@ void radv_make_texture_descriptor(struct radv_device *device, struct radv_image
VkImageViewType view_type, VkFormat vk_format, const VkComponentMapping *mapping,
unsigned first_level, unsigned last_level, unsigned first_layer, unsigned last_layer,
unsigned width, unsigned height, unsigned depth, float min_lod, uint32_t *state,
uint32_t *fmask_state, VkImageCreateFlags img_create_flags,
const struct ac_surf_nbc_view *nbc_view,
uint32_t *fmask_state, const struct ac_surf_nbc_view *nbc_view,
const VkImageViewSlicedCreateInfoEXT *sliced_3d);
#endif /* RADV_IMAGE_VIEW_H */