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
Unknown W. Brackets
4bff980d34
interp: Use software dot for better accuracy.
...
This gets some vdot/similar tests to give more accurate results compared
to hardware. Also added flushing of zero and NaNs.
Currently disabled, only enabled with a compile-time flag.
2019-08-04 21:14:23 -07:00
Henrik Rydgård
dc9e794867
Merge pull request #12213 from Florin9doi/sceUsbMic
...
sceUsbMic
2019-08-04 18:23:49 +02:00
Henrik Rydgård
96a15cf525
Fix the indirect postprocessing path. Fixes #12133 (but see the issue for a secondary bug).
2019-08-04 18:01:36 +02:00
Henrik Rydgård
4d6d12965b
Update lang submodule
2019-08-04 10:35:51 +02:00