Commit da1ed068 by Nicolas Capens Committed by Nicolas Capens

Fix Visual Studio build of VulkanUnitTests

- Make VulkanUnitTests depend on SPIRV-Tools. - Build Vulkan DLLs but don't link statically with VulkanUnitTests. - Don't use Unicode character set. - Statically link runtime library. - Fix narrowing conversion from 'VkCommandBufferUsageFlagBits' to 'VkCommandBufferUsageFlags'. Bug swiftshader:125 Change-Id: I7dbdc25c829cc76b5e05cd57cd9f85bf2d4e0903 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/26948Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 6b12a50d
...@@ -258,13 +258,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VertexRoutineFuzzer", "test ...@@ -258,13 +258,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VertexRoutineFuzzer", "test
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vulkan", "src\Vulkan\vulkan.vcxproj", "{E1C34B66-C942-4B9A-B8C3-9A12625650D3}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vulkan", "src\Vulkan\vulkan.vcxproj", "{E1C34B66-C942-4B9A-B8C3-9A12625650D3}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{6ABDA7CD-3BBA-3190-AE38-B0BBE6CB9327} = {6ABDA7CD-3BBA-3190-AE38-B0BBE6CB9327}
{EF1AF598-E402-38F1-A74A-35F18A1EC1CC} = {EF1AF598-E402-38F1-A74A-35F18A1EC1CC} {EF1AF598-E402-38F1-A74A-35F18A1EC1CC} = {EF1AF598-E402-38F1-A74A-35F18A1EC1CC}
{6ABDA7CD-3BBA-3190-AE38-B0BBE6CB9327} = {6ABDA7CD-3BBA-3190-AE38-B0BBE6CB9327}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactorUnitTests", "src\Reactor\ReactorUnitTests.vcxproj", "{4EC107AB-89E8-4A0B-8366-B3E81085AE07}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactorUnitTests", "src\Reactor\ReactorUnitTests.vcxproj", "{4EC107AB-89E8-4A0B-8366-B3E81085AE07}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VulkanUnitTests", "tests\VulkanUnitTests\VulkanUnitTests.vcxproj", "{16E1EBC1-BB6B-4A82-A1A3-5A69AC8D58FE}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VulkanUnitTests", "tests\VulkanUnitTests\VulkanUnitTests.vcxproj", "{16E1EBC1-BB6B-4A82-A1A3-5A69AC8D58FE}"
ProjectSection(ProjectDependencies) = postProject
{E1C34B66-C942-4B9A-B8C3-9A12625650D3} = {E1C34B66-C942-4B9A-B8C3-9A12625650D3}
EndProjectSection
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPIRV-Tools", "SPIRV-Tools", "{ABF69E39-C15E-4DAC-A27E-3480DE2C0CF0}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPIRV-Tools", "SPIRV-Tools", "{ABF69E39-C15E-4DAC-A27E-3480DE2C0CF0}"
EndProject EndProject
......
...@@ -358,7 +358,7 @@ VkResult Device::AllocateCommandBuffer( ...@@ -358,7 +358,7 @@ VkResult Device::AllocateCommandBuffer(
} }
VkResult Device::BeginCommandBuffer( VkResult Device::BeginCommandBuffer(
VkCommandBufferUsageFlagBits usage, VkCommandBuffer commandBuffer) const VkCommandBufferUsageFlags usage, VkCommandBuffer commandBuffer) const
{ {
VkCommandBufferBeginInfo info = { VkCommandBufferBeginInfo info = {
VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, // sType VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, // sType
......
...@@ -101,7 +101,7 @@ public: ...@@ -101,7 +101,7 @@ public:
VkResult AllocateCommandBuffer(VkCommandPool pool, VkCommandBuffer* out) const; VkResult AllocateCommandBuffer(VkCommandPool pool, VkCommandBuffer* out) const;
// BeginCommandBuffer begins writing to commandBuffer. // BeginCommandBuffer begins writing to commandBuffer.
VkResult BeginCommandBuffer(VkCommandBufferUsageFlagBits usage, VkCommandBuffer commandBuffer) const; VkResult BeginCommandBuffer(VkCommandBufferUsageFlags usage, VkCommandBuffer commandBuffer) const;
// QueueSubmitAndWait submits the given command buffer and waits for it to // QueueSubmitAndWait submits the given command buffer and waits for it to
// complete. // complete.
......
...@@ -21,14 +21,14 @@ ...@@ -21,14 +21,14 @@
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>NotSet</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v141</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet> <CharacterSet>NotSet</CharacterSet>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
</ForcedIncludeFiles> </ForcedIncludeFiles>
<TreatSpecificWarningsAsErrors>4018;5038;4838</TreatSpecificWarningsAsErrors> <TreatSpecificWarningsAsErrors>4018;5038;4838</TreatSpecificWarningsAsErrors>
<AdditionalOptions>/permissive- %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>/permissive- %(AdditionalOptions)</AdditionalOptions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
...@@ -88,6 +89,7 @@ ...@@ -88,6 +89,7 @@
</ForcedIncludeFiles> </ForcedIncludeFiles>
<TreatSpecificWarningsAsErrors>4018;5038;4838</TreatSpecificWarningsAsErrors> <TreatSpecificWarningsAsErrors>4018;5038;4838</TreatSpecificWarningsAsErrors>
<AdditionalOptions>/permissive- %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>/permissive- %(AdditionalOptions)</AdditionalOptions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
...@@ -104,16 +106,16 @@ ...@@ -104,16 +106,16 @@
<ClCompile Include="unittests.cpp" /> <ClCompile Include="unittests.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\Vulkan\vulkan.vcxproj">
<Project>{e1c34b66-c942-4b9a-b8c3-9a12625650d3}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Device.hpp" /> <ClInclude Include="Device.hpp" />
<ClInclude Include="Driver.hpp" /> <ClInclude Include="Driver.hpp" />
<ClInclude Include="VkGlobalFuncs.hpp" /> <ClInclude Include="VkGlobalFuncs.hpp" />
<ClInclude Include="VkInstanceFuncs.hpp" /> <ClInclude Include="VkInstanceFuncs.hpp" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\build\Visual Studio 15 2017 Win64\third_party\SPIRV-Tools\source\SPIRV-Tools.vcxproj">
<Project>{ef1af598-e402-38f1-a74a-35f18a1ec1cc}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>
......
...@@ -27,6 +27,9 @@ ...@@ -27,6 +27,9 @@
<ClCompile Include="Driver.cpp"> <ClCompile Include="Driver.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Device.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="Driver.hpp"> <ClInclude Include="Driver.hpp">
...@@ -38,5 +41,8 @@ ...@@ -38,5 +41,8 @@
<ClInclude Include="VkInstanceFuncs.hpp"> <ClInclude Include="VkInstanceFuncs.hpp">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Device.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment