libs/vkd3d: Implement d3d12_command_list_ClearUnorderedAccessViewUint() for R32_UINT buffer views.

Ideally, we would store additional informations only in CPU descriptors.
This commit is contained in:
Józef Kucia
2017-10-04 13:55:33 +02:00
parent fecc94cebc
commit 67aed755ab
3 changed files with 45 additions and 3 deletions

View File

@@ -1131,6 +1131,16 @@ static void vkd3d_create_buffer_uav(struct d3d12_desc *descriptor, struct d3d12_
d3d12_desc_destroy(descriptor, device);
}
}
/* FIXME: Clears are implemented only for R32_UINT buffer UAVs. */
if ((desc->Format == DXGI_FORMAT_R32_TYPELESS && (desc->u.Buffer.Flags & VKD3D_VIEW_RAW_BUFFER))
|| desc->Format == DXGI_FORMAT_R32_UINT)
{
const struct vkd3d_format *format = vkd3d_get_format(DXGI_FORMAT_R32_UINT, false);
descriptor->view_offset = desc->u.Buffer.FirstElement * format->byte_count;
descriptor->view_size = desc->u.Buffer.NumElements * format->byte_count;
}
}
static void vkd3d_create_texture_uav(struct d3d12_desc *descriptor,