Commit Graph

1370 Commits

Author SHA1 Message Date
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
twinaphex
157d04b2a5 Simplify this conditional 2017-08-30 19:47:15 +02:00
twinaphex
db404adb95 More mingw patches 2017-08-29 22:24:20 +02:00
twinaphex
78b6636a2b Remove this too - we will use UNICODE and _UNICODE defines for
mingw build
2017-08-29 18:49:36 +02:00
twinaphex
cc24b158ac Change this to _MSC_VER 2017-08-29 18:46:31 +02:00
twinaphex
4e040986ec Removed MSVC check 2017-08-29 18:45:15 +02:00
twinaphex
418e341b32 Patches to make it possible to compile with mingw, pt. 1 2017-08-29 18:27:46 +02:00
Henrik Rydgård
8d0498303a Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). 2017-08-29 11:45:12 +02:00
Henrik Rydgård
871fa713ed Fix bug in vulkan init. Add some sanity checks to GL shader cache loading. 2017-08-28 15:22:18 +02:00
Henrik Rydgård
6a0f65764d Minor cleanups 2017-08-28 15:04:28 +02:00
Henrik Rydgård
21d85617c1 Buildfix 2017-08-28 14:37:15 +02:00
Henrik Rydgård
55e9807a53 Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. 2017-08-28 14:12:56 +02:00
Henrik Rydgård
8c1bfb876f Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info. 2017-08-28 13:47:31 +02:00
Henrik Rydgård
e1f991a096 Linux buildfix 2017-08-20 21:51:48 +02:00
Henrik Rydgård
9c3549f0be ... And also for the vertex decoder (DenseHashMap) 2017-08-20 19:18:50 +02:00
Henrik Rydgård
10cebb4195 32-bit buildfix 2017-08-20 15:33:53 +02:00
Henrik Rydgård
6ffb3d6b53 Buildfix 2017-08-20 14:58:10 +02:00
Henrik Rydgård
237cca683b Maintain the hashmap from time to time. Fix a bug in count reset on grow. 2017-08-20 13:34:11 +02:00
Henrik Rydgård
e0e13e191f Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. 2017-08-20 11:30:19 +02:00
Henrik Rydgård
750c124c33 Vulkan: Fix some inefficient command pool usage, might also fix a race condition 2017-08-18 17:09:48 +02:00
Henrik Rydgård
560eaa5390 Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. 2017-08-17 17:57:37 +02:00
Henrik Rydgård
d60bb27cd9 Merge pull request #9906 from hrydgard/fastrunloop-optimize
GPU FastRunLoop optimizations
2017-08-17 16:25:15 +02:00
Henrik Rydgård
2c4e5e2303 Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset. 2017-08-17 15:20:16 +02:00
Henrik Rydgård
5e788ffadf Implement vertex caching for Vulkan. 2017-08-17 11:22:45 +02:00
Henrik Rydgård
bc76c8d541 Cleaner Vulkan shutdown 2017-08-15 17:30:37 +02:00
Jan Beich
e33acdc5e9 Common: fix MAP_32BIT after 9f24203ef8
9f24203ef8 added 0x20000000 as a default fallback address hint which
unconditionally disabled MAP_32BIT. FreeBSD cannot use the hints
because without adjusting RLIMIT_DATA lower addresses are reserved for
brk(2) style heap. So, don't try to use hints with MAP_32BIT.
2017-07-26 15:25:54 +00:00
Henrik Rydgård
033676ca4d Vulkan debug mode: In case of missing validation layers, warn, don't error out. 2017-07-13 23:36:53 +02:00
Henrik Rydgård
f7fea57bb6 More RIP addressing in software skinning.. 2017-07-07 15:12:57 +02:00
Henrik Rydgård
837118d230 More RIP elimination 2017-07-07 15:07:56 +02:00
Henrik Rydgård
567937fa4d x64: Enable non-RIP addressing for FPU registers 2017-07-07 11:33:07 +02:00
Henrik Rydgård
381c4ca4b2 X64: Fix bug in a case in the MOVQ emitter : rex byte should be after the 0x66 prefix 2017-07-07 11:33:07 +02:00
Henrik Rydgård
0645677fea Access FPU temps through CTXREG 2017-07-07 11:33:06 +02:00
Henrik Rydgård
7c3b37c561 More RIP elimination 2017-07-07 11:33:05 +02:00
Henrik Rydgård
d82f90f1b2 More RIP removal 2017-07-07 11:33:05 +02:00
Henrik Rydgård
80b82ecd81 Buildfix attempt 2017-07-07 11:33:02 +02:00
Henrik Rydgård
e6e96c0d89 Fix build with NDK 15. This does force us to make do with 32-bit file sizes... 2017-07-03 16:25:12 +02:00
Henrik Rydgård
7da5dfcdd7 Don't use stat64 unless we need to 2017-07-03 16:14:41 +02:00
Unknown W. Brackets
9dced68812 Core: Buildfix. 2017-06-24 14:19:25 -07:00
Simonas Kazlauskas
55c193ce78 Remove use of C file api in LocalFileLoader
Instead use native system calls.
2017-06-24 21:07:37 +03:00
Simonas Kazlauskas
3f63c29736 Also support atomic windows readAt 2017-06-23 18:40:00 +03:00
Unknown W. Brackets
531c6682b7 Vulkan: Increment engine version.
Since we are kinda majorly different now.
2017-05-31 20:04:11 -07:00
Henrik Rydgård
33d4f8c7ad Vulkan: Fix minor bug when clearing the back buffer (loaded stencil for no reason) 2017-05-31 13:37:47 +02:00
Unknown W. Brackets
cb3db559bd SoftGPU: Jit the linear sampling too.
For now, just reducing overhead.  Could be smarter.
2017-05-30 22:57:46 -07:00
Henrik Rydgård
901b62ae54 Merge pull request #9730 from LunaMoo/HomebrewIdent
Fix a bunch of emu features for Homebrew by better identification.
2017-05-30 14:57:31 +02:00
Henrik Rydgård
996d0e9508 Oops. 2017-05-30 14:54:12 +02:00
LunaMoo
5e0f8141d2 Corrections, some %i->%d around other code as well. 2017-05-30 13:52:29 +02:00
Henrik Rydgård
fede9a05fb Only show the Vulkan setting if Vulkan might be available. 2017-05-30 10:38:17 +02:00
Henrik Rydgård
38b50501c2 Clearing fix, drawpixels fix/hack 2017-05-30 09:36:17 +02:00
Henrik Rydgård
c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 2017-05-30 09:36:17 +02:00
Henrik Rydgard
0c70735bc4 Buffered rendering is starting to work, though still kinda broken. 2017-05-30 09:36:17 +02:00
Henrik Rydgård
a7dd6d6085 Further steps towards Vulkan framebuffer support 2017-05-30 09:36:17 +02:00
Henrik Rydgard
4407445d50 Separate BeginFrame from BeginSurfaceRenderPass 2017-05-30 09:22:40 +02:00
Unknown W. Brackets
c5d1c1cd1c Android: Fix minor typo. 2017-05-27 22:33:47 -07:00
Unknown W. Brackets
9b7f43db04 Add additional button defines.
Not yet functional (overlap with virtkeys.)
2017-05-27 10:25:04 -07:00
Henrik Rydgård
21fe73c8e7 Switch strncpy to truncate_cpy in a bunch of places. 2017-05-26 19:04:08 +02:00
Henrik Rydgård
0ec1e5e3b2 Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708 2017-05-26 15:48:03 +02:00
Henrik Rydgård
d9695da3a5 Make extra sure that asserts arrive in the Android log. 2017-05-26 11:59:15 +02:00
Henrik Rydgård
6d58a8d8f6 Move up Software Rendering to Rendering where it belongs. Makes it easier to turn it off if enabled by accident. Also warn if used and it runs slow. 2017-05-18 14:56:10 +02:00
Henrik Rydgard
d4e1fc8d93 More vulkan shutdown fixes 2017-05-07 11:08:09 +02:00
Henrik Rydgard
5974e0ee6d Work towards a clean vulkan shutdown. 2017-05-07 10:40:11 +02:00
Unknown W. Brackets
90f3ae14e0 Windows: Simplify host shutdown.
The whole nativeHost/oldHost thing is unnecessary.

This also fixes gl lost holder mismatches.
2017-04-29 12:04:54 -07:00
LunaMoo
a9d9063680 Handle more mouse buttons(middle, 4, 5) 2017-04-27 13:54:38 +02:00
Unknown W. Brackets
bf02f7d98b Vulkan: Detect swapchain init failure.
This seems to be a driver bug, and occurs on NVIDIA when OpenGL has
previously been inited.  Or we're not cleaning something up properly...
but there's a driver error logged to debug output.
2017-04-15 16:26:26 -07:00
LunaMoo
4a2677e0c6 Revert unintentional change from: 429bf5d8b3 2017-03-23 11:54:54 +01:00
Henrik Rydgård
4bad28046b UWP: Save memory by only committing the ranges we need, instead of doing a giant allocation. 2017-03-23 10:02:29 +01:00
Henrik Rydgård
29ad3180a0 Add hack to make the JIT stable(r) on UWP ARM. Can't make it right without FlushInstructionCache which is not available. Sigh... 2017-03-23 10:02:29 +01:00
Henrik Rydgård
5880f37598 Simplify log initialization a little. Minor logging improvments in native. Don't disable logging in UWPMain 2017-03-23 10:02:29 +01:00
Henrik Rydgard
792dd1557c Improve StorageFileLoader enough to actually kind of work 2017-03-23 10:02:28 +01:00
Henrik Rydgard
ff2b6b3fca Assorted cleanup, UWP memory map fixes. PSPFlower runs in both 32-bit and 64-bit. 2017-03-23 10:02:28 +01:00
Henrik Rydgard
4ced81b1df UWP: Hook up basic touch/mouse input. Start work on loading from a StorageFile. Getting closer to starting to boot a game 2017-03-23 10:02:28 +01:00
Henrik Rydgård
fdfc572b69 Misc logging improvments, minor safety check 2017-03-20 13:07:22 +01:00
Unknown W. Brackets
a1f59deafe Fix some type narrowing warnings and typos. 2017-03-19 07:44:31 -07:00
Henrik Rydgard
961157551a Another buildfix 2017-03-18 11:38:25 +01:00
Henrik Rydgard
7c0761ef15 Buildfix 2017-03-18 11:11:27 +01:00
Henrik Rydgard
4f707a1022 Simplify logging code some more. Cleaner log output on Android. 2017-03-18 10:47:36 +01:00
Henrik Rydgard
a5d77f940a More cleanup 2017-03-17 18:00:24 +01:00
Henrik Rydgard
1ccca2ef33 We don't really support different listeners per log type, so let's get rid of that fiction. 2017-03-17 17:57:32 +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
f3c518ac7f Remove unused AxisPos. 2017-03-13 23:08:09 -07:00
LunaMoo
429bf5d8b3 Use $(DefaultPlatformToolset)_xp for easier VS builds with different toolsets. 2017-03-13 21:40:08 +01:00
Henrik Rydgård
eb73a28140 Add new log category FRAMEBUF 2017-03-13 13:55:29 +01:00
Henrik Rydgård
6062262431 Add a comment explaining why a strncpy can't be replaced by truncate_cpy, because it would break savestates. 2017-03-13 13:55:29 +01:00
Henrik Rydgard
b0bd7e3c6f Minor changes for compatibility with VS2017 2017-03-12 17:33:00 +01:00
Henrik Rydgård
e74749f2b2 A function renamed, some logging improvements 2017-03-10 00:11:00 +01:00
Henrik Rydgard
afc27c30eb Quick buildfix (should probably just enable exceptions on Android) 2017-03-07 20:10:18 +01:00
Henrik Rydgård
ed16096365 Don't crash if not enough memory to save a state. Very annoying.
Minor tweaks.
2017-03-07 15:32:34 +01:00
Henrik Rydgård
a895936913 More log cleanup. Fix resize issue: Fixes #9392 2017-03-06 13:50:22 +01:00
Henrik Rydgård
440e72d250 Clean up among the logs. Remove MASTER_LOG. 2017-03-06 13:10:23 +01:00
Henrik Rydgård
cfe2621604 LogManager: Hook up save/load, remove "long names" 2017-03-06 11:44:35 +01:00
Henrik Rydgard
de3e906795 Linux buildfix 2017-03-05 11:25:07 +01:00
Henrik Rydgard
7b3f84aae8 More buildfixes for Windows on ARM 2017-03-05 10:52:08 +01:00
Henrik Rydgard
f2ccd1d648 Assorted Windows-on-ARM fixes 2017-03-05 10:47:41 +01:00
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Henrik Rydgård
54f862cda6 UWP: Fix Timer 2017-02-28 11:40:18 +01:00
Henrik Rydgård
0e83a4c418 Fix savestates. Still don't understand quite how this broke though, it should work. Fixes #9365 2017-02-28 00:09:33 +01:00
Henrik Rydgard
03dab0fdbd More UWP prep 2017-02-25 09:57:22 +01:00
Henrik Rydgard
fa80cfa4aa Additional UWP preparations 2017-02-25 09:57:14 +01:00
Henrik Rydgard
fcbc20f240 Small changes to make Common and Core build under my preliminary UWP setup. 2017-02-24 18:59:41 +01:00
Henrik Rydgard
acde17e3ce Improvements to D3D11 detection and error handling. 2017-02-23 10:40:55 +01:00
Henrik Rydgard
dfc71f32cb Initial work on shader translation using glslang+spirv-cross 2017-02-15 21:51:33 +01:00
Henrik Rydgard
5c918da774 Minor cleanups (combined two identical enums, misc) 2017-02-15 11:06:59 +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
ad29974a56 Change when drawcontexts are allocated. Hook up backbuffer events to fix d3d9 resizing. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
20d9e60a67 Just some renaming. Start moving away from the "thin3d" name 2017-01-30 14:38:31 +01:00
Henrik Rydgård
c4bac2d379 ABI: Switch to paired load/stores of floats too 2017-01-27 14:56:38 +01:00
Henrik Rydgård
e1bae9aa67 Follow the ARM64 ABI better (update the frame pointer). 2017-01-27 14:19:03 +01:00
Henrik Rydgard
a1ec735f6c ARM64Emitter: Implement instructions to move data to/from SP 2017-01-26 14:23:42 +01:00
Henrik Rydgård
4a0437d0ed Remove a useless wrapper function 2017-01-26 10:01:14 +01:00
Henrik Rydgård
1503f00885 Memory function cleanups. Better simulation of RW exclusive mode on Windows (if desired) 2017-01-26 09:49:26 +01:00
Henrik Rydgård
6ea3c6a7e3 Delete unused code 2017-01-26 08:51:48 +01:00
Henrik Rydgård
56acafdb52 Fix page size for page-aligning generated code 2017-01-25 20:39:16 +01:00
Henrik Rydgård
b9bbee5c85 Use the mach memory functions on Mac and 32-bit iOS as well. 2017-01-25 20:38:46 +01:00
Henrik Rydgard
b10e0a9a57 Windows buildfix 2017-01-25 20:10:17 +01:00
Henrik Rydgård
ff9e1517c7 More bugfixes 2017-01-25 19:11:33 +01:00
Henrik Rydgård
193b5f3094 By skipping kernel mappings, I got things to fit in the iOS 64-bit address space. However, something is still a bit broken with JIT... 2017-01-25 18:35:09 +01:00
Henrik Rydgård
5e61a5afe1 Implement fastmem for Darwin. Not very successfully yet.. 2017-01-25 17:14:43 +01:00
Henrik Rydgård
510228aab9 Turn off color in iOS logs 2017-01-25 17:14:16 +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 Rydgard
19e309c91e Fix LogManager typo 2017-01-25 16:14:41 +01:00
Henrik Rydgard
5df4bac6d2 Delete some left behind unused code 2017-01-25 10:05:39 +01:00
Henrik Rydgård
f86b9f7900 Guess what? More renaming 2016-12-27 11:59:06 +01:00
Henrik Rydgård
10393f5d4e Move Thin3D into the Draw namespace. 2016-12-27 11:58:03 +01:00
Florent Castelli
46fdc0f5f5 cmake: Move some cmake includes to ext 2016-12-18 22:17:41 +01:00
Henrik Rydgard
a2b49fd0e0 Update Vulkan headers. Hack around another validation check (which I beleive to be bugged). 2016-12-15 18:12:53 +01:00
Henrik Rydgård
4a7809881b Merge pull request #9139 from hrydgard/defensive-programming
Attempts to counter crashes seen in the Google Play developer console
2016-12-07 11:25:43 +01:00
Henrik Rydgard
d33ad4acba Actually fix the build this time, doh 2016-12-06 23:58:31 +01:00
Henrik Rydgård
8aa04eb25e Oops again. Let's not const these. 2016-12-06 20:16:59 +01:00
Henrik Rydgård
11267b237e Oops 2016-12-06 19:59:13 +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
latot
96f4eba6b0 Remove empty define 2016-12-04 01:08:01 -03:00
latot
cb1e01f380 clean double end statements 2016-12-03 12:25:05 -03:00
latot
7047ad2271 fix sscanf types 2016-12-02 22:46:52 -03:00
Henrik Rydgard
5d5f10d956 Attempts to counter crashes seen in the Google Play developer console 2016-12-01 22:07:03 +01:00
Henrik Rydgård
405ac4f2cc Merge pull request #9041 from unknownbrackets/vulkan
WIP: Progress toward device restore on Vulkan
2016-12-01 15:58:32 +01:00
Henrik Rydgård
9ec4c8bd31 Merge pull request #9108 from joolswills/rpi_fix
Fix building on rpi - #9104
2016-11-01 09:53:31 +01:00
Jools Wills
afe8e2bfb4 Fix building on rpi - #9104
Check for PPSSPP_ARCH(ARM_NEON) for neon code
Fix up rpi armv6/armv6 toolchain to work around issue with CMAKE_*_FLAGS not being set.
2016-11-01 02:45:30 +00:00
Henrik Rydgard
6e7e62f3d5 Fix compiler check in Arm64Emitter.cpp. Should help #9104 2016-10-31 22:34:15 +01: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
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
Florent Castelli
4145b60a0e symbian: Remove! 2016-10-11 18:49:08 +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
Unknown W. Brackets
1d9222b3e4 Vulkan: Add comment for Android validation layers.
Note: these also require minor tweaks to Local.mk to include, currently,
but we're probably moving to gradle.
2016-10-10 22:08:44 -07:00
Unknown W. Brackets
e263bb945e Vulkan: Correct initial swapchain compositeAlpha.
We'll just need to deal with the fact that we have to output 1.0 so that
blending doesn't matter, I think.
2016-10-10 22:07:50 -07:00