=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: vkd3d: Do not hardcode aspect mask in d3d12_command_list_ClearUnorderedAccessViewUint ().

Alexandre Julliard julliard at winehq.org
Fri Sep 14 14:08:55 CDT 2018


Module: vkd3d
Branch: master
Commit: be4a775c07ce4142ecf2791ff9badf82069768aa
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=be4a775c07ce4142ecf2791ff9badf82069768aa

Author: Józef Kucia <jkucia at 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 at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;




More information about the wine-cvs mailing list