Commit Graph

1396 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
5ab0db2cd3 Undo arm64 fix: was a local problem, after all. 2016-10-09 20:40:00 -07:00
Unknown W. Brackets
39d6ea2985 Vulkan: Auto-set queued deletes to null. 2016-10-09 12:16:42 -07:00
Unknown W. Brackets
a8e108e233 Workaround arm64/clang crashes by avoiding TLS.
We only use it in these two places, it should be okay for now.  Still not
working on r13 on a SHIELD TV.
2016-10-08 12:08:19 -07:00
Henrik Rydgard
2adec71f87 Be completely safe on Exynos even if future OS:es start running the big and LITTLE cores simultaneously (don't know if they already do) 2016-09-12 22:19:52 +02:00
Henrik Rydgard
edae55d827 Revert "ARM64 icache flush: Don't bother with the minimum cache line size, just use the current."
(In case big and LITTLE cores are used at the same time on some chips,
this might still help, at least in theory)

This reverts commit 0b8a3e8c26.
2016-09-12 22:09:05 +02:00
Henrik Rydgard
0b8a3e8c26 ARM64 icache flush: Don't bother with the minimum cache line size, just use the current. 2016-09-10 17:21:11 +02:00
Henrik Rydgard
03279e1212 Port over the Exynos cacheline size fix from Dolphin. Thanks to lewurm of the mono project for the discovery and original fix.
See https://github.com/dolphin-emu/dolphin/pull/4204 and https://github.com/mono/mono/pull/3549
2016-09-10 09:25:06 +02:00
Henrik Rydgard
f39c603acb Move memory protect logging to VERBOSE level. See #8941 (probably something else going on though) 2016-09-04 16:35:23 +02:00
Henrik Rydgård
9e70a6f9d9 Merge pull request #8939 from RisingFog/frame_advance
Add Frame Advance
2016-08-30 16:45:54 +02:00
Chris Burgener
8c96e92199 Hide Frame Advance from mobile devices 2016-08-30 10:03:16 -04:00
Chris Burgener
c726691aba Remove all default bindings for Frame Advance 2016-08-29 16:39:16 -04:00
Henrik Rydgard
dde50cbdf5 Remove checks for various iOS non-jit situations in settings 2016-08-28 19:01:00 +02:00
Unknown W. Brackets
2fd81a4b29 Fix typo. 2016-08-28 09:44:52 -07:00
Henrik Rydgard
740ef4e0eb Apple buildfix 2016-08-28 18:41:24 +02:00
Henrik Rydgard
3ab2094b76 Buildfix attempt 2016-08-28 18:35:57 +02:00
Chris Burgener
842a29b0ae Add Frame Advance 2016-08-28 12:21:45 -04:00
Henrik Rydgard
2a4f4ed41d iOS buildfix, fix another comment 2016-08-28 18:10:26 +02:00
Henrik Rydgard
1e4b77fb49 Use PAGE_SIZE, fix a comment, fix some indentation. 2016-08-28 18:07:54 +02:00
Henrik Rydgard
d82ba24485 Symbian buildfix 2016-08-28 15:07:33 +02:00
Henrik Rydgard
b264657d56 Implement W^X-compatible path. Works on Windows and Android, hopefully iOS (untested).
Disabled block linking in this mode, can re-enable with some more work later.

To enable W^X on other platforms than iOS, simply change PlatformIsWXExclusive.
2016-08-28 14:52:08 +02:00
Henrik Rydgard
13e73f8c86 Make sure to reset memory protection as appropriate. Remove unused WriteProtect on codeblocks (to be redesigned) 2016-08-28 13:37:30 +02:00
Henrik Rydgard
323eb72b7c Write-protect the dispatcher on all platforms. 2016-08-28 13:35:27 +02:00
Henrik Rydgard
5005e83254 Consistency improvements to the memory protect/alloc APIs 2016-08-28 12:28:17 +02:00
Henrik Rydgard
adbac55b1d Replace Write/UnWriteProtectMemory with ProtectMemory that takes flags 2016-08-28 12:09:01 +02:00
Unknown W. Brackets
5094bd0ea1 Add include for Android NDK r12. 2016-07-24 12:52:24 -07:00
Unknown W. Brackets
0bf65150d6 Vulkan: Prefer 32-bit color formats if possible. 2016-07-01 14:05:15 -07:00
LunaMoo
24fd336e60 Create openIniFile function in FileUtil to avoid duplicates
+ correction
2016-06-22 05:55:45 +02:00
Unknown W. Brackets
9471107d0d If possible, use /dev/shm instead of /tmp.
For some variants, /tmp will be tmpfs, but not always.  In case our mmap
fails to prevent flushing to disk (as apparently happens on Raspberry Pi),
shm will work better for us.

Thanks go to klyoungblood.
2016-06-03 19:49:22 -07:00
Unknown W. Brackets
30e13c7c37 Clean up some unused result warnings. 2016-05-31 11:49:59 -07:00
Unknown W. Brackets
419b960403 x86jit: Fix params in Replace_fabsf. 2016-05-31 10:40:14 -07:00
Unknown W. Brackets
02db45982a Pass Build.BOARD from Java, avoid lookup.
Fixes arm64 build with r10, but is ugly coupling.
2016-05-27 20:11:25 -07:00
Henrik Rydgard
fd0af5b271 Vulkan: Mostly pass the validation layers in SDK 1.0.13 2016-05-24 21:41:35 +02:00
Unknown W. Brackets
4113fd940c Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often.  Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
2016-05-23 21:35:28 -07:00
Unknown W. Brackets
70c78effb0 Use Android system props for CPU info fallback.
Some devices don't provide any useful information at all, such as the
Galaxy S7.
2016-05-23 21:18:57 -07:00
Henrik Rydgard
0a58424e75 Vulkan: Remove validation layer that is now included in standard_validation 2016-05-18 23:53:17 +02:00
Unknown W. Brackets
9cda186f4b Remove __TIME__ from Log.h.
This seems to cause more ccache misses, and I don't think it's terribly
useful really.
2016-05-14 10:40:21 -07:00
Henrik Rydgard
52517ab609 Fix the fix 2016-05-08 22:32:08 +02:00
Henrik Rydgard
ed0a0378d7 Another buildfix 2016-05-08 22:27:20 +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
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
9ffc717de1 Properly save 16-bit textures for replacements. 2016-05-01 00:30:47 -07:00
Henrik Rydgård
0c1e7dcc18 Use the OS to clear the CPU cache instead of the gcc builtin. Experiment for the S7 issues. 2016-04-09 16:16:45 +02:00
Henrik Rydgard
617bcebcd6 Update to latest vulkan header (1.0.8) 2016-04-07 22:53:37 +02:00
Henrik Rydgard
5cd3956575 Reformat VulkanContext.cpp (fix tab indentation) 2016-04-03 00:01:56 +02:00
Henrik Rydgard
e1f660ebc1 Update vulkan structure init to the new style 2016-04-02 23:57:23 +02:00
Henrik Rydgard
32f5930e15 Move clear handling to FramebufferVulkan, center the clear properly in non-buffered. more cleanup. 2016-03-31 00:50:50 +02:00
Henrik Rydgard
731af0d0b4 Add some infrastructure for 2D drawing, to be used by the Vulkan framebuffer manager 2016-03-31 00:49:10 +02:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Henrik Rydgard
a8c386b94c Make VulkanImage a little more flexible (make it possible to create depth images)
Just preparation.
2016-03-28 18:25:05 +02:00
Unknown W. Brackets
8dd93576ec Vulkan: Ignore queued frees after destroy.
We flush slabs so this gives false assertions in some cases.
2016-03-27 12:38:15 -07:00
Unknown W. Brackets
048a12f589 Buildfix.
Some compilers didn't like that, oops.
2016-03-27 09:25:25 -07:00
Unknown W. Brackets
3352608027 Vulkan: Free texture slabs on exit. 2016-03-27 08:30:43 -07:00
Unknown W. Brackets
16570f10bd Vulkan: Handle texture allocation failure.
Users hit out of memory even using desktop GL devices, and it will
definitely be possible on mobile and desktop Vulkan.
2016-03-27 08:30:42 -07:00
Unknown W. Brackets
27a5697a96 Vulkan: Use the slab allocator for textures. 2016-03-27 08:30:42 -07:00
Unknown W. Brackets
62b6432121 Vulkan: Allocate forwards in device slabs. 2016-03-27 08:30:41 -07:00
Unknown W. Brackets
87d65e696c Vulkan: Correct alloc near slab end. 2016-03-27 08:30:40 -07:00
Unknown W. Brackets
9921fd2ea7 Vulkan: Don't bother with extra userdata, comments.
Was a failed attempt to avoid new/delete.
2016-03-27 08:30:40 -07:00
Unknown W. Brackets
bd7c431532 Vulkan: Increase new size for new slabs. 2016-03-27 08:30:39 -07:00
Unknown W. Brackets
973a9f6124 Vulkan: Delay frees for device memory slabs. 2016-03-27 08:30:38 -07:00
Unknown W. Brackets
7d5a8aa470 Vulkan: Protect better against memory alloc errors. 2016-03-27 08:30:38 -07:00
Unknown W. Brackets
f0dc921ed5 Vulkan: Setup a pool memory manager for textures. 2016-03-27 08:30:37 -07:00
Unknown W. Brackets
e7ea1da99f Vulkan: Swizzle instead of converting colors. 2016-03-26 15:02:06 -07:00
Unknown W. Brackets
adc9946641 Vulkan: Ask for COHERENT staged texture memory. 2016-03-26 12:18:49 -07:00
Henrik Rydgård
b0329e8106 Merge pull request #8657 from unknownbrackets/vulkan-resize
Support resizing the screen on Vulkan
2016-03-22 09:22:58 +01:00
Unknown W. Brackets
963b18e6c2 Vulkan: Prep for resize, destroy surface on exit.
I suppose this is a validation layer bug, it didn't report the leak.
2016-03-21 19:41:20 -07:00
Henrik Rydgard
b97e02febe Typo fixes. Delete irrelevant comments 2016-03-21 20:23:53 +01:00
Henrik Rydgard
dff585e440 VulkanContext: Detect the appropriate depth buffer format to use, expose it.
This should help AMD compatibility.
2016-03-21 20:11:49 +01:00
Henrik Rydgård
6831f6fc46 Merge pull request #8650 from unknownbrackets/vulkan-buf
Vulkan: Cache only device in push buffers
2016-03-21 08:27:50 +01:00
Henrik Rydgård
2a35d4b4c5 Merge pull request #8653 from unknownbrackets/warnings
Warning fixes from clang
2016-03-21 08:27:25 +01:00
Unknown W. Brackets
2d34c0a8bc Vulkan: Free anything pending before the device.
This includes, for example, device memory and etc.
2016-03-21 00:02:59 -07:00
Unknown W. Brackets
9c3e12ead0 Remove some unused things reported by clang. 2016-03-20 23:14:08 -07:00
Unknown W. Brackets
d90527e41e Correct some missing overrides. 2016-03-20 23:05:05 -07:00
Unknown W. Brackets
6d947a057e Vulkan: Handle oversized push buf allocations. 2016-03-20 22:49:38 -07:00
Unknown W. Brackets
9fd040eed0 Vulkan: Cache only device in push buffers. 2016-03-20 22:49:38 -07:00
Unknown W. Brackets
e3d9630b9a Vulkan: Handle oom slightly better. 2016-03-20 15:25:59 -07:00
Unknown W. Brackets
9e4389cbf5 Vulkan: Defrag buffers when growing. 2016-03-20 15:20:42 -07:00
Unknown W. Brackets
f2513ffcd6 Vulkan: Allocate more buffers on overflow. 2016-03-20 15:15:13 -07:00
Unknown W. Brackets
ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Unknown W. Brackets
87eadad326 Fix a failed lock release warning. 2016-03-20 14:16:54 -07:00
Henrik Rydgard
0b1cfaf751 Be more economical with UBO pushbuffer space by reusing the last data when possible. 2016-03-20 19:35:31 +01:00
Henrik Rydgard
5d19f3dfb8 Decode vertex data directly into the vertex pushbuffer, saving a memcpy. 2016-03-20 19:35:03 +01:00
Henrik Rydgard
5d45413dab Fix a resource leak. Request COHERENT memory for pushbuffers. 2016-03-20 19:35:03 +01:00
Henrik Rydgard
2c61b1e763 Change the VulkanPushBuffer API to allow for adding support for dynamic growth 2016-03-20 19:35:03 +01:00
Henrik Rydgard
5d56537a16 Move VulkanPushBuffer into VulkanMemory.h 2016-03-20 19:31:02 +01:00
Henrik Rydgard
966cb89d41 Vulkan: Fix our use of dual source blending, re-enable if available. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
82f3df1e06 Vulkan: Initial support for aniso filtering. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Henrik Rydgard
e45c24b75f Show how much pushbuffer space is used each frame.
Optimizing this number (by avoiding redundant UBO uploads etc) will probably help performance.
2016-03-20 19:31:02 +01:00
Henrik Rydgard
84e649f74b Vulkan: Enable mipmapping 2016-03-20 19:31:02 +01:00
Henrik Rydgard
8a62724316 Upload PSP textures through a push buffer instead of image copy. More flexible. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
5ea01ffff6 Add a secondary way to upload textures - through buffers. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
82205a4660 Handle Vulkan init errors more gracefully. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
fe270c592a Typo fix 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b0098f7961 Replace ugly workaround with VK_LAYER_LUNARG_unique_objects which prevents handle reuse.
See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/121
2016-03-20 19:31:02 +01:00
Henrik Rydgard
575cc890b7 Turn off annoying "debug flicker" I used to see if we were swapping buffers properly early on
Also minor logging changes, refine the false-positive debug layer check
2016-03-20 19:31:02 +01:00
Henrik Rydgard
5ca012e83d Fix a bunch of new vulkan validation layer failures. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
6e2e0bfa33 Should not specify the Vulkan patch version when requesting Vulkan 1.0. 2016-03-20 19:31:02 +01:00
Unknown W. Brackets
c92790c5a8 Specify a useful app version when loading Vulkan. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
432fbe30d1 Vulkan: We're doing dual src blending wrong (GLSL part, not sure how to do it right) so disable it. 2016-03-20 19:31:02 +01:00
Henrik Rydgard
b06cf4e688 Re-fix depth buffer initialization 2016-03-20 19:30:39 +01:00
Henrik Rydgård
9c457da4c9 Gets the Vulkan backend running, but not drawing correctly, on Android.
Not sure what's wrong, I get a yellow flashing screen.
2016-03-20 19:30:39 +01:00
Scott Mansell
77420f799e VulkanLoader: Detect loader failure on windows. 2016-03-20 19:30:39 +01:00
Scott Mansell
e97a6c6f77 VulkanLoader: Load vkDestroySurfaceKHR 2016-03-20 19:30:39 +01:00
Henrik Rydgard
d325aa2b30 Hook up Vulkan on Android, no idea if it works. Move VulkanContext to Common. 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2481714a8e Load Vulkan dynamically. Fix Android build (though - Vulkan is not working on Android yet) 2016-03-20 19:30:11 +01:00
Henrik Rydgard
4063f7e0db Fill out GPU_Vulkan.cpp with what's mostly a copy of GLES_GPU.cpp 2016-03-20 19:30:11 +01:00
Henrik Rydgard
2a71e164f5 Enable vulkan validation 2016-03-20 19:25:30 +01:00
Henrik Rydgard
2a449f78bb More vulkan fixing 2016-03-20 19:25:30 +01:00
Henrik Rydgard
eedd81988c Implement a trivial SPIR-V disassembler, just for fun 2016-03-20 19:18:35 +01:00
Henrik Rydgard
c8457d39ed Fix a bunch of compiler warnings, delete some unused code 2016-03-13 15:17:31 +01:00
Henrik Rydgard
ec6559537b Android EGL: Experiment: Only apply the 16-bit workaround on really old devices. 2016-03-13 15:17:31 +01:00
Unknown W. Brackets
f1f046d885 Remove now-unused mutex implementation. 2016-03-06 14:49:16 -08:00
Unknown W. Brackets
da03b80c97 Standardize on just one mutex implementation. 2016-03-06 14:49:15 -08:00
Henrik Rydgard
88f25fd50e x86-64: Fix L bit in VEX instruction emitter. Ported fix from Citra.
Currently unused in the emulator, though.
2016-02-28 13:07:24 +01:00
Henrik Rydgard
05d4caeeaf Buildfix 2016-02-21 12:14:44 +01:00
Henrik Rydgard
76e1d074ec Logging improvements in EGL init 2016-02-21 11:40:02 +01:00
Henrik Rydgard
35b6c7341b Fix a bunch of memory leaks, after enabling file+line-number memory leak tracking for the MS Debug CRT.
Few of these were serious, most were on-exit, but good to have a cleaner memory report after running.
2016-02-10 15:36:10 +01:00
Unknown W. Brackets
f1afb50fd1 Shutdown EGL properly when quitting render loop. 2016-02-07 16:30:40 -08:00
Henrik Rydgard
da528d15ad ARM32 emitter: Tighten up distance check for forward jumps. Was off by one. 2016-01-30 21:38:42 +01:00
Henrik Rydgard
e0cba1dd5a EGL: Try again with ES 2 if we fail to create an ES 3 context. 2016-01-24 11:33:02 +01:00
Henrik Rydgård
19b0858d5e Merge pull request #8490 from unknownbrackets/ui-tweaks
Show save state titles in the save state manager
2016-01-24 00:51:04 +01:00
Unknown W. Brackets
6a5096e546 Save the game title in savestates, if available.
So that the UI can show them.  Old savestates still load fine, just don't
have the title.
2016-01-23 12:56:36 -08:00
Henrik Rydgard
81fe914137 More EGL heuristics 2016-01-23 19:16:46 +01:00
Henrik Rydgard
1d6e48b817 Even more EGL logging 2016-01-23 18:42:05 +01:00
Henrik Rydgard
1a02274def A little bit more EGL logging 2016-01-23 18:31:34 +01:00
Henrik Rydgard
4155712113 Improve EGL logging, fallback to a really simple config if the normal one fails. May help #8469, if not may at least give us more info. 2016-01-23 13:17:53 +01:00
Henrik Rydgard
3ba911bf07 Replace some calls to fopen with File::OpenCFile (utf8). 2016-01-17 15:59:20 +01:00
Unknown W. Brackets
da78ec0b4d Use USING_WIN_UI for desktop Windows console. 2016-01-03 15:10:50 -08:00
Unknown W. Brackets
d165680ee7 Don't assume _MSC_VER / _WIN32 mean x86/x64. 2016-01-03 15:07:36 -08:00
Henrik Rydgård
b29f46f9ac Merge pull request #8363 from unknownbrackets/jit-alloc
Jit: Properly re-allocate when jit is freed a lot
2016-01-03 18:55:12 +01:00
Unknown W. Brackets
f3a616df24 Jit: Properly re-allocate when jit is freed a lot.
Fixes #8334.
2016-01-02 13:24:58 -08:00
Henrik Rydgard
ae3458ec6e Buildfixes linux 2016-01-01 14:40:17 +01:00
Henrik Rydgard
15de6e6b98 GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
Needed to prevent clutter all over the codebase.

Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
gmvbif
281f0e18e6 Fixed some errors from PVS-Studio in Core project
FixedSizeQueue
- Added private operator=
- Changed signature of EndPop
Some changed to printf like functions.
Fixed typo in syn-att.c
2015-12-31 10:25:11 +03:00
latot
c7b98b84c2 Add extended keys(latam) 2015-12-27 15:45:50 -03:00
gmvbif
dff476c4f4 Make field for HWND in ConsoleListener 2015-12-26 09:54:34 +03:00
gmvbif
ae1c1a0295 Fixed some errors from PVS-Studio in Common project
Color conversion assigned 'a' twice.
Console listener use local variable with the same name a class member.
Some additionals to nocopy for FileUtils and mutex
2015-12-25 09:49:26 +03:00
Unknown W. Brackets
103b959d50 Fix a type comparison warning. 2015-12-23 15:22:13 -08:00
Henrik Rydgard
ebf9bd74c6 Minor fixes 2015-12-17 19:38:23 +01:00
Henrik Rydgard
fd2557dbd7 EGL: Add autodetect mode that only chooses between ES2 and ES3 2015-12-16 21:48:19 +01:00
Henrik Rydgard
db633aa377 Lots more debug logging. Terrifying compatibility hack for devices that for some reason create 16-bit buffers.
Like Xperia Play.
2015-12-16 21:37:39 +01:00
Henrik Rydgard
13515bf235 Use the hardware scaler again on Android. Move all DPI handling code from java to app-android.cpp. 2015-12-16 14:52:44 +01:00
Henrik Rydgard
04f8bffa29 Use EGL from native code to initialize and run OpenGL on Android.
Should be more robust, allows initializing desktop GL if available, and lets us take control of the render loop.
2015-12-16 10:57:24 +01:00
Henrik Rydgard
c2eb6a2fcb Minimal port of Android EGL code from Dolphin. 2015-12-13 22:46:50 +01:00
Unknown W. Brackets
7bfe100b0f Fix some unused variable warnings.
The CheckAlpha one looks like it will matter.
2015-11-25 16:11:53 -08:00
Henrik Rydgard
44be9f2a50 Move Windows GPU init code into Windows/GPU 2015-11-03 23:22:09 +01:00
Henrik Rydgard
c84f0e6059 Show the id of unknown mapped keys in the UI. 2015-10-31 15:20:02 +01:00
latot
afeb012d04 Add missing include files to unittest 2015-10-24 13:24:05 -03:00
Henrik Rydgård
e0de346036 Merge pull request #8046 from unknownbrackets/jit-alloc
Reset memory alloc pointer when jit alloc fails
2015-10-10 18:13:49 +02:00
Unknown W. Brackets
935b802dad Reset memory alloc pointer when jit alloc fails.
On Windows x64, we keep track of our last allocation.  Once we run out of
our 2GB range, we need to start over or it'll just fail.

Fixes #8021.
2015-10-10 09:07:34 -07:00
Henrik Rydgard
8914cd9914 ARM64 disassembler improvements (show many kinds of branch targets properly) 2015-10-10 11:27:28 +02:00
Henrik Rydgard
6785a95384 Fix some memory leaks on corrupt savestates 2015-10-04 14:11:33 +02:00
Henrik Rydgård
5dc6e96168 Fix key mapping defaults on nVidia Shield TV 2015-10-04 13:25:57 +02:00
Henrik Rydgard
6d5bde9748 Fix more buggy string arithmetic in LogManager 2015-10-04 11:09:44 +02:00
Henrik Rydgard
8996f58693 Generate save state IDs for homebrew using the elf or directory name where applicable. 2015-09-25 19:27:40 +02:00
Henrik Rydgard
6fcbfabdd2 Rename fields to avoid some gross #define hack that linux is doing 2015-09-23 12:10:23 +02:00
Henrik Rydgard
77e9ea38aa Get rid of remaining uses of stat() on Windows 2015-09-23 11:34:22 +02:00
Henrik Rydgard
51a5adfff2 More buildfixes 2015-09-23 10:59:12 +02:00
Henrik Rydgard
58d3137b10 Get rid of a bunch of more uses of stat64 on Windows. 2015-09-23 09:48:55 +02:00
Henrik Rydgard
0084b2ac30 Simplify FileUtil::Exists. Minor cleanups.
Might possibly help #7967 (XP) by avoiding _wstat64? That would be a libc bug though.
2015-09-22 22:50:29 +02:00
Henrik Rydgard
351baa101c Some Android warning fixes 2015-09-22 18:30:57 +02:00
Henrik Rydgard
60bbe16c89 Make LogManager string handling code safer. 2015-09-19 15:55:49 +02:00
Henrik Rydgard
ecbef7a2ff Remove easy_file.cpp/h. Minor cleanups. 2015-09-19 14:29:02 +02:00
Henrik Rydgård
9636e4cef4 Fix assorted key mapping issues affecting Shield and probably pads in general on Android. See #7976 2015-09-17 22:46:59 +02:00
Henrik Rydgard
3232e46c36 Make debug build nearly warning free in MSVC 2015 2015-09-17 22:02:15 +02:00
Henrik Rydgård
a71fbccfbc Warning fixes for new LLVM on mac (warns on inconsistent usage of override) 2015-09-17 20:29:37 +02:00
sergiobenrocha2
5ec87f3459 Improve detection of for shared libs in both sdl and Qt (zlib, libzip, snappy and glew). 2015-09-16 00:59:31 -03:00
Unknown W. Brackets
0c1a5324fb Merge pull request #7956 from unknownbrackets/arm64-minor
Unknown's min/max unordered-float fix for ARM64
2015-09-12 11:59:05 -07:00
Henrik Rydgard
62b348452d Add ARM64 emitter bugfix by HdkR. 2015-09-10 18:52:31 +02:00
Unknown W. Brackets
1fba38fd41 arm64: Add TST alias to the emitter. 2015-09-08 20:06:53 -07:00
Unknown W. Brackets
85533dad6e Native merge part 2: update build files.
And a couple minor stragglers.
2015-09-06 13:06:57 -07:00
Henrik Rydgard
fdea85138c Update project files, fix minor issues for VS 2015 2015-09-06 19:32:15 +02:00
Henrik Rydgard
1c67de0c21 We don't need a third set of sized integer typedefs, get rid of it. 2015-09-06 19:10:08 +02:00