Commit graph

2304 commits

Author SHA1 Message Date
Henrik Rydgård
dda425b068 Vulkan: Add a single background thread for pipeline creation
Add proper waits for compile-done

Don't rely on non-standard struct initialization of classes

Attempt to drain the pipeline compile queue before destroying the PipelineManager.

Vulkan: Bump the cache version for testing
2021-11-21 18:36:00 +01:00
Henrik Rydgård
62f4875e24 VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread) 2021-11-21 18:36:00 +01:00
Henrik Rydgård
4f85b8b2ef Threading: Remove a level of indirection from Promise and Mailbox.
Makes using small copyable or POD objects in these more efficient, and if you want
to you can just put a pointer or smart pointer in there, which will
effectively do the same thing as the old setup.
2021-11-20 22:40:10 +01:00
Unknown W. Brackets
e21f2b8fcf
Common: UWP buildfix.
Just use SetThreadDescription() directly, assuming new enough Windows.
2021-11-13 09:40:07 -08:00
Henrik Rydgård
9f1c9b9963 Buildfix 2021-11-13 18:12:09 +01:00
Henrik Rydgård
6e1455fd55 Use the "new" API SetThreadDescription to set thread names on Windows.
Mainly useful in debugging and profiling tools. Using the new function helps
modern debugging/profiling tools like Superluminal which don't support the
old exception method.

(Is there any old tool left that might be a reason we'd want to do both?)
2021-11-13 18:02:36 +01:00
Henrik Rydgård
4161b500ab
Merge pull request #15021 from unknownbrackets/ui-font-atlas
UI: Support a second texture for just fonts
2021-11-09 22:51:09 +01:00
Henrik Rydgård
281ddc2437 Speed up the 4xBRZ upscaler with 16x and the MMPX one with 4x by not doing redundant work 2021-11-07 15:47:05 +01:00
Unknown W. Brackets
60bd25582c Vulkan: Remove wide line handling.
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
2718e81c0e GPU: Expand lines to triangles. 2021-10-31 14:46:46 -07:00
Unknown W. Brackets
1d76e55f84 Vulkan: Disable large points feature.
No longer used.
2021-10-31 13:07:03 -07:00
Unknown W. Brackets
b3a8e013f6 GPU: Expand points into triangles for higher res. 2021-10-31 13:06:06 -07:00
Henrik Rydgård
3245f54dc1 Optimize the rotation a bit (limit to VK/D3D11, mat2 instead of mat4) 2021-10-31 13:44:54 +01:00
Unknown W. Brackets
09daace8b8 GLES: Skip assert if no buffer. 2021-10-25 06:27:45 -07:00
Unknown W. Brackets
d5dac66c7a Path: Avoid adding a double slash from root. 2021-10-20 13:01:16 -07:00
Unknown W. Brackets
8e15f755e6 UI: Add a sysprop for if the device has a keyboard.
Still left some ifdefs because of System_InputBoxGetString(), but
hopefully we can move away from them.  Some devices (like SDL) may only
optionally have a keyboard, so it's a runtime check.
2021-10-19 10:01:52 -07:00
Unknown W. Brackets
49c64e12d1 UI: Add a way to disable tabs in tab strips. 2021-10-19 10:01:52 -07:00
Unknown W. Brackets
eb81d5b30b UI: Support a second texture for just fonts.
Will still allow using fonts between both.
2021-10-19 10:01:17 -07:00
Henrik Rydgård
593241b50f
Merge pull request #14996 from hrydgard/vulkan-best-practices
Vulkan "best practices" fixes
2021-10-19 17:57:39 +02:00
Henrik Rydgård
16bf5197e4
Merge pull request #14833 from unknownbrackets/guardband
Handle guardband clip/cull better for hardware backends
2021-10-19 12:00:01 +02:00
Unknown W. Brackets
275baccc5b GLES: Support GL_APPLE_clip_distance too.
Seems modern Apple mobile chips only support clip.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
7b00c4a572 GPU: Move Z/W equal hack to bugs from supports.
It's really a bug (might even ideally cap the version?), and we already
have other bugs handled the same way.
2021-10-12 20:34:44 -07:00
Unknown W. Brackets
5e6f54033e GPU: Split clip and cull caps.
GL_ARB_cull_distance is needed, sometimes available on older GL.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
1c7cd67f6d iOS: Buildfix bad GLES headers. 2021-10-12 20:34:43 -07:00
Unknown W. Brackets
1e66a66ed7 D3D11: Correct clearing samplers. 2021-10-12 20:34:43 -07:00
Unknown W. Brackets
d2ff66a660 UI: Clear textures on Begin.
On GLES, saw a texture bound to slot 1 when UI started to draw after an
emu frame, which caused a crash because there was no sampler.  Let's just
explicitly flush.
2021-10-12 20:34:43 -07:00
Unknown W. Brackets
7d00b6ca90 GLES: Enable/disable clip distance 0. 2021-10-12 20:34:42 -07:00
Unknown W. Brackets
046a5c548b GLES: Check clip/cull distance support.
Pretty limited on GLES3+.  Also D3D11.
Seems like doing it on D3D9 might be a bit tricky.
2021-10-12 20:34:42 -07:00
Unknown W. Brackets
273b9a3dc1 Vulkan: Add negative Z clipping. 2021-10-12 20:34:42 -07:00
Unknown W. Brackets
9fdf0e1071 Common: Remove MakeUnique.h.
No longer used.
2021-10-12 20:33:07 -07:00
Henrik Rydgård
e6857388c7 Add input device debug info to touchscreen test screen
(yeah maybe there's a better place but it's fine).

Also make a slight tweak to the detection order which I don't think
matters much.
2021-10-10 11:50:20 +02:00
Henrik Rydgård
59b2604c14 Consistent sampler modes in UI to make Mali happy 2021-10-08 22:20:57 +02:00
Henrik Rydgård
d7ac6aa63d Fix an assortment of minor VK barrier bugs in mostly texture upload 2021-10-08 21:58:03 +02:00
Henrik Rydgård
90335bd520 Mip generation: Transition the correct mipmap after blit. 2021-10-08 21:53:55 +02:00
Henrik Rydgård
b426d12a17 More best-practices adjustments 2021-10-08 21:32:40 +02:00
Henrik Rydgård
d7774bf1ae Ran the "Vulkan best practices" layer, fixed some stuff. 2021-10-08 21:20:40 +02:00
Unknown W. Brackets
abc9ce671a Draw: Atomically release objects.
There may be scenarios where we release objects from separate threads,
just make them safe.
2021-10-07 18:22:23 -07:00
Unknown W. Brackets
309dcb2952
Merge pull request #14985 from hrydgard/crash-fixes
Try to fix some crashes from Android crash reporting
2021-10-07 17:43:29 -07:00
Henrik Rydgård
944d2c3aa1 Set texture clamp mode for UI drawing. Fixes #14977, hopefully without breaking anything else.. 2021-10-08 00:22:50 +02:00
Henrik Rydgård
36ada6308d Sanity check string lengths in save state code 2021-10-07 21:08:46 +02:00
Henrik Rydgård
f9f9ab5ec6
Merge pull request #14978 from unknownbrackets/draw-vulkan
Vulkan: Handle desc set allocation failure better
2021-10-07 08:48:59 +02:00
Unknown W. Brackets
e389dfc711 Vulkan: Handle desc set allocation failure better. 2021-10-06 23:20:13 -07:00
Henrik Rydgård
59ac4d3e27 Vulkan: Rework mipmap generation and its image barrier/layout handling.
Fixes bugs on mobile with texture scaling + auto max quality texturing
(since that generates mipmaps with blits from an image which was just generated from
compute, making proper barriers very critical).
2021-10-05 22:50:49 +02:00
Henrik Rydgård
bef9764700 Fix small mistake in Choice layout with image 2021-10-04 22:58:18 +02:00
Henrik Rydgård
08b7d646e8 Show text on the Browse button 2021-10-04 22:46:40 +02:00
Henrik Rydgård
d390127cc6 Minor warning fix 2021-10-04 22:46:40 +02:00
Henrik Rydgård
cc43ce0404
Merge pull request #14944 from unknownbrackets/ui-touch-controls
Cleanup UI touch controls button handling
2021-09-28 19:37:29 +02:00
iota97
003a34ccf5 Increase few column width for long translation, make control binding a bit taller 2021-09-28 18:02:37 +02:00
Henrik Rydgård
e384ad90fc
Merge pull request #14945 from unknownbrackets/ui-scroll-memory
UI: Keep scroll position on async load
2021-09-28 16:55:06 +02:00
Henrik Rydgård
ccc86f3a2d
Merge pull request #14935 from unknownbrackets/http-timeout
http: Fix timeout mid request
2021-09-28 11:40:54 +02:00