@@ -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 (wined3d_adapter_vk(device_vk->d.adapter)->vk_info.supported[WINED3D_VK_KHR_MAINTENANCE2]) + { + 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; + }
We have an existing "vk_info" in this function though; it's what VK_CALL uses.
@@ -897,7 +906,7 @@ static void wined3d_render_target_view_vk_cs_init(void *object) context = context_acquire(resource->device, NULL, 0); view_vk->vk_image_view = wined3d_view_vk_create_vk_image_view(wined3d_context_vk(context), - desc, texture_vk, format_vk, COLOR_FIXUP_IDENTITY, true); + desc, texture_vk, format_vk, COLOR_FIXUP_IDENTITY, true, VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); context_release(context); if (!view_vk->vk_image_view)
For depth/stencil views that would need to be VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT.