Commit Graph

715 Commits

Author SHA1 Message Date
Kentucky Compass
bcd19ee520 fix cmake when building for iOS in a path with spaces 2017-12-30 20:57:45 -08:00
Henrik Rydgård
d487c75562 Android cmake buildfix 2017-12-27 15:28:17 +01:00
Greg V
bbf2dcdb21 Check for Wayland headers in CMake 2017-12-26 16:09:31 +03:00
Greg V
52234dae91 Remove VULKAN_STATIC 2017-12-26 16:09:31 +03:00
Greg V
f4d76c840c Support Vulkan on any Unix
In particular, it works FreeBSD
2017-12-26 16:09:31 +03:00
Greg V
f3783bdb44 Add support for Vulkan on Wayland 2017-12-26 16:09:27 +03:00
Henrik Rydgård
9f02e9c4f0 Android cmake fix 2017-12-22 00:02:46 +01:00
Henrik Rydgård
f73ec4608e Build Vulkan on all platforms, won't be used if not supported. 2017-12-21 14:13:55 +01:00
Henrik Rydgård
9007abddbf Get Vulkan going on Linux 2017-12-21 11:02:11 +01:00
Henrik Rydgård
7f758d52dc Statically link a vulkan loader on Linux. Use to to init vulkan on X11. Unfortunately, it's broken. 2017-12-21 11:02:11 +01:00
Henrik Rydgård
ea387b2a48 WIP vulkan on linux stuff 2017-12-21 10:48:00 +01:00
Henrik Rydgård
2bdae5b338
Merge pull request #10420 from hrydgard/core-cleanup
Some core cleanup
2017-12-20 11:25:11 +01:00
Conn O'Griofa
20080ba123
CMakeLists: relocate EGL library name detection
Raspberry Pi targets require a custom EGL library name (configured in cmake/Toolchains/raspberry.armv*.cmake). Move configuration of EGL_LIBRARIES for generic targets out of SDL2 target to ensure correct library name is used everywhere (including QT builds).

Fixes build on Raspberry Pi.
2017-12-20 03:38:01 +00:00
Henrik Rydgård
740d0504ad Move QtMain.cpp and PCMain.cpp to more sensible locations. Native isn't standalone anymore... 2017-12-19 18:04:26 +01:00
Henrik Rydgård
6f0b382d9e Move vulkan debug callback out from WindowsVulkanContext into a file that can be shared with other platforms later. 2017-12-13 19:29:42 +01:00
Henrik Rydgård
99b34c7b45 Use glslang to translate GLSL 1.x postshaders to GLSL 3.0 or later to appease strict GL Core drivers. Should fix #10362
Fixed small bugs, now tested and working on mac.

Add spirv-cross to cmake build
2017-12-08 10:25:42 +01:00
Henrik Rydgård
7d0fc9ce65 Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. 2017-12-07 15:05:59 +01:00
Henrik Rydgård
cf5ede493b
Merge pull request #10247 from unknownbrackets/ui-tween
UI: Show a loading message during shader preload
2017-12-06 14:24:21 +01:00
Henrik Rydgård
44b1dc8daf Try to fix iOS builds on the Travis buildbot. #10254 2017-12-05 13:23:13 +01:00
sergio-br2
4b59fe6dac
Missing -lEGL when -DUSING_EGL=ON
Related to #9565

I tested only on ARM Linux (Ubuntu 14.04 on Odroid U3). Qt is building fine and working.
2017-12-04 16:09:06 -02:00
Unknown W. Brackets
b4b850bce8 UI: Add a simple tween class. 2017-12-03 09:39:50 -08:00
orbea
0f98ab21c2 Remove trailing whitespace from CMakeLists.txt 2017-11-18 08:17:08 -08:00
Henrik Rydgård
b8dc4d1fb8 Buildfixes for Android 2017-11-12 16:55:36 +01:00
Henrik Rydgård
5018e400f2 Remove some code duplication 2017-11-01 14:51:15 +01:00
Henrik Rydgård
ca7a2d06ca Vulkan: Implement stencil upload (for Star Ocean). 2017-11-01 14:18:39 +01:00
Henrik Rydgård
97dced543e Share the conversion code between vulkan and D3D, fixing the missing format thing. 2017-10-29 14:42:51 +01:00
Henrik Rydgård
9b183f1f4b Forgot to add the CMakeLists.txt change to the last commit. 2017-10-26 10:57:00 +02:00
Henrik Rydgård
1c5bd0f8dc Move the VulkanRenderManager stuff to thin3d, fits in better there. 2017-10-26 10:56:59 +02:00
Carlos Estrague / Mrc_munir
916bb54361 Separate -Bsymbolic Shared linker flag
Using "$ {CMAKE_SHARED_LINKER_FLAGS}" for separate linker -Bsymbolic.

Previously it ignored to the previous declared flags it does not find them. for this gave error with some linkers flags
2017-10-22 21:57:35 +02:00
Carlos Estrague / Mrc_munir
52e3406e3d Ops typo 2017-10-18 05:37:26 +02:00
Carlos Estrague / Mrc_munir
0a07d1a173 Better path fix x86_64 android
Not sure why not needed before when updated my toolchain to NDK15 now  no found -landroid  and error: cannot open crtbegin_dynamic.o: No such file or directory 

So we pull it safe in case not detect sysroot properly.
2017-10-18 03:47:15 +02:00
Conn O'Griofa
34a61cf57e RPI: use new vendor graphics library names
Now required to build on recent Raspberry Pi firmware images (Raspbian stretch).
2017-10-17 00:50:16 +01:00
Carlos Estrague / Mrc_munir
fc1e8267e7 restructure some flags x86_64 android
seems load  with  -Wl, only -Bsymbolic
2017-10-16 00:58:34 +02:00
Carlos Estrague / Mrc_munir
a37ef3ecbf Will fix Android-x86_64 cmake
Use the same flags from android-x86 project  load fine in marsmallow and nougat tested android-x86 images and avd images 
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-fatal-warnings -Wl,-Bsymbolic")
2017-10-15 04:33:57 -04:00
Unknown W. Brackets
7db9dfb50b Headless: Reduce some duplication.
We can share the screenshot code for SDL.
2017-09-20 09:25:28 -07:00
Unknown W. Brackets
5a3d229d04 Headless: Add support for SDL. 2017-09-20 07:24:58 -07:00
imxieyi
78f549754a forget to modify cmakelists 2017-09-04 15:46:05 +08:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Florin9doi
892bc8617d Integrate sceUsbGps and sceUsbCam with Android 2017-08-27 17:19:11 +03:00
Henrik Rydgård
9bce767b73 Merge pull request #9916 from hrydgard/faster-hashmaps
Replace the most critical unordered_maps and maps with faster maps.
2017-08-20 17:56:31 +02:00
Henrik Rydgård
ceb76bd89a Include Hashmaps.h in CMakeLists.txt. 2017-08-20 11:44:43 +02:00
Henrik Rydgård
91783a3281 SIMD-optimize some data conv routines used in uniform updates. 2017-08-20 11:43:35 +02:00
Unknown W. Brackets
21fbacd993 Build: Include Roboto in buildscripts. 2017-06-06 23:28:43 -07:00
Henrik Rydgård
871260fcc4 Start sketching native text rendering for Android 2017-06-05 23:09:04 +02:00
Henrik Rydgård
c5ebeb4273 Merge pull request #9780 from unknownbrackets/ge-record
GE recorder and replay
2017-06-05 10:08:55 +02:00
Henrik Rydgård
6e98dbb574 Split out the Qt font drawer in its own file. 2017-06-04 11:52:14 +02:00
Unknown W. Brackets
36069d1446 GE Debugger: Simple framework to load dumps.
This tries to execute them within the context of the emulator as much as
possible, so we don't have weird bugs.  Going with a file type so we can
easily load the dump by opening the file directly.
2017-06-03 15:29:11 -07:00
Unknown W. Brackets
cbbd3cac7e GE Debugger: Initial structure for GE data dumping.
This snapshots the GE commands and drawing to facilitate debugging.
2017-06-03 15:29:09 -07:00
Unknown W. Brackets
1b491fe156 SoftGPU: Stub a jit for texel fetch. 2017-05-30 22:57:30 -07:00
Unknown W. Brackets
d5426e4360 SoftGPU: Move sampler code to a dedicated file. 2017-05-30 22:53:23 -07:00
Henrik Rydgard
8d1ece05ca Finally move flash0 into assets, fixing #9468 and #9520
CMake fix
Fix the innosetup and zip scripts for the new assets location
2017-04-01 00:20:53 +02:00
Jan Beich
11485f6a10 Qt: don't require QtMultimedia if building with SDL for #9157 2017-03-31 06:05:33 +00:00
Florent Castelli
7d4c8780e5 cmake: Fix linking against system Snappy 2017-03-19 18:44:12 +01:00
Florent Castelli
e0cce7602b cmake: Fix linking against system GLEW 2017-03-19 18:44:12 +01:00
Henrik Rydgård
1424713f62 Minor resource reorg 2017-03-17 12:35:27 +01:00
Henrik Rydgård
48c0b56db2 Forward the GOLD cmake variable to a CPP define. 2017-03-16 11:04:48 +01:00
Henrik Rydgard
468d01eeff CMakelist cleanup, might buildfix things on Linux Clang 2017-03-16 10:16:29 +01:00
Henrik Rydgård
d6b9b7f41f Fix a mistake with cflags reorg 2017-03-15 19:42:17 +01:00
Henrik Rydgård
f8343e9efc Add Gradle build. This time, we don't remove the old build system and we don't switch Travis. 2017-03-15 19:42:17 +01:00
Henrik Rydgård
a4699a37df Update armips with regex workaround 2017-03-15 15:47:30 +01:00
Henrik Rydgård
7e007c3973 Merge pull request #9426 from unknownbrackets/input-state
Remove various legacy parts of the InputState
2017-03-14 09:34:57 +01:00
Unknown W. Brackets
02855e7abb Remove unused pad_buttons and old virtual_input.
GamepadEmu does this now.
2017-03-13 22:57:22 -07:00
Henrik Rydgård
7b460b1815 Remove armips from the generic CMake build again, it didn't build on iOS 2017-03-13 19:28:56 +01:00
Henrik Rydgard
5e88fae640 Link to armips in CMake build 2017-03-13 17:30:19 +01:00
Henrik Rydgård
a83d1feb20 Add missing file to CMakeLists.txt 2017-03-13 16:52:33 +01:00
Henrik Rydgard
d46397627e Buildfixes 2017-02-28 11:40:29 +01:00
Henrik Rydgard
a362af74c0 Buildfix the CMake-based Windows build 2017-02-16 17:58:31 +01:00
Henrik Rydgard
b5034c4e00 Hide the D3D11 backend if Windows version is older than Win8 2017-02-14 10:33:42 +01:00
Henrik Rydgard
76587ec61c Further stuff. 2017-02-09 13:28:59 +01:00
Henrik Rydgard
01e11c6437 Some mostly empty files for D3D11 2017-02-08 17:47:07 +01:00
Henrik Rydgard
55aa879216 A lot of buildfixes 2017-02-06 16:16:43 +01:00
Henrik Rydgard
f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
41f770d815 Move dx_state into gfx/d3d9_state 2017-02-05 20:54:24 +01:00
Henrik Rydgard
ba52ba8714 Move global.cpp to native/gfx/d3d9_shader.cpp 2017-02-05 20:50:17 +01:00
Subs
f9ac218d21 Typo: ARMV64 -> ARM64 2017-02-03 19:16:20 +01:00
Subs
fcffad2ccd CMakeLists: add linux/aarch64 to ffmpeg 2017-02-03 17:43:01 +01:00
zhyk
8c185b2f3a Add Qt with SDL support to CMake.
Fixes #9157.
2017-02-01 14:37:36 +08:00
Henrik Rydgård
23e354847d Buildfix 2017-01-25 19:29:43 +01:00
Henrik Rydgard
73a2a1bc0f The MemArena code has way too many ifdefs. Split it up by platform. 2017-01-25 16:20:21 +01:00
Henrik Rydgård
5e92a94175 Buildfix 2017-01-24 20:58:59 +01:00
Henrik Rydgard
e1cc13fd84 Buildfix 2017-01-23 17:08:58 +01:00
Henrik Rydgard
d9acd27126 Rename GLES files to match the convention the other backends use. 2017-01-23 17:08:58 +01:00
Henrik Rydgård
9658c8dd5c Basic D3D11 context setup code 2016-12-25 11:37:26 +01:00
Henrik Rydgård
1dd9bb7162 Remove the old glslang build 2016-12-20 00:43:26 +01:00
Florent Castelli
2149d3db7f cmake: New FindFFmpeg module
This new module should be able to handle both libraries in the regular
paths and fallback to pkg-config.
It is also able to find dynamic libraries, not just static libraries.
It will generate imported targets with the name FFmpeg::<lib> that you
can use in your scripts.

The way it’s used in our main build script has been updated to match.
We also won’t link external libraries used by ffmpeg automatically since
it is not reliable and depend on custom options.
You should use a proper static build with no external dependencies or
a shared build that will have the proper dependencies listed.
2016-12-19 02:07:08 +01:00
Florent Castelli
5db12ca54d Fix arch detection for fast_matrix_mul
Needed for iOS Simulator build
2016-12-18 22:17:41 +01:00
Florent Castelli
46fdc0f5f5 cmake: Move some cmake includes to ext 2016-12-18 22:17:41 +01:00
Florent Castelli
6852c602b9 glew: Move to ext 2016-12-18 21:13:45 +01:00
Henrik Rydgard
b6fb3be907 Make sure Vulkan is fully disabled where not available. 2016-12-05 21:41:14 +01:00
Henrik Rydgard
a4816bdb73 Commit silly typo 2016-12-05 17:34:26 +01:00
Henrik Rydgard
f4b1152b00 Pick some safe changes from the android gradle branch (including windows CMake fixes) 2016-12-05 16:52:03 +01:00
Florent Castelli
24440591a8 cmake: Update FindSDL2 and use imported target 2016-10-29 19:56:30 +02:00
Florent Castelli
8c3552de74 cmake: Detect features at compile time
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Florent Castelli
cb4d0732df qt: Remove qrc files 2016-10-17 23:45:21 +02:00
Florent Castelli
f02e2b59b0 qt: Build Qt frontend with CMake. Requires Qt5. 2016-10-17 23:45:21 +02:00
Henrik Rydgard
f7a983a632 Attempt linux buildfix 2016-10-14 22:46:01 +02:00
Henrik Rydgard
486963487b Move unix-icons out of assets 2016-10-14 22:38:33 +02:00
Henrik Rydgard
c87d4a66c1 Move lang into assets. 2016-10-14 22:33:45 +02:00
Florent Castelli
9623611427 osx: Specify minimum version for C files too 2016-10-13 18:16:12 +02:00
Florent Castelli
d861fa54a6 ios: Fix resource copying 2016-10-12 21:55:42 +02:00
Florent Castelli
05b0918e38 cmake: Merge GPU and Core targets 2016-10-12 18:52:30 +02:00
Florent Castelli
d6f2c6da2b cmake: Android Studio doesn't need the output in a specific location 2016-10-12 18:52:30 +02:00
Florent Castelli
2cec77e9ec cmake: Move ccache setup to another file 2016-10-12 18:52:29 +02:00
Florent Castelli
eb2eb4cd9b cmake: Move some platform configuration to a toolchain file 2016-10-12 18:52:23 +02:00
Florent Castelli
9f9e11ed25 cmake: Move modules to a sane location 2016-10-12 18:52:23 +02:00
Florent Castelli
032f3a50ea ios: Fix path to plist file 2016-10-12 18:52:23 +02:00
Florent Castelli
fddba83081 cmake: Bump requirement to CMake 3.6 2016-10-12 18:31:49 +02:00
Florent Castelli
94d57f4573 maemo: Remove! 2016-10-12 13:13:09 +02:00
Henrik Rydgård
705627d6d3 Merge pull request #9053 from Orphis/android_define
android: Change preprocessor define to standard __ANDROID__
2016-10-12 13:12:14 +02:00
Florent Castelli
e0ff68b3f6 c++11: Remove compat header base/functional.h
We want a proper C++11, not tr1. We don't target those compilers anyway.
2016-10-12 11:32:45 +02:00
Florent Castelli
70593d1004 android: Change preprocessor define to standard __ANDROID__
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Henrik Rydgård
ad71d27809 Merge pull request #9045 from Orphis/cmake_cleanup
cmake: Use preprocessor for conditional compilation in Common
2016-10-11 18:19:22 +02:00
Florent Castelli
373db56a16 blackberry: Remove! 2016-10-11 17:40:32 +02:00
Florent Castelli
83aaf30207 cmake: Use preprocessor for conditional compilation in Common
CommonExtra is gone!
Still need to fix CommonFake later though.
2016-10-11 16:55:29 +02:00
Henrik Rydgård
fb31d3612f Merge pull request #9047 from unknownbrackets/blackberry
Remove Blackberry support from CMake
2016-10-11 08:25:57 +02:00
Henrik Rydgard
c40e507f3d Get rid of some blackberry build stuff
Conflicts:
	CMakeLists.txt
2016-10-10 21:58:54 -07:00
Florent Castelli
853143e9df cmake: Fix ccache setup 2016-10-11 00:49:25 +02:00
sum
5a224d1601 Build fix for non-windows 2016-10-09 12:40:40 +02:00
Neil Munday
7d9eed90e8 Added installation of the SDL game controller database to CMakeLists.txt 2016-09-20 22:04:01 +01:00
Chris Burgener
7d089a0f76 Clean up various files 2016-09-03 19:23:17 -04:00
Chris Burgener
9fb152ce01 Fix non-Windows builds 2016-09-03 15:09:30 -04:00
Chris Burgener
78d1af4b50 Fix builds for non-Win32 2016-09-02 12:53:54 -04:00
Unknown W. Brackets
30e99206c9 UI: Add a generic word wrapper class. 2016-07-04 16:03:22 -07:00
Unknown W. Brackets
f4e2ca0359 http: Add a screen under tools for the server. 2016-07-03 22:13:47 -07:00
Unknown W. Brackets
ee29c6c50f http: Allow binding a random port, timeout.
The timeout is useful to allow for shutdown of the thread.
2016-07-03 22:13:45 -07:00
Henrik Rydgård
3147f1ac95 Merge pull request #8775 from unknownbrackets/http
Clean up HTTP server implementation
2016-05-28 12:34:55 +02:00
Unknown W. Brackets
a1fbcc3d93 Avoid directly calling osm from Core/GPU code.
This allows UI to handle the message however it wants to, and reduces
cross linkage issues.
2016-05-27 22:05:30 -07:00
Unknown W. Brackets
41e7d3ecde http: Switch to using input/output sinks.
This should be more performant than reading one byte at a time in a loop.
2016-05-26 18:16:38 -07:00
Unknown W. Brackets
27163279d6 Enable ccache in CMakeLists directly.
This makes cmake/clang use ccache on Travis, as well as Blackberry.
2016-05-21 09:31:05 -07:00
Henrik Rydgard
e711a47a75 Complete the separation of the IR compiler frontend from the "Jit" 2016-05-09 20:05:06 +02:00
Henrik Rydgard
f8659b8e1e Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes. 2016-05-08 22:06:13 +02:00
Unknown W. Brackets
9280bb3eda Merge pull request #8715 from unknownbrackets/tex-replace
Initial texture replacement support
2016-05-01 09:58:16 -07:00
Henrik Rydgard
ffe4c266ef Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
2016-05-01 11:40:00 +02:00
Henrik Rydgard
8b450c8034 Merge NativeJit.cpp/h with JitCommon.cpp/h 2016-05-01 11:39:59 +02:00
Henrik Rydgard
a5be0976bd Remove preprocessor hacks to choose JIT implementation.
Opens up for having multiple JIT implementations available at runtime,
which could be use for experimenting with new JIT compiler types or for
unit testing one JIT on another architecture.

Very few of the newly virtual calls are on any sort of critical path so
hopefully there will not be a performance loss.
2016-05-01 11:39:53 +02:00
Unknown W. Brackets
9039dd606f Move TextureReplacer to Core.
Probably makes more sense here after all.
2016-05-01 00:30:40 -07:00
Unknown W. Brackets
bf39e61458 Setup initial structure for texture replacements. 2016-04-30 13:44:31 -07:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
96273c6616 Turn off Vulkan in CMake-based and Qt-based builds, for now 2016-03-20 19:30:39 +01:00
Chaoren Lin
1283336034 Fix CMake build for Android.
Seems like some files have been moved.
2016-01-21 15:39:48 -08:00
Unknown W. Brackets
dd5c91108c Use a background thread to load ISO into RAM.
This way we don't get slow startup.  This will also cache the CSO data,
for example, rather than the raw data, using up less RAM.  It might even
be reasonable to enable on 32-bit.
2015-12-19 15:23:25 -08:00
Unknown W. Brackets
df6cbafe0f Measure free disk space to size block count. 2015-11-18 21:56:03 -08:00
Victor Xie
5dd805259b Fixed build on Mac OS X. 2015-11-06 11:13:59 +08:00
Karen Tsai
91418f9e5d Re-add -mmacosx-version-min=10.7 to CMAKE_CXX_FLAGS (because someone removed it at some point?) 2015-11-04 18:09:46 -05:00
Karen Tsai
1ba873a496 Override JIT setting in ppsspp.ini for JIT-incapable environments, fakesign PPSSPP binary via adhoc signing in order to prevent crash-at-launch on iOS 9, separate jailbreak detection logic from JIT support logic, temporary change to only enable JIT on iOS 8 and below. 2015-11-03 12:34:33 -05:00
LunaMoo
ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Henrik Rydgård
5ebb5d5630 Merge pull request #8116 from hrydgard/reverb
Implement sceSas' reverb effect, guessing that the reverb is the same as the one in PSX's SPU
2015-10-29 11:13:04 +01:00
Jools Wills
bca9a9011f add RASPBIAN options to workaround threading issues when building for ARMV7 on Raspbian
raspbian is built for an armv6 target, so when building for armv7, there is a problem with the ABI compatibility
for threaded applications. /usr/include/c++/*/ext/concurrence.h - undefining __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 makes it use _S_mutex
as it would when ppsspp is built for an armv6 target

see https://github.com/raspberrypi/firmware/issues/491#issuecomment-151723041

fixes problems found by users on #7479
2015-10-28 05:20:59 +00:00
Henrik Rydgard
85c8f7d3c2 Hook up SasReverb. It sounds more like a buzzsaw than a reverb at the moment, needs debugging.
Added a bit of code that only enables it when a reverbed sound is active. This will need to be turned off later but useful right now for hearing when it's used..
2015-10-27 12:36:30 +01:00
Henrik Rydgård
05687e656a Merge pull request #8107 from joolswills/rpi_fix
fix building for rpi2 by disabling armv7.
2015-10-25 22:46:46 +01:00