Commit Graph

2211 Commits

Author SHA1 Message Date
Henrik Rydgård
40fb114f60 Delete a couple unused constructors of IOFile 2021-06-07 00:24:51 +02:00
Henrik Rydgård
a2fa724d8e Convert GetFileSize to use Path 2021-06-07 00:24:51 +02:00
Henrik Rydgård
1f018d33c5 Start work on supporting Android Content URIs in the FileUtil API.
Add tentative Android Content URI support to much of FileUtil.h.

Buildfix

Fix some issues with the file browser in storage URIs.
2021-06-07 00:24:51 +02:00
Henrik Rydgård
b397e5c455 Assorted plumbing.
wip

Buildfix
2021-06-07 00:24:51 +02:00
Henrik Rydgård
ef607a5fe2 Implement a "FileSystem" that wraps Android content storage. So far unused. 2021-06-07 00:24:51 +02:00
Henrik Rydgård
e3cf04bb34 Implement file filters for Android in PathBrowser
asdf

Move Android file listing parsing logic into app-android.cpp.

Add utility for parsing/writing Android Content Storage URIs.

Fix some bugs. Allow upwards navigation in file browser from directories downstream from tree URIs.
2021-06-07 00:24:51 +02:00
Henrik Rydgård
87a25fd230 Start experimenting with DocumentsContract (the thing DocumentFile wraps)
wip

Some progress towards making the file browser work with DOCUMENT_TREE

More directory browsing progress

More Scoped Storage hackery. Can now browse to a folder and use PPSSPP's game browser to load ISOs from it.

Remove the defunct fdopendir approach. Buildfixes.
2021-06-07 00:24:51 +02:00
Unknown W. Brackets
64678e0114 Reporting: Move message report interface to Common.
This makes it so we can call reporting from Common.
2021-06-06 09:22:03 -07:00
Henrik Rydgård
914b4478b6
Merge pull request #14493 from unknownbrackets/replay
Add debugger APIs for replay recording
2021-05-31 11:45:39 +02:00
Unknown W. Brackets
2af40d07bb Debugger: Fix websocket read silly mistake.
Surprised I didn't notice this before.
2021-05-30 15:25:41 -07:00
Henrik Rydgård
72915f88c8 Config: Remove the use of multiple search paths. 2021-05-30 12:39:16 +02:00
Unknown W. Brackets
ecc2f62688
Common: Zero initialize readlink buffer.
See #14483.
2021-05-27 23:12:40 -07:00
kotcrab
312506a41b Fix crash in HTTPServer when processing invalid request 2021-05-27 14:10:40 +02:00
Henrik Rydgård
79e3d1c5f9 Buildfix (debug mode)
libpng isn't so happy if you force include the memory debug wrappers.

We should probably not have it in Common anyway, not sure how it ended
up there.
2021-05-27 01:02:02 +02:00
Henrik Rydgård
8d08991ad6
Merge pull request #14467 from unknownbrackets/texreplace-zim
Add support for ZIMs in texture replacements
2021-05-24 07:33:54 +02:00
Unknown W. Brackets
b0de7ee0e1 UI: Move to ScreenManager for mapping.
Otherwise we'll detect repeated axis for some devices and you won't be
able to map what you want.
2021-05-23 15:18:21 -07:00
Unknown W. Brackets
ad5ef08f06 http: Improve navigating up within http:// paths.
This way, if you're browsing a remote path with dirs, or you press up,
things largely work.
2021-05-16 18:34:02 -07:00
Unknown W. Brackets
81f2184214 http: Fix remote disc browsing. 2021-05-16 17:48:25 -07:00
Unknown W. Brackets
7afd02e7e0 Tools: Make ZimTool able to use ZSTD/specify level.
There's decompression speed tradeoffs at some levels.
2021-05-16 09:39:39 -07:00
Unknown W. Brackets
e4dc8e6000 Common: Prevent non_path IOFile usage. 2021-05-15 11:12:56 -07:00
Unknown W. Brackets
f2b2f26e8e Common: Use Path for GetExeDirectory(). 2021-05-15 11:12:54 -07:00
Unknown W. Brackets
7b175627b3 VFS: Use Path for DirectoryAssetReader. 2021-05-15 11:12:04 -07:00
Unknown W. Brackets
82cd904e99 Common: Use Path for GetFileSize(). 2021-05-15 11:11:37 -07:00
Unknown W. Brackets
15038bb663 Common: Remove File funcs redundant with Path.
Shouldn't use these anymore anyway.
2021-05-15 11:11:37 -07:00
Unknown W. Brackets
a097403298 Common: Remove File::GetFilename(). 2021-05-14 23:08:31 -07:00
Unknown W. Brackets
d376e67f87 Common: Cleanup some Path constructions. 2021-05-14 22:48:04 -07:00
Unknown W. Brackets
2a9170a2ea http: Use Path for the download file. 2021-05-14 22:46:03 -07:00
Henrik Rydgård
0cd7af44f1 Fix ZipAssetReader file listing. Fixes post shaders on Android 2021-05-13 11:49:33 +02:00
Henrik Rydgård
9c66f81cbc Address additional feedback 2021-05-13 10:39:17 +02:00
Henrik Rydgård
47039b4bcd Address all the easy feedback. Some is left. 2021-05-13 10:39:17 +02:00
Henrik Rydgård
8727679353 Clean up PathBrowser a bit
Fix UWP build

Fix booting homebrew.

Qt buildfix
2021-05-13 10:39:16 +02:00
Henrik Rydgård
2e16e83159 It never ends... 2021-05-13 10:39:16 +02:00
Henrik Rydgård
a40b1dec5f Use Path for fullName in dirlisting. Bugfixes.
Buildfixes

UWP: Buildfix.

headless: Buildfix.

Common: Buildfix.

iOS: Buildfixes.

libretro: Buildfix.

Qt: Buildfix.
2021-05-13 10:39:16 +02:00
Henrik Rydgård
ae06499a0c Change Copy, Rename to use Path. Remove std::string version of Exists().
Buildfixes

Buildfix
2021-05-13 10:39:16 +02:00
Henrik Rydgård
0d80362c30 Change parameter of DeleteDir and friends to Path 2021-05-13 10:39:16 +02:00
Henrik Rydgård
b7fe72bfc9 Load IniFile from Path
Buildfixing
2021-05-13 10:39:16 +02:00
Henrik Rydgård
025bcb1673 Introduce Path, start using it all over the place.
Still lots left to convert!

Convert GetSysDirectory to return Path.

More buildfixing

Remove unnecessary Path( constructors
2021-05-13 10:39:16 +02:00
Unknown W. Brackets
e725eddf13 CPUDetect: Ensure we never get zero cores. 2021-05-11 22:02:42 -07:00
Unknown W. Brackets
92ace6716a Common: Fix read of special files with fake size.
On some Linux systems, /sys/ files report a size of 4096, but actually
have less content.
2021-05-11 21:57:36 -07:00
Sean McGovern
9e106e1d3d FileUtil: check for errors after a fread() in ReadFileToString() 2021-05-11 23:56:45 -04:00
Sean McGovern
4cc34e384c CPUDetect: saturate lower bound of CPU count to 1 2021-05-11 23:56:45 -04:00
Sean McGovern
328074e9bc CPUDetect: prevent a divide-by-zero when ParseCPUList() fails 2021-05-11 23:56:45 -04:00
Unknown W. Brackets
36549a960f Common: Fix dir listing extension filter.
Oops.  Also correct std::move() usage, which assumed it cleared the
source string.
2021-05-10 21:28:51 -07:00
Unknown W. Brackets
b3ce171523 Common: Correct ReadFileToString() with no size.
If SEEK_END returns an error, just read bit by bit.  Also remove the
unnecessary temp buffer.
2021-05-10 18:29:06 -07:00
Henrik Rydgård
d775bf4e4c
Merge pull request #14442 from unknownbrackets/path-extension
Update path extension and PSP/GAME/ handling
2021-05-10 21:05:05 +02:00
Unknown W. Brackets
f947aa4844 Common: Remove OpenCPPFile(). 2021-05-09 20:21:37 -07:00
Unknown W. Brackets
9d8f22efd0 CPUDetect: Avoid usage of OpenCPPFile().
These are just /proc/, so not content files, but safer to remove all
OpenCPPFile() usage.
2021-05-09 20:21:37 -07:00
Unknown W. Brackets
774b0e07e0 Common: Cleanup AssetReader extension filter. 2021-05-09 17:57:07 -07:00
Henrik Rydgård
74a652491c Common: Update path browser extension handling. 2021-05-09 17:56:05 -07:00
Unknown W. Brackets
df8e80d4fb Common: Use C FILE for log file output.
Not strictly needed for Android paths, but may be convenient.
2021-05-09 17:00:48 -07:00
Henrik Rydgård
2999e1cb86 Core: Remove some uses of OpenCPPFile. 2021-05-09 17:00:48 -07:00
Unknown W. Brackets
1459c16fb8 http: Skip processing response body for void.
No need to decompress or copy between buffers.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
2f08fb6583 Store: Show a rough speed indicator.
Some of the homebrew are a bit larger, it's nice to see a speed and not
just the progress bar.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
3379f33882 http: Always use/require progress in requests.
This fixes several cases where we weren't passing cancel flags
consistently.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
f762fbc53d http: Always use non-blocking in http. 2021-05-01 11:20:05 -07:00
Unknown W. Brackets
af5618705c http: Remove timeoutless requests.
Let's always have timeouts.  This timeout is reset even when a single byte
is sent, so it's pretty generous.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
1e22966984 http: Separate out net buffer code from formatting. 2021-05-01 11:20:05 -07:00
Unknown W. Brackets
e869a3979b Draw: Centralize funcs in ColorConv. 2021-05-01 11:20:05 -07:00
Unknown W. Brackets
915265e531 Draw: Optimize GL A1R5G5B5 conversion.
This seems to be enough to trigger SIMD in x86_64 at least.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
8a8328c431 Common: Move ColorConv to a more appropriate place. 2021-05-01 11:20:05 -07:00
Henrik Rydgård
75d5c4367e
Merge pull request #14422 from unknownbrackets/warnings
Small warning fixes
2021-05-01 09:19:46 +02:00
Unknown W. Brackets
f12aa92a00 Common: Cleanup some logging warnings. 2021-04-30 23:31:54 -07:00
Unknown W. Brackets
a35b21a5d7 http: Set a more useful user agent. 2021-04-30 23:12:42 -07:00
Henrik Rydgård
f4a6d291e1 Common: Capitalize setCurrentThreadName(). 2021-04-30 23:02:36 -07:00
Unknown W. Brackets
7e21e9a721 Common: Cleanup some mismatched indentation.
Also move initialization from constructors in a few places.
2021-04-30 22:59:41 -07:00
Henrik Rydgård
9894c74bef Common: Cleanup HTTPServer indentation. 2021-04-30 22:35:25 -07:00
Henrik Rydgård
e6aa841b78 Common: Get rid of Executor.cpp/h.
There was only one implementation.
2021-04-30 22:33:34 -07:00
Unknown W. Brackets
58d46274ef Common: FileUtil rename buildfix. 2021-04-25 14:51:39 -07:00
Henrik Rydgård
a2a0551a83 Buildfix, and more renaming while we're at it. 2021-04-25 22:25:29 +02:00
Henrik Rydgård
d8583cd0d6 Buildfixes 2021-04-25 21:13:25 +02:00
Henrik Rydgård
770f7f60e4 Delete unused function, rename two more. 2021-04-25 20:57:37 +02:00
Henrik Rydgård
77b8a14770 Merge GetFileInfo/GetFileDetails into GetFileInfo 2021-04-25 20:52:29 +02:00
Henrik Rydgård
08843673d9 Rename a couple of functions. 2021-04-25 20:39:32 +02:00
Henrik Rydgård
1b13badeb4 Move remaining FileUtil functions into the File namespace. 2021-04-25 20:38:22 +02:00
ANR2ME
8742a49e07 Replacing the inconvenient prefix string for indentation with indent number. 2021-04-19 06:14:28 +07:00
ANR2ME
40941b41a4 Fix missing hex string at the last row when data size is a multiple of 16 bytes 2021-04-19 05:48:37 +07:00
Henrik Rydgård
8e953b2a97
Merge pull request #14383 from unknownbrackets/threadpool
Use threads more on startup to improve load time
2021-04-18 09:57:33 +02:00
Henrik Rydgård
199735203b
Merge pull request #14389 from unknownbrackets/reporting
Reporting: Avoid generated homebrew IDs
2021-04-18 00:22:43 +02:00
Unknown W. Brackets
cab2a38498 Reporting: Avoid generated homebrew IDs.
But let through a few more, homebrew rarely reused newer system version
SFOs.  By that point they were doing their own SFOs finally.
2021-04-17 14:28:53 -07:00
Henrik Rydgård
bfee168175 Don't even bother checking touch.id == 0 for closing popup windows. It's fine to close with any touch.
Fixes issue with touch on Windows mentioned in #14387

Also includes a warning fix.
2021-04-17 22:34:35 +02:00
Henrik Rydgård
87d4833d89
Merge pull request #14363 from ANR2ME/adhoc
[Adhoc] An attempt to fix GetIPList on Linux/Unix
2021-04-17 19:49:38 +02:00
Henrik Rydgård
0150dcfd44 Change pointer ID allocation on iOS. Fixes part of #14240
The dialog code checks for touch.id != 0 to decide whether to close.

Not sure if really necessary, but keeping it and just changing the IDs.
2021-04-17 12:11:21 +02:00
Unknown W. Brackets
4f96169357 Core: Init memory on multiple threads.
Also init volatile at the same time for consistency.
2021-04-16 00:53:50 -07:00
Unknown W. Brackets
b2f3f06768 Common: Set a min size on threadpool work chunks.
This should avoid slicing loops, etc. into too many chunks.  Generalize
the memcpy a bit.
2021-04-15 23:59:02 -07:00
Unknown W. Brackets
639dd67130 Common: Allow threadpool size up to 16.
In Config, we allow 16, so this just matches that.
2021-04-15 23:56:34 -07:00
ANR2ME
0fd1b65a78 An attempt to detects getifaddrs availability properly 2021-04-12 18:41:49 +07:00
ANR2ME
81616f84a3 Changing warning log to info log on GetIPList 2021-04-12 18:41:48 +07:00
ANR2ME
ce32d14a84 Added additional includes for GetIPList to work on Linux/Unix 2021-04-12 18:41:48 +07:00
ANR2ME
84d7d744e2 Added warning log for testing purpose on GetIPList function 2021-04-12 18:41:48 +07:00
Henrik Rydgård
a7d7631feb
Merge pull request #14369 from unknownbrackets/zstd
Use zstd for save states, GE frame dumps, and ZIMs
2021-04-12 08:35:58 +02:00
Unknown W. Brackets
08eda131c4 UI: Load/save compressed atlas metadata. 2021-04-11 09:13:10 -07:00
Unknown W. Brackets
a0887401a6 UI: Add zstd to ZIM compression handling. 2021-04-11 09:13:10 -07:00
Unknown W. Brackets
7a719dc245 SaveState: Switch to zstd.
Choose a level that is just slightly slower than snappy, but much smaller
typically.
2021-04-11 09:13:10 -07:00
Unknown W. Brackets
d3e2aa6d28 Build: Add libzstd to build. 2021-04-11 09:13:10 -07:00
Unknown W. Brackets
3c09b5c010 GLES: Always use fragColor0 on GL 3.0+. 2021-04-10 16:26:39 -07:00
Unknown W. Brackets
60690109f0 GLES: Handle GLSL 1.30/1.40 better.
Was causing errors for people using older GL.
2021-04-10 13:32:13 -07:00
Henrik Rydgård
6f795fc120
Merge pull request #14346 from unknownbrackets/analog
UI: Flip Y analog direction based on config, normalize dinput right analog
2021-04-04 18:32:42 +02:00
Unknown W. Brackets
eca3a405b6 UI: Flip Y analog direction based on config. 2021-04-04 08:39:49 -07:00
Unknown W. Brackets
5ef8762c32 PPGe: Interpret invalid UTF-8 sequences better.
This matches PSP firmware behavior per tests.
2021-03-28 14:26:14 -07:00
Henrik Rydgård
ecdd9b7729
Merge pull request #14306 from hrydgard/ppge-sanitize-utf8
UTF-8 PPGe: Remove overlong encodings.
2021-03-24 11:44:08 +01:00
Unknown W. Brackets
ff98d81e33 Build: Simplify by always including FakeCPUDetect. 2021-03-20 17:25:50 -07:00
Henrik Rydgård
5802529daa UTF-8 PPGe: Remove overlong encodings. Work around a weird issue in Ratchet & Clank. See issue #14297 2021-03-20 13:38:13 +01:00
Henrik Rydgård
977b48ff34
Merge pull request #14237 from unknownbrackets/ui-search
Add initial search to savedata manager
2021-03-08 23:06:55 +01:00
Henrik Rydgård
bd87a76064
Merge pull request #14238 from unknownbrackets/ui-sysinfo
UI: Wrap long info items and cleanup storage display
2021-03-03 09:18:42 +01:00
Unknown W. Brackets
7f036f8431 UI: Fix L/R tab navigation. 2021-03-03 00:07:11 -08:00
Unknown W. Brackets
4178f09e57 Build: More consistently avoid _M_ defines.
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
e621aca9ba Build: Remove MIPS define.
We shouldn't want to use that anyway, for conflicts...
2021-03-02 21:14:09 -08:00
Unknown W. Brackets
5119d79082 Build: Remove IOS define. 2021-03-02 21:04:03 -08:00
Unknown W. Brackets
13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
6202e46e2c UI: Wrap long info items.
Avoid overlapping the label.
2021-02-28 15:04:00 -08:00
Henrik Rydgård
0fb655acf6
Merge pull request #14202 from unknownbrackets/ui-labels
Add labels to all UI views
2021-02-28 20:10:38 +01:00
Henrik Rydgård
26eab06886 Add a Storage tab to System Information.
Add a system property that we can later query to see if we should use
scoped storage adaptations or not.
2021-02-27 11:49:38 +01:00
Unknown W. Brackets
7de77e4683 mipsjit: Correct inheritance/compilation. 2021-02-26 07:24:58 -08:00
Henrik Rydgård
bd7b283399 Add iOS version detection, turn off JIT on bootup if >= 14.3. 2021-02-22 09:16:51 +01:00
Unknown W. Brackets
9a10325513 UI: Require buttons always have text. 2021-02-21 18:48:01 -08:00
Unknown W. Brackets
3360121b5c UI: Expose lists better in descriptions.
Explicitly marks several lists, which should make exposing text better.
2021-02-21 18:41:08 -08:00
Unknown W. Brackets
7f9a68afeb UI: Omit invisible views from viewgroup describe. 2021-02-21 17:38:50 -08:00
Unknown W. Brackets
1aa7109c04 UI: Lock only if mutating views. 2021-02-21 16:45:31 -08:00
Unknown W. Brackets
3c778f567c UI: Add text description for all views. 2021-02-21 16:38:02 -08:00
Unknown W. Brackets
7c72fe7110 UI: Rename Describe() method for logging. 2021-02-21 12:42:56 -08:00
aliaspider
9a3e5879bb Global: Correct many endian types and casts. 2021-02-18 22:25:24 -08:00
Unknown W. Brackets
e7a3faaa8c Windows: Stop ignoring all deprecated warnings. 2021-02-18 08:56:36 -08:00
Henrik Rydgård
be0adc29fa
Merge pull request #14169 from unknownbrackets/startup-locks
Reduce startup locks
2021-02-17 10:20:42 +01:00
Unknown W. Brackets
f448e8e923 UI: Divert background only on change.
To avoid triggering a transition and event.
2021-02-17 00:32:58 -08:00
Unknown W. Brackets
9692ddccba UI: Correct tweens repeatedly finishing. 2021-02-17 00:32:39 -08:00
Unknown W. Brackets
ee1a15291d UI: Use atomic to check for events.
Prevents a lock in the very common case of no events.
2021-02-17 00:31:38 -08:00
Unknown W. Brackets
58f6751891 UI: Avoid PathBrowser lock with no remote files.
Only needs locks once the thread starts.
2021-02-17 00:29:39 -08:00
Unknown W. Brackets
fe9870bf37 Draw: Auto ref/release bound textures/samplers. 2021-02-16 21:48:43 -08:00
Henrik Rydgård
ab1a94d184
Merge pull request #14148 from unknownbrackets/warnings
Remove a bunch of unused variables, other warnings
2021-02-15 21:57:37 +01:00
Unknown W. Brackets
e85a8b0f5b Global: Cleanup class init order warnings. 2021-02-15 11:59:45 -08:00
Unknown W. Brackets
4a33b5d4e2 D3D11: Fail if uniform buffer create fails. 2021-02-15 11:59:45 -08:00
Unknown W. Brackets
f32f89dd90 Global: Remove some unused variables. 2021-02-15 11:59:45 -08:00
Henrik Rydgård
5d62610a93
Merge pull request #14038 from unknownbrackets/savestate-str
SaveState: Load misaligned wide strings properly
2021-02-15 18:50:23 +01:00
Henrik Rydgård
9b13220f49
Merge pull request #13864 from unknownbrackets/vulkan-amd
Vulkan: Remove #10097 hack for newer AMD drivers
2021-02-15 16:31:49 +01:00
Henrik Rydgård
6df37b86bc
Merge pull request #14076 from unknownbrackets/zhp-map
GPU: Force texture invalidation for ZHP minimap
2021-02-15 11:33:32 +01:00
Henrik Rydgård
a2093da542
Merge pull request #14088 from unknownbrackets/fakejit
Jit: Fix compilation of FakeJit and MipsJit
2021-02-15 09:13:38 +01:00
Unknown W. Brackets
9d22297a90 Windows: Use CommonWindows more consistently.
Also, make sure WinSock2.h is included beforehand where it's needed.
2021-02-14 10:30:10 -08:00
Unknown W. Brackets
da2e722794 Windows: Fix some format warnings. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets
6247e4d0ee Windows: Add some missing override specifiers. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets
0ffac20fcd Common: Include unistd.h before ctime on mingw.
This is required for localtime_r and similar to be available.
2021-02-14 10:30:10 -08:00
Unknown W. Brackets
7aa4b53422 Common: Fix AVX check on mingw/lower targets. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets
2c165c9b6d Windows: Fix improper case or missing includes.
As per mingw errors/warnings.
2021-02-14 10:30:10 -08:00
Henrik Rydgård
c8dfa091fa Add some checks trying to prevent creation of 0 sized textures.
Saw a crash log with a driver crash in CreateTexture...
2021-02-13 11:33:15 +01:00
Henrik Rydgård
d23bef1525
Merge pull request #14129 from unknownbrackets/gpu-copyimage
GPU: Force reinterpret off without copy image
2021-02-13 07:38:52 +01:00
Unknown W. Brackets
5aa3e3180f GPU: Force reinterpret off without copy image.
Also, assert we have it when using it, since there's ifs.
2021-02-12 20:40:21 -08:00
Henrik Rydgård
c76fe9cec4 Assorted paranoid cleanups, inspired by #14082 2021-02-10 00:20:52 +01:00
Unknown W. Brackets
45f3f4554b SaveState: Prevent crash on bad cookie marker.
Just fail to load the save state.
2021-02-09 07:14:07 -08:00
Unknown W. Brackets
c7635a5d2f Jit: Fix compilation of FakeJit.
Maybe should just remove this...
2021-02-08 23:17:15 -08:00
Unknown W. Brackets
be4c905373 SaveState: Load misaligned wide strings properly. 2021-01-31 08:55:54 -08:00
Unknown W. Brackets
5d60fa0d0d Common: Maintain C++11 support in sign extend. 2021-01-31 08:44:02 -08:00
Henrik Rydgård
5e501fa9fc Fix minor rendering glitch in PPSSPP's menus on iOS 2021-01-31 15:49:52 +01:00
Unknown W. Brackets
1b00da2f3a Common: Sign extend w/func not chained casts.
Should be clearer to read and easier to get right.
2021-01-31 01:25:52 -08:00
Henrik Rydgård
c48bdf7efc Vulkan: Fix image layout issues after compute shader uploads.
We're already in GENERAL so probably not worth to transfer to DST just
to do even more transfers due to the silliness of GenerateMip.

I'm planning to rework the whole texture upload thing to be far more
optimal with some kind of TextureUploadManager

Fixes #13987
2021-01-30 23:09:42 +01:00
Henrik Rydgård
1eeebccd04 Fix Apple gpu detection 2021-01-30 18:31:39 +01:00
Gleb Mazovetskiy
7305ba9d9b x64Emitter: Fix unaligned store UBSAN errors
This compiles to the same assembly as before even without optimizations and avoids UB.

https://godbolt.org/z/4G5edM

While the UB here is benign, this improves signal-to-noise ratio of UBSAN errors.

Fixes #14005
2021-01-30 12:26:01 +00:00
Henrik Rydgård
c251d69eab Minimize the Adreno shader compiler bug repro test 2021-01-30 10:21:14 +01:00
Gleb Mazovetskiy
0fb42e07a6 CMake: Rename USE_ADDRESS_SANITIZER to USE_ASAN
For consistency with USE_UBSAN
2021-01-29 23:10:22 +00:00
Unknown W. Brackets
6798d5379a GLES: Remove direct khrplatform.h header include.
Shouldn't be needed anymore, was a hack for Nokia.  See #13978.
2021-01-25 18:42:24 -08:00
Henrik Rydgård
ca50077341 More GPU test improvements
* Fix the flat test. Unfortunately doesn't repro the bug :(
2021-01-17 18:04:00 +01:00
Henrik Rydgård
02a771c049 Add texture to flat shaded test. 2021-01-17 13:44:57 +01:00
Henrik Rydgård
a30b521257 Adds two new tests to GPU driver test screen: Adreno shader logic test and flat shading
The adreno test tests for the bug mentioned in #13910.
Very clear repro on Adreno 630, Pocophone F1.

The flat shading test is an untested attempt at a repro of

(will test that tomomorrow).
2021-01-17 13:29:36 +01:00
Unknown W. Brackets
6ca9acf94b Vulkan: Delete only created swapchain images.
We do other null checks here, same reason.  Create may have failed.
2021-01-16 20:55:34 -08:00
Unknown W. Brackets
eee529c6c9 UI: Cleanup Windows header in MainScreen.cpp.
Better to have this come from System, probably.  It's mainly for Windows
anyway, to alert people their save data isn't permanent.
2021-01-09 14:45:49 -08:00
Unknown W. Brackets
b60074f697 http: Prevent Windows header leak from HTTPClient. 2021-01-09 14:45:03 -08:00
Henrik Rydgård
401d9ca469 Add a file picker (WIP) 2021-01-09 01:09:21 +01:00
Henrik Rydgård
3c6f21173c Add a fullscreen toggle button to the main screen (Windows-only for now) 2021-01-08 20:05:43 +01:00
Unknown W. Brackets
57fda69e50 Android: Minor cleanup. 2021-01-07 22:41:38 -08:00
Henrik Rydgård
76504c1a36 Remove redundant method from PathBrowser.cpp 2021-01-07 23:22:25 +01:00
Henrik Rydgård
e30d079fb5 UI tweaks 2021-01-07 09:40:01 +01:00
Henrik Rydgård
1c753e4a22 Use hacky methods to retrieve SD card directory if available.
This will disappear in future Android versions but can be useful for
older devices.

Fixes (or at least tries to) #10199, at least for some devices.

Might help #13827 ?

Tested on Pocophone F1.
2021-01-07 00:55:35 +01:00
Henrik Rydgård
5929c78307 Add home button on all platforms 2021-01-07 00:54:50 +01:00
Henrik Rydgård
3f01cbb98c Initialize/Deinitialize the shader translation system once globally.
Fixes #13839.
2021-01-04 23:51:34 +01:00
Henrik Rydgård
1acbfb1a52 Never pass a null into QueueDeleteImageView (got a report of that).
Went through them all to see where this could happen, can't find any
other path than this, though it's strange.
2021-01-03 21:46:12 +01:00
Henrik Rydgård
f0bb504bb1 Postshader: Improve error reporting. 2021-01-03 19:15:05 +01:00
Unknown W. Brackets
ca0763c7f1 Vulkan: Remove #10097 hack for newer AMD drivers.
Fixes #10643.  Assumes affected drivers only supported 1.0 due to year 1.1
supporting drivers started coming out.
2021-01-03 09:24:14 -08:00
Unknown W. Brackets
cd6be61d98 Common: Correct some formatting type mismatches. 2021-01-01 15:43:13 -08:00
Henrik Rydgård
fa466d2363
Merge pull request #13850 from unknownbrackets/warnings
Cleanup some warnings and a logger shutdown crash
2021-01-01 19:53:10 +01:00
Unknown W. Brackets
8bf93bb757 http: Ignore signals on recv() too. 2021-01-01 08:58:35 -08:00
Unknown W. Brackets
c3ddb279f9 http: Cleanup excessive logging. 2021-01-01 08:55:18 -08:00
Unknown W. Brackets
f57c642f0b Common: Fix logging shutdown race condition.
Got a crash during logging on another thread during shutdown.
2021-01-01 08:38:27 -08:00
Unknown W. Brackets
84aa33970b Debugger: Fix some type conversion warnings. 2021-01-01 08:37:54 -08:00
Henrik Rydgård
c5d90a7e50
Merge pull request #13831 from unknownbrackets/debugger
Debugger: Tweaks to memory read/write APIs
2020-12-29 10:51:02 +01:00
Unknown W. Brackets
711dd0e8ac Debugger: Correct a type error. 2020-12-28 20:16:49 -08:00
Unknown W. Brackets
3325a27811 Debugger: Cleanup some syntax. 2020-12-28 11:13:54 -08:00
Unknown W. Brackets
7e5052bc9e Debugger: Add API to read/write chunks of memory.
Using base64 at this point to keep JSON.
2020-12-28 10:30:58 -08:00
Unknown W. Brackets
589d83d4da http: Prevent assert on bad websocket data. 2020-12-28 09:30:36 -08:00
Jan Beich
633ba355ee Linux: ignore missing MAP_NORESERVE on FreeBSD
Common/MemArenaPosix.cpp:111:71: error: use of undeclared identifier 'MAP_NORESERVE'
        void *base = mmap(0, EIGHT_GIGS, PROT_NONE, MAP_ANON | MAP_PRIVATE | MAP_NORESERVE, -1, 0);
                                                                             ^
2020-12-27 05:25:05 +00:00
Unknown W. Brackets
c7becb2c75 http: Treat buffer full flush correctly.
Unix platforms may fail send with EAGAIN instead of 0 bytes.
2020-12-25 22:30:43 -08:00
Henrik Rydgård
e4cecabbf3 UWP: Work around another race condition in StorageFileLoader.
It really needs a rewrite and better error handling but that's for
later.
2020-12-20 12:36:32 +01:00
Henrik Rydgård
ddb5462bce Folder browsing on main screen: Prevent navigating "up" when you can't. 2020-12-20 01:47:52 +01:00
Henrik Rydgård
2c4a42a695 UWP: Make the home button say "Home" instead of "Browse...". 2020-12-20 01:47:49 +01:00
Henrik Rydgård
aa2f102a0a PathBrowser: Show simplified version of paths under the memstick dir. 2020-12-20 01:00:07 +01:00
Henrik Rydgård
d771dca3da Fix navigation upwards from a pinned game streaming folder. Fixes #13224. 2020-12-20 00:49:56 +01:00
Henrik Rydgård
a272deeba3 Postprocessing shader, GL: Fix shader version bug. Fixes #13779 2020-12-19 23:45:31 +01:00
Henrik Rydgård
05bfac0ef0 Misc logging improvements 2020-12-19 20:31:58 +01:00
Henrik Rydgård
ac6715baa9 Improvements to crash screen.
Part of #13299

Use the new tests/cpu/crash tests in pspautotest to test this code
(manually).
2020-12-19 19:48:24 +01:00
Andrew Church
163ed5b5f7 Linux: Properly avoid committing address space for large mmap().
A shared or writable mapping is charged to the process's memory
commitment regardless of MAP_NORESERVE, so the mmap() call to find a
4G base can still fail depending on memory usage and overcommit settings.
2020-12-19 19:45:42 +09:00
Conrad Kreyling
e3540ccd17 First pass on using Display KHR, needs proper init flags 2020-12-16 13:15:39 -05:00
Henrik Rydgård
7de7680416 Apple driver bug workaround. See issue #13451 2020-12-16 14:39:08 +01:00
Henrik Rydgård
2dcfa63498 GL: Detect Apple GPUs as a category 2020-12-14 22:10:18 +01:00
Henrik Rydgård
559ccd9f33 Minor cleanups 2020-12-14 20:06:06 +01:00
Henrik Rydgård
32c9728c0c Some cleanups in GL feature and shader language detection.
Gets rid of many wrong or bad checks for IsCoreContext.
2020-12-14 19:46:11 +01:00
Henrik Rydgård
f3ebd6553d Turn off vertex range culling in bezier/spline calls.
When we do lower res tess than the real PSP, we cant trust the game to not cause range culling to kick in.

Fixes #11692
2020-12-13 16:04:16 +01:00
Henrik Rydgård
1c925e705f
Merge pull request #13760 from hrydgard/fix-dirt-graphics
Fix car lighting issues in DiRT 2.
2020-12-13 09:19:34 +01:00
Henrik Rydgård
6a5522b185 thin3d: Add a way to query the current render target for debugging. 2020-12-13 00:20:13 +01:00
Halo-Michael
0652d2b52f Change the typo 2020-12-08 14:42:07 +08:00
Halo-Michael
a40674d770 Fix loader 2020-12-08 14:40:29 +08:00
Halo-Michael
277b00dfa0 Bundle libMoltenVK 2020-12-08 13:46:14 +08:00
gameblabla
7ef8e64303
Add missing header in Logmanager.h 2020-12-04 21:24:18 +01:00
gameblabla
4fe3786499
Fix headers in MIPSCPUDetect. 2020-12-04 21:23:36 +01:00
Halo-Michael
cbcfbca895 sz must be longer than target string 2020-12-03 21:05:00 +08:00
Halo-Michael
95e6a1c7a5 Why not iOS? 2020-12-03 11:43:20 +08:00
Henrik Rydgård
9c8feefcdc M1: Correctly detect core count. 2020-12-02 21:59:18 +01:00
Henrik Rydgård
20d579c3b8 Cleaner way to flush the instruction cache on Mac ARM64 2020-12-02 19:15:08 +01:00
Henrik Rydgård
5077a004ff Mark ARM64 Macs as needing WX-exclusive memory protection 2020-12-02 19:13:52 +01:00
Henrik Rydgård
c0a5fa3e8b Fix a crash if JIT space failed to allocate 2020-12-02 00:33:51 +01:00
Henrik Rydgård
c0c2bfb293 D3D11: Fix shader module leak in thin3d.
Thanks Unknown.
2020-12-01 09:20:13 +01:00
Henrik Rydgård
032890803e Need to take renderArea into account when merging render passes.
Fixes #13664
2020-11-26 23:29:59 +01:00
iota97
a014d7c785 Remember game list scroll 2020-11-23 10:10:20 +01:00
Henrik Rydgård
3c2733d8eb Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668.
Also make a function static.
2020-11-22 18:00:07 +01:00
Henrik Rydgård
29b2f2c4ef Better GLSL version handling. Now specify the latest version supported by the device.
Correct the version check for our own implementations of packUnorm4x8 etc.
2020-11-16 23:30:07 +01:00
Henrik Rydgård
90cc325b53 Clears didn't always properly set the RenderArea. Should help #13664 2020-11-15 22:30:16 +01:00
Henrik Rydgård
e14437cb3f OpenGL: Assorted shader-depal bugfixes and regression fixes.
Fixes #13517
2020-11-11 23:09:48 +01:00
Henrik Rydgård
a3d06e366f OpenGL: Detect Adreno model number 2020-11-11 22:46:25 +01:00
Henrik Rydgård
34efa1281b More consistent use of GLSL precision modifiers, now use them in Vulkan too.
Might help #13464 ?
2020-11-10 22:42:41 +01:00
Henrik Rydgård
d99cba7308 Outrun on OpenGL: Fix weird purple highlight seen on some devices
mediump int is just not enough.
2020-11-10 22:01:57 +01:00
Henrik Rydgård
5eea7435d0 Minor cleanup in GL backend, fixes #13647
Was a stray old texture in boundTextures_ in thin3d. Now makes sure to
invalidate them, and also make it possible to look up bound framebuffer
textures when checking for valid tex parameters.
2020-11-10 00:13:44 +01:00
Henrik Rydgård
9f33a82b49
Merge pull request #13646 from hrydgard/framebuffer-fetch-fixes
Framebuffer fetch fixes
2020-11-09 19:30:35 +01:00
Henrik Rydgård
ba139975e0 Linker fix - need to move init_resources along. 2020-11-09 15:39:46 +01:00
Henrik Rydgård
69108ab2e9 On GLES3, GL_EXT_shader_framebuffer_fetch works a little differently. 2020-11-09 13:32:49 +01:00
Henrik Rydgård
2384b7a17d Remove support for NV_shader_framebuffer_fetch extension, very old and rare.
Minor refactor.
2020-11-09 13:31:39 +01:00
Henrik Rydgård
e77a9d7368 Reorganize the end of the fragment shader generator.
Thanks unknown.
2020-11-09 11:19:02 +01:00
Henrik Rydgård
864cc54aa4 Remove ForceGL2 flag. Add comments... hm. 2020-11-09 11:18:43 +01:00
Henrik Rydgård
766dbc5a9f Move ShaderTranslation.cpp/h to Common/GPU. 2020-11-09 11:18:43 +01:00
Henrik Rydgård
50619af71d Fix HLSL shader gen issue 2020-11-09 09:10:44 +01:00
Henrik Rydgård
b9dd866c2d
Merge pull request #13640 from hrydgard/shader-color-write-mask
Fix car reflections in Outrun by implementing per-bit color masking
2020-11-09 08:45:28 +01:00
Henrik Rydgård
0c3ead1437 Temporarily disable GL frame-init error checks, see #13639 2020-11-09 00:30:24 +01:00
Henrik Rydgård
6310af25fa Get shader color write masking going on all backends. 2020-11-08 23:45:47 +01:00
Henrik Rydgård
9105249901 Add compat flag for reinterpret shader, also disable on platforms that can't support it yet 2020-11-08 11:32:55 +01:00
Henrik Rydgård
4e16fcaf1a Fix reinterpret shader for D3D11 2020-11-08 11:32:55 +01:00
Henrik Rydgård
96c36d5c10 More work on reinterpret. Get Vulkan running 2020-11-08 11:32:55 +01:00
Henrik Rydgård
1ccc8c129c Reinterpret code runs, no idea if it works 2020-11-08 11:32:55 +01:00
Henrik Rydgård
f2e315b9a6 More shadergen work
Buildfix
2020-11-08 11:32:53 +01:00
Henrik Rydgård
19b4febbbf More reinterpret shader gen and test work.
More work on reinterpret

Buildsystem fixes
2020-11-08 10:41:20 +01:00
Henrik Rydgård
d9ee06a60d Reorganize the DeviceLost code a little. FramebufferManagerCommon now sees it. 2020-11-07 10:51:54 +01:00
Henrik Rydgård
e12c0fb205 Oops, what happened there.. 2020-11-06 23:20:02 +01:00
Henrik Rydgård
26e09c758b Some GL error logging improvements 2020-11-06 22:42:09 +01:00
Henrik Rydgård
6a1e669c45 Fix GLSL version detection bug. Fixes #13631 2020-11-06 21:55:16 +01:00
Henrik Rydgård
7a690f177e Move shader language feature detection to the draw context. 2020-11-06 09:11:57 +01:00
Henrik Rydgård
84037f448e Remove colorDepth property of framebuffers. They're all 8888. 2020-11-05 14:51:46 +01:00