mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-26 15:45:42 +00:00
Frontends: Use DXGI_PRESENT_FLAG_ALLOW_TEARING for presentatation
This commit is contained in:
parent
159786c3f1
commit
46033898ba
|
@ -3,6 +3,7 @@
|
||||||
#include "common/d3d11/shader_compiler.h"
|
#include "common/d3d11/shader_compiler.h"
|
||||||
#include "common/log.h"
|
#include "common/log.h"
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <dxgi1_5.h>
|
||||||
#include <imgui.h>
|
#include <imgui.h>
|
||||||
#include <imgui_impl_dx11.h>
|
#include <imgui_impl_dx11.h>
|
||||||
Log_SetChannel(D3D11DisplayWindow);
|
Log_SetChannel(D3D11DisplayWindow);
|
||||||
|
@ -193,7 +194,7 @@ void D3D11DisplayWindow::onWindowResized(int width, int height)
|
||||||
|
|
||||||
bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
||||||
{
|
{
|
||||||
const bool debug = true;
|
const bool debug = false;
|
||||||
|
|
||||||
ComPtr<IDXGIFactory> dxgi_factory;
|
ComPtr<IDXGIFactory> dxgi_factory;
|
||||||
HRESULT hr = CreateDXGIFactory(IID_PPV_ARGS(dxgi_factory.GetAddressOf()));
|
HRESULT hr = CreateDXGIFactory(IID_PPV_ARGS(dxgi_factory.GetAddressOf()));
|
||||||
|
@ -203,6 +204,18 @@ bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_allow_tearing_supported = false;
|
||||||
|
ComPtr<IDXGIFactory5> dxgi_factory5;
|
||||||
|
hr = dxgi_factory.As(&dxgi_factory5);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
BOOL allow_tearing_supported = false;
|
||||||
|
hr = dxgi_factory5->CheckFeatureSupport(DXGI_FEATURE_PRESENT_ALLOW_TEARING, &allow_tearing_supported,
|
||||||
|
sizeof(allow_tearing_supported));
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
m_allow_tearing_supported = (allow_tearing_supported == TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
UINT create_flags = 0;
|
UINT create_flags = 0;
|
||||||
if (debug)
|
if (debug)
|
||||||
create_flags |= D3D11_CREATE_DEVICE_DEBUG;
|
create_flags |= D3D11_CREATE_DEVICE_DEBUG;
|
||||||
|
@ -227,11 +240,17 @@ bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
||||||
swap_chain_desc.Windowed = TRUE;
|
swap_chain_desc.Windowed = TRUE;
|
||||||
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
|
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
|
||||||
|
|
||||||
|
if (m_allow_tearing_supported)
|
||||||
|
swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING;
|
||||||
|
|
||||||
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
Log_WarningPrintf("Failed to create a flip-discard swap chain, trying discard.");
|
Log_WarningPrintf("Failed to create a flip-discard swap chain, trying discard.");
|
||||||
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||||
|
swap_chain_desc.Flags = 0;
|
||||||
|
m_allow_tearing_supported = false;
|
||||||
|
|
||||||
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
|
@ -240,7 +259,8 @@ bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 1
|
if (debug)
|
||||||
|
{
|
||||||
ComPtr<ID3D11InfoQueue> info;
|
ComPtr<ID3D11InfoQueue> info;
|
||||||
hr = m_device.As(&info);
|
hr = m_device.As(&info);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
|
@ -248,7 +268,7 @@ bool D3D11DisplayWindow::createDeviceContext(QThread* worker_thread)
|
||||||
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, TRUE);
|
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, TRUE);
|
||||||
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, TRUE);
|
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, TRUE);
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
|
|
||||||
if (!QtDisplayWindow::createDeviceContext(worker_thread))
|
if (!QtDisplayWindow::createDeviceContext(worker_thread))
|
||||||
{
|
{
|
||||||
|
@ -422,6 +442,9 @@ void D3D11DisplayWindow::Render()
|
||||||
ImGui::Render();
|
ImGui::Render();
|
||||||
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
|
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
|
||||||
|
|
||||||
|
if (!m_vsync && m_allow_tearing_supported)
|
||||||
|
m_swap_chain->Present(0, DXGI_PRESENT_ALLOW_TEARING);
|
||||||
|
else
|
||||||
m_swap_chain->Present(BoolToUInt32(m_vsync), 0);
|
m_swap_chain->Present(BoolToUInt32(m_vsync), 0);
|
||||||
|
|
||||||
ImGui::NewFrame();
|
ImGui::NewFrame();
|
||||||
|
|
|
@ -91,5 +91,6 @@ private:
|
||||||
|
|
||||||
bool m_display_texture_changed = false;
|
bool m_display_texture_changed = false;
|
||||||
bool m_display_linear_filtering = false;
|
bool m_display_linear_filtering = false;
|
||||||
|
bool m_allow_tearing_supported = false;
|
||||||
bool m_vsync = false;
|
bool m_vsync = false;
|
||||||
};
|
};
|
||||||
|
|
|
@ -19,7 +19,7 @@ if(WIN32)
|
||||||
d3d11_host_display.cpp
|
d3d11_host_display.cpp
|
||||||
d3d11_host_display.h
|
d3d11_host_display.h
|
||||||
)
|
)
|
||||||
target_link_libraries(duckstation PRIVATE d3d11.lib winmm.lib)
|
target_link_libraries(duckstation PRIVATE d3d11.lib dxgi.lib winmm.lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(duckstation PRIVATE core common imgui nativefiledialog glad simpleini SDL2::Main)
|
target_link_libraries(duckstation PRIVATE core common imgui nativefiledialog glad simpleini SDL2::Main)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include "common/log.h"
|
#include "common/log.h"
|
||||||
#include <SDL_syswm.h>
|
#include <SDL_syswm.h>
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <dxgi1_5.h>
|
||||||
#include <imgui.h>
|
#include <imgui.h>
|
||||||
#include <imgui_impl_dx11.h>
|
#include <imgui_impl_dx11.h>
|
||||||
#include <imgui_impl_sdl.h>
|
#include <imgui_impl_sdl.h>
|
||||||
|
@ -191,7 +192,7 @@ void D3D11HostDisplay::WindowResized()
|
||||||
|
|
||||||
bool D3D11HostDisplay::CreateD3DDevice()
|
bool D3D11HostDisplay::CreateD3DDevice()
|
||||||
{
|
{
|
||||||
const bool debug = false;
|
const bool debug = true;
|
||||||
|
|
||||||
SDL_SysWMinfo syswm = {};
|
SDL_SysWMinfo syswm = {};
|
||||||
if (!SDL_GetWindowWMInfo(m_window, &syswm))
|
if (!SDL_GetWindowWMInfo(m_window, &syswm))
|
||||||
|
@ -200,10 +201,39 @@ bool D3D11HostDisplay::CreateD3DDevice()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ComPtr<IDXGIFactory> dxgi_factory;
|
||||||
|
HRESULT hr = CreateDXGIFactory(IID_PPV_ARGS(dxgi_factory.GetAddressOf()));
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
Log_ErrorPrintf("Failed to create DXGI factory: 0x%08X", hr);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_allow_tearing_supported = false;
|
||||||
|
ComPtr<IDXGIFactory5> dxgi_factory5;
|
||||||
|
hr = dxgi_factory.As(&dxgi_factory5);
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
BOOL allow_tearing_supported = false;
|
||||||
|
hr = dxgi_factory5->CheckFeatureSupport(DXGI_FEATURE_PRESENT_ALLOW_TEARING, &allow_tearing_supported,
|
||||||
|
sizeof(allow_tearing_supported));
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
m_allow_tearing_supported = (allow_tearing_supported == TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
UINT create_flags = 0;
|
UINT create_flags = 0;
|
||||||
if (debug)
|
if (debug)
|
||||||
create_flags |= D3D11_CREATE_DEVICE_DEBUG;
|
create_flags |= D3D11_CREATE_DEVICE_DEBUG;
|
||||||
|
|
||||||
|
hr = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, create_flags, nullptr, 0, D3D11_SDK_VERSION,
|
||||||
|
m_device.GetAddressOf(), nullptr, m_context.GetAddressOf());
|
||||||
|
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
Log_ErrorPrintf("Failed to create D3D device: 0x%08X", hr);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
DXGI_SWAP_CHAIN_DESC swap_chain_desc = {};
|
DXGI_SWAP_CHAIN_DESC swap_chain_desc = {};
|
||||||
swap_chain_desc.BufferDesc.Width = m_window_width;
|
swap_chain_desc.BufferDesc.Width = m_window_width;
|
||||||
swap_chain_desc.BufferDesc.Height = m_window_height;
|
swap_chain_desc.BufferDesc.Height = m_window_height;
|
||||||
|
@ -215,23 +245,27 @@ bool D3D11HostDisplay::CreateD3DDevice()
|
||||||
swap_chain_desc.Windowed = TRUE;
|
swap_chain_desc.Windowed = TRUE;
|
||||||
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
|
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD;
|
||||||
|
|
||||||
HRESULT hr = D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, create_flags, nullptr, 0,
|
if (m_allow_tearing_supported)
|
||||||
D3D11_SDK_VERSION, &swap_chain_desc, m_swap_chain.GetAddressOf(),
|
swap_chain_desc.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING;
|
||||||
m_device.GetAddressOf(), nullptr, m_context.GetAddressOf());
|
|
||||||
|
|
||||||
|
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
Log_WarningPrintf("Failed to create a flip-discard swap chain, trying discard.");
|
Log_WarningPrintf("Failed to create a flip-discard swap chain, trying discard.");
|
||||||
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
swap_chain_desc.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;
|
||||||
}
|
swap_chain_desc.Flags = 0;
|
||||||
|
m_allow_tearing_supported = false;
|
||||||
|
|
||||||
|
hr = dxgi_factory->CreateSwapChain(m_device.Get(), &swap_chain_desc, m_swap_chain.GetAddressOf());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
Log_ErrorPrintf("D3D11CreateDeviceAndSwapChain failed: 0x%08X", hr);
|
Log_ErrorPrintf("CreateSwapChain failed: 0x%08X", hr);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if 0
|
if (debug)
|
||||||
|
{
|
||||||
ComPtr<ID3D11InfoQueue> info;
|
ComPtr<ID3D11InfoQueue> info;
|
||||||
hr = m_device.As(&info);
|
hr = m_device.As(&info);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
|
@ -239,7 +273,7 @@ bool D3D11HostDisplay::CreateD3DDevice()
|
||||||
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, TRUE);
|
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_ERROR, TRUE);
|
||||||
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, TRUE);
|
info->SetBreakOnSeverity(D3D11_MESSAGE_SEVERITY_WARNING, TRUE);
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -374,6 +408,9 @@ void D3D11HostDisplay::Render()
|
||||||
|
|
||||||
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
|
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
|
||||||
|
|
||||||
|
if (!m_vsync && m_allow_tearing_supported)
|
||||||
|
m_swap_chain->Present(0, DXGI_PRESENT_ALLOW_TEARING);
|
||||||
|
else
|
||||||
m_swap_chain->Present(BoolToUInt32(m_vsync), 0);
|
m_swap_chain->Present(BoolToUInt32(m_vsync), 0);
|
||||||
|
|
||||||
ImGui_ImplSDL2_NewFrame(m_window);
|
ImGui_ImplSDL2_NewFrame(m_window);
|
||||||
|
|
|
@ -85,5 +85,6 @@ private:
|
||||||
|
|
||||||
bool m_display_texture_changed = false;
|
bool m_display_texture_changed = false;
|
||||||
bool m_display_linear_filtering = false;
|
bool m_display_linear_filtering = false;
|
||||||
|
bool m_allow_tearing_supported = false;
|
||||||
bool m_vsync = false;
|
bool m_vsync = false;
|
||||||
};
|
};
|
||||||
|
|
|
@ -218,7 +218,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -265,7 +265,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -290,7 +290,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64-debug;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
@ -313,7 +313,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -362,7 +362,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -387,7 +387,7 @@
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>SDL2.lib;d3d11.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>SDL2.lib;d3d11.lib;dxgi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)dep\msvc\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
Loading…
Reference in a new issue