[PATCH vkd3d 02/10] vkd3d: Add support for default 1D texture views.

Józef Kucia joseph.kucia at gmail.com
Mon Aug 27 10:27:30 CDT 2018


From: Józef Kucia <jkucia at codeweavers.com>

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 libs/vkd3d/resource.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c
index d4d1b38f7496..03015bf45cbd 100644
--- a/libs/vkd3d/resource.c
+++ b/libs/vkd3d/resource.c
@@ -1308,15 +1308,21 @@ static bool init_default_texture_view_desc(struct vkd3d_texture_view_desc *desc,
         return false;
     }
 
+    desc->miplevel_idx = 0;
+    desc->miplevel_count = is_srv ? VK_REMAINING_MIP_LEVELS : 1;
+    desc->layer_idx = 0;
+    desc->layer_count = VK_REMAINING_ARRAY_LAYERS;
+
     switch (resource->desc.Dimension)
     {
+        case D3D12_RESOURCE_DIMENSION_TEXTURE1D:
+            desc->view_type = resource->desc.DepthOrArraySize > 1
+                    ? VK_IMAGE_VIEW_TYPE_1D_ARRAY : VK_IMAGE_VIEW_TYPE_1D;
+            break;
+
         case D3D12_RESOURCE_DIMENSION_TEXTURE2D:
             desc->view_type = resource->desc.DepthOrArraySize > 1
                     ? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D;
-            desc->miplevel_idx = 0;
-            desc->miplevel_count = is_srv ? VK_REMAINING_MIP_LEVELS : 1;
-            desc->layer_idx = 0;
-            desc->layer_count = VK_REMAINING_ARRAY_LAYERS;
             break;
 
         default:
@@ -1337,7 +1343,7 @@ static VkResult vkd3d_create_texture_view(struct d3d12_device *device,
     struct VkImageViewCreateInfo view_desc;
     VkResult vr;
 
-    assert(resource->desc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE2D);
+    assert(d3d12_resource_is_texture(resource));
 
     view_desc.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
     view_desc.pNext = NULL;
-- 
2.16.4




More information about the wine-devel mailing list