Commit Graph
27588 Commits
Author SHA1 Message Date
Henrik Rydgård caa8f1a433 Android: NativeApp.Init: Log the device name. 2019-08-13 10:15:39 +02:00
Henrik Rydgård 8788c1e678 Vulkan: Simple blacklist of device names that are not allowed to check for Vulkan. Will help #12093. 2019-08-13 09:37:55 +02:00
Unknown W. Brackets aea42006d5 Merge pull request #12236 from hrydgard/vulkan-simple-optimizations
A few simple Vulkan optimizations
2019-08-12 20:51:34 -07:00
Henrik Rydgård d0a3410875 Typo fix 2019-08-13 00:22:47 +02:00
Henrik Rydgård 49e64f10d4 Minor code cleanup 2019-08-12 23:36:35 +02:00
Henrik Rydgård f4d348ca0c Micro-optimize the Vulkan loader: Load more device-specific function pointers to avoid a bounce in the device loader, reorder things a little. 2019-08-12 23:24:40 +02:00
Henrik Rydgård ddb5208130 Vulkan: Reduce the amount of redundant stencil parameter sets 2019-08-12 23:19:07 +02:00
Henrik Rydgård cf06b4a947 Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method. 2019-08-12 23:09:47 +02:00
Henrik Rydgård 7f835d3301 MakeUnique.h in the CMakeLists.txt 2019-08-12 21:53:51 +02:00
Henrik Rydgård 825dac3e90 Merge pull request #12232 from CookiePLMonster/threadpool-improvements
Threadpool improvements
2019-08-12 11:46:40 +02:00
Silent 86a887d7b0 Init GlobalThreadPool in a thread safe manner 2019-08-11 14:03:54 +02:00
Silent 4da4e6a97a Start as many worker threads as actually used (used to start more) 2019-08-11 14:03:54 +02:00
Silent 1a992bf023 Store std::thread in worker thread class by value and explicitly start it up, and don't use shared_ptr in thread pools 2019-08-11 14:03:53 +02:00
Silent 34109afb2d Cleanup mutex usage in worker threads 2019-08-11 14:03:53 +02:00
Silent 400a6f3057 Remove 'started' bool from worker threads, as fixes for spurious wakeups made it obsolete 2019-08-11 14:03:53 +02:00
Silent 0639ffcfb5 Handle spurious wakeups on worker thread condition variables properly 2019-08-11 14:03:53 +02:00
Silent 6ac41a5767 Use move semantics for worker thread functors 2019-08-11 14:03:52 +02:00
Silent 1add9324a4 Clean up ThreadPool and WorkerThread constructors with C++11 features,
removes variable instantiation from constructor initializer lists
2019-08-11 14:03:52 +02:00
Silent cb99f65c96 Add MakeUnique.h so make_unique is available without C++14
Includes make_unique from C++14 and make_unique_default_init from C++20,
because it doesn't require compiler support
2019-08-11 14:03:16 +02:00
Henrik Rydgård 8643360438 Merge pull request #12231 from unknownbrackets/io-sharing
Windows: Allow write-only files to be read later
2019-08-10 18:19:45 +02:00
Unknown W. Brackets 761a9d321f Windows: Allow write-only files to be read later.
Fixes #11939, at least the hang described in that issue.  Seems to match
with how the PSP handles file locking.
2019-08-10 08:34:01 -07:00
Henrik Rydgård 3bc3f3e969 WASAPI: Add some missing error checks. May help #12081? (but will result in silence) 2019-08-09 10:04:09 +02:00
Henrik Rydgård 3b4e37145f Merge pull request #12227 from hrydgard/range-cull-aggressive
Vulkan/GL: Set all four coordinates to NaN instead of just W.
2019-08-09 00:09:51 +02:00
Henrik Rydgård 09b5546828 Apply the same Mali range culling "fix" in OpenGL. 2019-08-09 00:09:06 +02:00
Henrik Rydgård caabc9023f Vulkan: Set all four coordinates to NaN instead of just W. Fixes range culling on ARM. Fixes #11999. 2019-08-08 23:14:20 +02:00
Henrik Rydgård 59712eef92 Merge pull request #12224 from hrydgard/vulkan-barrier-fixes
Vulkan: Add missing barrier between multiple passes to the same target.
2019-08-08 16:02:30 +02:00
Henrik Rydgård 213e2ccefc Vulkan: Add missing barrier when rendering to a target that's already in COLOR_OPTIMAL layout.
Fixes #12215
2019-08-08 15:38:09 +02:00
Henrik Rydgård 3b0624ff9f Some changes and asserts. 2019-08-08 14:07:53 +02:00
Henrik Rydgård ebe64c60e9 Vulkan: Improve the Metal Gear Acid 2 performance hack. 2019-08-08 11:49:35 +02:00
Henrik Rydgård 6e78ec9c72 Merge pull request #12220 from ccawley2011/NKCodeFromPlatform
Move NKCodeFrom*.h into the relevant platform folders
2019-08-06 23:15:53 +02:00
Henrik Rydgård 626194cf0e Merge pull request #12219 from hrydgard/read-write-matrix-opt
VFPU-Int: Add a few fast-paths to ReadMatrix/WriteMatrix.
2019-08-06 19:39:06 +02:00
Cameron Cawley ba7ea39a1c Move NKCodeFrom*.h into the relevant platform folders 2019-08-06 16:12:19 +01:00
Henrik Rydgård f9ede96344 Address feedback 2019-08-06 16:39:28 +02:00
Henrik Rydgård 8642134419 VFPU-Int: Add a few fast-paths to ReadMatrix/WriteMatrix. Should gain back part of the speed lost in #12217
(which fixed #5399).
2019-08-06 16:29:58 +02:00
Henrik Rydgård 9b30e5393d Buildfix (oops) 2019-08-06 16:09:39 +02:00
Henrik Rydgård 641bb72b40 Memchecks: Avoid taking the mutex lock if no memchecks active. Possible minor speedup in GoW and other block-copy-heavy games. 2019-08-06 15:33:11 +02:00
Henrik Rydgård 2ba998d007 Merge pull request #12217 from unknownbrackets/vfpu-dot
Merge vfpu-dot changes and add compat flag for Tekken
2019-08-05 23:49:38 +02:00
LunaMoo 85b9ad8fe3 Compat: Add more Tekken game IDs to leg shake fix. 2019-08-05 11:45:14 -07:00
Henrik Rydgård f65a71d6d8 Compat: Option to use accurate dotprod for VMMUL.
Eliminates Tekken 6 leg shaking.
2019-08-05 11:44:52 -07:00
Unknown W. Brackets c1c869df27 interp: Implement software inverse square root. 2019-08-04 21:24:13 -07:00
Unknown W. Brackets 6028b79895 interp: Oops, fix vdot bug with subnormals. 2019-08-04 21:23:19 -07:00
Unknown W. Brackets 13278dc1f4 interp: Implement software sqrt to match PSP.
This matches the PSP's square root better.

Disabled by default using a compile-time flag.
2019-08-04 21:23:04 -07:00
Unknown W. Brackets ed4f0896db interp: Use vfpu_dot for vdet as well.
Improves test accuracy here too.  Also keep neg sign on NAN for vdiv.

Disabled by default via compile-time flag.
2019-08-04 21:21:21 -07:00
Unknown W. Brackets d2f7594dc5 interp: Use software dot in vcrsp/vqmul.
Disabled by default using a compile-time flag.
2019-08-04 21:19:23 -07:00
Unknown W. Brackets 7b84be1479 interp: Fix adding infinity in software dot. 2019-08-04 21:17:34 -07:00
Unknown W. Brackets c61a24cef0 interp: Handle rounding in software dot. 2019-08-04 21:17:27 -07:00
Unknown W. Brackets d5e572b82e interp: Correct INF * 0 during dot. 2019-08-04 21:17:21 -07:00
Unknown W. Brackets 2ba35c6391 interp: Use an integer multiply for dots. 2019-08-04 21:17:09 -07:00
Unknown W. Brackets 08a894abde interp: Handle NaN better in vfpu_dot. 2019-08-04 21:17:00 -07:00
Unknown W. Brackets 39017ea200 interp: Use vfpu_dot for vavg, vfad, vhdp.
Disabled by default.
2019-08-04 21:16:51 -07:00