bug-14827: Remove DescriptorInfo union

The DescriptorInfo union is invalid in C++
diff --git a/demos/cube.c b/demos/cube.c
index 91fcd8e..b9193cb 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -367,7 +367,7 @@
         VkBuffer buf;
         VkMemoryAllocInfo mem_alloc;
         VkDeviceMemory mem;
-        VkDescriptorInfo desc;
+        VkDescriptorBufferInfo buffer_info;
     } uniform_data;
 
     VkCmdBuffer cmd;  // Buffer for initialization commands
@@ -1234,9 +1234,9 @@
             demo->uniform_data.mem, 0);
     assert(!err);
 
-    demo->uniform_data.desc.bufferInfo.buffer = demo->uniform_data.buf;
-    demo->uniform_data.desc.bufferInfo.offset = 0;
-    demo->uniform_data.desc.bufferInfo.range = sizeof(data);
+    demo->uniform_data.buffer_info.buffer = demo->uniform_data.buf;
+    demo->uniform_data.buffer_info.offset = 0;
+    demo->uniform_data.buffer_info.range = sizeof(data);
 }
 
 static void demo_prepare_descriptor_layout(struct demo *demo)
@@ -1643,7 +1643,7 @@
 
 static void demo_prepare_descriptor_set(struct demo *demo)
 {
-    VkDescriptorInfo tex_descs[DEMO_TEXTURE_COUNT];
+    VkDescriptorImageInfo tex_descs[DEMO_TEXTURE_COUNT];
     VkWriteDescriptorSet writes[2];
     VkResult U_ASSERT_ONLY err;
     uint32_t i;
@@ -1660,9 +1660,9 @@
 
     memset(&tex_descs, 0, sizeof(tex_descs));
     for (i = 0; i < DEMO_TEXTURE_COUNT; i++) {
-        tex_descs[i].imageInfo.sampler = demo->textures[i].sampler;
-        tex_descs[i].imageInfo.imageView = demo->textures[i].view;
-        tex_descs[i].imageInfo.imageLayout = VK_IMAGE_LAYOUT_GENERAL;
+        tex_descs[i].sampler = demo->textures[i].sampler;
+        tex_descs[i].imageView = demo->textures[i].view;
+        tex_descs[i].imageLayout = VK_IMAGE_LAYOUT_GENERAL;
     }
 
     memset(&writes, 0, sizeof(writes));
@@ -1671,14 +1671,14 @@
     writes[0].destSet = demo->desc_set;
     writes[0].count = 1;
     writes[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-    writes[0].pDescriptors = &demo->uniform_data.desc;
+    writes[0].pBufferInfo = &demo->uniform_data.buffer_info;
 
     writes[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     writes[1].destSet = demo->desc_set;
     writes[1].destBinding = 1;
     writes[1].count = DEMO_TEXTURE_COUNT;
     writes[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
-    writes[1].pDescriptors = tex_descs;
+    writes[1].pImageInfo = tex_descs;
 
     vkUpdateDescriptorSets(demo->device, 2, writes, 0, NULL);
 }