From c0423d513d4db5710430cdc2b0a0e2180445d0fa Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Tue, 16 Feb 2016 20:23:17 +0100 Subject: [PATCH] vulkan: Add relevant libs. --- .gitignore | 2 + .gitmodules | 6 + .travis.yml | 2 +- CMakeLists.txt | 2 + README.md | 4 +- Vulkan/CMakeLists.txt | 9 ++ Vulkan/Vulkan-LoaderAndValidationLayers | 1 + Vulkan/Vulkan-build/Vulkan-build.vcxproj | 66 +++++++++ .../Vulkan-build/Vulkan-build.vcxproj.filters | 2 + Vulkan/glslang | 1 + Vulkan/glslang-build/glslang-build.vcxproj | 68 ++++++++++ .../glslang-build.vcxproj.filters | 2 + appveyor.yml | 2 +- rpcs3.sln | 58 ++++++++ rpcs3/CMakeLists.txt | 8 +- rpcs3/Emu/RSX/VK/VKGSRender.cpp | 10 ++ rpcs3/Emu/RSX/VK/VKGSRender.h | 8 ++ rpcs3/VKGSRender.vcxproj | 125 ++++++++++++++++++ rpcs3/VKGSRender.vcxproj.filters | 19 +++ rpcs3/rpcs3.vcxproj | 12 +- 20 files changed, 398 insertions(+), 9 deletions(-) create mode 100644 Vulkan/CMakeLists.txt create mode 160000 Vulkan/Vulkan-LoaderAndValidationLayers create mode 100644 Vulkan/Vulkan-build/Vulkan-build.vcxproj create mode 100644 Vulkan/Vulkan-build/Vulkan-build.vcxproj.filters create mode 160000 Vulkan/glslang create mode 100644 Vulkan/glslang-build/glslang-build.vcxproj create mode 100644 Vulkan/glslang-build/glslang-build.vcxproj.filters create mode 100644 rpcs3/Emu/RSX/VK/VKGSRender.cpp create mode 100644 rpcs3/Emu/RSX/VK/VKGSRender.h create mode 100644 rpcs3/VKGSRender.vcxproj create mode 100644 rpcs3/VKGSRender.vcxproj.filters diff --git a/.gitignore b/.gitignore index 769c3bd59e..41d22aef20 100644 --- a/.gitignore +++ b/.gitignore @@ -38,6 +38,8 @@ /rpcs3/Debug /rpcs3/Release /llvm_build +/Vulkan/Vulkan-build +/Vulkan/glslang-build /wxWidgets/lib /bin/rpcs3.ini diff --git a/.gitmodules b/.gitmodules index d7be645a4f..62890f2021 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,3 +25,9 @@ [submodule "libpng"] path = libpng url = https://github.com/RPCS3/libpng +[submodule "Vulkan/glslang"] + path = Vulkan/glslang + url = https://github.com/KhronosGroup/glslang.git +[submodule "Vulkan/Vulkan-LoaderAndValidationLayers"] + path = Vulkan/Vulkan-LoaderAndValidationLayers + url = https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers diff --git a/.travis.yml b/.travis.yml index 42877eb725..90a617b9c9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,7 @@ before_install: fi; before_script: - - git submodule update --init asmjit ffmpeg rsx_program_decompiler GSL libpng + - git submodule update --init asmjit ffmpeg rsx_program_decompiler GSL libpng Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers - mkdir build - cd build - if [ "$TRAVIS_OS_NAME" = "linux" ]; then cmake ..; else cmake .. -DLLVM_DIR=/usr/local/opt/llvm36/lib/llvm-3.6/share/llvm/cmake; fi diff --git a/CMakeLists.txt b/CMakeLists.txt index 24db201313..73a9e800a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,4 +20,6 @@ add_subdirectory( libpng ) # TODO: do real installation, including copying directory structure set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/bin") +add_subdirectory( Vulkan ) add_subdirectory( rpcs3 ) + diff --git a/README.md b/README.md index 8d5fd1036d..e096d75864 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ If you want to contribute please take a took at the [Coding Style](https://githu __Windows__ * [Visual Studio 2015](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) * [Visual C++ Redistributable Packages for Visual Studio 2015](http://www.microsoft.com/en-us/download/details.aspx?id=48145) -* [Cmake 3.1.0+](http://www.cmake.org/download/) (optional, required only for LLVM build; add to PATH) -* [Python](https://www.python.org/downloads/) (optional, required only for LLVM build; add to PATH) +* [Cmake 3.1.0+](http://www.cmake.org/download/) (required; add to PATH) +* [Python](https://www.python.org/downloads/) (required; add to PATH) __Linux__ * GCC 5.1+ or Clang 3.5.0+ diff --git a/Vulkan/CMakeLists.txt b/Vulkan/CMakeLists.txt new file mode 100644 index 0000000000..d305f033c7 --- /dev/null +++ b/Vulkan/CMakeLists.txt @@ -0,0 +1,9 @@ +if (NOT APPLE) +add_subdirectory( glslang ) +set(BUILD_TESTS OFF CACHE BOOL "Build tests" FORCE) +set(BUILD_DEMOS OFF CACHE BOOL "Build demos" FORCE) +# TravisCI break build with layers and vkjson +set(BUILD_LAYERS OFF CACHE BOOL "Build demos" FORCE) +set(BUILD_VKJSON OFF CACHE BOOL "Build demos" FORCE) +add_subdirectory( Vulkan-LoaderAndValidationLayers ) +endif() \ No newline at end of file diff --git a/Vulkan/Vulkan-LoaderAndValidationLayers b/Vulkan/Vulkan-LoaderAndValidationLayers new file mode 160000 index 0000000000..ec513f89f9 --- /dev/null +++ b/Vulkan/Vulkan-LoaderAndValidationLayers @@ -0,0 +1 @@ +Subproject commit ec513f89f9354394fec465448a2838f106777640 diff --git a/Vulkan/Vulkan-build/Vulkan-build.vcxproj b/Vulkan/Vulkan-build/Vulkan-build.vcxproj new file mode 100644 index 0000000000..608ed3884a --- /dev/null +++ b/Vulkan/Vulkan-build/Vulkan-build.vcxproj @@ -0,0 +1,66 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {58B40697-B15E-429E-B325-D52C28AEBCBF} + MakeFileProj + 8.1 + + + + Makefile + true + v140 + + + Makefile + false + v140 + + + + + + + + + + + + + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Release + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Release + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release + + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Debug + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -DBUILD_TESTS=OFF -DBUILD_DEMOS=OFF ../Vulkan-LoaderAndValidationLayers +msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug + + + + + + + \ No newline at end of file diff --git a/Vulkan/Vulkan-build/Vulkan-build.vcxproj.filters b/Vulkan/Vulkan-build/Vulkan-build.vcxproj.filters new file mode 100644 index 0000000000..9cd8510566 --- /dev/null +++ b/Vulkan/Vulkan-build/Vulkan-build.vcxproj.filters @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Vulkan/glslang b/Vulkan/glslang new file mode 160000 index 0000000000..6c292d3ba7 --- /dev/null +++ b/Vulkan/glslang @@ -0,0 +1 @@ +Subproject commit 6c292d3ba78533fed7b5ec46bb93b53419cf6535 diff --git a/Vulkan/glslang-build/glslang-build.vcxproj b/Vulkan/glslang-build/glslang-build.vcxproj new file mode 100644 index 0000000000..5f08d8357d --- /dev/null +++ b/Vulkan/glslang-build/glslang-build.vcxproj @@ -0,0 +1,68 @@ + + + + + Debug + x64 + + + Release + x64 + + + + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C} + MakeFileProj + 8.1 + + + + Makefile + true + v140 + + + Makefile + false + v140 + + + + + + + + + + + + + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang +msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Release + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang +msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang +msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Release + + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang + msbuild.exe ALL_BUILD.vcxproj /t:build /p:Configuration=Debug + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang + msbuild.exe ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug + + + cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ../glslang + msbuild.exe ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug + + + + + + + + \ No newline at end of file diff --git a/Vulkan/glslang-build/glslang-build.vcxproj.filters b/Vulkan/glslang-build/glslang-build.vcxproj.filters new file mode 100644 index 0000000000..9cd8510566 --- /dev/null +++ b/Vulkan/glslang-build/glslang-build.vcxproj.filters @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 2f6eccbefe..df2a926c91 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -14,7 +14,7 @@ branches: before_build: # until git for win 2.5 release with commit checkout - - git submodule update --init ffmpeg asmjit minidx9 rsx_program_decompiler GSL libpng + - git submodule update --init ffmpeg asmjit minidx9 rsx_program_decompiler GSL libpng Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers - 7z x wxWidgets.7z -aos -oC:\rpcs3\wxWidgets > null - 7z x zlib.7z -aos -oC:\rpcs3\ > null - if %configuration%==Release (cmake -G "Visual Studio 14 Win64" -DZLIB_ROOT=C:/rpcs3/zlib/) diff --git a/rpcs3.sln b/rpcs3.sln index 10e447c86e..08e16c40e8 100644 --- a/rpcs3.sln +++ b/rpcs3.sln @@ -209,6 +209,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "zlib", "zlib", "{F0C19EFA-E EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "libpng\projects\vstudio\zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Vulkan", "Vulkan", "{09AD61F7-97FE-4FF8-8F7F-63FEA9B746F4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vulkan-build", "Vulkan\Vulkan-build\Vulkan-build.vcxproj", "{58B40697-B15E-429E-B325-D52C28AEBCBF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glslang-build", "Vulkan\glslang-build\glslang-build.vcxproj", "{8F85B6CC-250F-4ACA-A617-E820A74E3E3C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VKGSRender", "rpcs3\VKGSRender.vcxproj", "{3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}" + ProjectSection(ProjectDependencies) = postProject + {58B40697-B15E-429E-B325-D52C28AEBCBF} = {58B40697-B15E-429E-B325-D52C28AEBCBF} + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C} = {8F85B6CC-250F-4ACA-A617-E820A74E3E3C} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug - LLVM|x64 = Debug - LLVM|x64 @@ -733,6 +745,48 @@ Global {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release - LLVM|x64.Build.0 = Release Library|x64 {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|x64.ActiveCfg = Release Library|x64 {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|x64.Build.0 = Release Library|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug - LLVM|x64.ActiveCfg = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug - LLVM|x64.Build.0 = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug - MemLeak|x64.ActiveCfg = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug - MemLeak|x64.Build.0 = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug|x64.ActiveCfg = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Debug|x64.Build.0 = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.DLL Debug|x64.ActiveCfg = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.DLL Debug|x64.Build.0 = Debug|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.DLL Release|x64.ActiveCfg = Release|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.DLL Release|x64.Build.0 = Release|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Release - LLVM|x64.ActiveCfg = Release|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Release - LLVM|x64.Build.0 = Release|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Release|x64.ActiveCfg = Release|x64 + {58B40697-B15E-429E-B325-D52C28AEBCBF}.Release|x64.Build.0 = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug - LLVM|x64.ActiveCfg = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug - LLVM|x64.Build.0 = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug - MemLeak|x64.ActiveCfg = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug - MemLeak|x64.Build.0 = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug|x64.ActiveCfg = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Debug|x64.Build.0 = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.DLL Debug|x64.ActiveCfg = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.DLL Debug|x64.Build.0 = Debug|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.DLL Release|x64.ActiveCfg = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.DLL Release|x64.Build.0 = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Release - LLVM|x64.ActiveCfg = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Release - LLVM|x64.Build.0 = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Release|x64.ActiveCfg = Release|x64 + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C}.Release|x64.Build.0 = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug - LLVM|x64.ActiveCfg = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug - LLVM|x64.Build.0 = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug - MemLeak|x64.ActiveCfg = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug - MemLeak|x64.Build.0 = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug|x64.ActiveCfg = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Debug|x64.Build.0 = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.DLL Debug|x64.ActiveCfg = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.DLL Debug|x64.Build.0 = Debug|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.DLL Release|x64.ActiveCfg = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.DLL Release|x64.Build.0 = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Release - LLVM|x64.ActiveCfg = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Release - LLVM|x64.Build.0 = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Release|x64.ActiveCfg = Release|x64 + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -762,6 +816,7 @@ Global {74827EBD-93DC-5110-BA95-3F2AB029B6B0} = {5812E712-6213-4372-B095-9EB9BAA1F2DF} {AC40FF01-426E-4838-A317-66354CEFAE88} = {E2A982F2-4B1A-48B1-8D77-A17A589C58D7} {C4A10229-4712-4BD2-B63E-50D93C67A038} = {10FBF193-D532-4CCF-B875-4C7091A7F6C2} + {C8068CE9-D626-4FEA-BEE7-893F06A25BF3} = {10FBF193-D532-4CCF-B875-4C7091A7F6C2} {8BC303AB-25BE-4276-8E57-73F171B2D672} = {C8068CE9-D626-4FEA-BEE7-893F06A25BF3} {01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {5812E712-6213-4372-B095-9EB9BAA1F2DF} {00D36322-6188-4A66-B514-3B3F183E998D} = {5812E712-6213-4372-B095-9EB9BAA1F2DF} @@ -772,5 +827,8 @@ Global {30A05C4D-F5FD-421C-A864-17A64BDEAA75} = {10FBF193-D532-4CCF-B875-4C7091A7F6C2} {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {A17D34F1-7E3E-4841-818D-3B7C6F5AF829} {60F89955-91C6-3A36-8000-13C592FEC2DF} = {F0C19EFA-EDD0-43F2-97C1-18E865E96B4E} + {58B40697-B15E-429E-B325-D52C28AEBCBF} = {09AD61F7-97FE-4FF8-8F7F-63FEA9B746F4} + {8F85B6CC-250F-4ACA-A617-E820A74E3E3C} = {09AD61F7-97FE-4FF8-8F7F-63FEA9B746F4} + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D} = {10FBF193-D532-4CCF-B875-4C7091A7F6C2} EndGlobalSection EndGlobal diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt index ebedb7b574..c74ceb44a1 100644 --- a/rpcs3/CMakeLists.txt +++ b/rpcs3/CMakeLists.txt @@ -116,6 +116,8 @@ ${LLVM_INCLUDE_DIRS} "${RPCS3_SRC_DIR}/../GSL/include" "${RPCS3_SRC_DIR}/../rsx_program_decompiler/rsx_decompiler" "${RPCS3_SRC_DIR}/../rsx_program_decompiler/shader_code" +"${RPCS3_SRC_DIR}/../Vulkan/Vulkan-LoaderAndValidationLayers/include" +"${RPCS3_SRC_DIR}/../Vulkan/glslang/glslang/Public" ) if(WIN32) include_directories(BEFORE "${RPCS3_SRC_DIR}/../minidx9/Include") @@ -189,14 +191,14 @@ if(WIN32) # I'm not sure we need all of these libs, but we link them in vs else() target_link_libraries(rpcs3 dxgi.lib d2d1.lib dwrite.lib) endif() - target_link_libraries(rpcs3 asmjit.lib avformat.lib avcodec.lib avutil.lib swresample.lib swscale.lib png16_static ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${ADDITIONAL_LIBS}) + target_link_libraries(rpcs3 asmjit.lib avformat.lib avcodec.lib avutil.lib swresample.lib swscale.lib png16_static ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${ADDITIONAL_LIBS} ${vulkan} ${glslang}) else() if(LLVM_FOUND) target_link_libraries(rpcs3 asmjit.a ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES}) - target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a png16_static ${ZLIB_LIBRARIES} ${LLVM_LIBS} ${ADDITIONAL_LIBS}) + target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a png16_static ${ZLIB_LIBRARIES} ${LLVM_LIBS} ${ADDITIONAL_LIBS} ${vulkan} ${glslang}) else() target_link_libraries(rpcs3 asmjit.a ${wxWidgets_LIBRARIES} ${OPENAL_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES}) - target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a png16_static ${ZLIB_LIBRARIES} ${ADDITIONAL_LIBS}) + target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a png16_static ${ZLIB_LIBRARIES} ${ADDITIONAL_LIBS} ${vulkan} ${glslang}) endif() endif() diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp new file mode 100644 index 0000000000..869b4116d3 --- /dev/null +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -0,0 +1,10 @@ +#include "stdafx.h" +#ifndef __APPLE__ +#include "VKGSRender.h" + +VKGSRender::VKGSRender() +{ + +} + +#endif \ No newline at end of file diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.h b/rpcs3/Emu/RSX/VK/VKGSRender.h new file mode 100644 index 0000000000..70861d5415 --- /dev/null +++ b/rpcs3/Emu/RSX/VK/VKGSRender.h @@ -0,0 +1,8 @@ +#pragma once +#include +#include + +class VKGSRender +{ + VKGSRender(); +}; \ No newline at end of file diff --git a/rpcs3/VKGSRender.vcxproj b/rpcs3/VKGSRender.vcxproj new file mode 100644 index 0000000000..1125a2a385 --- /dev/null +++ b/rpcs3/VKGSRender.vcxproj @@ -0,0 +1,125 @@ + + + + + Debug - LLVM + x64 + + + Debug - MemLeak + x64 + + + Debug + x64 + + + Release - LLVM + x64 + + + Release + x64 + + + + + + + + + + + {c4a10229-4712-4bd2-b63e-50d93c67a038} + + + + {3EE5F075-B546-42C4-B6A8-E3CCEF38B78D} + Win32Proj + VKGSRender + 8.1 + + + + StaticLibrary + v140 + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + _DEBUG;_LIB;%(PreprocessorDefinitions) + ..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) + + + Windows + + + + + Level3 + + + MaxSpeed + true + true + NDEBUG;_LIB;%(PreprocessorDefinitions) + ..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) + + + Windows + true + true + + + + + ..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) + + + + + ..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) + + + + + ..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) + + + + + + \ No newline at end of file diff --git a/rpcs3/VKGSRender.vcxproj.filters b/rpcs3/VKGSRender.vcxproj.filters new file mode 100644 index 0000000000..1868ae93ea --- /dev/null +++ b/rpcs3/VKGSRender.vcxproj.filters @@ -0,0 +1,19 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + Source Files + + + + + Source Files + + + \ No newline at end of file diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj index c6db0d280e..d1474f63e0 100644 --- a/rpcs3/rpcs3.vcxproj +++ b/rpcs3/rpcs3.vcxproj @@ -91,10 +91,15 @@ false - ..\minidx9\Include;..\OpenAL\include;%(AdditionalIncludeDirectories) + ..\minidx9\Include;..\OpenAL\include;..\Vulkan\Vulkan-LoaderAndValidationLayers\include;..\Vulkan\glslang\glslang\Public;%(AdditionalIncludeDirectories) - ..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + ..\Vulkan\Vulkan-build\loader\Debug;..\Vulkan\glslang-build\glslang\Debug;..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + ..\Vulkan\Vulkan-build\loader\Debug;..\Vulkan\glslang-build\glslang\Debug;..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + ..\Vulkan\Vulkan-build\loader\Debug;..\Vulkan\glslang-build\glslang\Debug;..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + ..\Vulkan\Vulkan-build\loader\Release;..\Vulkan\glslang-build\glslang\Release;..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + ..\Vulkan\Vulkan-build\loader\Release;..\Vulkan\glslang-build\glslang\Release;..\OpenAL\libs\Win64;%(AdditionalLibraryDirectories) + VKstatic.1.lib;glslang.lib;%(AdditionalDependencies) @@ -183,6 +188,9 @@ {30a05c4d-f5fd-421c-a864-17a64bdeaa75} + + {3ee5f075-b546-42c4-b6a8-e3ccef38b78d} + {78cb2f39-b809-4a06-8329-8c0a19119d3d}