mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
libs/vkd3d: Add support for 2D array render target views.
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>
This commit is contained in:
committed by
Alexandre Julliard
parent
d14f9196f9
commit
6df54305e6
@@ -1534,6 +1534,7 @@ void d3d12_rtv_desc_create_rtv(struct d3d12_rtv_desc *rtv_desc, struct d3d12_dev
|
||||
struct d3d12_resource *resource, const D3D12_RENDER_TARGET_VIEW_DESC *desc)
|
||||
{
|
||||
const struct vkd3d_format *format;
|
||||
VkImageViewType vk_view_type;
|
||||
uint32_t miplevel_idx;
|
||||
|
||||
d3d12_rtv_desc_destroy(rtv_desc, device);
|
||||
@@ -1566,13 +1567,16 @@ void d3d12_rtv_desc_create_rtv(struct d3d12_rtv_desc *rtv_desc, struct d3d12_dev
|
||||
FIXME("Ignoring plane slice %u.\n", desc->u.Texture2D.PlaneSlice);
|
||||
|
||||
miplevel_idx = desc ? desc->u.Texture2D.MipSlice : 0;
|
||||
if (vkd3d_create_texture_view(device, resource, format, VK_IMAGE_VIEW_TYPE_2D,
|
||||
miplevel_idx, 1, 0, 1, false, &rtv_desc->vk_view) < 0)
|
||||
vk_view_type = resource->desc.DepthOrArraySize > 1
|
||||
? VK_IMAGE_VIEW_TYPE_2D_ARRAY : VK_IMAGE_VIEW_TYPE_2D;
|
||||
if (vkd3d_create_texture_view(device, resource, format, vk_view_type,
|
||||
miplevel_idx, 1, 0, VK_REMAINING_ARRAY_LAYERS, false, &rtv_desc->vk_view) < 0)
|
||||
return;
|
||||
|
||||
rtv_desc->format = format->vk_format;
|
||||
rtv_desc->width = d3d12_resource_desc_get_width(&resource->desc, miplevel_idx);
|
||||
rtv_desc->height = d3d12_resource_desc_get_height(&resource->desc, miplevel_idx);
|
||||
rtv_desc->layer_count = resource->desc.DepthOrArraySize;
|
||||
rtv_desc->magic = VKD3D_DESCRIPTOR_MAGIC_RTV;
|
||||
rtv_desc->resource = resource;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user