lavapipe: EXT_image_sliced_view_of_3d

Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21514>
This commit is contained in:
Mike Blumenkrantz 2023-02-13 12:22:47 -05:00 committed by Marge Bot
parent 66e3ccbcac
commit 34e7c17cfe
2 changed files with 9 additions and 3 deletions

View file

@ -161,6 +161,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.EXT_graphics_pipeline_library = true,
.EXT_host_query_reset = true,
.EXT_image_2d_view_of_3d = true,
.EXT_image_sliced_view_of_3d = true,
.EXT_image_robustness = true,
.EXT_index_type_uint8 = true,
.EXT_inline_uniform_block = true,
@ -831,7 +832,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
features->maintenance4 = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: {
VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *features =
(VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *)ext;
features->imageSlicedViewOf3D = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: {
VkPhysicalDeviceSubgroupSizeControlFeatures *features =
(VkPhysicalDeviceSubgroupSizeControlFeatures *)ext;

View file

@ -250,8 +250,8 @@ lvp_create_imageview(const struct lvp_image_view *iv)
view.format = lvp_vk_format_to_pipe_format(iv->vk.format);
if (iv->vk.view_type == VK_IMAGE_VIEW_TYPE_3D) {
view.u.tex.first_layer = 0;
view.u.tex.last_layer = iv->vk.extent.depth - 1;
view.u.tex.first_layer = iv->vk.storage.slice_offset;
view.u.tex.last_layer = view.u.tex.first_layer + iv->vk.storage.slice_count - 1;
} else {
view.u.tex.first_layer = iv->vk.base_array_layer,
view.u.tex.last_layer = iv->vk.base_array_layer + iv->vk.layer_count - 1;