Henri Verbeet : wined3d: Do not create Vulkan 2D (array) views for UAVs on 3D resources.
Alexandre Julliard
julliard at winehq.org
Wed Dec 16 15:53:58 CST 2020
Module: wine
Branch: master
Commit: afac4f09c70e7bde056f9618f5f05b40065df795
URL: https://source.winehq.org/git/wine.git/?a=commit;h=afac4f09c70e7bde056f9618f5f05b40065df795
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Dec 16 17:23:36 2020 +0330
wined3d: Do not create Vulkan 2D (array) views for UAVs on 3D resources.
We should simply create 3D views.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50123
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/view.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c
index f2c8ceab461..c3128c9ed4c 100644
--- a/dlls/wined3d/view.c
+++ b/dlls/wined3d/view.c
@@ -688,7 +688,7 @@ static VkBufferView wined3d_view_vk_create_buffer_view(struct wined3d_context_vk
static VkImageView wined3d_view_vk_create_texture_view(struct wined3d_context_vk *context_vk,
const struct wined3d_view_desc *desc, struct wined3d_texture_vk *texture_vk,
- const struct wined3d_format_vk *view_format_vk, struct color_fixup_desc fixup, bool srv)
+ const struct wined3d_format_vk *view_format_vk, struct color_fixup_desc fixup, bool rtv)
{
const struct wined3d_resource *resource = &texture_vk->t.resource;
const struct wined3d_vk_info *vk_info = context_vk->vk_info;
@@ -730,7 +730,7 @@ static VkImageView wined3d_view_vk_create_texture_view(struct wined3d_context_vk
create_info.flags = 0;
create_info.image = texture_vk->vk_image;
create_info.viewType = vk_image_view_type_from_wined3d(resource->type, desc->flags);
- if (!srv && create_info.viewType == VK_IMAGE_VIEW_TYPE_3D)
+ if (rtv && create_info.viewType == VK_IMAGE_VIEW_TYPE_3D)
{
if (desc->u.texture.layer_count > 1)
create_info.viewType = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
@@ -823,7 +823,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_texture_view(wined3d_context_vk(context),
- desc, texture_vk, format_vk, COLOR_FIXUP_IDENTITY, false);
+ desc, texture_vk, format_vk, COLOR_FIXUP_IDENTITY, true);
context_release(context);
if (!view_vk->vk_image_view)
@@ -1098,7 +1098,7 @@ static void wined3d_shader_resource_view_vk_cs_init(void *object)
context = context_acquire(resource->device, NULL, 0);
vk_image_view = wined3d_view_vk_create_texture_view(wined3d_context_vk(context),
- desc, texture_vk, wined3d_format_vk(format), format->color_fixup, true);
+ desc, texture_vk, wined3d_format_vk(format), format->color_fixup, false);
context_release(context);
if (!vk_image_view)
More information about the wine-cvs
mailing list