Commit Graph

1937 Commits

Author SHA1 Message Date
Unknown W. Brackets
7fffe1d885 Vulkan: Verify scissor as well.
Vulkan spec requires both are set - we do set both, so let's catch any
mistakes.
2020-05-17 21:23:32 -07:00
Unknown W. Brackets
d295feda82 Vulkan: Add asserts to catch no viewport render.
Also assert to prevent a sync outside a frame, which goes badly.

The curRenderStep_ reset on same fb made some debugging easier, but should
not actually be hit in any real case.
2020-05-17 21:01:08 -07:00
Unknown W. Brackets
059e2e5e16 Vulkan: Stop merge at clear/touched read only.
Before we would merge on a future render after a clear, which can't be
good.  But we can safely ignore a draw to another FB that reads from a
touched FB.
2020-05-17 15:04:21 -07:00
Unknown W. Brackets
112a58cb1a Vulkan: Make merge pass a bit easier to read. 2020-05-17 14:53:37 -07:00
Unknown W. Brackets
caf9d39fec GLES: Fix invalidation of backbuffer.
And of the stencil buffer.
2020-05-17 11:06:39 -07:00
Unknown W. Brackets
47bc11a682 Vulkan: Generalize dependency tracking.
Might as well track on all steps.  We also can know if the dst was fully
written to here.
2020-05-17 11:06:39 -07:00
Unknown W. Brackets
a36239473d GLES: Add dependency tracking for render passes.
Let's try to invalidate when it's possible.  We move the invalidate to the
end of the render when detected.
2020-05-17 11:06:39 -07:00
Henrik Rydgård
9ed9468d72 Make the IsValidPBP DISC_ID check a bit more lenient. Fixes an issue where some homebrew would no longer show in the list. 2020-05-17 15:12:38 +02:00
Unknown W. Brackets
d88099e701 GLES: Specify buffer type just to be safe.
Probably doesn't matter, but maybe some drivers take it as a hint?
2020-05-16 23:48:56 -07:00
Henrik Rydgård
4bf92a66c5 Thin3D: use 16-bit indices. Fixes #12898. 2020-05-15 18:07:07 +02:00
Unknown W. Brackets
8b4821bc05 Draw: Small optimization to callback.
This allows the callback to say "I didn't copy, please copy for me."  This
helps when additional conversions will be applied during the copy, or a
copy can be skipped.

Also, fixed a couple cases of the wrong mip level being used.
2020-05-13 20:30:24 -07:00
Unknown W. Brackets
cb0f8cb373 D3D11: Allow pixel shader uniforms in Draw. 2020-05-13 18:10:09 -07:00
Unknown W. Brackets
8fdc557040 D3D9: Attempt PS/VS 3.0 if it doesn't work with 2.
So that postshaders can work.  Downside is, if we write a UI shader that
requires 2.0, we may not notice... but I think the risk is not that high.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
762b656ea2 GPU: Use a texture directly for MakePixelTexture.
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
f9697c2c32 Vulkan: Allow frag shader UBO reads. 2020-05-13 18:10:09 -07:00
Unknown W. Brackets
e309712fed Vulkan: Correct missing offsets in Draw.
Was silently ignoring them.  Caused stretch in postshaders.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
ddd3af2297 Draw: Actually use the index offset parameter.
I'm not sure we need it, but having a param used only on one backend is
confusing.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
b91b7aaa0a Draw: Enable backwards compat on D3D11 shaders.
To match/support postshaders.
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
c025eab86e Draw: Add more uniform types.
Only because we might have float a[2]; float b[2];...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
9b8157f624 Draw: Allow specifying a tag on shaders.
This way they are not always "thin3d" when using Draw.
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
a03e368566 GPU: Move cardboard/etc. to PresentationCommon.
Now this works on softgpu as well.

Some hacks for backend differences...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
61cca61d0c Vulkan: Fix Draw usage of framebuffers. 2020-05-13 18:07:25 -07:00
Henrik Rydgård
f23dd7635c
Merge pull request #12882 from hrydgard/vulkan-fix-renderpass-opt
Vulkan: Don't merge render passes where the second one begins with a clear.
2020-05-11 00:18:59 +02:00
Henrik Rydgård
a34c773b13 Vulkan: Don't merge render passes where the second one begins with a clear.
God of War optimization survives this check, thankfully.

Force Unleashed doesn't, but meh, it's not as bad there anyway.
2020-05-10 23:10:57 +02:00
Unknown W. Brackets
03fc86a147 UI: Return to game settings after restart.
This is more convenient.  Also restarts the game if needed.

Added a way to pass args to Android here as well, and fixed displaying an
error if the shortcut file doesn't exist on Android (like if you deleted
it after creating the shortcut.)
2020-05-09 13:53:42 -07:00
Unknown W. Brackets
dddaa57392 Windows: Fix GL reinit on backend switch. 2020-05-09 12:20:42 -07:00
Henrik Rydgård
15a785cacb
Merge pull request #12840 from unknownbrackets/android-osk
Android: Don't cache env in text drawer
2020-04-20 09:12:02 +02:00
Unknown W. Brackets
418e881f14 Android: Don't cache env in text drawer.
For PPGe, the thread is changing on lost, so we can't use the cached env.
2020-04-19 15:40:48 -07:00
Henrik Rydgård
e62c669f10 GLES: Disable range culling on old Tegras, they seem to misbehave (see issue #12838).
This is a blind fix - couldn't find my old Shield Portable :(
2020-04-19 18:43:20 +02:00
LunaMoo
a0fef4136a Fix SDK requirements of Atlas and Zim tools. 2020-04-05 16:56:08 +02:00
Aaron Kling
a7f2415469 libretro: Fix Android builds
Text Drawer functionality is not available in libretro as it
depends on standalone jni calls. InputBox is also standalone only
gui functionality.
2020-04-03 09:59:16 -05:00
Henrik Rydgård
e8d6a605eb
Merge pull request #12748 from orbea/libpng
cmake: Improve building with the system libpng.
2020-04-01 12:57:52 +02:00
Henrik Rydgård
3838a1c94f Support drawing around notches on Android displays. Fixes #12261 2020-03-31 00:47:01 +02:00
iota97
d89a858dcd Rember cheat scroll position 2020-03-26 10:59:08 +01:00
Unknown W. Brackets
3bc59b0ef7 Windows: Fix strange build error. 2020-03-23 08:14:36 -07:00
Unknown W. Brackets
89595e0d8f UI: Translate HAT and left analog the same way.
Before, we were resetting our HAT state for each axis we got, so we'd act
like you pressed the arrow more times for each axis your device has.

A similar thing was possible if you had multiple pads.
2020-03-23 07:58:24 -07:00
orbea
c8c7889f0f cmake: Improve building with the system libpng.
This also now requires at least libpng16 instead of libpng17.

v2: Require libpng17 on arm platforms.
v3: Fix the android and windows travis builds.
2020-03-22 18:43:51 -07:00
Unknown W. Brackets
b9795057cf Osk: Correct UCS2 conversion.
String end was calculated incorrectly.
2020-03-22 18:34:03 -07:00
Henrik Rydgård
1ad65c7c7a Remove some more uint16_t 2020-03-22 21:28:06 +01:00
Henrik Rydgård
d6ba1b7f99 More correctly handle UCS2 encoding. 2020-03-22 19:29:25 +01:00
Henrik Rydgård
bb30169c88 Address feedback 2020-03-22 19:20:23 +01:00
Henrik Rydgård
d1196f2fc0 Support a few more wstring functions on non-windows platforms, due to the armips assembler. 2020-03-22 17:03:49 +01:00
Henrik Rydgård
75cdc11fdb Text input: Clearly use 16-bit chars like the PSP, don't rely on wchar_t. 2020-03-22 16:44:19 +01:00
Henrik Rydgård
0faa3f2ce3
Merge pull request #12743 from unknownbrackets/ui-minor
UI: Disable render dup frames where it can't work
2020-03-22 11:37:19 +01:00
Unknown W. Brackets
da9158b34b UI: Allow startup without UI assets.
On platforms where we render fonts, it is at least somewhat usable without
assets.  A much better experience than a segfault.

On other platforms, it'll probably be mostly unusable, but you can already
get that with an old/wrong assets file.
2020-03-21 21:35:43 -07:00
Unknown W. Brackets
c65bfdffc6 UI: Avoid crash when atlas metadata is missing.
See #12722.
2020-03-21 21:10:20 -07:00
Unknown W. Brackets
3b05e839e1 UI: Disable render dup frames where it can't work.
Fixes #12724.
2020-03-21 18:33:54 -07:00
Henrik Rydgård
b3c111399e
Merge pull request #12725 from unknownbrackets/ppge-text
Qt: Correct DPI accounting in font rendering
2020-03-18 09:59:29 +01:00
Unknown W. Brackets
22c8ef0b07 Qt: Correct DPI accounting in font rendering.
Like Android, we'll increase the font size at higher DPI.
2020-03-17 20:25:37 -07:00
orbea
ee918a4535 cmake: Disable discord-rpc for libretro builds. 2020-03-17 12:32:07 -07:00
Henrik Rydgård
ccd62e7612
Merge pull request #12708 from unknownbrackets/i18n-lock
Core: Use a lock for i18n categories
2020-03-15 17:30:06 +01:00
M4xw
fe32ad88fb Core: Add some libnx calls for Switch. 2020-03-15 07:56:38 -07:00
Unknown W. Brackets
7404592431 Core: Use a lock for i18n categories.
Also for the missed key log.
2020-03-14 22:57:20 -07:00
Henrik Rydgård
d0e2aa3a4f
Merge pull request #12702 from unknownbrackets/ppge-text
PPGe: Use TextDrawer for save UI if available
2020-03-11 17:26:50 +01:00
Unknown W. Brackets
51b94a9c9c Core: Quiet some warnings. 2020-03-10 22:19:59 -07:00
Unknown W. Brackets
08a6047768 PPGe: Show ellipsis for overly long lines.
To match PPGE_LINE_USE_ELLIPSIS when using TextDrawer.
2020-03-10 21:30:53 -07:00
Unknown W. Brackets
6652fe261f PPGe: Use TextDrawer for save UI if available.
This should result in better spacing for non-Latin characters, and less
missing letters.  Basically the same benefits as for the UI.
2020-03-10 21:30:53 -07:00
Unknown W. Brackets
fbf4769ea6 PPGe: Support 8-bit text bitmaps from TextDrawer. 2020-03-10 21:30:50 -07:00
Unknown W. Brackets
5141dc7e91 PPGe: Allow overriding text drawer DPI scale. 2020-03-10 21:29:01 -07:00
Unknown W. Brackets
70b07f20c9 Qt: Cleanup differences in text hashing.
We don't want to use just adler to cache strings.  Also, port over the DPI
handling to be consistent.  Not tested.
2020-03-10 21:29:01 -07:00
Unknown W. Brackets
85d2702304 UI: Refactor TextDrawer to provide bitmaps too. 2020-03-10 21:28:46 -07:00
Henrik Rydgård
d527e5913f
Merge pull request #12697 from unknownbrackets/http
http: Correct new thread executor
2020-03-10 09:54:58 +01:00
Unknown W. Brackets
bf83bb1e47 http: Correct new thread executor.
It needs to be able to handle N new threads, oops.
2020-03-09 19:57:15 -07:00
Henrik Rydgård
819c62e21e Android: Fix upside-down joystick navigation (due to an old sin).
(Android's joystick Y axis is upside down, and we should have corrected it on the Java
side instead of in all our mappings everywhere).
2020-03-10 01:04:26 +01:00
Unknown W. Brackets
a3e12f4242 Android: Process input prompts more clearly.
This way, the processing is generally inline or explicitly a callback.
There's also less parsing issues since all the parsing is centralized.
2020-03-08 20:45:01 -07:00
Unknown W. Brackets
efceb031ce UI: Make System_InputBox API asynchronous.
Doing this as a precursor to cleaning up the Android madness.
2020-03-08 18:59:17 -07:00
Unknown W. Brackets
09dc2ea3eb
Merge pull request #12686 from hrydgard/vulkan-inflight-frames-leak-fix
Vulkan: Fix minor vulkan resource leak if inflight frames isn't max.
2020-03-08 12:41:49 -04:00
Henrik Rydgård
b0b9e24d4e Vulkan: Fix minor vulkan resource leak if inflight frames isn't max. 2020-03-08 17:14:14 +01:00
Henrik Rydgård
6fc073ffa7 UI: Simple joystick navigation. Fixes #10996. 2020-03-08 16:52:15 +01:00
Henrik Rydgård
34456773c6 Comment fix 2020-03-08 16:27:01 +01:00
Henrik Rydgård
c176c6c114 Also move out the global stuff from view.cpp/h to root.cpp/h 2020-03-08 15:16:32 +01:00
Henrik Rydgård
271f79ea63 UI: Break out the hierarchy functions into ui/root.cpp/h 2020-03-08 14:49:29 +01:00
Henrik Rydgård
8f623be3ea
Merge pull request #12674 from hrydgard/upgrade-glslang
Update the glslang submodule, fix the build afterwards.
2020-03-05 07:49:35 +01:00
Unknown W. Brackets
693c9bbae2 Android: Fix glslang include path. 2020-03-04 20:02:31 -08:00
Henrik Rydgård
527f2b52d8 Add the glslang include path in another place 2020-03-04 21:13:17 +01:00
Henrik Rydgård
618881c96d
Merge pull request #12675 from iota97/atlas-tool
Fix atlas tool build on linux
2020-03-04 21:11:53 +01:00
Unknown W. Brackets
11e828053b http: Avoid detach() in webserver code.
Should make debugger server more viable on Switch.  Also fixes a leak.
2020-03-03 23:08:34 -08:00
Unknown W. Brackets
cb1b7b1e43 Core: Bring over some file related Switch changes.
Reducing the distance from the Switch port code.
2020-03-03 22:53:03 -08:00
Henrik Rydgård
7f86dc2605 Another attempt 2020-03-04 01:18:20 +01:00
iota97
7dcb80a7fe Fix atlas tool build on linux 2020-03-03 23:52:56 +01:00
Henrik Rydgård
db4511c9f5 Also try to fix the legacy Android build. 2020-03-03 23:26:09 +01:00
Henrik Rydgård
f8a0ba3b86 Update the glslang submodule, fix the build afterwards. 2020-03-03 22:19:32 +01:00
Unknown W. Brackets
051a84e9bd GPU: Restart when changing inflight frames setting.
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Henrik Rydgård
63f06cdd91 Address some feedback, thanks unknown 2020-03-01 18:41:09 +01:00
Unknown W. Brackets
98df4bbec3 GPU: Allow choosing number of inflight frames. 2020-03-01 08:53:46 -08:00
Unknown W. Brackets
a91e206926 GPU: Add setting to control inflight frame usage. 2020-03-01 06:21:27 -08:00
Henrik Rydgård
25dcf8dd8d Warning fixes 2020-03-01 14:15:10 +01:00
Henrik Rydgård
0da04f3694 Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK).
Fixes #12615.

Will make finishing #10654 worthwhile.
2020-03-01 14:07:13 +01:00
Henrik Rydgård
4c392c6473 Fix bug in atlas gen.
(Due to the squash and some reordering, the previous commit already
includes fixed metadata)
2020-03-01 12:06:47 +01:00
Henrik Rydgård
45d94c4877 Switch all images to dynamic lookup in the atlas by string ID.
SLN fix

It works, but with the wrong images and the wrong characters!

Fix another bug in atlastool's binary output

Get Android building again.

Oops, didn't mean to disable this permanently.

Error checking

Minor cleanup

Gotta tweak my git ignores...

Regenerate metadata
2020-03-01 12:06:47 +01:00
Henrik Rydgård
db24b5ac39 Modify atlas generator to output binary metadata 2020-03-01 12:04:50 +01:00
Henrik Rydgård
2ec82951a0
Merge pull request #12659 from unknownbrackets/vsync
Support vsync in all hardware backends, support runtime update
2020-03-01 09:52:14 +01:00
Unknown W. Brackets
3c1e8abcfe GPU: Centralize vsync interval logic.
We already do unthrottle checking here.
2020-02-29 22:27:00 -08:00
Henrik Rydgård
aea3cf74f0 Remove support for "lowmem" UI atlas. Had to regenerate unfortunately. 2020-02-29 19:00:52 +01:00
Henrik Rydgård
1460d94849 And 2017 again... 2020-02-29 18:52:10 +01:00
Henrik Rydgård
d35fd5040d Delete unused support for ETC1 texture compression 2020-02-29 17:50:35 +01:00
Henrik Rydgård
9a6e9aff11 And fix it on 2019... 2020-02-29 17:13:27 +01:00
Henrik Rydgård
e4cf97557a Recreate the VS projects in 2017 2020-02-29 16:56:28 +01:00
Henrik Rydgård
d80ec881c1 Code cleanup 2020-02-29 15:24:22 +01:00
Henrik Rydgård
1a1a5a87bd More VS2017 compat 2020-02-29 15:21:41 +01:00
Henrik Rydgård
daa55ac074 Reformat the atlastool/zimtool source, fix warnings. 2020-02-29 14:57:37 +01:00
Henrik Rydgård
a5af7e9b70 Atlastool/zimtool: Try not to require VS 2019. 2020-02-29 14:48:21 +01:00
Henrik Rydgård
2bf92c5d97 Atlastool/zimtool: Make it easy to build these on Windows (prebuilt submodule) 2020-02-29 12:19:08 +01:00
Unknown W. Brackets
5009698cc0 Core: Use a shared_ptr for i18n categories.
This does not make them thread safe, but it reduces the chances of a crash
a bit (see #12594.)
2020-02-09 07:35:16 -08:00
Henrik Rydgård
a4ba5d4859 HttpClient/Buffer: Just some tweaks/sanity checks
After a mysterious crash report by Azuka on Discord.
2020-02-07 00:09:42 +01:00
李通洲
55bb58e13e
NativeApp: add System_GetPropertyFloat all the places 2020-02-04 09:20:34 +08:00
李通洲
0a2aa2c3af
Qt/macOS: enable HiDPI ( retina display ) support 2020-02-04 09:20:34 +08:00
Florin9doi
2b57d2365f Android satellites info 2020-01-26 09:22:24 +02:00
Florin9doi
5fbf2d7713 Add camera/location support for iOS
Add front camera support for Android
Allow to change the active camera in-game
2020-01-25 16:54:45 +02:00
Henrik Rydgård
81b42df7c2 D3D11: Fix mistake in UI vertex shader for non-textured geometry. Fixes #12587. 2020-01-20 22:54:28 +01:00
Henrik Rydgård
52156ec4e5
Merge pull request #12550 from unknownbrackets/win-long-path
Attempt support for Windows long paths
2020-01-11 23:32:38 +01:00
Davee Morgan
e7ec568b02 PRX Decryption: add missing decryption keys 2020-01-11 15:25:37 +00:00
Davee Morgan
1d7bbdd006 PRX Decryption: add support for type 0/1/2/5/6 decryption 2020-01-11 15:00:07 +00:00
Unknown W. Brackets
61e4818419 Windows: Allow long path for sys directory.
Unlikely, though.
2020-01-04 11:04:33 -08:00
Henrik Rydgård
26ab81c102 vulkan: The GPU profiler could end up writing massive amounts of text, fix some bugs around that. 2019-11-30 23:03:30 +01:00
Henrik Rydgård
fc34a93ac2 vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers. 2019-11-30 23:02:08 +01:00
Henrik Rydgård
6c8186d046 Remove unused textureswizzle support (we use shaders instead). Universally support presenting 5551 format directly. 2019-10-27 20:55:32 +01:00
Henrik Rydgård
4f7c23fe79 DarkStalkers: Fix display on OpenGL ES. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
796539ad7f DarkStalkers: Fix display in the D3D backends. Still broken in OpenGL. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
58568632e8 Software renderer: Use hardware color conversion on Vulkan in 5551 16-bit mode 2019-10-27 20:54:36 +01:00
Henrik Rydgård
4d6a4beae1 Text drawing fixes 2019-10-24 23:07:57 +02:00
Henrik Rydgård
46447c9e90 Correct the wrong GL DataFormat enums 2019-10-24 23:01:45 +02:00
Henrik Rydgård
9e607fdeb1 GL: remove another unused format 2019-10-24 22:49:36 +02:00
Henrik Rydgård
fcfeda653d Reduce GL texture format support to the ES minimum. We have to handle these anyway so let's only have one path. 2019-10-24 22:47:22 +02:00
Henrik Rydgård
8c2e318416 OpenGL dataformat cleanup - pass Draw::DataFormat to the GLRenderManager.
Avoids triple GLenum all over the place, and also clearly shows that the
mapping is wrong.
2019-10-24 22:41:41 +02:00
Henrik Rydgård
767b1e45b2 Fix the build - there's a Vec3 name collision, fixed it using a namespace. 2019-10-22 22:58:10 +02:00
Henrik Rydgård
c7b3a08cf3 Vulkan: Add checks so we don't try to write NULL objects to a descriptor set.
(Shouldn't happen, but bad rendering is better than a crash in descriptor writing)
2019-10-20 17:05:42 +02:00
Henrik Rydgård
70c0a12b2b Fix name collision on iOS build 2019-10-13 21:25:16 +02:00
Henrik Rydgård
5adb61a5f2 Move the viewport clamping back to rendermanager to avoid a struct copy in the common case. 2019-10-13 21:25:16 +02:00
Henrik Rydgård
7c0470e061 Fix misplaced break 2019-10-13 21:25:16 +02:00
Henrik Rydgård
87c1ce6fa2 Vulkan: Move viewport/scissor rotation to the QueueRunner instead of RenderManager. Add some checks. 2019-10-13 21:25:16 +02:00
Henrik Rydgård
1e3711ee66 Vulkan blend factor: Bugfix and minor optimization 2019-10-13 21:17:29 +02:00
Henrik Rydgård
1f742fd07a UI: Better way of showing game/savedata images. Fixes #12408 2019-10-11 17:34:38 +02:00
Unknown W. Brackets
c30bc4ee7d SDL: Add UI to reset audio device at runtime. 2019-10-07 20:16:19 -07:00
Henrik Rydgård
83c349a92b
Merge pull request #12334 from hrydgard/vulkan-gpu-profile-cpu
Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers.
2019-10-07 21:43:48 +02:00
Henrik Rydgård
13f87301cf
Merge pull request #12371 from unknownbrackets/thread-detach
Avoid thread.detach(), join when needed instead
2019-10-07 20:27:42 +02:00
Henrik Rydgård
8e44230d70
Merge pull request #12394 from unknownbrackets/remote-iso
Allow pinning URLs to game browser
2019-10-07 20:04:40 +02:00
Henrik Rydgård
cb8c57f8e3
Merge pull request #12370 from unknownbrackets/switch
Pull some base parts of the Switch PR
2019-10-07 20:01:36 +02:00
Unknown W. Brackets
d00eff7137 UI: Allow pinning remote ISO paths. 2019-10-06 12:40:00 -07:00
Unknown W. Brackets
e5eb849e8b UI: Handle remote browsing asynchronously. 2019-10-06 12:06:57 -07:00
Unknown W. Brackets
2d7ce0afa3 UI: Allow remote paths to be pinned.
Currently, the listing request is synchronous, but it works fine
otherwise.
2019-10-06 09:31:06 -07:00
Henrik Rydgård
0698944752 Fixes 2019-10-06 00:20:49 +02:00
Unknown W. Brackets
987448577f UI: Join downloads on destruct. 2019-09-28 11:40:10 -07:00
M4xw
15a9a0ac8f Switch: Cleanup some includes.
Disable dlopen and tty checks too.
2019-09-28 09:22:38 -07:00
M4xw
a8213e80f7 Switch: Disable IPv6. 2019-09-28 09:08:32 -07:00
Henrik Rydgård
9e7625c74b Workaround for a crash found in #12358 on older devices 2019-09-28 01:11:06 +02:00
Henrik Rydgård
9d65ff8873 Silence a few warnings. 2019-09-24 23:10:18 +02:00
Henrik Rydgård
e6a76e2956 Vulkan: Update API headers.
Mostly to get VK_EXT_exclusive_fullscreen for later.
2019-09-23 23:38:18 +02:00
Henrik Rydgård
2467fddc01 Vulkan GPU profiler: Measure the CPU time spent on the render thread recording command buffers. 2019-09-18 00:16:08 +02:00
Henrik Rydgård
50920266d1 Remove some logging, add a comment. 2019-09-17 10:52:28 +02:00
Henrik Rydgård
0462c01228 Workaround ARM Mali depth hardware bug. Fixes #11937
When triangles coincide with the Z=1 plane in specific ways, triggered
by Burnout Legends' sky for example, the depth buffer gets corrupted.

This is worked around here by slightly rescaling Z. This type of
workaround is recommended by ARM driver engineers.

Ugly but what can you do when the hardware is bugged. I've done quick
tests on a number of games with no issues.
2019-09-08 23:44:26 +02:00
Henrik Rydgård
2439c3efb1
Merge pull request #12306 from hrydgard/mali-driver-version-detection
Improve Mali driver version detection
2019-09-04 22:45:34 +02:00
Henrik Rydgård
025a9f4dae Improve Mali driver version detection 2019-09-04 21:46:07 +02:00
Henrik Rydgård
ab3c9fc21f Vulkan: Move scissor/viewport rotation into the VulkanRenderManager. Fixes #12303. 2019-09-03 23:26:44 +02:00
Henrik Rydgård
3af7229abc Bump up the descriptor pool size for the UI. Should fix #12299. 2019-09-02 18:39:10 +02:00
Henrik Rydgård
7bb6febc32 Add a few more checks. 2019-08-22 09:23:02 +02:00
Henrik Rydgård
05b2e11c5c Vulkan: Prevent some bad merging of renderpasses. Thanks Unknown for writing it up. 2019-08-21 21:30:36 +02:00
Henrik Rydgård
773cb5fa70 Stop renderpass merging at readbacks. 2019-08-21 21:13:56 +02:00
Henrik Rydgård
597b034b5c Minor optimization 2019-08-21 20:32:23 +02:00
Henrik Rydgård
93412aff3b Vulkan: Automatically merge render passes to the same target when possible.
Should speed things up a bit on mobile in some games that do stupid
things like GoW. Currently only enabled in GoW, but plan to enable this
globally as it should be quite cheap when nothing is detected.
2019-08-21 20:32:23 +02:00
Henrik Rydgård
e3f1e563f2 Improve renderpass profiling descriptions a little 2019-08-21 18:31:01 +02:00
Henrik Rydgård
66609b395f Vulkan: Profile individual render passes/steps. 2019-08-21 16:47:46 +02:00
Henrik Rydgård
06a71fdf49 Get rid of numQueries 2019-08-21 10:30:57 +02:00
Henrik Rydgård
5fcac1a9e2 Vulkan: Disable some bad validation. Things are right and work fine. 2019-08-21 10:23:36 +02:00
Henrik Rydgård
19a443819b Bugfixes to VK gpu profiling. Properly get the valid bits. 2019-08-21 09:02:40 +02:00
Henrik Rydgård
653afeb7ab Vulkan: Implement basic integrated GPU profiling.
Currently simply measures the total GPU time of the frame. Will later be
extended to get the execution time of individual render passes.
2019-08-21 00:03:00 +02:00
Unknown W. Brackets
010da8080c UI: Fix crash with no buttons in popup. 2019-08-18 12:00:21 -07:00
Unknown W. Brackets
4e3e00302b
Merge pull request #12253 from unknownbrackets/ui-hostname
Cleanup UI hostname entry
2019-08-18 10:33:08 -07:00
Unknown W. Brackets
30dcc2a13a UI: Validate address entered in settings. 2019-08-18 10:12:22 -07:00
Unknown W. Brackets
f52afb48ac UI: Cleanup hostname entry to use a dialog. 2019-08-17 17:18:43 -07:00
Unknown W. Brackets
8d3a4fae8e iOS: Ignore gl3stubInit() on iOS, to avoid warnings.
It always returns true anyway.
2019-08-17 12:01:22 -07:00
Unknown W. Brackets
3e51fc5a89 GPU: Avoid some unused var/func warnings. 2019-08-17 12:01:22 -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
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
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
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
Cameron Cawley
ba7ea39a1c Move NKCodeFrom*.h into the relevant platform folders 2019-08-06 16:12:19 +01:00
Henrik Rydgård
75e2366a6d Vulkan: Actually fix #12202, an array was out of scope where it was used, causing garbage flags. 2019-08-01 17:46:46 +02:00
Henrik Rydgård
3d6bd6f0df Vulkan: Using VK_DEPENDENCY_BY_REGION on the backbuffer subpass causes tearing, let's not do it. Fixes #12202. 2019-08-01 14:56:58 +02:00
Henrik Rydgård
719aebfb8c Android: Disable building HLSL support in glslang, works around #12105 2019-07-23 22:57:06 +02:00
Unknown W. Brackets
c77f5da9ea Config: Don't save empty sections. 2019-07-14 15:07:13 -07:00
Unknown W. Brackets
ecf509c362 Config: Add game name to game-specific inis. 2019-07-14 15:07:03 -07:00
Unknown W. Brackets
c3ae97e237 Travis: Build Windows on Travis too. 2019-07-06 14:56:29 -07:00
Silent
2479427992
Windows: Properly check for hidden files when enumerating files 2019-07-02 19:17:52 +02:00
Henrik Rydgård
c5b9e9f718 Comment some confusing code 2019-06-25 21:37:40 +02:00
Henrik Rydgård
6cf97c4cee
Merge pull request #12123 from unknownbrackets/http-redirect
Support HTTP redirects in downloads
2019-06-24 12:28:09 +02:00
Henrik Rydgård
44685a7318
Merge pull request #12125 from unknownbrackets/debugger
Debugger: Fix subtexture readback crash
2019-06-24 06:52:27 +02:00
Unknown W. Brackets
3de796779c Debugger: Fix subtexture readback crash.
When the texture image is scaled, we don't properly know its size, so we
were allocating too small of a buffer.  Since this is only used for
debugging, let's just get the actual texture size.
2019-06-23 15:30:30 -07:00
Unknown W. Brackets
94e6950d48 http: Support redirects for load URL too.
Might as well, especially to keep old recent entries working.
2019-06-23 13:12:13 -07:00
Unknown W. Brackets
c5e2c0e6cd http: Support relative redirects too.
Per HTTP/1.1.
2019-06-23 12:22:10 -07:00
Unknown W. Brackets
17bc6a5a2d http: Support redirects for downloads. 2019-06-23 12:04:59 -07:00
Unknown W. Brackets
8c282db225 UI: Clear queued events on Event destruct.
May help a crash seen in #11890.
2019-06-23 11:13:14 -07:00
Unknown W. Brackets
65ac59021c Debugger: Fix connection in Firefox.
Firefox now requires HTTP/1.1 or higher, which is reasonable since 1.0 is
ancient.  The Upgrade response and WebSocket protocol handling are all
HTTP/1.1 safe, so let's just support both versions.
2019-06-22 22:09:05 -07:00
Henrik Rydgård
b8bde71efe Address feedback, delete some unused code. 2019-06-22 22:15:09 +02:00
Henrik Rydgård
ee294251c9 Fix the 270 degree rotation case 2019-06-21 11:58:41 +02:00
Henrik Rydgård
e943724905 Vulkan: Apply the desired pretransform when drawing to the backbuffer.
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099.
2019-06-21 09:38:51 +02:00
Henrik Rydgård
8db14a3f67 Buildfix for cmake builds 2019-06-20 23:32:51 +02:00
Henrik Rydgård
2ed535af29 Update SPIRV-Cross 2019-06-20 00:41:47 +02:00
Henrik Rydgård
04335fe0f8 Upgrade glslang to latest 2019-06-20 00:35:19 +02:00
Henrik Rydgård
b7f43c265b Vulkan: Upgrade to latest headers 2019-06-20 00:30:08 +02:00
Henrik Rydgård
eb3faf5370 Fix some further static analysis warnings 2019-06-18 01:08:25 +02:00
Henrik Rydgård
a0dc85a9d7 Fix a bunch of inconsequential uninitialized variables 2019-06-18 00:18:40 +02:00
driver1998
2db67e1705 TextDrawerUWP: oops, forgot to release the objects used. 2019-06-07 21:50:00 +08:00
driver1998
eb9581b43e UWP: fix && in English UI labels 2019-06-07 05:40:06 +08:00
driver1998
8fab38ecdd TextDrawerUWP based on DirectWrite 2019-06-07 05:20:21 +08:00
Silent
6639a550f1
Improve WordWrapper:
- When wrapping before word, left trim whitespaces to prevent newlines from starting indented
- Change lastLineStart_ to size_t to cut down on nasty typecasts
- Replace operator += with explicit call to append to make intent more clear and reduce memory allocations
2019-05-30 19:24:31 +02:00
Silent
bb2ba8086b
Improved Show in Folder:
- Not spawning cmd.exe anymore, rather using the same way Chromium does to spawn a shell window with a file focused
- Hid a nonfunctional "Show In Folder" button for UWP builds
2019-05-23 19:59:08 +02:00
Henrik Rydgård
efa1406d8f VS2017: Add hack to automatically select the newest installed Windows 10 SDK. VS2019 already does this by default if you specify 10.0.
Should hopefully fix the buildbot.
2019-05-19 15:23:25 +02:00
Cameron Cawley
8afc2b72ef Remove base/arch.h 2019-05-15 20:06:23 +01:00
driver1998
eb99044a4f Fix d3d11_loader on x86 2019-05-12 11:17:54 +08:00
driver1998
21d2008676 Use D3DCompiler_47.dll for D3D9 context. 2019-05-12 11:17:10 +08:00
Henrik Rydgård
a7ab5d5dba Oops, missed these two 2019-05-10 23:46:31 +02:00
Henrik Rydgård
ff65b813d9 Assorted warning fixes 2019-05-10 23:26:34 +02:00
Henrik Rydgård
2f26297062 Clean up some more ifdefs 2019-05-10 23:25:57 +02:00
Henrik Rydgård
20d666ff55 Remove DbgNew.h forced include in ARM debug builds, doesn't work for some reason. 2019-05-10 23:18:31 +02:00
Henrik Rydgård
1f40aa4828 Add WindowsSDKDesktopARM64Support to vcxproj files 2019-05-10 22:44:12 +02:00
Henrik Rydgård
22d9ab4dbe Fix #12023, accidental disabling of the GL backend on non-Windows ARM platform caused by #12013. 2019-05-09 23:59:29 +02:00
Henrik Rydgård
c3fab33354 Revert "Remove default SDK version from project files"
Seems to have been the wrong thing to do, see:
https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html

Though due to the bug described there, there's no perfect solution, just
some ugly ones (which I might try later). Anyway, I guess most people
will move on to VS 2019 anyway..

This reverts commit 056494522e.
2019-05-09 23:58:23 +02:00
Henrik Rydgård
989b564fa4 Game server: Reject bad URLs 2019-05-07 21:47:50 +02:00
driver1998
0b714f599f Update .gitignore 2019-05-04 23:54:36 +08:00
driver1998
0aa33d53c0 Disable features not available on Windows ARM32/ARM64
ARM32: OpenGL & DirectInput
ARM64: OpenGL
2019-05-04 22:45:16 +08:00
driver1998
04744f28d6 Fix ssize_t in libzip for Windows ARM64 2019-05-04 22:45:16 +08:00
driver1998
392918d7ef Add Crash() for Windows ARM64 2019-05-04 22:45:15 +08:00
driver1998
5072584781 Fix neon headers for MSVC ARM64
MSVC uses arm64_neon.h for ARM64, arm_neon.h is ARM32 only.
2019-05-04 22:45:15 +08:00
driver1998
763b85d723 Update Visual Studio project files for Windows ARM32/ARM64 2019-05-04 22:45:15 +08:00
LunaMoo
056494522e Remove default SDK version from project files 2019-04-27 23:01:41 +02:00
LunaMoo
280f7fec39 Fix VS2019 builds and remove _xp dependency
(drops Win XP support, allows latest SDK etc.)
2019-04-25 23:56:55 +02:00
Henrik Rydgård
ed1aa74827 Address feedback from #11936 (support memory types without CACHED as a backup) 2019-03-26 10:39:51 +01:00
Henrik Rydgård
60889767bf Vulkan: Request cached memory for readbacks. First try coherent too but also support non-coherent cached memory.
Should speed up readbacks slightly.

This is just a common sense optimization, I haven't measured it. Writes to
coherent non-cached memory is OK due to hardware write combining, but for
reads you really want cached to avoid a memory transaction for every
single read (instead reading full cache lines).
2019-03-25 21:40:25 +01:00
Henrik Rydgård
703fdc5561 MSVC project files: Fix silly search/replace error from #11883 2019-03-24 11:17:47 +01:00
Unknown W. Brackets
c7c45f0aca http: Fix warning on compare in url decode. 2019-03-23 07:25:58 -07:00
Henrik Rydgård
b0048525a1
Merge pull request #11884 from hrydgard/vulkan-buffer-usage
Vulkan: Tighten up push buffer usage flags a little bit.
2019-03-18 11:17:49 +01:00
Henrik Rydgård
7790e61b12
Merge pull request #11866 from unknownbrackets/keyup
UI: Pass touch/button releases to all screens
2019-03-18 11:16:35 +01:00
Henrik Rydgård
1ab9f6cc95
Merge pull request #11883 from hrydgard/windows-fp-precise
Windows: Change FP model to Precise. See #11382
2019-03-18 11:16:19 +01:00
Unknown W. Brackets
a99549c451 UI: Avoid using game info cache in savedata sort.
It can change mid-sort causing the sorting results to be inconsistent,
which will crash many implementations of std::stable_sort.

Also, fix an issue where it kept resorting after it didn't need to and
make it strictly ordered for equal dates/sizes.

Fixes #11892.
2019-03-17 06:34:21 -07:00
Henrik Rydgård
06b04f65a0 Vulkan: Narrow down buffer usage flags a little bit. 2019-03-14 12:41:39 +01:00
Henrik Rydgård
4d5af330a7 Windows: Change FP model to Precise. See #11384 2019-03-14 10:59:35 +01:00
Henrik Rydgård
7362cccee4 Vulkan subpass dependencies: Handle VK_IMAGE_LAYOUT_UNDEFINED without debug-asserting. 2019-03-12 22:34:41 +01:00
Henrik Rydgård
624587c594 Fix a VK validation failure when opening the homebrew menu 2019-03-11 16:42:41 +01:00