<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{73D3DECB-E915-4759-ABD0-FDAC8104B1CB}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Label="Configuration">
    <OutDir>$(SolutionDir)x64\$(Configuration)\Bin\</OutDir>
    <IntDir>$(Platform)\$(Configuration)\</IntDir>
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Debug'">
    <UseDebugLibraries>true</UseDebugLibraries>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Release'">
    <UseDebugLibraries>false</UseDebugLibraries>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <PlatformToolset>v141</PlatformToolset>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
    <Import Project="deps\DirectX.props" />
    <Import Project="deps\Vulkan.props" />
  </ImportGroup>
  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
    <LinkIncremental>true</LinkIncremental>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)'=='Release'">
    <LinkIncremental>false</LinkIncremental>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <TargetName>$(ProjectName)$(PlatformArchitecture)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <TargetName>$(ProjectName)$(PlatformArchitecture)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <TargetName>$(ProjectName)$(PlatformArchitecture)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <TargetName>$(ProjectName)$(PlatformArchitecture)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalIncludeDirectories>$(SolutionDir)Commons;$(SolutionDir)MinHook\include;$(SolutionDir)LibOVR\Include;$(ProjectDir)source;$(SolutionDir)openvr\headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalOptions>/std:c++latest %(AdditionalOptions)</AdditionalOptions>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>Debug</GenerateDebugInformation>
      <AdditionalLibraryDirectories>$(ProjectDir)deps\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
      <AdditionalDependencies>$(OutDir)Commons$(PlatformArchitecture).lib;$(SolutionDir)lib\Debug\libMinHook.x86.lib;d3d12.lib;d2d1.lib;dwrite.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalIncludeDirectories>$(SolutionDir)Commons;$(SolutionDir)MinHook\include;$(SolutionDir)LibOVR\Include;$(ProjectDir)source;$(SolutionDir)openvr\headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalOptions>/std:c++latest %(AdditionalOptions)</AdditionalOptions>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <GenerateDebugInformation>Debug</GenerateDebugInformation>
      <AdditionalLibraryDirectories>$(ProjectDir)deps\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
      <AdditionalDependencies>$(OutDir)Commons$(PlatformArchitecture).lib;$(SolutionDir)lib\Debug\libMinHook.x64.lib;d3d12.lib;d2d1.lib;dwrite.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalIncludeDirectories>$(SolutionDir)Commons;$(SolutionDir)MinHook\include;$(SolutionDir)LibOVR\Include;$(ProjectDir)source;$(SolutionDir)openvr\headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalOptions>/std:c++latest %(AdditionalOptions)</AdditionalOptions>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <GenerateDebugInformation>Debug</GenerateDebugInformation>
      <AdditionalLibraryDirectories>$(ProjectDir)deps\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
      <AdditionalDependencies>$(OutDir)Commons$(PlatformArchitecture).lib;$(SolutionDir)lib\Release\libMinHook.x86.lib;d3d12.lib;d2d1.lib;dwrite.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <DelayLoadDLLs>d3d12.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <WarningLevel>Level3</WarningLevel>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalIncludeDirectories>$(SolutionDir)Commons;$(SolutionDir)MinHook\include;$(SolutionDir)LibOVR\Include;$(ProjectDir)source;$(SolutionDir)openvr\headers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalOptions>/std:c++latest %(AdditionalOptions)</AdditionalOptions>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
    </ClCompile>
    <Link>
      <SubSystem>Windows</SubSystem>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
      <GenerateDebugInformation>Debug</GenerateDebugInformation>
      <AdditionalLibraryDirectories>$(ProjectDir)deps\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
      <AdditionalDependencies>$(OutDir)Commons$(PlatformArchitecture).lib;$(SolutionDir)lib\Release\libMinHook.x64.lib;d3d12.lib;d2d1.lib;dwrite.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <DelayLoadDLLs>d3d12.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
    </Link>
    <PostBuildEvent>
      <Command>
      </Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="source\d3d\d3d11_renderer.cpp" />
    <ClCompile Include="source\d3d\d3d12_renderer.cpp" />
    <ClCompile Include="source\d3d\dxgi.cpp" />
    <ClCompile Include="source\d3d\DXGIWrapper.cpp" />
    <ClCompile Include="source\d3d\dxgi_swapchain.cpp" />
    <ClCompile Include="source\d3d\oculus.cpp" />
    <ClCompile Include="source\d3d\steamvr.cpp" />
    <ClCompile Include="source\hook.cpp" />
    <ClCompile Include="source\hook_manager.cpp" />
    <ClCompile Include="source\main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="LagIndicatorPS_Byte.h" />
    <ClInclude Include="OverlayPS_Byte.h" />
    <ClInclude Include="OverlayVS_Byte.h" />
    <ClInclude Include="res\resource.h" />
    <ClInclude Include="source\critical_section.hpp" />
    <ClInclude Include="source\d3d\d3d11_renderer.hpp" />
    <ClInclude Include="source\d3d\d3d12_renderer.hpp" />
    <ClInclude Include="source\d3d\DXGIWrapper.h" />
    <ClInclude Include="source\d3d\dxgi_swapchain.hpp" />
    <ClInclude Include="source\d3d\oculus.h" />
    <ClInclude Include="source\d3d\steamvr.h" />
    <ClInclude Include="source\hook.hpp" />
    <ClInclude Include="source\hook_manager.hpp" />
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="res\resource.rc" />
  </ItemGroup>
  <ItemGroup>
    <FxCompile Include="source\d3d\OverlayPS.hlsl">
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">g_OverlayPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">OverlayPS_Byte.h</HeaderFileOutput>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.0</ShaderModel>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">g_OverlayPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">OverlayPS_Byte.h</HeaderFileOutput>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.0</ShaderModel>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">g_OverlayPS</VariableName>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">g_OverlayPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">OverlayPS_Byte.h</HeaderFileOutput>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">OverlayPS_Byte.h</HeaderFileOutput>
    </FxCompile>
    <FxCompile Include="source\d3d\OverlayVS.hlsl">
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Vertex</ShaderType>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">g_OverlayVS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">OverlayVS_Byte.h</HeaderFileOutput>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Vertex</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.0</ShaderModel>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">OverlayVS_Byte.h</HeaderFileOutput>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">g_OverlayVS</VariableName>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">g_OverlayVS</VariableName>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">g_OverlayVS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">OverlayVS_Byte.h</HeaderFileOutput>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">OverlayVS_Byte.h</HeaderFileOutput>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Vertex</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Vertex</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.0</ShaderModel>
    </FxCompile>
    <FxCompile Include="source\d3d\LagIndicatorPS.hlsl">
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">g_LagIndicatorPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">LagIndicatorPS_Byte.h</HeaderFileOutput>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">5.0</ShaderModel>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">g_LagIndicatorPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">LagIndicatorPS_Byte.h</HeaderFileOutput>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">5.0</ShaderModel>
      <ShaderType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Pixel</ShaderType>
      <ShaderModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">5.0</ShaderModel>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">g_LagIndicatorPS</VariableName>
      <VariableName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">g_LagIndicatorPS</VariableName>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">LagIndicatorPS_Byte.h</HeaderFileOutput>
      <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">LagIndicatorPS_Byte.h</HeaderFileOutput>
    </FxCompile>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <Import Project="deps\GLSLang.targets" />
</Project>