Commit Graph

1103 Commits

Author SHA1 Message Date
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