libs/vkd3d: Use switch instead of multiple ifs in vk_write_descriptor_set_from_d3d12_desc().

This commit is contained in:
Józef Kucia 2017-08-29 12:43:04 +02:00
parent 7864ac4d67
commit 6800dc8e40

View File

@ -2385,13 +2385,14 @@ static bool vk_write_descriptor_set_from_d3d12_desc(VkWriteDescriptorSet *vk_des
vk_descriptor_write->pBufferInfo = NULL; vk_descriptor_write->pBufferInfo = NULL;
vk_descriptor_write->pTexelBufferView = NULL; vk_descriptor_write->pTexelBufferView = NULL;
if (descriptor->magic == VKD3D_DESCRIPTOR_MAGIC_CBV) switch (descriptor->magic)
{ {
case VKD3D_DESCRIPTOR_MAGIC_CBV:
vk_descriptor_write->pBufferInfo = &descriptor->u.vk_cbv_info; vk_descriptor_write->pBufferInfo = &descriptor->u.vk_cbv_info;
} break;
else if (descriptor->magic == VKD3D_DESCRIPTOR_MAGIC_SRV
|| descriptor->magic == VKD3D_DESCRIPTOR_MAGIC_UAV) case VKD3D_DESCRIPTOR_MAGIC_SRV:
{ case VKD3D_DESCRIPTOR_MAGIC_UAV:
/* We use separate bindings for buffer and texture SRVs/UAVs. /* We use separate bindings for buffer and texture SRVs/UAVs.
* See d3d12_root_signature_init(). */ * See d3d12_root_signature_init(). */
vk_descriptor_write->dstBinding = vk_binding + 2 * index; vk_descriptor_write->dstBinding = vk_binding + 2 * index;
@ -2413,17 +2414,17 @@ static bool vk_write_descriptor_set_from_d3d12_desc(VkWriteDescriptorSet *vk_des
vk_descriptor_write->pImageInfo = vk_image_info; vk_descriptor_write->pImageInfo = vk_image_info;
} }
} break;
else if (descriptor->magic == VKD3D_DESCRIPTOR_MAGIC_SAMPLER)
{ case VKD3D_DESCRIPTOR_MAGIC_SAMPLER:
vk_image_info->sampler = descriptor->u.vk_sampler; vk_image_info->sampler = descriptor->u.vk_sampler;
vk_image_info->imageView = VK_NULL_HANDLE; vk_image_info->imageView = VK_NULL_HANDLE;
vk_image_info->imageLayout = VK_IMAGE_LAYOUT_UNDEFINED; vk_image_info->imageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
vk_descriptor_write->pImageInfo = vk_image_info; vk_descriptor_write->pImageInfo = vk_image_info;
} break;
else
{ default:
FIXME("Unhandled descriptor %#x.\n", descriptor->magic); FIXME("Unhandled descriptor %#x.\n", descriptor->magic);
return false; return false;
} }