Buffer, BufferView and DeviceMemory

This cl adds Buffer, BufferView and DeviceMemory.
- DeviceMemory contains the appropriate logic to allocate and map
  device memory.
- Buffer simply wraps a DeviceMemory and an offset for now.
- BufferView wraps a Buffer with a memory region and a Format.

Bug b/118383648

Change-Id: I6d53b9f0728d4cdec2696339cc6aa8ce2e05ca49
Reviewed-on: https://swiftshader-review.googlesource.com/c/21728
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/vulkan.vcxproj b/src/Vulkan/vulkan.vcxproj
index 708ae7a..bf267c1 100644
--- a/src/Vulkan/vulkan.vcxproj
+++ b/src/Vulkan/vulkan.vcxproj
@@ -98,9 +98,11 @@
   <ItemGroup>

     <ClCompile Include="libVulkan.cpp" />

     <ClCompile Include="main.cpp" />

+    <ClCompile Include="VkBuffer.cpp" />

     <ClCompile Include="VkCommandBuffer.cpp" />

     <ClCompile Include="VkDebug.cpp" />

     <ClCompile Include="VkDevice.cpp" />

+    <ClCompile Include="VkDeviceMemory.cpp" />

     <ClCompile Include="VkGetProcAddress.cpp" />

     <ClCompile Include="VkInstance.cpp" />

     <ClCompile Include="VkMemory.cpp" />

@@ -180,11 +182,14 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="resource.h" />

+    <ClInclude Include="VkBuffer.hpp" />

+    <ClInclude Include="VkBufferView.hpp" />

     <ClInclude Include="VkCommandBuffer.hpp" />

     <ClInclude Include="VkConfig.h" />

     <ClInclude Include="VkDebug.hpp" />

     <ClInclude Include="VkDestroy.h" />

     <ClInclude Include="VkDevice.hpp" />

+    <ClInclude Include="VkDeviceMemory.hpp" />

     <ClInclude Include="VkEvent.hpp" />

     <ClInclude Include="VkFence.hpp" />

     <ClInclude Include="VkGetProcAddress.h" />