Module: vkd3d Branch: master Commit: be4a775c07ce4142ecf2791ff9badf82069768aa URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=be4a775c07ce4142ecf2791f...
Author: Józef Kucia jkucia@codeweavers.com Date: Fri Sep 14 14:19:53 2018 +0200
vkd3d: Do not hardcode aspect mask in d3d12_command_list_ClearUnorderedAccessViewUint().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d/command.c | 2 +- libs/vkd3d/resource.c | 1 + libs/vkd3d/vkd3d_private.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index decff14..a7cac8f 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -3921,7 +3921,7 @@ static void STDMETHODCALLTYPE d3d12_command_list_ClearUnorderedAccessViewUint(ID color.uint32[2] = values[2]; color.uint32[3] = values[3];
- range.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + range.aspectMask = cpu_descriptor->uav.texture.vk_aspect_mask; range.baseMipLevel = cpu_descriptor->uav.texture.miplevel_idx; range.levelCount = 1; range.baseArrayLayer = cpu_descriptor->uav.texture.layer_idx; diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c index 4490ae2..10f1d83 100644 --- a/libs/vkd3d/resource.c +++ b/libs/vkd3d/resource.c @@ -1692,6 +1692,7 @@ static void vkd3d_create_texture_uav(struct d3d12_desc *descriptor, descriptor->vk_descriptor_type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE; descriptor->u.view = view;
+ descriptor->uav.texture.vk_aspect_mask = vkd3d_desc.format->vk_aspect_mask; descriptor->uav.texture.miplevel_idx = vkd3d_desc.miplevel_idx; descriptor->uav.texture.layer_idx = vkd3d_desc.layer_idx; descriptor->uav.texture.layer_count = vkd3d_desc.layer_count; diff --git a/libs/vkd3d/vkd3d_private.h b/libs/vkd3d/vkd3d_private.h index 6ba12f9..5aaa565 100644 --- a/libs/vkd3d/vkd3d_private.h +++ b/libs/vkd3d/vkd3d_private.h @@ -281,6 +281,7 @@ struct d3d12_desc } buffer; struct { + VkImageAspectFlags vk_aspect_mask; unsigned int miplevel_idx; unsigned int layer_idx; unsigned int layer_count;