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