[PATCH vkd3d 5/5] vkd3d: Add cubic null resource.
Conor McCarthy
cmccarthy at codeweavers.com
Tue Dec 10 08:57:08 CST 2019
Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
libs/vkd3d/resource.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/libs/vkd3d/resource.c b/libs/vkd3d/resource.c
index cd181bc..62e8c44 100644
--- a/libs/vkd3d/resource.c
+++ b/libs/vkd3d/resource.c
@@ -2589,33 +2589,51 @@ static void vkd3d_create_null_srv(struct d3d12_desc *descriptor,
case D3D12_SRV_DIMENSION_TEXTURE1D:
vk_image = null_resources->vk_1d_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_1D;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE1DARRAY:
vk_image = null_resources->vk_1d_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_1D_ARRAY;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE2D:
vk_image = null_resources->vk_2d_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_2D;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE2DARRAY:
vk_image = null_resources->vk_2d_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE2DMS:
vk_image = null_resources->vk_2dms_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_2D;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY:
vk_image = null_resources->vk_2dms_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_2D_ARRAY;
+ vkd3d_desc.layer_count = 1;
break;
case D3D12_SRV_DIMENSION_TEXTURE3D:
vk_image = null_resources->vk_3d_image;
vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_3D;
+ vkd3d_desc.layer_count = 1;
+ break;
+
+ case D3D12_SRV_DIMENSION_TEXTURECUBE:
+ vk_image = null_resources->vk_2d_image;
+ vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_CUBE;
+ vkd3d_desc.layer_count = 6;
+ break;
+ case D3D12_SRV_DIMENSION_TEXTURECUBEARRAY:
+ vk_image = null_resources->vk_2d_image;
+ vkd3d_desc.view_type = VK_IMAGE_VIEW_TYPE_CUBE_ARRAY;
+ vkd3d_desc.layer_count = 6;
break;
default:
@@ -2629,7 +2647,6 @@ static void vkd3d_create_null_srv(struct d3d12_desc *descriptor,
vkd3d_desc.miplevel_idx = 0;
vkd3d_desc.miplevel_count = 1;
vkd3d_desc.layer_idx = 0;
- vkd3d_desc.layer_count = 1;
vkd3d_desc.components.r = VK_COMPONENT_SWIZZLE_ZERO;
vkd3d_desc.components.g = VK_COMPONENT_SWIZZLE_ZERO;
vkd3d_desc.components.b = VK_COMPONENT_SWIZZLE_ZERO;
@@ -4134,7 +4151,7 @@ HRESULT vkd3d_init_null_resources(struct vkd3d_null_resources *null_resources,
goto fail;
/* 2D SRV */
- if (FAILED(hr = vkd3d_create_null_sr_texture(device, D3D12_RESOURCE_DIMENSION_TEXTURE2D, 1, false,
+ if (FAILED(hr = vkd3d_create_null_sr_texture(device, D3D12_RESOURCE_DIMENSION_TEXTURE2D, 6, false,
&null_resources->vk_2d_image, &null_resources->vk_2d_image_memory)))
goto fail;
--
2.24.0
More information about the wine-devel
mailing list