Commit graph

200 commits

Author SHA1 Message Date
scribam
1fdc070e4e cmake: remove obsolete command for glslang integration 2018-07-09 03:33:05 +04:00
Nekotekina
e009bbac10 Use LLVM 7 (master) 2018-07-06 00:33:52 +03:00
Megamouse
cd59bc3d6d bump appveyor Qt version to 5.11 2018-07-03 22:09:44 +01:00
scribam
3b8eab87dd cmake: add possibility to build zlib from submodule 2018-06-25 00:28:46 +04:00
scribam
3935cef691 pugixml: update submodule and build integration 2018-06-24 02:02:36 +04:00
scribam
9f420081fd libpng: use official repository instead of the fork from RPCS3 and update submodule 2018-06-14 21:55:39 +04:00
scribam
968f3995ff Merge branch 'master' into asmjit 2018-06-13 09:27:12 +02:00
scribam
14dc1fead6 yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
scribam
ea8397fbab cmake: don't use hardcoded lib names when using system ffmpeg and remove unneeded line 2018-06-12 22:28:30 +02:00
scribam
3a9778668a asmjit: update build integration 2018-06-12 20:03:53 +02:00
Zion Nimchuk
67a6db8325 Prefer GLVND for OpenGL rather than legacy 2018-06-12 16:51:26 +01:00
scribam
824ad4fea7 cmake: simplify glslang integration (#4652)
* cmake: simplify glslang integration

* Fix warning (ignored attributes), part 2
2018-06-06 15:45:28 +03:00
Zion Nimchuk
ea1bb3b90e Convert all spaces to tabs in CMakeLists.txt 2018-06-04 17:00:44 +04:00
Zion Nimchuk
4d3b60cf46 Unify Linux detection in CMake 2018-06-04 17:00:44 +04:00
pauls-gh
f8a0be8c3e Performance enhancement - Vulkan memory allocator (#4635)
* Incorporates the vulkan memory allocator from the AMD GPUOpen project
2018-05-23 17:02:35 +03:00
scribam
2270b8d15c vulkan: link with vulkan-1.lib instead of VKstatic.1.lib 2018-05-23 13:54:27 +03:00
scribam
6c5c89a4a3 3rdparty: remove Vulkan/Vulkan-LoaderAndValidationLayers 2018-05-19 10:59:10 +03:00
scribam
8f975e2329 cmake: improve pthread inclusion 2018-05-17 18:42:44 +04:00
scribam
3dfe46fc42 cmake: use -Wno-unused-command-line-argument only with clang (gcc doesn't have this option) 2018-05-17 18:42:44 +04:00
scribam
580c8b8803 cmake: remove leftover from #4329 about X11 2018-05-17 18:42:44 +04:00
Florent Castelli
253248349f Link against the top-level LLVM targets only
Dependencies are still linked through usage requirements.
2018-05-16 23:35:53 +01:00
Florent Castelli
afd55da8cb Add EXCLUDE_FROM_ALL to add_subdirectory calls 2018-05-16 23:35:53 +01:00
Zion Nimchuk
705525510e re-enable LLVM for travis and build AppImages with LLVM 6 2018-05-17 00:01:53 +04:00
Nekotekina
367f039523 Build transactions at runtime
Drop _xbegin family intrinsics due to bad codegen
Implemented `notifier` class, replacing vm::notify
Minor optimization: detach transactions from global mutex on TSX path
Minor optimization: don't acquire vm::passive_lock on PPU on TSX path
2018-05-16 17:31:58 +03:00
Jan Beich
2cfb2428d2 build/cmake: pass -DNDEBUG by default like msvc
Downstream may override CMAKE_CXX_FLAGS_RELEASE in order to enforce
consistent optimization flags for every package. If -DNDEBUG is lost
RPCS3 may run slower and fall victim to assertions in bundled libs.
2018-05-14 16:01:19 +01:00
Megamouse
84a4671a0e Qt: Use additional windows resource file for qt.conf
fixup for a39384cadd
2018-05-13 21:02:21 +04:00
Megamouse
a39384cadd Qt: Create qt/plugins dir to tidy up our Visual Studio builds
see folders: bearer, imageformats, styles and platforms.
This will stay compatible with the old builds too, unless someone wisely put their plugin folders into a 'plugin' subdirectory
2018-05-13 18:39:24 +04:00
Jake
75b40931fc rsx: initial capture/replay functionality (#4510)
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Nekotekina
a975ecdc4f Use LLVM 6 2018-05-08 13:05:29 +03:00
Zion Nimchuk
3b24e7e685 Discord Rich Presence Integration (Thanks to @Megamouse for fixing the windows build) 2018-04-19 04:47:56 +04:00
Zion Nimchuk
78bb9a7278 Add appstream metadata for linux 2018-04-14 01:10:12 +04:00
Zion Nimchuk
b0352d6ef7 Silence some annoying terminal output 2018-04-03 03:17:52 +04:00
Ani
7359774c76 qt: Do not deploy Qt5Quick
We're using Qt5Qml but not Qt5Quick, therefore the extra extension can be removed
2018-03-31 02:54:59 +01:00
scribam
50446f7fef Partial compilation fixes for osx 2018-03-24 11:14:40 +00:00
scribam
af89b62194 Check if the compiler supports "-march=native" 2018-03-21 14:11:05 +03:00
scribam
526228442b Use "USE_NATIVE_INSTRUCTIONS" variable instead of a specific "TRAVIS" variable 2018-03-21 14:11:05 +03:00
TGEnigma
cb9e6e75db Debugger improvements (#4026)
* Improve debugger
 * Added 'Step Over' functionality
 * Added special SPU pause functionality that pauses the SPU thread when the tag mask is at 0x80000000 by holding ctrl while pausing
  * Go to address dialog now evaluates expressions, including defined variables such as pc, r1, r2, etc
    * Requires QtScript to be linked with the project
  * Made the option to center shown addresses (Go to addr/pc) optional by making it an entry in the GUI ini config
  * Shown addresses now appear 'selected'
  * New keyboard shortcuts!
    - Ctrl+G -> Go to address
    - F10 -> Step Over
    - F11 -> Step (Into)
2018-03-13 16:23:12 +04:00
Megamouse
5266dd6c60 Update for Qt 5.10 (#4202)
* Update Readme for Qt 5.10

* Update cmake for Qt 5.10

* Update travis to Qt 5.10.1
2018-02-23 02:08:14 +04:00
kd-11
77f2b521e1 vulkan: Swapchains reimplemented
- Adds support for abstract implementations
- Adds native windowing implementations for WIN32 and X11 as fallbacks
  when present support is lacking (headless configs)
2018-02-21 14:59:46 +03:00
Zion Nimchuk
77b8f3a0f9 Add an easy way for package builders to disable native cpu optimizations 2018-02-19 17:30:24 +04:00
Zion Nimchuk
70fe0cc224 Install and load icons from Icons in executable directory, fixes local builds using Icons 2018-01-31 01:01:33 +04:00
Zion Nimchuk
49e64b9e82 install icons to /usr/share and load them from there 2018-01-19 12:44:01 +03:00
Greg V
fbceec47b8 Add support for Vulkan on Wayland
The variable VK_USE_PLATFORM_WAYLAND_KHR is actually used by the Vulkan
header, so use it here too.
2018-01-11 12:26:41 +03:00
Nekotekina
a285409f59 Fix travis 2017-12-21 00:40:28 +03:00
Nekotekina
83da7f9b63 PPU: remove SSSE3 dependency 2017-12-20 01:21:15 +03:00
Unknown
03814e8d02 Qt: implement compatibility column 2017-12-05 16:53:14 +04:00
scribam
8901cc9ae6 Update Qt to 5.9.3 2017-11-28 15:22:47 +04:00
scribam
5f07f78c23 CMake minor improvements (#3783)
* cmake: simplify GLEW integration

* cmake: simplify ZLIB integration

* cmake: simplify ALSA detection

* cmake: check C++ compiler and flags instead of C ones

* cmake: bring consistency in Qt packages detection and remove unnecessary related "include_directories"

* cmake: harmonize coding style

* cmake: set CMAKE_INCLUDE_CURRENT_DIR to ON only when necessary
2017-11-27 22:04:55 +04:00
scribam
78101a9e57 cmake: remove unused link to ffmpeg libswresample 2017-11-25 14:07:11 +00:00
Jan Beich
dd5791a2cc Fixes from FreeBSD package (#3765)
* Thread: unbreak on BSDs after dbc9bdfe02

Utilities/Thread.cpp:1920:2: error: unknown type name 'cpu_set_t'; did you mean 'cpusetid_t'?
        cpu_set_t cs;
        ^~~~~~~~~
        cpusetid_t
/usr/include/sys/types.h:84:22: note: 'cpusetid_t' declared here
typedef __cpusetid_t    cpusetid_t;
                        ^
Utilities/Thread.cpp:1921:2: error: use of undeclared identifier 'CPU_ZERO'
        CPU_ZERO(&cs);
        ^
Utilities/Thread.cpp:1922:2: error: use of undeclared identifier 'CPU_SET'
        CPU_SET(core, &cs);
        ^
Utilities/Thread.cpp:1923:48: error: unknown type name 'cpu_set_t'; did you mean 'cpusetid_t'?
        pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cs);
                                                      ^~~~~~~~~
                                                      cpusetid_t

* JIT: use MAP_32BIT on Linux and FreeBSD

Unless RLIMIT_DATA is low enough FreeBSD by default reserves lower 2Gb
for brk(2) style heap, ignoring mmap(2) address hint requested by RPCS3.
Passing MAP_32BIT fixes the following crash

Assertion failed: ((Type == ELF::R_X86_64_32 && (Value <= UINT32_MAX)) || (Type == ELF::R_X86_64_32S && ((int64_t)Value <= INT32_MAX && (int64_t)Value >= INT32_MIN))), function resolveX86_64Relocation, file /usr/ports/devel/llvm40/work/llvm-4.0.1.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp, line 287.

* build: unbreak -DVULKAN_PREBUILT with system glslang on Unix

rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:4:10: fatal error: '../../../../Vulkan/glslang/SPIRV/GlslangToSpv.h' file not found
 #include "../../../../Vulkan/glslang/SPIRV/GlslangToSpv.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::compile_glsl_to_spv(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, glsl::program_domain, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >&)':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x50e): undefined reference to `glslang::TProgram::TProgram()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x51d): undefined reference to `glslang::TShader::TShader(EShLanguage)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x542): undefined reference to `glslang::TShader::setStrings(char const* const*, int)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x581): undefined reference to `glslang::TShader::parse(TBuiltInResource const*, int, EProfile, bool, bool, EShMessages, glslang::TShader::Includer&)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5d6): undefined reference to `glslang::TProgram::link(EShMessages)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5f1): undefined reference to `glslang::GlslangToSpv(glslang::TIntermediate const&, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> >&, glslang::SpvOptions*)'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x5ff): undefined reference to `glslang::TShader::getInfoLog()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x61a): undefined reference to `glslang::TShader::getInfoDebugLog()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x630): undefined reference to `glslang::TShader::~TShader()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x63c): undefined reference to `glslang::TProgram::~TProgram()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6d2): undefined reference to `glslang::TShader::~TShader()'
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6de): undefined reference to `glslang::TProgram::~TProgram()'
rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::initialize_compiler_context()':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x6f5): undefined reference to `glslang::InitializeProcess()'
rpcs3/CMakeFiles/rpcs3.dir/Emu/RSX/VK/VKCommonDecompiler.cpp.o: In function `vk::finalize_compiler_context()':
rpcs3/Emu/RSX/VK/VKCommonDecompiler.cpp:(.text+0x856): undefined reference to `glslang::FinalizeProcess()'

* build/msvc: add missing glslang include directory after 6bb3f1b4d75c

"c:\projects\rpcs3\rpcs3\VKGSRender.vcxproj" (default target) (15) ->
(ClCompile target) ->
  Emu\RSX\VK\VKCommonDecompiler.cpp(4): fatal error C1083: Cannot open include file: 'SPIRV/GlslangToSpv.h': No such file or directory [c:\projects\rpcs3\rpcs3\VKGSRender.vcxproj]
2017-11-21 01:56:25 +04:00