Commit Graph

2316 Commits

Author SHA1 Message Date
Cameron Cawley
26203552b4 Use System_GetPropertyInt to report the keyboard layout 2022-01-10 00:11:08 +00:00
Unknown W. Brackets
8a00c2d233 GPU: Allow gcc/clang/icc runtime SSE4 usage.
All our builds before were only using SSE4 in jit...
2022-01-08 17:09:09 -08:00
Unknown W. Brackets
ce6ea8da11 samplerjit: Apply gather lookup to all CLUT4. 2022-01-02 17:19:18 -08:00
Unknown W. Brackets
22f770c828 samplerjit: Use VPGATHERDD for simple CLUT4 loads.
Planning to expand this to more paths.
2022-01-02 17:19:17 -08:00
Unknown W. Brackets
1addf84e90 samplerjit: Use SSSE3/SSE4 in linear filtering. 2021-12-30 23:22:56 -08:00
Unknown W. Brackets
7aa9664d20 x64jit: Add AVX2-only instructions. 2021-12-29 19:46:26 -08:00
Unknown W. Brackets
7508fcc22d x64jit: Add AVX-only instructions. 2021-12-29 19:46:26 -08:00
Unknown W. Brackets
147b81d6f7 x64jit: Add AVX/AVX2 encodings.
Also fix the FMA double ones, which were passing W wrongly.
2021-12-29 19:46:26 -08:00
Unknown W. Brackets
bf06342f9d samplerjit: Minor SSE4 optimizations.
These seem to be a bit faster.
2021-12-29 07:07:35 -08:00
Unknown W. Brackets
820361f34b samplerjit: Calculate texel byte offset as vector. 2021-12-27 11:37:32 -08:00
Henrik Rydgård
74f76e5ef1 Missing stdarg.h include 2021-12-20 00:11:51 +01:00
Unknown W. Brackets
fadf01dc7b
Vulkan: Update profiler formatting for this. 2021-12-19 14:56:50 -08:00
Henrik Rydgård
df2f0df155 Make the Vulkan GPU log profiler a runtime developer setting.
I keep forgetting to disable the define on commit, this is a better
solution.
2021-12-19 22:50:14 +01:00
Henrik Rydgård
748b8287a6 Add format string support to Vulkan log-profiler 2021-12-19 22:21:34 +01:00
Unknown W. Brackets
148ca08047
Vulkan: Disable profiler by default again. 2021-12-19 09:12:58 -08:00
Henrik Rydgård
a9dcf482c6 Improve the check for "slow" GPUs (with regards to tex scaling). See #15238 2021-12-18 21:51:33 +01:00
Henrik Rydgård
1e9e3376be
Merge pull request #15238 from hrydgard/hardware-texscale-limits
Vulkan: Be more restrictive about hardware texture upscaling on "slow" GPUs
2021-12-18 16:47:43 +01:00
Henrik Rydgård
2851065889
Merge pull request #15237 from unknownbrackets/path-case
Path: Check for PSP case insensitively
2021-12-17 09:35:19 +01:00
Unknown W. Brackets
3e73ce87ee Path: Check for PSP case insensitively.
This allows a game to look up ms0:/psp/ eve with the PSP special case path
handling.
2021-12-16 15:06:15 -08:00
Henrik Rydgård
80ae4b039c Vulkan: Be more restrictive about texture upscaling on "slow" devices.
Applies the same rules as for software upscaling in this case.

Should fix the stutters seen in #15109
2021-12-16 21:00:49 +01:00
Henrik Rydgård
9755781704 Oops, accidentally enabled the logging GPU profiler by default. 2021-12-13 09:01:13 +01:00
Henrik Rydgård
b99a5b6613 Minor fixes 2021-12-12 23:21:28 +01:00
Henrik Rydgård
dc9816ceac Add hardcoded bool toggle for upscaling video, fix log, remove a comment, minor opt 2021-12-12 23:20:57 +01:00
Henrik Rydgård
10db19efc4 Add a 2x2 downsampled version of 4xBRZ as 2xBRZ (save memory bandwidth)
fmt
2021-12-12 23:19:29 +01:00
Henrik Rydgård
3833d935f4 Fixes when profiler is disabled.
Typo, validation fix

More fixes

Fix mipgen logging

Disable the logging profiler by default again

Important to use the macro
2021-12-12 12:42:40 +01:00
Henrik Rydgård
9945620504 Switch to macros to easily disable the new profiling. Add missing scope 2021-12-12 12:11:59 +01:00
Henrik Rydgård
55fe21db1e Add a simple GPU profiler to profile individual events, rather than full passes. 2021-12-12 12:11:54 +01:00
Henrik Rydgård
e1ff73061a
Merge pull request #15223 from hrydgard/multi-atlas
Split off the fonts from the atlas
2021-12-12 09:10:27 +01:00
Unknown W. Brackets
63e623ecb2 Build: Fix some format truncation warnings.
Generally all should be safe already, but better to be sure.
2021-12-11 10:45:27 -08:00
Unknown W. Brackets
0d4af49590 UI: Clarify error message.
Include both files, even if the platform only uses one of the two.
2021-12-11 09:01:15 -08:00
Henrik Rydgård
d4237fd542 Split the atlas into three, well two, but two different cases for the fonts.
Platforms that can use OS fonts don't need font_atlas.zim but they do
need ascii font for debug, so does use asciifont_atlas.zim.
2021-12-10 23:22:08 +01:00
Henrik Rydgård
b85a7e9a46 Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. 2021-12-10 21:01:01 +01:00
Henrik Rydgård
7b07a1385a
Merge pull request #15220 from unknownbrackets/vulkan-exit
Vulkan: Fix use-after-free on shutdown
2021-12-10 10:37:43 +01:00
Henrik Rydgård
97f3b477ab
Merge pull request #15219 from unknownbrackets/vulkan-2d
Vulkan: Avoid desc set error in tests
2021-12-10 10:37:19 +01:00
Unknown W. Brackets
c2c16032fe Vulkan: Document lifetime for desc set pool. 2021-12-09 23:57:37 -08:00
Unknown W. Brackets
fe7b573a38 Vulkan: Fix use-after-free on shutdown. 2021-12-09 23:52:10 -08:00
Unknown W. Brackets
8d06431ea7 Vulkan: Use new desc sets in Draw and VulkanUtil.
It seems like a bug that destory device objects wasn't clearing descSets.
2021-12-09 19:03:17 -08:00
Unknown W. Brackets
1010d7ac0e Vulkan: Refactor common desc pool handling. 2021-12-09 18:39:55 -08:00
Henrik Rydgård
45308a16c0 Vulkan is strict about scissor rect, so let's clamp centrally.
Better than spreading the logic all over.

Fixes #15207
2021-12-08 22:38:01 +01:00
Unknown W. Brackets
7c7340e338 ThreadManager: Check for exchange failure.
Even if expected stays null, since it's weak assume it can fail.
2021-12-07 18:24:01 -08:00
Henrik Rydgård
a2f9f68565 Vulkan: More scissor dimension checks. See #15207 2021-12-07 21:46:10 +01:00
Henrik Rydgård
0179cb1811 Very minor logging improvement 2021-12-07 21:28:39 +01:00
Henrik Rydgård
466a731ece Detect and specify the max available Vulkan version, up to 1.2. 2021-12-07 21:26:14 +01:00
Unknown W. Brackets
f9a7ad3e3d ThreadManager: Use separate pool for IO blocking.
This prevents starving the compute pool (which may be used very regularly
parallel loops or other tasks) if the IO operations are slow.
2021-12-05 21:01:49 -08:00
Unknown W. Brackets
8b5173350f ThreadManager: Make TaskType a property of a Task. 2021-12-05 21:01:49 -08:00
Unknown W. Brackets
fd245f2863
Common: Correct shm_open() call.
Don't remember what happened here,
this was meant to be shm_open().
2021-12-03 14:30:32 -08:00
Unknown W. Brackets
212669d2bc Vulkan: Cleanup pipeline var shadowing. 2021-12-02 17:57:40 -08:00
Henrik Rydgård
cfe2716d49
Merge pull request #15178 from unknownbrackets/threads-atomic
Tweaks to thread manager enqueue and shutdown
2021-11-30 09:26:13 +01:00
Unknown W. Brackets
12b790bb81 ThreadManager: Protect against teardown hang/leak.
Make sure we lock during canceled checks/updates, and also try to free
tasks queued on threads that didn't end up running.
2021-11-27 08:57:19 -08:00
Unknown W. Brackets
de9a4dcede ThreadManager: Lock notify on global queue add.
Otherwise, it's possible the chosen thread might not wake up, and then it
may wait for another task to be enqueued - potentially causing a hang.
2021-11-27 08:57:19 -08:00