dep: Move Vulkan loader to common

This commit is contained in:
Connor McLaughlin 2022-07-08 21:49:27 +10:00
parent fd3507c16d
commit f89529015c
48 changed files with 57 additions and 246 deletions

View File

@ -8,7 +8,6 @@ add_subdirectory(libchdr)
add_subdirectory(xxhash)
add_subdirectory(rapidjson)
add_subdirectory(glslang)
add_subdirectory(vulkan-loader)
add_subdirectory(imgui)
add_subdirectory(simpleini)

View File

@ -1,37 +0,0 @@
set(SRCS
include/vulkan_entry_points.h
include/vulkan_loader.h
include/vulkan/vulkan_android.h
include/vulkan/vulkan_win32.h
include/vulkan/vk_layer.h
include/vulkan/vulkan.h
include/vulkan/vulkan_metal.h
include/vulkan/vulkan_core.h
include/vulkan/vulkan_fuchsia.h
include/vulkan/vulkan_xlib_xrandr.h
include/vulkan/vk_sdk_platform.h
include/vulkan/vulkan_xlib.h
include/vulkan/vulkan_ios.h
include/vulkan/vk_platform.h
include/vulkan/vulkan_ggp.h
include/vulkan/vulkan_wayland.h
include/vulkan/vulkan_xcb.h
include/vulkan/vulkan_vi.h
include/vulkan/vulkan_beta.h
include/vulkan/vk_icd.h
include/vulkan/vulkan_macos.h
src/vulkan_loader.cpp
)
add_library(vulkan-loader ${SRCS})
target_include_directories(vulkan-loader PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(vulkan-loader PRIVATE ${CMAKE_DL_LIBS})
if(USE_X11)
target_compile_definitions(vulkan-loader PUBLIC "VULKAN_USE_X11=1")
target_include_directories(vulkan-loader PUBLIC "${X11_INCLUDE_DIR}")
endif()
if(USE_WAYLAND)
target_compile_definitions(vulkan-loader PUBLIC "VULKAN_USE_WAYLAND=1")
endif()

View File

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\msvc\vsprops\Configurations.props" />
<ItemGroup>
<ClInclude Include="include\vulkan\vk_icd.h" />
<ClInclude Include="include\vulkan\vk_layer.h" />
<ClInclude Include="include\vulkan\vk_platform.h" />
<ClInclude Include="include\vulkan\vk_sdk_platform.h" />
<ClInclude Include="include\vulkan\vulkan.h" />
<ClInclude Include="include\vulkan\vulkan_android.h" />
<ClInclude Include="include\vulkan\vulkan_beta.h" />
<ClInclude Include="include\vulkan\vulkan_core.h" />
<ClInclude Include="include\vulkan\vulkan_fuchsia.h" />
<ClInclude Include="include\vulkan\vulkan_ggp.h" />
<ClInclude Include="include\vulkan\vulkan_ios.h" />
<ClInclude Include="include\vulkan\vulkan_macos.h" />
<ClInclude Include="include\vulkan\vulkan_metal.h" />
<ClInclude Include="include\vulkan\vulkan_vi.h" />
<ClInclude Include="include\vulkan\vulkan_wayland.h" />
<ClInclude Include="include\vulkan\vulkan_win32.h" />
<ClInclude Include="include\vulkan\vulkan_xcb.h" />
<ClInclude Include="include\vulkan\vulkan_xlib.h" />
<ClInclude Include="include\vulkan\vulkan_xlib_xrandr.h" />
<ClInclude Include="include\vulkan_entry_points.h" />
<ClInclude Include="include\vulkan_loader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\vulkan_loader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="include\vulkan_entry_points.inl" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}</ProjectGuid>
</PropertyGroup>
<Import Project="..\msvc\vsprops\StaticLibrary.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="..\msvc\vsprops\Targets.props" />
</Project>

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="include\vulkan_loader.h" />
<ClInclude Include="include\vulkan\vulkan_fuchsia.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_ggp.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_ios.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_macos.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_metal.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_vi.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_wayland.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_win32.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_xcb.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_xlib.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_xlib_xrandr.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vk_icd.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vk_layer.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vk_platform.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vk_sdk_platform.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_android.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_beta.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan\vulkan_core.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="include\vulkan_entry_points.h" />
</ItemGroup>
<ItemGroup>
<Filter Include="vulkan">
<UniqueIdentifier>{b9d919db-dff6-4d4e-b6fa-36ecaa507aea}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\vulkan_loader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="include\vulkan_entry_points.inl" />
</ItemGroup>
</Project>

View File

@ -16,7 +16,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "src\common\common
{ED601289-AC1A-46B8-A8ED-17DB9EB73423} = {ED601289-AC1A-46B8-A8ED-17DB9EB73423}
{425D6C99-D1C8-43C2-B8AC-4D7B1D941017} = {425D6C99-D1C8-43C2-B8AC-4D7B1D941017}
{8BDA439C-6358-45FB-9994-2FF083BABE06} = {8BDA439C-6358-45FB-9994-2FF083BABE06}
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035} = {9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}
{7FF9FDB9-D504-47DB-A16A-B08071999620} = {7FF9FDB9-D504-47DB-A16A-B08071999620}
{39F0ADFF-3A84-470D-9CF0-CA49E164F2F3} = {39F0ADFF-3A84-470D-9CF0-CA49E164F2F3}
EndProjectSection
@ -29,7 +28,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "src\core\core.vcxpr
{E4357877-D459-45C7-B8F6-DCBB587BB528} = {E4357877-D459-45C7-B8F6-DCBB587BB528}
{ED601289-AC1A-46B8-A8ED-17DB9EB73423} = {ED601289-AC1A-46B8-A8ED-17DB9EB73423}
{09553C96-9F39-49BF-8AE6-7ACBD07C410C} = {09553C96-9F39-49BF-8AE6-7ACBD07C410C}
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035} = {9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}
{7FF9FDB9-D504-47DB-A16A-B08071999620} = {7FF9FDB9-D504-47DB-A16A-B08071999620}
{4BA0A6D4-3AE1-42B2-9347-096FD023FF64} = {4BA0A6D4-3AE1-42B2-9347-096FD023FF64}
EndProjectSection
@ -84,8 +82,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "discord-rpc", "dep\discord-
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glslang", "dep\glslang\glslang.vcxproj", "{7F909E29-4808-4BD9-A60C-56C51A3AAEC2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vulkan-loader", "dep\vulkan-loader\vulkan-loader.vcxproj", "{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "updater", "src\updater\updater.vcxproj", "{32EEAF44-57F8-4C6C-A6F0-DE5667123DD5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vixl", "dep\vixl\vixl.vcxproj", "{8906836E-F06E-46E8-B11A-74E5E8C7B8FB}"
@ -727,36 +723,6 @@ Global
{7F909E29-4808-4BD9-A60C-56C51A3AAEC2}.ReleaseUWP|ARM64.ActiveCfg = ReleaseUWP|ARM64
{7F909E29-4808-4BD9-A60C-56C51A3AAEC2}.ReleaseUWP|x64.ActiveCfg = ReleaseUWP|x64
{7F909E29-4808-4BD9-A60C-56C51A3AAEC2}.ReleaseUWP|x86.ActiveCfg = ReleaseUWP|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|ARM64.ActiveCfg = Debug|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|ARM64.Build.0 = Debug|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|x64.ActiveCfg = Debug|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|x64.Build.0 = Debug|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|x86.ActiveCfg = Debug|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Debug|x86.Build.0 = Debug|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|ARM64.ActiveCfg = DebugFast|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|ARM64.Build.0 = DebugFast|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|x64.ActiveCfg = DebugFast|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|x64.Build.0 = DebugFast|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|x86.ActiveCfg = DebugFast|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugFast|x86.Build.0 = DebugFast|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugUWP|ARM64.ActiveCfg = DebugUWP|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugUWP|x64.ActiveCfg = DebugUWP|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.DebugUWP|x86.ActiveCfg = DebugUWP|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|ARM64.ActiveCfg = Release|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|ARM64.Build.0 = Release|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|x64.ActiveCfg = Release|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|x64.Build.0 = Release|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|x86.ActiveCfg = Release|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.Release|x86.Build.0 = Release|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|ARM64.ActiveCfg = ReleaseLTCG|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|ARM64.Build.0 = ReleaseLTCG|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|x64.ActiveCfg = ReleaseLTCG|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|x64.Build.0 = ReleaseLTCG|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|x86.ActiveCfg = ReleaseLTCG|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseLTCG|x86.Build.0 = ReleaseLTCG|Win32
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseUWP|ARM64.ActiveCfg = ReleaseUWP|ARM64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseUWP|x64.ActiveCfg = ReleaseUWP|x64
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035}.ReleaseUWP|x86.ActiveCfg = ReleaseUWP|Win32
{32EEAF44-57F8-4C6C-A6F0-DE5667123DD5}.Debug|ARM64.ActiveCfg = Debug|ARM64
{32EEAF44-57F8-4C6C-A6F0-DE5667123DD5}.Debug|ARM64.Build.0 = Debug|ARM64
{32EEAF44-57F8-4C6C-A6F0-DE5667123DD5}.Debug|x64.ActiveCfg = Debug|x64
@ -1008,7 +974,6 @@ Global
{49953E1B-2EF7-46A4-B88B-1BF9E099093B} = {BA490C0E-497D-4634-A21E-E65012006385}
{4266505B-DBAF-484B-AB31-B53B9C8235B3} = {BA490C0E-497D-4634-A21E-E65012006385}
{7F909E29-4808-4BD9-A60C-56C51A3AAEC2} = {BA490C0E-497D-4634-A21E-E65012006385}
{9C8DDEB0-2B8F-4F5F-BA86-127CDF27F035} = {BA490C0E-497D-4634-A21E-E65012006385}
{8906836E-F06E-46E8-B11A-74E5E8C7B8FB} = {BA490C0E-497D-4634-A21E-E65012006385}
{39F0ADFF-3A84-470D-9CF0-CA49E164F2F3} = {BA490C0E-497D-4634-A21E-E65012006385}
{4BA0A6D4-3AE1-42B2-9347-096FD023FF64} = {BA490C0E-497D-4634-A21E-E65012006385}

View File

@ -94,6 +94,8 @@ add_library(common
vulkan/builders.h
vulkan/context.cpp
vulkan/context.h
vulkan/loader.h
vulkan/loader.cpp
vulkan/shader_cache.cpp
vulkan/shader_cache.h
vulkan/shader_compiler.cpp
@ -119,7 +121,7 @@ add_library(common
target_include_directories(common PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_link_libraries(common PUBLIC fmt Threads::Threads)
target_link_libraries(common PRIVATE glad stb libchdr glslang vulkan-loader zlib minizip samplerate)
target_link_libraries(common PRIVATE glad stb libchdr glslang zlib minizip samplerate "${CMAKE_DL_LIBS}")
if(WIN32)
target_sources(common PRIVATE

View File

@ -2,7 +2,7 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)dep\fmt\include;$(SolutionDir)dep\libsamplerate\include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\libcue\include;$(SolutionDir)dep\libchdr\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\vulkan-loader\include;$(SolutionDir)dep\glslang;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\minizip\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)dep\fmt\include;$(SolutionDir)dep\libsamplerate\include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\vulkan\include;$(SolutionDir)dep\libcue\include;$(SolutionDir)dep\libchdr\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\glslang;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\minizip\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>

View File

@ -77,6 +77,8 @@
<ClInclude Include="minizip_helpers.h" />
<ClInclude Include="vulkan\builders.h" />
<ClInclude Include="vulkan\context.h" />
<ClInclude Include="vulkan\entry_points.h" />
<ClInclude Include="vulkan\loader.h" />
<ClInclude Include="vulkan\shader_cache.h" />
<ClInclude Include="vulkan\shader_compiler.h" />
<ClInclude Include="vulkan\staging_buffer.h" />
@ -162,6 +164,7 @@
<ClCompile Include="timestamp.cpp" />
<ClCompile Include="vulkan\builders.cpp" />
<ClCompile Include="vulkan\context.cpp" />
<ClCompile Include="vulkan\loader.cpp" />
<ClCompile Include="vulkan\shader_cache.cpp" />
<ClCompile Include="vulkan\shader_compiler.cpp" />
<ClCompile Include="vulkan\staging_buffer.cpp" />
@ -179,6 +182,9 @@
<ItemGroup>
<Natvis Include="bitfield.natvis" />
</ItemGroup>
<ItemGroup>
<None Include="vulkan\entry_points.inl" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EE054E08-3799-4A59-A422-18259C105FFD}</ProjectGuid>
</PropertyGroup>

View File

@ -137,6 +137,12 @@
<ClInclude Include="http_downloader_uwp.h" />
<ClInclude Include="http_downloader_winhttp.h" />
<ClInclude Include="http_downloader.h" />
<ClInclude Include="vulkan\entry_points.h">
<Filter>vulkan</Filter>
</ClInclude>
<ClInclude Include="vulkan\loader.h">
<Filter>vulkan</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="jit_code_buffer.cpp" />
@ -270,6 +276,9 @@
<ClCompile Include="http_downloader_winhttp.cpp" />
<ClCompile Include="http_downloader.cpp" />
<ClCompile Include="http_downloader_uwp.cpp" />
<ClCompile Include="vulkan\loader.cpp">
<Filter>vulkan</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Natvis Include="bitfield.natvis" />
@ -291,4 +300,9 @@
<UniqueIdentifier>{358e11c4-34af-4169-9a66-ec66342a6a2f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="vulkan\entry_points.inl">
<Filter>vulkan</Filter>
</None>
</ItemGroup>
</Project>

View File

@ -1,6 +1,6 @@
#pragma once
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <array>
namespace Vulkan {

View File

@ -6,7 +6,7 @@
#pragma once
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <array>
#include <atomic>
#include <condition_variable>

View File

@ -6,7 +6,7 @@
#define VULKAN_INSTANCE_ENTRY_POINT(name, required) extern PFN_##name ds_##name;
#define VULKAN_DEVICE_ENTRY_POINT(name, required) extern PFN_##name ds_##name;
#define VULKAN_DEFINE_NAME_PREFIX ds_
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_DEFINE_NAME_PREFIX
#undef VULKAN_DEVICE_ENTRY_POINT
#undef VULKAN_INSTANCE_ENTRY_POINT

View File

@ -10,7 +10,7 @@
#include <cstring>
#include <string>
#include "vulkan_loader.h"
#include "loader.h"
#ifndef _WIN32
#include <dlfcn.h>
@ -23,7 +23,7 @@
#define VULKAN_MODULE_ENTRY_POINT(name, required) PFN_##name ds_##name;
#define VULKAN_INSTANCE_ENTRY_POINT(name, required) PFN_##name ds_##name;
#define VULKAN_DEVICE_ENTRY_POINT(name, required) PFN_##name ds_##name;
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_DEVICE_ENTRY_POINT
#undef VULKAN_INSTANCE_ENTRY_POINT
#undef VULKAN_MODULE_ENTRY_POINT
@ -35,7 +35,7 @@ void ResetVulkanLibraryFunctionPointers()
#define VULKAN_MODULE_ENTRY_POINT(name, required) ds_##name = nullptr;
#define VULKAN_INSTANCE_ENTRY_POINT(name, required) ds_##name = nullptr;
#define VULKAN_DEVICE_ENTRY_POINT(name, required) ds_##name = nullptr;
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_DEVICE_ENTRY_POINT
#undef VULKAN_INSTANCE_ENTRY_POINT
#undef VULKAN_MODULE_ENTRY_POINT
@ -77,7 +77,7 @@ bool LoadVulkanLibrary()
};
#define VULKAN_MODULE_ENTRY_POINT(name, required) LoadFunction(reinterpret_cast<FARPROC*>(&name), #name, required);
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_MODULE_ENTRY_POINT
if (required_functions_missing)
@ -170,7 +170,7 @@ bool LoadVulkanLibrary()
};
#define VULKAN_MODULE_ENTRY_POINT(name, required) LoadFunction(reinterpret_cast<void**>(&name), #name, required);
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_MODULE_ENTRY_POINT
if (required_functions_missing)
@ -211,7 +211,7 @@ bool LoadVulkanInstanceFunctions(VkInstance instance)
#define VULKAN_INSTANCE_ENTRY_POINT(name, required) \
LoadFunction(reinterpret_cast<PFN_vkVoidFunction*>(&name), #name, required);
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_INSTANCE_ENTRY_POINT
return !required_functions_missing;
@ -231,7 +231,7 @@ bool LoadVulkanDeviceFunctions(VkDevice device)
#define VULKAN_DEVICE_ENTRY_POINT(name, required) \
LoadFunction(reinterpret_cast<PFN_vkVoidFunction*>(&name), #name, required);
#include "vulkan_entry_points.inl"
#include "entry_points.inl"
#undef VULKAN_DEVICE_ENTRY_POINT
return !required_functions_missing;

View File

@ -12,30 +12,15 @@
#define VK_USE_PLATFORM_WIN32_KHR
// vulkan.h pulls in windows.h on Windows, so we need to include our replacement header first
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1
#endif
#ifndef NOMINMAX
#define NOMINMAX 1
#endif
// require vista+
#ifndef WINAPI_FAMILY
#ifdef _WIN32_WINNT
#undef _WIN32_WINNT
#endif
#define _WIN32_WINNT _WIN32_WINNT_VISTA
#endif
#include <windows.h>
#include "../windows_headers.h"
#endif
#if defined(VULKAN_USE_X11)
#if defined(USE_X11)
#define VK_USE_PLATFORM_XLIB_KHR
#endif
#if defined(VULKAN_USE_WAYLAND)
#if defined(USE_WAYLAND)
#define VK_USE_PLATFORM_WAYLAND_KHR
#endif
@ -55,7 +40,7 @@
#define SUPPORTS_VULKAN_EXCLUSIVE_FULLSCREEN 1
#endif
#if defined(VULKAN_USE_X11)
#if defined(USE_X11)
// This breaks a bunch of our code. They shouldn't be #defines in the first place.
#ifdef None
@ -94,7 +79,7 @@
#endif
#include "vulkan_entry_points.h"
#include "entry_points.h"
namespace Vulkan {

View File

@ -1,8 +1,8 @@
#pragma once
#include "../hash_combine.h"
#include "../types.h"
#include "loader.h"
#include "shader_compiler.h"
#include "vulkan_loader.h"
#include <cstdio>
#include <memory>
#include <optional>

View File

@ -5,7 +5,7 @@
#pragma once
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <memory>
namespace Vulkan {

View File

@ -6,7 +6,7 @@
#pragma once
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <deque>
#include <memory>

View File

@ -8,7 +8,7 @@
#include "../types.h"
#include "../window_info.h"
#include "texture.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <memory>
#include <vector>

View File

@ -5,7 +5,7 @@
#pragma once
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <algorithm>
#include <memory>

View File

@ -7,7 +7,7 @@
#include "../string.h"
#include "../types.h"
#include "vulkan_loader.h"
#include "loader.h"
#include <algorithm>
#include <array>
#include <cstdarg>

View File

@ -120,7 +120,7 @@ set(RECOMPILER_SRCS
target_include_directories(core PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(core PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_link_libraries(core PUBLIC Threads::Threads common zlib vulkan-loader)
target_link_libraries(core PUBLIC Threads::Threads common zlib)
target_link_libraries(core PRIVATE glad stb xxhash imgui)
if(WIN32)

View File

@ -9,7 +9,7 @@
<PreprocessorDefinitions Condition="('$(Platform)'=='x64' Or '$(Platform)'=='ARM' Or '$(Platform)'=='ARM64')">WITH_RECOMPILER=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="('$(Platform)'=='x64' Or '$(Platform)'=='ARM64') And ('$(BuildingForUWP)'!='true')">WITH_MMAP_FASTMEM=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)dep\xxhash\include;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\vulkan-loader\include;$(SolutionDir)dep\rcheevos\include;$(SolutionDir)dep\rapidjson\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)dep\glad\include;$(SolutionDir)dep\stb\include;$(SolutionDir)dep\imgui\include;$(SolutionDir)dep\xxhash\include;$(SolutionDir)dep\zlib\include;$(SolutionDir)dep\rcheevos\include;$(SolutionDir)dep\rapidjson\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="('$(BuildingForUWP)'!='true' And '$(Platform)'!='ARM64')">$(SolutionDir)dep\rainterface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Platform)'=='x64'">$(SolutionDir)dep\xbyak\xbyak;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@ -19,7 +19,7 @@
<ItemDefinitionGroup>
<Lib>
<AdditionalDependencies>$(RootBuildDir)rcheevos\rcheevos.lib;$(RootBuildDir)imgui\imgui.lib;$(RootBuildDir)stb\stb.lib;$(RootBuildDir)vulkan-loader\vulkan-loader.lib;$(RootBuildDir)xxhash\xxhash.lib;$(RootBuildDir)zlib\zlib.lib;$(RootBuildDir)common\common.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>$(RootBuildDir)rcheevos\rcheevos.lib;$(RootBuildDir)imgui\imgui.lib;$(RootBuildDir)stb\stb.lib;$(RootBuildDir)xxhash\xxhash.lib;$(RootBuildDir)zlib\zlib.lib;$(RootBuildDir)common\common.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="('$(BuildingForUWP)'!='true' And '$(Platform)'!='ARM64')">$(RootBuildDir)rainterface\rainterface.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)'=='ARM64'">$(RootBuildDir)vixl\vixl.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Lib>

View File

@ -4,7 +4,7 @@ add_executable(duckstation-nogui
nogui_host_interface.h
)
target_link_libraries(duckstation-nogui PRIVATE core common imgui glad frontend-common scmversion vulkan-loader)
target_link_libraries(duckstation-nogui PRIVATE core common imgui glad frontend-common scmversion)
if(USE_SDL2)
target_sources(duckstation-nogui PRIVATE

View File

@ -139,7 +139,7 @@ qt5_add_translation(QM_FILES ${TS_FILES})
add_executable(duckstation-qt ${SRCS} ${QM_FILES})
target_include_directories(duckstation-qt PRIVATE "${Qt5Gui_PRIVATE_INCLUDE_DIRS}")
target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip scmversion vulkan-loader Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network)
target_link_libraries(duckstation-qt PRIVATE frontend-common core common imgui glad minizip scmversion Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network)
if(WIN32)
# We want a Windows subsystem application not console.

View File

@ -41,7 +41,7 @@ add_library(frontend-common
vulkan_host_display.h
)
target_link_libraries(frontend-common PUBLIC core common glad vulkan-loader cubeb imgui simpleini tinyxml2 rapidjson scmversion)
target_link_libraries(frontend-common PUBLIC core common glad cubeb imgui simpleini tinyxml2 rapidjson scmversion)
if(WIN32)
target_sources(frontend-common PRIVATE

View File

@ -4,7 +4,7 @@
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(SolutionDir)dep\simpleini\include;$(SolutionDir)dep\tinyxml2\include;$(SolutionDir)dep\glad\include;$(SolutionDir)dep\vulkan-loader\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)dep\simpleini\include;$(SolutionDir)dep\tinyxml2\include;$(SolutionDir)src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>$(RootBuildDir)simpleini\simpleini.lib;$(RootBuildDir)tinyxml2\tinyxml2.lib;$(RootBuildDir)core\core.lib;$(RootBuildDir)scmversion\scmversion.lib;%(AdditionalDependencies)</AdditionalDependencies>

View File

@ -22,7 +22,7 @@
#pragma once
#include "vulkan_loader.h"
#include "common/vulkan/loader.h"
// Initialization data, for ImGui_ImplVulkan_Init()
// [Please zero-clear before use!]

View File

@ -1,11 +1,11 @@
#pragma once
#include "common/vulkan/loader.h"
#include "common/vulkan/staging_texture.h"
#include "common/vulkan/stream_buffer.h"
#include "common/vulkan/swap_chain.h"
#include "common/window_info.h"
#include "core/host_display.h"
#include "postprocessing_chain.h"
#include "vulkan_loader.h"
#include <memory>
#include <string_view>
@ -30,9 +30,9 @@ public:
bool HasRenderSurface() const override;
bool CreateRenderDevice(const WindowInfo& wi, std::string_view adapter_name, bool debug_device,
bool threaded_presentation) override;
bool threaded_presentation) override;
bool InitializeRenderDevice(std::string_view shader_cache_directory, bool debug_device,
bool threaded_presentation) override;
bool threaded_presentation) override;
void DestroyRenderDevice() override;
bool MakeRenderContextCurrent() override;
@ -65,7 +65,7 @@ public:
bool Render() override;
bool RenderScreenshot(u32 width, u32 height, std::vector<u32>* out_pixels, u32* out_stride,
HostDisplayPixelFormat* out_format) override;
HostDisplayPixelFormat* out_format) override;
static AdapterAndModeList StaticGetAdapterAndModeList(const WindowInfo* wi);