1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

wined3d: Expose the image view usage for null views.

This commit is contained in:
Giovanni Mascellani 2023-10-05 12:43:25 +02:00 committed by Alexandre Julliard
parent 52a4d9e321
commit 7663be90ff
3 changed files with 14 additions and 0 deletions

View file

@ -2359,6 +2359,7 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk
{VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, ~0u},
{VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, ~0u, true},
{VK_KHR_MAINTENANCE1_EXTENSION_NAME, VK_API_VERSION_1_1, true},
{VK_KHR_MAINTENANCE2_EXTENSION_NAME, VK_API_VERSION_1_1},
{VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME,VK_API_VERSION_1_2},
{VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_API_VERSION_1_1},
{VK_KHR_SWAPCHAIN_EXTENSION_NAME, ~0u, true},
@ -2373,6 +2374,7 @@ static bool wined3d_adapter_vk_init_device_extensions(struct wined3d_adapter_vk
map[] =
{
{VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, WINED3D_VK_EXT_TRANSFORM_FEEDBACK},
{VK_KHR_MAINTENANCE2_EXTENSION_NAME, WINED3D_VK_KHR_MAINTENANCE2},
{VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME, WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE},
{VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, WINED3D_VK_KHR_SHADER_DRAW_PARAMETERS},
{VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME, WINED3D_VK_EXT_HOST_QUERY_RESET},

View file

@ -722,6 +722,7 @@ bool wined3d_device_vk_create_null_views(struct wined3d_device_vk *device_vk, st
struct wined3d_null_resources_vk *r = &device_vk->null_resources_vk;
struct wined3d_null_views_vk *v = &device_vk->null_views_vk;
VkBufferViewCreateInfo buffer_create_info;
VkImageViewUsageCreateInfoKHR usage_desc;
const struct wined3d_vk_info *vk_info;
VkImageViewCreateInfo view_desc;
VkResult vr;
@ -768,6 +769,16 @@ bool wined3d_device_vk_create_null_views(struct wined3d_device_vk *device_vk, st
view_desc.subresourceRange.levelCount = 1;
view_desc.subresourceRange.baseArrayLayer = 0;
view_desc.subresourceRange.layerCount = 1;
if (vk_info->supported[WINED3D_VK_KHR_MAINTENANCE2] || vk_info->api_version >= VK_API_VERSION_1_1)
{
usage_desc.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR;
usage_desc.pNext = NULL;
usage_desc.usage = VK_IMAGE_USAGE_SAMPLED_BIT;
view_desc.pNext = &usage_desc;
}
if ((vr = VK_CALL(vkCreateImageView(device_vk->vk_device, &view_desc, NULL, &v->vk_info_1d.imageView))) < 0)
{
ERR("Failed to create 1D image view, vr %s.\n", wined3d_debug_vkresult(vr));

View file

@ -216,6 +216,7 @@ enum wined3d_vk_extension
WINED3D_VK_EXT_NONE,
WINED3D_VK_EXT_TRANSFORM_FEEDBACK,
WINED3D_VK_KHR_MAINTENANCE2,
WINED3D_VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE,
WINED3D_VK_KHR_SHADER_DRAW_PARAMETERS,
WINED3D_VK_EXT_HOST_QUERY_RESET,