Henrik Rydgård
ac269aaa4b
rcheevos: revert to before #17806
...
PR #17806 upgraded rcheevos, after which a regression is reported in
issue #17631 .
Experimentally revert to confirm.
2023-08-08 15:38:22 +02:00
Henrik Rydgård
86db91979f
Turn off present-wait for now. Too many issues.
2023-08-08 15:07:44 +02:00
Henrik Rydgård
652cc6cd65
Race condition fix
2023-08-08 14:00:58 +02:00
Henrik Rydgård
8fec4fb02f
wip
2023-08-08 13:26:27 +02:00
Henrik Rydgård
527e16c17a
Merge pull request #17863 from hrydgard/merge-update-render
...
Merge NativeUpdate and NativeRender, we always call them together.
2023-08-08 12:00:29 +02:00
Henrik Rydgård
8e74907710
Don't try to use VK_GOOGLE_display_timing on Mac/iOS. MoltenVK has an implementation that seems broken.
2023-08-08 11:46:36 +02:00
Henrik Rydgård
bcae36d8cb
Merge NativeUpdate and NativeRender, we always call them together.
2023-08-07 22:50:57 +02:00
Henrik Rydgård
096c168dd7
Add yield() function to tell the CPU that we're busy-waiting (rare) ( #17862 )
...
* Add yield() function to tell the CPU that we're busy-waiting (rare)
Use it only for the busy-wait in lag sync, which only happens in
Windows.
* Buildfix attempt
2023-08-07 21:38:03 +02:00
Henrik Rydgård
a6b5340d97
Don't crash if VK_KHR_present_id / VK_KHR_present_wait are not exposed (but feature still reported available)
...
Fixes the new crash in #17858
2023-08-07 11:36:49 +02:00
Henrik Rydgård
ab685be566
Windows UWP: Enable color emoji rendering through DirectWrite
2023-08-06 17:25:20 +02:00
Henrik Rydgård
5533d5ec57
More lenient emoji check, remove unused variable
2023-08-06 17:17:24 +02:00
Henrik Rydgård
63cfe28f61
Implement color emoji support on Android
2023-08-06 15:14:29 +02:00
Henrik Rydgård
a477ca3f05
Add a couple of emoji to UI in debug mode
2023-08-06 15:10:49 +02:00
Henrik Rydgård
ea659319b2
Merge pull request #17852 from unknownbrackets/riscv-centralize
...
IR: centralize common parts of native backend
2023-08-06 10:54:53 +02:00
Unknown W. Brackets
93e3d35f5d
irjit: Move more to IRNativeBackend, split.
2023-08-06 00:16:43 -07:00
Henrik Rydgård
39d25ce91f
D3D11: Allow setting the max frame latency
2023-08-04 11:53:51 +02:00
Henrik Rydgård
74a471d7a5
Merge pull request #17846 from hrydgard/debug-overlay-everywhere
...
Debug overlay everywhere
2023-08-03 20:55:35 +02:00
Henrik Rydgård
8e1dc35dd1
Vulkan: Show instance extensions, both enabled and available, in sysinfo
2023-08-03 18:56:47 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
128acdd208
Merge pull request #17844 from hch12907/sdl-ttf
...
SDL: text renderer fixes, and CI
2023-08-03 15:16:31 +02:00
Hoe Hao Cheng
4d7e949f23
SDL: text alignment fix
2023-08-03 20:54:21 +08:00
Henrik Rydgård
0530dc57a8
Implement frame time measurement on Android using VK_GOOGLE_display_timing
2023-08-03 12:59:25 +02:00
Henrik Rydgård
9b038d6574
Vulkan: Show enabled extensions separately in sysinfo
2023-08-03 11:11:35 +02:00
Henrik Rydgård
e16cac6548
Initial work on supporting VK_GOOGLE_display_timing. Not working yet.
2023-08-03 11:11:16 +02:00
Henrik Rydgård
1a1a6fe15d
Load the functions for VK_GOOGLE_display_timing
2023-08-03 09:52:48 +02:00
Henrik Rydgård
1dab6e5bef
Linux/Mac/iOS: Switch from gettimeofday() to clock_gettime(CLOCK_MONOTONIC)
...
More appropriate, and adds a raw function that can be used to match up
with VK_GOOGLE_display_timing.
2023-08-03 00:00:07 +02:00
Henrik Rydgård
14377259b5
Use VK_KHR_present_wait to get numbers on how much latency we have to screen
...
This extension is not available on Android, there they have
VK_GOOGLE_display_timing, which they also have an abstraction library
for, so will look at that later.
Early part of work on #17685
2023-08-02 20:34:22 +02:00
Henrik Rydgård
cda59e8510
Vulkan: Keep track of some timestamps in a frame
2023-08-02 16:25:17 +02:00
Henrik Rydgård
9df91aed37
OpenCFile: Fix Android content-uri append mode
2023-08-02 14:00:57 +02:00
Henrik Rydgård
112b624257
Improve the situation with two transparent screens on top of each other
2023-08-02 13:03:08 +02:00
Henrik Rydgård
ffd5e57a20
Vulkan: Don't use multithreaded rendering if frames-in-flight is set to 1
...
It has no benefit, and loses by a few percent in simple benchmarking.
2023-08-01 21:08:07 +02:00
Henrik Rydgård
f45176fd25
Allow configuring in which corner achievement notifications can show up.
2023-08-01 12:52:09 +02:00
Henrik Rydgård
1071e1f248
Move towards separate types for leaderboard events
2023-08-01 11:57:28 +02:00
Bashar Astifan
401377818c
Merge branch 'master' into master
2023-08-01 05:29:56 +04:00
Henrik Rydgård
d268dd639a
Move the ScreenEdgePosition enum to a more appropriate location
2023-08-01 01:01:57 +02:00
Henrik Rydgård
a28ae79ef7
Safer handling of NONE
2023-08-01 00:28:54 +02:00
Henrik Rydgård
48d577014a
Refactor the on-screen display to be more customizable
2023-08-01 00:28:54 +02:00
Henrik Rydgård
01191ff23a
Extract ApplyAnchorLayoutParams from the anchor viewgroup
2023-08-01 00:28:54 +02:00
Henrik Rydgård
f39b9640b7
Rename the ChatPosition enum to a ScreenEdgePosition enum class (for future use)
2023-08-01 00:28:54 +02:00
Henrik Rydgård
3861e97a94
Experiment with the collapsible header thingy. Slightly increase the font size of headers.
2023-07-31 11:48:50 +02:00
Unknown W. Brackets
a28acf2662
Merge pull request #17805 from hch12907/sdl-ttf
...
SDL: address comments on #17780
2023-07-30 07:10:59 -07:00
Henrik Rydgård
36951a0b98
Merge pull request #17806 from hrydgard/update-rcheevos
...
Update to the latest version of rcheevos.
2023-07-30 12:19:40 +02:00
Henrik Rydgård
1c05f71b50
Update to the latest version of rcheevos.
2023-07-30 11:58:55 +02:00
Hoe Hao Cheng
c56f302e51
SDL: address comments on #17780
2023-07-30 16:25:36 +08:00
Unknown W. Brackets
26a527bdf8
riscv: Implement float/int conversion.
2023-07-30 00:45:51 -07:00
haorui wang
ec4927069e
1. remove some unused code
...
2. add some missing header
3. fix error address offset operation
2023-07-30 12:31:31 +08:00
Henrik Rydgård
b473f1e649
Merge pull request #17780 from hch12907/sdl-ttf
...
SDL: implement TextDrawer using SDL2_ttf
2023-07-29 22:51:27 +02:00
Hoe Hao Cheng
aaa7e90174
SDL: fix a curious crash
2023-07-29 03:10:00 +08:00
Hoe Hao Cheng
1c890be702
Use common UTF8 infrastructure instead of rewriting one
2023-07-29 03:10:00 +08:00
Hoe Hao Cheng
f88d1a287e
SDL: implement font fallback for TextDrawerSDL
2023-07-29 03:09:57 +08:00
Unknown W. Brackets
94f7231e73
net: Fix request cancelling.
...
Was broken in #17737 .
2023-07-25 19:42:37 -07:00
Unknown W. Brackets
3383d5b93a
Merge pull request #17751 from unknownbrackets/riscv-jit
...
Initial RISC-V jit based on IR
2023-07-25 00:42:22 -07:00
Hoe Hao Cheng
2b826b5614
SDL: implement TextDrawer using SDL2_ttf
2023-07-25 13:05:32 +08:00
Henrik Rydgård
2baba83f1a
Add a bunch of new icon images to the atlas.
2023-07-24 14:52:32 +02:00
Unknown W. Brackets
720f868a10
riscv: Use R_RA as a temporary for calls.
...
This is the most logical thing, since we're about to write it anyway.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets
76e3246065
riscv: Reduce jit codesize a bit.
2023-07-23 18:01:00 -07:00
Unknown W. Brackets
47b81985bd
riscv: Initial untested dispatcher.
...
The minimum to actually, probably, running code. Pretty slow.
2023-07-23 18:01:00 -07:00
Henrik Rydgård
a3d52ec123
Merge pull request #17773 from unknownbrackets/riscv-emit
...
Fix some issues in the RISC-V emitter
2023-07-24 00:06:15 +02:00
Henrik Rydgård
0afd313371
Merge pull request #17770 from unknownbrackets/http-proxy-hang
...
http: Fix hang on early close
2023-07-23 23:56:07 +02:00
Unknown W. Brackets
030a27f15d
riscv: Stop considering bitmanip "B".
...
Apparently it's not being called B anymore and B is still reserved.
2023-07-23 14:41:08 -07:00
Unknown W. Brackets
e0eace505b
riscv: Fix cases of SetRegToImmediate().
...
Was using the wrong value for AUIPC, causing assertion failures and wrong
values. Also needed to handle sign-extend more carefully.
2023-07-23 14:41:08 -07:00
Unknown W. Brackets
0c99d6d3fa
riscv: Workaround Zicsr detection issue.
2023-07-23 14:41:08 -07:00
Unknown W. Brackets
f70030fa5b
http: Fix hang on early close.
2023-07-23 14:31:43 -07:00
Henrik Rydgård
b118e25b6a
Vulkan: Make multithreaded rendering an option.
...
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.
So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård
eb14c87a71
Allow configuring the game language separately from the PPSSPP UI language, with a new setting.
2023-07-23 11:30:04 +02:00
Henrik Rydgård
aa46d3aae3
UI: CollapsibleHeader no longer shows the open/close icon if there are no items
2023-07-23 11:11:44 +02:00
Hoe Hao Cheng
9305870cca
Fix a segfault in ReadAllWithProgress
2023-07-23 01:18:08 +08:00
Henrik Rydgård
3e213667c6
Merge pull request #17752 from lvonasek/feature_openxr_cinema6dof
...
OpenXR - Enable 6DoF in cinema mode
2023-07-22 12:01:51 +02:00
Henrik Rydgård
8f6662aa55
Fix an initialLayout issue with the image we use as the backbuffers's depth
2023-07-21 23:17:24 +02:00
Henrik Rydgård
93bb113009
Common: Rename Download to Request, and the old Request to ServerRequest.
2023-07-21 22:12:00 +02:00
Henrik Rydgård
ac6301db47
Use the new function in patched naett to update user agent
2023-07-21 18:23:33 +02:00
Henrik Rydgård
9535b16740
Use the patched naett functions to implement progress updates
2023-07-21 18:23:33 +02:00
Lubos
9fdd9645de
OpenXR - Enable 6DoF in cinema mode
2023-07-21 17:22:36 +02:00
Henrik Rydgård
61db21b12d
Cleanup, fix so we can run RetroAchievements with https, and start doing that
2023-07-21 10:49:01 +02:00
Henrik Rydgård
9decdd198e
Address more feedback, minor cleanup
2023-07-21 10:30:06 +02:00
Henrik Rydgård
96a75f9fc4
naett: Set timeout, POST body, etc. Just missing user agent
2023-07-21 10:28:32 +02:00
Henrik Rydgård
ab6e902fea
Make naett work on Android, UWP, Mac. Exclude on Linux
2023-07-21 10:28:31 +02:00
Henrik Rydgård
fbd980bee6
Get basic Naett requests to work (the store works in https mode)
2023-07-21 10:28:17 +02:00
Henrik Rydgård
e2cc835c2b
Setup build for new file HTTPNaettRequest
2023-07-21 10:27:40 +02:00
Henrik Rydgård
7ae34f148a
Setup build for naett - a lightweight https wrapper
2023-07-21 10:27:40 +02:00
Henrik Rydgård
f13a07f19b
Break out Download and RequestManager into its own file
2023-07-21 10:27:40 +02:00
Henrik Rydgård
64eff0dc0b
Insert a virtual base class for Download
2023-07-21 10:27:40 +02:00
Henrik Rydgård
85f5136a81
Add a GetProperty query for the git version
2023-07-20 10:57:52 +02:00
Henrik Rydgård
370bb4c315
More progressbar improvements
2023-07-18 15:52:14 +02:00
Henrik Rydgård
ecea3844b0
Improved progress bar popups for downloads
...
Now shows the filename, and also there's a delay mode where they'll only
be visible if the download takes more than a second, plus they can be
named.
2023-07-18 15:13:44 +02:00
Bashar Astifan
a35c8425e6
Merge branch 'master' into master
2023-07-17 23:20:52 +04:00
Henrik Rydgård
4108dcec23
Unify CalculateTextScale
2023-07-17 12:02:32 +02:00
Henrik Rydgård
6b75bbf64a
Add support for line breaks in TextDrawerWin32::MeasureString. Sometimes useful.
...
And actually consistent with the other backends.
2023-07-16 21:58:47 +02:00
Henrik Rydgård
43d780b552
Fix issue where achievement sounds didn't play if UI Sounds were off.
...
These are meant to be unrelated.
2023-07-16 21:43:49 +02:00
Henrik Rydgård
7eb1bfe1aa
Spacing default 0.0 in collapsible sections, set spacing for achievements a little higher
2023-07-16 18:23:43 +02:00
Henrik Rydgård
f8b7346b8d
Make the achievement lists collapsible on the main achievements screen
2023-07-16 18:13:36 +02:00
Henrik Rydgård
8a59ed0062
Add function ApplySafeSubstitution for translation strings with parameters
2023-07-16 16:26:49 +02:00
Henrik Rydgård
df104c66a8
Add back lost ini parameter
2023-07-16 14:23:06 +02:00
Henrik Rydgård
bd4f3f8953
Start work on making sound effects customizable
2023-07-16 12:56:46 +02:00
Henrik Rydgård
2537f76277
UI: Add a basic FileChooserChoice view
2023-07-16 12:14:40 +02:00
Henrik Rydgård
b092e08af1
Make literal into constexpr.
2023-07-16 09:01:16 +02:00
Henrik Rydgård
6bb97b3d46
Better mechanism to fade out the side bar when not on EmuScreen
2023-07-16 08:55:48 +02:00
Henrik Rydgård
ebc0afc828
Remove some logging
2023-07-16 00:20:55 +02:00
Henrik Rydgård
04351a18f6
Address feedback
2023-07-16 00:20:09 +02:00
Henrik Rydgård
c363cccc58
Java dialog requests: Simplify handling, more unique error codes
2023-07-15 12:24:00 +02:00
Henrik Rydgård
84d9b7e75d
HTTP user agent plumbing
2023-07-14 15:24:34 +02:00
Henrik Rydgård
bf05fe22b1
Merge pull request #17717 from hrydgard/input-dialog-back-button-fix
...
Fix key event processing issue.
2023-07-14 13:11:30 +02:00
Henrik Rydgård
5023f2cb6c
Fix key event processing issue.
...
Fixes #17712
2023-07-14 12:01:38 +02:00
Henrik Rydgård
1c83c4a1fe
Vulkan: Enable the present-id/present-wait/display-timing extensions
...
Doesn't actually use any of them yet, just making sure enabling them
doesn't cause any weird issues. They will be used for the future display
timing rewrite.
2023-07-14 10:43:47 +02:00
Henrik Rydgård
66e54dee11
Minor iconcache update
2023-07-13 16:47:06 +02:00
Henrik Rydgård
86ee2253ee
Save/Load the icon cache to disk if RetroAchievements are enabled.
...
Should reduce the server load a bit.
2023-07-13 12:44:20 +02:00
Henrik Rydgård
aa4264a192
RetroAchievements: Better handling of not being online when trying to log in
2023-07-13 11:26:43 +02:00
Henrik Rydgård
b133cd4f71
Merge pull request #17704 from lvonasek/feature_openxr_canvas3d
...
OpenXR - Enhancements of cinema-style screen
2023-07-12 20:57:22 +02:00
Henrik Rydgård
af92430b18
Achievement Unlocked and Leaderboard Submitted sound effects
2023-07-12 19:55:53 +02:00
Lubos
dd00dfefab
OpenXR - Enhancements of cinema-style screen
2023-07-12 19:33:29 +02:00
Henrik Rydgård
f1ff12784a
Allow flexible sample rate for UI sound effects
2023-07-12 17:55:49 +02:00
Henrik Rydgård
ce802664ea
Minor SettingInfo cleanup
2023-07-12 10:24:06 +02:00
Henrik Rydgård
3f924d1494
Smoothly remove any left-over overlays on emuscreen exit.
2023-07-10 21:04:22 +02:00
Henrik Rydgård
4ae3c519e2
Add assorted null checks for safety
...
More probably needed. Should at least hopefully fix the leaderboard crash reported in #17631
Will try to do something more systematic later.
2023-07-10 19:27:07 +02:00
Henrik Rydgård
cd45125085
RetroAchievements: Show active challenge achievements on pause screen.
2023-07-10 10:39:44 +02:00
Henrik Rydgård
c17b84b3d4
Implement RetroAchievements challenge mode restrictions, and fix related bugs
2023-07-08 21:55:32 +02:00
Henrik Rydgård
9e4387c529
Implement more OSD types (challenge, progress indicators). Not really tested.
2023-07-08 21:48:23 +02:00
Henrik Rydgård
9bd67df5b2
Achievement savestate fixes
2023-07-08 21:47:16 +02:00
Henrik Rydgård
d0b42705a0
Switch over to rc-client
2023-07-08 18:59:37 +02:00
Henrik Rydgård
0bf0a4a1ef
UIContext: Add an easy way to draw drop shadows under rectangular things
2023-07-08 18:25:00 +02:00
Henrik Rydgård
952e125c7e
Break out rendering of "notices" from OnScreenDisplay. They can now also be used as views.
...
Use it for the new message in ControlMappingScreen, when you try to map
a combo when that's disabled. It'll have more uses.
2023-07-07 15:23:19 +02:00
Henrik Rydgård
e182837f86
Remove left-over debug logging
2023-07-07 15:16:47 +02:00
Henrik Rydgård
b9327073bb
Add checkbox controlling if new mappings can be combo mappings.
...
These can be problematic with certain controllers that send double
signals. Like PS4 controllers on Android, the analog triggers send dual
axis events, and additionally digital events.
2023-07-07 10:42:08 +02:00
Henrik Rydgård
b56b3b43c7
Y-flip menu analog stick mapping on Switch
2023-07-06 20:29:26 +02:00
Henrik Rydgård
16efa1d877
Merge pull request #17672 from hrydgard/android-show-exceptions
...
Android: Show some Java exceptions as they happen
2023-07-06 20:24:06 +02:00
Henrik Rydgård
9d877106d7
Android: Report various exceptions that we catch to the user if they happen
...
This can let users help debug some obscure cases.
2023-07-06 19:06:27 +02:00
Henrik Rydgård
e1060c80ff
Merge pull request #17671 from hrydgard/android-message-cleanup
...
Android string message cleanup
2023-07-06 19:06:14 +02:00
Henrik Rydgård
84fffec4f3
Switch all NativeMessageReceived to System_PostUIMessage
2023-07-06 17:26:02 +02:00
Henrik Rydgård
f27850ec1d
Minor cleanup in MoveFocus, set tags on screen roots for debugging
2023-07-06 16:34:54 +02:00
Henrik Rydgård
26e097923d
Fix issue with analog stick menu navigation caused by processing UI events twice per frame
2023-07-06 16:34:18 +02:00
Henrik Rydgård
cbd012f522
Cleanups around focus moves
2023-07-06 16:13:25 +02:00
Henrik Rydgård
356cc64eb5
Logging improvements, cleanup
2023-07-06 14:56:52 +02:00
Henrik Rydgård
c46d6e16b8
UI root: We should "accept" all key events that we don't determine special
2023-07-06 14:55:15 +02:00
Henrik Rydgård
fc3f7da3af
TouchTestScreen: Have 8 entries logged instead of 2.
2023-07-06 11:48:25 +02:00
Henrik Rydgård
adc24b5001
OpenGL: Fix a wrong assert
2023-07-03 01:10:42 +02:00
Henrik Rydgård
fc797ec55f
Merge pull request #17656 from lvonasek/compat_openxr_fixes
...
OpenXR - Game compatibility fixes
2023-07-02 21:12:21 +02:00
Lubos
6e10f20f8b
OpenXR - Tony Hawk mirroring hack better
2023-07-02 20:29:59 +02:00
Unknown W. Brackets
9c08e27a0c
Merge pull request #17648 from fp64/div-less
...
Replace some signed divison in SoftGPU
2023-07-01 12:28:52 -07:00
Henrik Rydgård
1375b6e097
Buildfix
2023-06-30 17:25:44 +02:00
Henrik Rydgård
eb21a2e6c9
Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h
2023-06-30 17:15:49 +02:00
fp64
f133739cd0
Replace some signed divison in SoftGPU
...
This also adds a few bitwise operations to Vec4<int> and further
SIMDifies it.
Also, fixes unrelated warning.
2023-06-29 16:43:21 -04:00
Henrik Rydgård
c66182a583
Merge pull request #17637 from hrydgard/revert-path-change
...
Revert "Path: If a Path is empty, the slash operator will not add an additional slash."
2023-06-27 23:39:53 +02:00
Henrik Rydgård
27847abac4
Fix two OSD rendering bugs (messages with text2 didn't render it, text alignment with icon)
2023-06-27 23:39:13 +02:00
Henrik Rydgård
19b494ba1e
Revert "Path: If a Path is empty, the slash operator will not add an additional slash."
...
This reverts commit 864b2bbb31
.
2023-06-27 23:31:59 +02:00
Henrik Rydgård
e4229886b7
Merge pull request #17636 from lvonasek/review_openxr
...
OpenXR - Major review
2023-06-27 20:07:42 +02:00
Lubos
880168ee3c
OpenXR - Fix render glitches caused by wrong mirroring
2023-06-27 18:54:38 +02:00
Henrik Rydgård
caf6d8442a
Merge pull request #17630 from m4xw/common
...
Common & CodeBlock changes for Nintendo Switch
2023-06-27 14:43:23 +02:00
M4xw
6fdf953136
[Common] Placeholder Crash() impl. for Nintendo Switch
2023-06-27 14:21:56 +02:00
M4xw
b52d3f64ff
[Common] Add cstring include to ArmCPUDetect
2023-06-27 14:21:56 +02:00
M4xw
21be8c3c2b
[Common] CommonType base for Nintendo Switch
...
Avoid name conflicts & declare certain types
2023-06-27 14:21:55 +02:00
M4xw
36584aa6f4
[CodeBlock] W^X dualbase impl. for Nintendo Switch
2023-06-27 14:21:52 +02:00
Henrik Rydgård
01cf22e074
Merge pull request #17589 from hrydgard/retroachievements-initial-work
...
Retroachievements support (work-in-progress)
2023-06-27 00:13:53 +02:00
Lubos
0b68644063
Revert "OpenXR - Workaround for disfunctional depth buffer allocation"
...
This reverts commit 6dc264e7e5
.
2023-06-26 17:27:46 +02:00
Lubos
a6709c70e0
OpenXR - Code cleanup
2023-06-26 17:26:56 +02:00
M4xw
0cf6f46330
[MemoryUtil] Platform changes for Nintendo Switch
2023-06-26 16:17:45 +02:00
M4xw
b4f602de85
[MemArena] Opt-out of MemArenaPosix for Switch
2023-06-26 13:58:39 +02:00
Henrik Rydgård
864b2bbb31
Path: If a Path is empty, the slash operator will not add an additional slash.
2023-06-26 10:01:42 +02:00
Henrik Rydgård
87846c5fcb
Add simple facility for storing secret in app-private storage on Android (other platforms not so good)
2023-06-26 10:01:42 +02:00
Henrik Rydgård
69a5ca0e1d
A bunch of visual updates and fixes. Lots left to polish.
2023-06-26 10:01:42 +02:00
Henrik Rydgård
c442d1de86
Implement rendering of unlocked achievements. Not final design.
2023-06-26 10:01:42 +02:00
Henrik Rydgård
1d0badae56
Achievements: Show achievement icons in list
2023-06-26 10:01:41 +02:00
Henrik Rydgård
93de74144e
Add basic achievement rendering
2023-06-26 10:01:41 +02:00
Henrik Rydgård
8beca03e7e
MacOSX buildfixes
2023-06-26 10:01:41 +02:00
Henrik Rydgård
f6fdaa4f56
Get it to recognize the hash by using the rcheevos hash implementation
2023-06-26 10:01:41 +02:00
Henrik Rydgård
029b887491
Initial batch of fixes. Not compiling yet, http will be the tricky one.
2023-06-26 10:01:40 +02:00
Henrik Rydgård
4745999665
Copy-paste retroachievement support from DuckStation. No fixes yet!
2023-06-26 10:01:40 +02:00
haorui
fb91cf9b21
align should be 3 when format is GL_RGB and type is GL_UNSIGNED_BYTE
2023-06-24 16:09:28 +08:00
Henrik Rydgård
cf587d2ccc
More cleanup after making PopupTextInputChoice choose method automatically
2023-06-22 09:01:14 +02:00
Henrik Rydgård
337668af3e
Make PopupTextInputChoice smarter (use native dialog if possible)
2023-06-22 08:58:30 +02:00
Henrik Rydgård
38f174eab4
Add query for system text input
2023-06-22 08:58:30 +02:00
Henrik Rydgård
0a1bf5532d
UI: Allow showing popup string values as password stars
2023-06-22 08:58:29 +02:00
Henrik Rydgård
2708f0b93e
Add a new "System" request for a username-password dialog box
2023-06-22 08:58:29 +02:00
M4xw
436b55de72
[MemArena] Add designated impl for Nintendo Switch
2023-06-22 00:06:59 +02:00
M4xw
5b6bc0cea7
[MemArena] Honor MV_MIRROR_PREVIOUS on ReleaseView
...
Allows for clean teardown of the Memory Map for Switch
2023-06-22 00:01:38 +02:00
Henrik Rydgård
266b85d22d
Support for extra text in OSD messages (drawn smaller, on darker background)
2023-06-21 01:16:25 +02:00
Henrik Rydgård
c76b6a48ab
Prepare for detailed overlay messages
2023-06-21 01:08:25 +02:00
Henrik Rydgård
ff75eced70
Progress bar: Fix the indeterminate state
2023-06-21 01:08:24 +02:00
Henrik Rydgård
d2c3a7c978
Add support for displaying progress bars
2023-06-20 22:44:31 +02:00
Henrik Rydgård
6ba0479edc
OSD: Add colored backgrounds to OSD messages, according to type.
...
This also reorganizes a little to make rendering achievement popups more
natural later.
Adds info.png to the atlasscript, but doesn't yet rebuild it - more
images are coming.
2023-06-20 17:32:45 +02:00
Henrik Rydgård
575c428867
Buildfix
2023-06-20 15:23:45 +02:00
Henrik Rydgård
ed0c4b7a9e
Rename OSD "Message" to "Entry" since it can soon be multiple other things (progress bar, etc).
2023-06-20 15:07:34 +02:00
Henrik Rydgård
7cc8c6cea4
OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI).
2023-06-20 14:40:46 +02:00
Henrik Rydgård
d6552a7673
Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen.
2023-06-20 10:44:47 +02:00
Henrik Rydgård
300a64a86d
IconCache: Remove texture objects quite quickly after it stops getting used.
...
They can be recreated pretty quickly as needed.
2023-06-18 15:24:56 +02:00
Henrik Rydgård
6f9941dafa
Crashfix during clearing
2023-06-18 15:14:42 +02:00
Henrik Rydgård
2bf2f745e2
IconCache: Add pending state to avoid duplicate downloads in some cases
2023-06-18 14:54:11 +02:00
Henrik Rydgård
cb5926761b
Add a way to monitor the icon cache from the system info screen.
2023-06-18 14:18:45 +02:00
Henrik Rydgård
2bee5b64e4
Add new icon cache, for caching small images.
...
It doesn't try to insert or fetch missing things itself, re-fetching is up to the caller.
This will be required for handling the many achievement icons.
Saving/loading the cache to a single file on disk is implemented but not
hooked up yet. It works without it, though of course will have to
re-fetch things on the next startup.
2023-06-18 14:11:12 +02:00
Henrik Rydgård
9f88dbd656
Icon cache for UI rendering
...
This will be needed for achievements, and has uses already now.
2023-06-18 14:11:12 +02:00
Henrik Rydgård
0983927319
Comment cleanup
2023-06-17 23:19:23 +02:00
Henrik Rydgård
31a6cecef9
Allow specifying content-type for posts instead of hardcoding.
2023-06-17 23:18:23 +02:00
Henrik Rydgård
2de510432d
Rename our private md5 functions to not clash with other libraries (ugh)
2023-06-17 23:18:23 +02:00
Henrik Rydgård
71cb766393
Fix re-entrancy issue in Downloader
2023-06-17 23:18:23 +02:00
Henrik Rydgård
3bc2aaf7ca
Set MIME type "correctly" (at least for retro purposes) for POSTs
2023-06-17 23:18:23 +02:00
Henrik Rydgård
601e767e3b
HTTPClient: Generalize Download to support GET and POST
2023-06-17 23:18:23 +02:00
Lubos
4642e0a66f
OpenXR - Add passthrough option (Quest only)
2023-06-17 16:33:21 +02:00
Henrik Rydgård
ae29fd2951
Vulkan profiler: Show CPU command buffer recording timing even if GPU timing is unavailable
2023-06-14 09:15:29 +02:00
Henrik Rydgård
fbd10e4722
FastVec: Add capacity lock, fix bug (extracted from a coming PR)
2023-06-14 09:06:25 +02:00
Henrik Rydgård
6d8069dfd1
Vulkan: Remove the remains of the input attachment experiment
...
Haven't been using these for a while.
I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
22632b82bd
Merge pull request #17565 from hrydgard/breakout-vcache-vulkan
...
Vulkan: Breakout the vertex cache logic from DoFlush()
2023-06-13 09:56:52 +02:00
Henrik Rydgård
963ca50ba7
Merge pull request #17567 from hrydgard/uvscale-as-argument
...
Pass uvScale in as a fourth argument to the vertex decoder
2023-06-13 09:49:31 +02:00
Henrik Rydgård
71a34d4ffc
Merge pull request #17569 from hrydgard/arm64dec-optimize-saved-regs
...
ARM64: Optimize saved registers in vertex decoder.
2023-06-13 09:49:08 +02:00
Henrik Rydgård
bb40baefb5
Fix issue with volume keys in the app UI
2023-06-13 00:47:48 +02:00
Henrik Rydgård
cdcf3b272e
ARM64: Optimize saved registers in vertex decoder.
...
Simplify away some arrays with unused elements
2023-06-13 00:26:38 +02:00
Henrik Rydgård
4af6fac726
Nop-align the ARM and ARM64 loops too. Many CPUs benefit somewhat from hot loops being 16-byte aligned.
2023-06-13 00:05:48 +02:00
Henrik Rydgård
c4e44d66b0
x86/x64: Nop-align the main loop of vertex decoder loops
2023-06-12 20:39:39 +02:00
Henrik Rydgård
880379c15d
Extract some minor changes from #17497
2023-06-12 20:20:06 +02:00
Henrik Rydgård
d90671e877
Add some comments.
2023-06-12 13:16:13 +02:00
Henrik Rydgård
7519af8481
Merge pull request #17552 from unknownbrackets/debug-hle-names
...
HLE: Add some assorted detected func names
2023-06-07 09:44:10 +02:00
Unknown W. Brackets
fa1da3118f
riscv: Add some quick aliases.
2023-06-06 23:48:08 -07:00
Henrik Rydgård
75dd31894c
Followup to #17471 : Fix Lubos' VR sky clearing hack
2023-06-04 10:18:52 +02:00
Henrik Rydgård
27b8d27efc
Add a different assert to SetGLCoreContext.
2023-06-03 11:57:08 +02:00
Henrik Rydgård
9d9c2c750e
SWitch dbg asserts to new policy - debug mode controls it, even on Windows.
2023-06-01 23:52:52 +02:00
Henrik Rydgård
408088d1a5
Disable debug asserts and logging in Windows release builds
...
We allowed debug asserts and logging to be enabled in Windows on the
assumption of CPU power just always being strong enough. But there are
slow x86/x64 devices out there, and we shouldn't slow them down
unnecessarily.
Can always use debug builds to debug stuff.
2023-05-31 11:03:12 +02:00
Henrik Rydgård
e9e95d23ce
VulkanDebug log fix, reduce log spam
2023-05-30 18:32:33 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +02:00
Henrik Rydgård
364c205d95
Quick, suboptimal barrier fix for the new UpdateImageLevels functionality
2023-05-30 18:29:49 +02:00
Henrik Rydgård
25662a7f6c
Implement UpdateTextureLevels for D3D11
2023-05-30 14:54:19 +02:00
Henrik Rydgård
3a9ce528e7
D3D11: Break out CreateStagingTexture
2023-05-30 14:43:54 +02:00
Henrik Rydgård
198f9756b8
D3D11 texture upload: Refactor for easier changes
2023-05-30 14:35:22 +02:00
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
0b1abf1de9
Add untested UpdateTextureLevels functionality to three of the four backends
2023-05-30 13:28:04 +02:00
Henrik Rydgård
f54f905be5
Vulkan: Remove support for other index types than 16-bit.
...
We don't have any use for them anyway.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
0eec89c853
Fix a very tiny memory leak
2023-05-29 23:11:35 +02:00
Henrik Rydgård
5eb94350fa
Show the class name in refcount debug asserts
2023-05-29 12:50:45 +02:00
Henrik Rydgård
d167a11b1c
SDL: Add a way to reset OpenGL graphics by pressing F7.
2023-05-29 11:48:03 +02:00
Henrik Rydgård
50aa598ed1
Fix handling events in "empty" (no root) UIScreens
2023-05-27 00:35:25 +02:00
Henrik Rydgård
3715b1ffa1
Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior.
2023-05-26 18:41:13 +02:00
Henrik Rydgård
cca613e785
Initial work on queueing up UI events for processing. Key events excepted for now.
2023-05-26 18:41:13 +02:00
Henrik Rydgård
2675d6ea43
Input event and device enums ( #17514 )
...
* Switch deviceID from int to enum InputDeviceID, globally
* Switch axisId to enum InputAxis
* Change int keycodes to InputKeyCode where it makes sense.
* SDL input buildfix
* SDL keycode buildfix
* Switch on enum warning fixes
* Qt keycode buildfix
* iOS keycode buildfix
* UWP keycode buildfix
* More iOS buildfix
* More iOS buildfix
* Update DinputDevice.cpp
2023-05-26 18:40:13 +02:00
Henrik Rydgård
ad8827ae70
Cleanup, address feedback
2023-05-26 10:28:10 +02:00
Henrik Rydgård
82934b9212
OpenGL queue-runner: Add command counts (debug builds only). Useful for checking optimizations.
2023-05-25 14:15:54 +02:00
Henrik Rydgård
0a069f39c9
Windows: Make double-click-for-fullscreen less oversensitive.
2023-05-25 09:28:55 +02:00
Henrik Rydgård
12106ceb75
Format string fix
2023-05-24 15:52:39 +02:00
Henrik Rydgård
dfb446f89d
Allow other backends than Vulkan to have GPU memory stats. Implement for GL.
2023-05-24 14:33:01 +02:00
Henrik Rydgård
62b41c6640
OpenGL: Add a simple pass list to gpu profiler
2023-05-24 14:08:19 +02:00
Henrik Rydgård
edd208791e
Add tag field to GLRFramebuffer for debugging
2023-05-24 13:47:51 +02:00
Henrik Rydgård
f4035a0802
GLPushBuffer: Fix bug when growing, forgot to mark space used in the new buffer. Old bug!
2023-05-24 13:45:10 +02:00
Henrik Rydgård
84da0327d6
GLQueueRunner: Make DrawIndexed parameters more consistent.
2023-05-23 17:49:11 +02:00
Henrik Rydgård
f1f0bfae2d
Driveby simplification, reduce logspam
2023-05-23 17:09:40 +02:00
Henrik Rydgård
d7ea2ebf8a
GL: Add tags to push buffers for debug purposes. Double the default vertex buffer size.
2023-05-23 15:53:41 +02:00
Henrik Rydgård
72df93a2f1
GLMemory: Allow "rewind"
2023-05-23 14:41:27 +02:00
Henrik Rydgård
3f5206fa9a
Also dirty-track the viewport
2023-05-23 10:09:38 +02:00
Henrik Rydgård
2081e2865a
Dirty track a bunch more GL state. It's so expensive to change on old devices!
2023-05-23 10:02:10 +02:00
Henrik Rydgård
3b81b3ca80
Do dirty-tracking for stencil state
2023-05-23 09:14:24 +02:00
Henrik Rydgård
cb38c43d7e
GL render manager: Merge the two stencil commands, for more compact command lists
2023-05-23 09:14:23 +02:00
Henrik Rydgård
234c1f05b8
Apply the same optimizations to the Vulkan backend. Smaller effect than for OpenGL.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
0b9dfac844
Make sure VKRRenderThreadTask isn't copied.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
ab34d20058
Add more methods to FastVec
2023-05-23 08:54:41 +02:00
Henrik Rydgård
37906384ee
Use the faster pushes.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
47931deda7
Switch to FastVec for commands. Slower than std::vector!
2023-05-23 08:54:41 +02:00
Henrik Rydgård
558e29a9bb
Switch to the copy-free method of initializing initsteps
2023-05-23 08:54:41 +02:00
Henrik Rydgård
956d784bde
Add FastVec, start using it for InitSteps
2023-05-23 08:54:40 +02:00
Henrik Rydgård
78eaa8c235
Make sure we never copy GLRRenderThreadTask objects
2023-05-23 08:53:48 +02:00
Henrik Rydgård
c30895b6b4
Remove unnecessary variable
2023-05-23 08:53:48 +02:00
Henrik Rydgård
e4a729d371
Remove unnecessary zero-initialization of GLRRenderCommand structs
2023-05-23 08:53:48 +02:00
Henrik Rydgård
b9157fd4d4
Break out EnableDisableVertexArrays
2023-05-23 08:52:42 +02:00
Henrik Rydgård
a4baed4c0c
Minor GLPushBuffer cleanup (now same API as the VK one)
2023-05-23 08:41:09 +02:00
Henrik Rydgård
d7a5edeb6f
GL: Break out GLPushBuffer from GLRenderManager.cpp/h
2023-05-23 08:41:09 +02:00
Henrik Rydgård
736ba3dd90
Merge pull request #17357 from unknownbrackets/game-search
...
Add half of game list search
2023-05-23 08:31:04 +02:00
Henrik Rydgård
67a35d3476
Merge pull request #17356 from unknownbrackets/minor-cleanup
...
Cleanup some more string formats, mostly in debugger
2023-05-23 08:29:23 +02:00
Henrik Rydgård
5d7a0516cc
Merge pull request #17475 from hrydgard/opengl-basic-profiler
...
Add a trivial profiling tool to the OpenGL backend
2023-05-17 15:01:16 +02:00
Henrik Rydgård
05b6bbdc56
Add a trivial profiling tool to the OpenGL backend - meaasure the time it takes to run a frame of commands.
...
Accessed from the in-game dev menu just like the Vulkan frame profiler.
With this we can easily see that actually submitting the GL commands is often the bottleneck on old
devices like a Galaxy S3.
2023-05-17 14:38:11 +02:00
Henrik Rydgård
4f1be34f24
Revert "Remove the Android display resolution selector"
...
This reverts commit ea0eaa31e6
.
2023-05-17 09:37:15 +02:00
Henrik Rydgård
444897a8b8
Some reordering to make the code make more sense (no actual effect)
2023-05-16 18:25:31 +02:00
Henrik Rydgård
081bdb323a
Fix running some file formats from the Downloads folder
...
Due to how we mount stuff, we need to be able to navigate one step up
from the executable, and then re-attach the executable filename. To
allow this, in content URIs, treat ':' as a directory separator for
navigation purposes.
End result, you can now download cube.elf from the website and run it directly
from Downloads without using a file manager to move it.
2023-05-16 16:44:28 +02:00
Henrik Rydgård
07a96b8734
Merge pull request #17465 from hrydgard/android-content-uri-cpp
...
AndroidContentURI: Move code from the header to cpp.
2023-05-16 16:39:43 +02:00
Henrik Rydgård
c729519cf5
Merge pull request #17442 from hrydgard/glr-render-command-shrink
...
Shrink the GLRRenderCommand struct from 152 to 88 bytes
2023-05-16 16:38:41 +02:00
Henrik Rydgård
cf9a628a2e
AndroidContentURI: Move code from the header to cpp. Some assorted cleanup, add a unit test for Download paths
2023-05-16 16:08:51 +02:00
Henrik Rydgård
b27c427547
We always bind and draw together, so let's combine them to one command.
2023-05-10 10:56:25 +02:00
Henrik Rydgård
c7caefe6d8
Have Draw and DrawIndexed share command and struct. Will make the next change easier.
2023-05-10 10:40:33 +02:00
Henrik Rydgård
d5e0299b0b
GLR: Share union struct between Draw/DrawIndex
2023-05-10 10:32:13 +02:00
Henrik Rydgård
f593d65833
Avoid double-free in stereo mode
2023-05-10 10:13:54 +02:00
Henrik Rydgård
c882046251
Remove redundant render command
2023-05-10 09:23:10 +02:00
Henrik Rydgård
8f2069ef71
GLQueueRunner: Combine BindVertexBuffer with BindIndexBuffer
2023-05-10 09:23:10 +02:00
Henrik Rydgård
cc16eb8321
Shrink the GLRRenderCommand struct from 152 to 88 bytes
...
Turns out the VR work bloated it a bit, which can't be good.
Think it's fine to allocate these view matrices on the heap to get them
out of the way, there won't be that crazy many per frame usually.
2023-05-10 00:24:17 +02:00
Henrik Rydgård
ce632ec079
IniFile: Fix writing 64-bit hex values.
2023-05-08 10:47:03 +02:00
Henrik Rydgård
311a1a0fe2
Fix glitch when mapping analog inputs, caused by multiple TriggerFinish caused by stray analog axis events.
...
ADd some guards all over the place against the same thing.
2023-05-06 15:33:28 +02:00
Henrik Rydgård
ac88e73768
TextDrawerAndroid: Handle a null fontName, saw some crash reports that looked like that.
2023-05-05 23:40:06 +02:00
Henrik Rydgård
0d0b0fc60b
Turn some reported crashes into asserts, to try to confirm what's going on
2023-05-05 23:26:21 +02:00
Henrik Rydgård
cd33b79ae7
Fix an issue where stray KEY_UP events could confuse the control mapper into setting empty events
...
This had some not-so-good consequences, like inability to map anything
in VR, and sometimes empty MultiMappings would result that we could end
up asserting on before the previous commit.
2023-05-05 23:00:01 +02:00
Henrik Rydgård
38178d34b5
Sanity checks in InitSwapchain
2023-05-05 00:03:20 +02:00
Henrik Rydgård
7e1f907826
VulkanPushPool: Sprinkle a couple of asserts.
2023-05-04 10:25:16 +02:00
Bashar Astifan
f86a462145
Revert creating ToShortFriendlyPath, more cleanup
...
Path preview can actually solved within ToVisualString without creating another function, I feel it will cause confusing as both function will be similar.
2023-05-04 12:03:14 +04:00
Henrik Rydgård
fcd11dfd4c
Update a comment
2023-05-04 09:49:14 +02:00
Henrik Rydgård
3148a8a437
PopupMultiChoiceDynamic: Check that valueStr_ isn't null before writing to it. Don't see how this happened.
2023-05-04 08:59:12 +02:00
Bashar Astifan
b75cf52909
Fixed Path issue
2023-05-04 05:48:14 +04:00
Henrik Rydgård
a132b72ba1
Paranoia
2023-05-04 01:24:31 +02:00
Henrik Rydgård
1d053d2ea8
GLPushBuffer::Flush: Add debug-assert-and-bail prompted by suspicious callstack
2023-05-03 23:49:41 +02:00
Henrik Rydgård
5724bbd8e9
Correct size calculations in GLPushBuffer. I don't see how this failed as badly as in that crash report though...
2023-05-03 23:49:41 +02:00
Henrik Rydgård
c9b7c815a1
~GPU_Vulkan: Check that we still have a draw_ pointer before trying to drain the compile queue.
2023-05-03 22:33:34 +02:00
Bashar Astifan
132a00ade3
Merge branch 'master' into master
2023-05-03 23:23:29 +04:00
Henrik Rydgård
2cca0b265e
Vulkan: Turn off the ubershader on T880, T860 and T830 on old driver versions.
2023-05-03 11:53:32 +02:00
Bashar Astifan
808ff28aa5
Free space and other fixes
...
- Fixed freespace value
- added back BOOTABLE case to BROWSE_FOR_FILE
- Fixed fake folder info
- Fixed some code formating
2023-05-03 13:04:07 +04:00
Henrik Rydgård
aff455a7e6
Merge pull request #17391 from hrydgard/key-bind-popup-workaround
...
Better (but not great) workaround for key bindings that pop up dialogs.
2023-05-03 08:33:01 +02:00
Henrik Rydgård
52b7bf502f
Merge pull request #17392 from hrydgard/misc-crash-fixes
...
Misc crash fixes from mystery thread
2023-05-02 23:41:32 +02:00
Henrik Rydgård
97488c0a79
Vulkan: Before cleaning the shader managers, drain the shader compile queue.
...
Mainly paranoia, but might help with the mutex crash from #17364
2023-05-02 22:05:28 +02:00
Henrik Rydgård
c037f6731d
Better (but not great) workaround for key bindings that pop up dialogs.
2023-05-02 21:36:17 +02:00
Henrik Rydgård
919979eece
Disable excessive logging
2023-05-02 11:40:50 +02:00
Henrik Rydgård
ee7e8d7c06
Add a unit test, fix listing zip directories
2023-05-02 11:35:45 +02:00