TellowKrinkle
1804608d2f
CMake: Switch from SKIP_POSTPROCESS_BUNDLE to POSTPROCESS_BUNDLE
2025-11-09 22:35:16 -06:00
TellowKrinkle
143fac254e
CMake: Allow both glslang 15 and 16
2025-11-08 02:32:47 -06:00
TellowKrinkle
21ac489d57
VideoCommon: Fix render to texture in wrong layout
2025-10-30 20:50:17 -05:00
TellowKrinkle
a1bdc40245
CMake: Default SKIP_POSTPROCESS_BUNDLE to ON
...
Most users do not need it
2025-10-26 23:24:45 -05:00
TellowKrinkle
d404805b7f
CMake: Fix bundled glslang
2025-10-24 22:58:22 -05:00
TellowKrinkle
e599ae37c3
VideoBackends:Vulkan: Prevent hazards when restarting render passes
2025-10-18 05:24:37 -05:00
TellowKrinkle
0cde7ae79b
Cached Interpreter: Speculative devirtualization
2025-09-18 21:07:09 -05:00
TellowKrinkle
613c959bda
CMake: Pass RESOLVED_USE_SYSTEM_<lib> as a parameter
...
Because we were setting it with a scope, it wasn't making its way into called functions that would try to inspect it. Now it does.
2024-11-06 21:47:10 -06:00
TellowKrinkle
432d4a2a06
CMake: Properly abort when requested system lib is missing
2024-11-06 21:30:29 -06:00
TellowKrinkle
5ef4fcb005
VideoCommon: Implement primitive breaking for primitive lists
2024-10-29 22:38:22 -05:00
TellowKrinkle
1454934a07
VideoBackends:Metal: Use standardized C++ features over clang builtins
2024-10-06 02:13:48 -05:00
TellowKrinkle
32fd10bd08
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-06 02:13:48 -05:00
TellowKrinkle
9244cded9f
VideoBackends:Vulkan: Increase VMA Vulkan Version to 1.2
...
We now use Vulkan 1.2 if available
2024-10-05 16:51:14 -05:00
TellowKrinkle
a267c56412
VideoBackends:Vulkan: Wait until we've confirmed a successful AcquireNextImage before marking semaphores used
2024-10-02 19:22:16 -05:00
TellowKrinkle
7e1a9490c0
VideoBackends:Vulkan: Don't try to present if swapchain acquire failed
2024-10-02 19:22:16 -05:00
TellowKrinkle
1cb6866de4
Revert "Allow shared zlib-ng"
...
This reverts commit 6dad8f8372 .
Our bundled zlib-ng uses zlib compat mode, making it override system zlib.
System zlib-ng will not, and all its functions will be prefixed with zng_.
Therefore the two aren't actually compatible.
2024-10-01 00:47:05 -05:00
TellowKrinkle
70f69c3213
VideoBackends:Metal: subgroup_ops requires Apple7, not Apple6
...
SIMD-scoped permute operations are Apple6, but reduction operations are Apple7
2024-09-30 23:38:23 -05:00
TellowKrinkle
fd94ff252d
VideoCommon: Dirty pixel shader manager on efb scale changes
2024-09-30 01:12:55 -05:00
TellowKrinkle
14feaf4ba8
VideoBackends:Metal: Use ios_use_simdgroup_functions with SPIRV-Cross
...
It defaults to trying to emulate simdgroup functions on iOS
2024-09-29 23:58:54 -05:00
TellowKrinkle
dc6ccfb2ab
VideoBackends:Vulkan: Use Vulkan 1.2 driverID to detect MoltenVK
...
Previously we'd assume all Apple GPUs were MoltenVK, including those running on Asahi Linux with open source Honeykrisp drivers.
2024-09-05 22:15:30 -05:00
TellowKrinkle
1416dc7e6a
VideoBackends:Vulkan: Consolidate feature checking into one struct
2024-09-05 22:15:29 -05:00
TellowKrinkle
cab6e7c12e
Properly link against xxhash
...
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
2024-07-06 16:56:44 -05:00
TellowKrinkle
5949911a5a
VideoCommon: Don't use indexed output for fbfetch
...
A nonzero index makes no sense, and Mesa doesn't like it when you supply an index
2024-02-07 03:52:31 +01:00
TellowKrinkle
b7a451fc87
VideoCommon: Post to analytics when bug is overridden
2024-01-28 23:24:23 -06:00
TellowKrinkle
99f0c3fa01
VideoCommon: Add ability for backends to override bugs
2024-01-28 23:24:22 -06:00
TellowKrinkle
463269f704
VideoBackends:Multiple: Split up BUG_BROKEN_SUBGROUP_OPS
...
We now use subgroup ops for more than just a minor performance optimization
2024-01-28 23:20:39 -06:00
TellowKrinkle
6243e50b21
VideoBackends:MTL: Use SPIRV 1.5
...
Allows non-constant simd broadcast, which is used by the ascii art shader
2024-01-27 18:47:13 -06:00
TellowKrinkle
394dd02d0a
VideoBackends:Metal: Support multiple compute textures
2023-11-29 18:45:11 -06:00
TellowKrinkle
a399dc43a1
VideoBackends:Metal: Align utility uniform sizes
...
Prevents complaining from validation layers
2023-11-29 18:45:11 -06:00
TellowKrinkle
4f2a79058a
VideoBackends:OGL: Handle when SSBOs are only supported in some shader stages
2023-10-25 17:47:04 +02:00
TellowKrinkle
323aea60d6
VideoCommon: Fix VS point/line on older GLSL
2023-10-24 23:18:01 -05:00
TellowKrinkle
d844317a6d
Common: Better AlignUp implementation
2023-06-29 02:35:44 -05:00
TellowKrinkle
6ac20aea81
Video: Fix shaders on OpenGL 4.1
2023-06-28 01:08:08 -05:00
TellowKrinkle
fc4036af80
VideoBackends:Metal: Multi render target support
2023-06-28 00:11:37 -05:00
TellowKrinkle
ade40650f5
CMake: Support using bundled libraries even if system libraries exist
2023-06-15 01:41:41 -05:00
TellowKrinkle
5b10a80401
CMake: Use targets for all optionally-external dependencies
2023-06-15 01:41:41 -05:00
TellowKrinkle
fc53dca7bd
Qt: Send SizeChanged on DPI changes
2023-06-11 20:05:27 -05:00
TellowKrinkle
d3110b9521
VideoCommon: Update imgui scale when dpi changes
2023-06-11 20:05:27 -05:00
TellowKrinkle
28ed1f8be1
Common:AGL: Support making temporary contexts from the main thread
...
- Don't crash when making contexts from the main thread
- Don't focus the window when making a context
2023-06-10 14:25:45 -05:00
TellowKrinkle
e7f4b7679b
VideoBackends:Metal: Enable shouldMaximizeConcurrentCompilation when available
2023-06-08 18:57:41 -05:00
TellowKrinkle
0ee12b6164
VideoBackends:Metal: Allocate bounding box uploads on a cpu buffer
...
AMD Metal drivers have a goofy bug where the bbox buffer stops being coherent with the cpu if you copy to it from a private (gpu) buffer and don't do anything else with it in that command buffer.
2023-05-28 17:08:08 -05:00
TellowKrinkle
f92dde26a3
CMake: Fix storyboard copying
2023-04-29 16:10:38 -05:00
TellowKrinkle
9cc3ba6fc6
VideoBackends:Metal: Enable BCn support on iOS
2023-04-28 20:35:54 -05:00
TellowKrinkle
3ec9b56e73
Externals: Disable werror on mbedtls
...
Fixes build on Xcode 14.3
2023-04-28 20:35:54 -05:00
TellowKrinkle
09c80513cd
VideoBackends:Metal: Fix perf queries
...
Fixes an issue where perf queries could end up including counts from previous queries
2023-04-14 00:25:31 -05:00
TellowKrinkle
b9595a2230
CMake: Use find_package and imported targets for Iconv
...
Fixes us forgetting to add its include directories, which could result in linking to a dylib from MacPorts while using the system's header, and failing to link because they use different function names
2023-04-08 21:43:03 -05:00
TellowKrinkle
eb6bf08170
CMake: Add custom FindIconv
...
Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/24695
2023-04-08 21:43:03 -05:00
TellowKrinkle
ed177bdbd7
VideoBackends:Metal: Use max pixel samplers constant
2023-04-08 02:12:31 +02:00
TellowKrinkle
0d4a5274f1
CMake: Remove custom SDL2 find script
...
It doesn't properly set the include paths for macos framework builds of SDL, and SDL has had its own find script since 2.0.10
2023-03-30 21:17:10 -05:00
TellowKrinkle
38b8547055
CMake: Enable CMP0099
...
Allows INTERFACE_LINK_OPTIONS to propagate through private dependencies, required by MacOS framework builds of SDL2
2023-03-30 21:16:27 -05:00
TellowKrinkle
d037c60caf
CMake: Use proper dependency tracking command for storyboard compiling
2023-03-17 01:28:33 -05:00
TellowKrinkle
66936f2087
CMake: Use generator expressions to get codesigning targets
...
Also works around a bug where CMake's ninja generator doesn't properly handle ||'s on POST_BUILD commands, making the || apply to the whole build like `<link> && custom0 || custom1`
2023-03-17 01:28:16 -05:00
TellowKrinkle
f25a0b43b6
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 18:25:33 +01:00
TellowKrinkle
600ad5f498
VideoCommon: Better logic op invert approximation
2023-01-30 14:04:37 -06:00
TellowKrinkle
07e98c7790
CMake: Use imported target for fmt in tests
...
This properly adds the header include paths when using system fmt
2023-01-29 14:37:54 -06:00
TellowKrinkle
e4e425b930
VideoBackends:Metal: Assert on pipelines with no render targets
...
This only actually fails on specific Metal drivers, this way doing it will actually fail the CI and we'll notice
2023-01-29 14:36:28 -06:00
TellowKrinkle
1119a9ba32
VideoCommon: Don't create pipelines with no render targets
...
Some backends don't like it when you do that
2023-01-29 14:35:23 -06:00
TellowKrinkle
7413be1487
VideoCommon: Add configuration option for CPUCull
2023-01-25 02:21:56 -06:00
TellowKrinkle
a0e6d7c173
VideoCommon: Explicitly disable fp_contract for CPUCull
2023-01-25 02:21:56 -06:00
TellowKrinkle
1be0149146
VideoCommon: Cull vertices on the CPU
2023-01-25 02:21:56 -06:00
TellowKrinkle
b170ef9651
VideoCommon: Add class for quickly transforming and culling vertices on the CPU
2023-01-25 02:21:56 -06:00
TellowKrinkle
8659de4d71
InputCommon:QuartzKB&M: Fix mouse y coordinates
...
Cocoa uses a different coordinate system from Carbon (Carbon's origin is the top left while Cocoa's is the bottom left)
2022-12-31 23:42:11 -06:00
TellowKrinkle
ffb73f43e1
VideoBackends:Metal: Fix min/max lod when setting non-zero-based samplers
2022-11-30 21:11:37 -06:00
TellowKrinkle
e3cc42069f
VideoBackends:OGL: Creating vertex formats shouldn't unbind anything
2022-11-28 21:28:24 -06:00
TellowKrinkle
db8f08b2bb
Externals: Update SDL to 2.26.0
2022-11-24 15:33:42 -06:00
TellowKrinkle
72eadc6520
InputCommon:SDL: Add SDL 2.26 left and right motion inputs
2022-11-24 15:12:07 -06:00
TellowKrinkle
37a51f1d09
VideoCommon: Add an option to disable mipmaps
...
Needed by M1 fifoci to work around a minor non-determinism bug
2022-11-07 22:18:56 -06:00
TellowKrinkle
d9ed9ae331
VideoCommon: Zero PortableVertexDeclarations on initialization
...
Fixes an issue where the default initializer wouldn't initialize padding, making for fun non-determinism
2022-11-05 02:02:53 -05:00
TellowKrinkle
83ca1ad8a6
VideoBackends:Metal: Headless render support
2022-11-03 02:35:24 -05:00
TellowKrinkle
fa8134deda
VideoBackends:Metal: Default to presentDrawable when vsync is on
2022-10-24 17:55:30 -05:00
TellowKrinkle
1e9b6f88e4
VideoCommon: Support hot reloading of VS expand
2022-10-22 20:18:02 -05:00
TellowKrinkle
3912fa7a2e
VideoCommon: Add reasons for disabled VS expand
2022-10-22 20:18:02 -05:00
TellowKrinkle
b567f3afcf
VideoCommon: Move repeated point/line expansion code to ShaderGenCommon
2022-10-22 20:13:24 -05:00
TellowKrinkle
0a42c534c3
VideoCommon: Add configuration to prefer VS for line/point expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
1eeba6dcca
VideoBackends:D3D12: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
9624479933
VideoBackends:OGL: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
3a5901d12e
VideoBackends:Vulkan: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
678ee48bfc
VideoBackends:Metal: Add support for vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
68f49df0f8
VideoCommon: Add vertex shader point and line expansion
2022-10-22 20:13:24 -05:00
TellowKrinkle
6fd933915b
VideoBackends:Vulkan: Improve backend multithreading
...
Makes the multiple threads actually able to run at the same time
2022-10-17 00:05:35 -05:00
TellowKrinkle
fd2680d8b4
VideoBackends:Metal: Use a temporary buffer for large texture uploads
2022-10-08 04:46:07 -05:00
TellowKrinkle
a13f09433c
VideoBackends:Metal: Add config option to use presentDrawable
2022-10-08 04:46:07 -05:00
TellowKrinkle
5a1b90c7f3
VideoBackends:Metal: Explicitly disable arc
...
Makes it easier to enable arc elsewhere without breaking the Metal backend
2022-10-08 04:46:07 -05:00
TellowKrinkle
c08de82e90
VideoBackends:Metal: Bring back unified memory config
...
Turns out it was helpful. (Most improvement in ubershaders.) This time with much better auto mode.
2022-10-08 04:46:05 -05:00
TellowKrinkle
93ce7bf344
VideoBackends:Metal: Unroll lighting loop
2022-10-08 04:44:48 -05:00
TellowKrinkle
45ee1be6da
VideoBackends:Metal: Properly set vsync on creation
2022-10-08 04:44:48 -05:00
TellowKrinkle
274d4679ca
VideoBackends:Multiple: More GPUs with broken subgroup ops
2022-10-08 04:44:48 -05:00
TellowKrinkle
ee692abbe1
VideoBackends:Metal: Use BitField for stuffing bits in pipeline ids
...
Also removes cullmode all handling, it's handled in CPU and DX11 backend doesn't specially handle it either
2022-09-20 01:45:18 -05:00
TellowKrinkle
1eb3aaa548
VideoCommon: Use std::array in PortableVertexDeclaration
2022-09-19 16:28:24 -05:00
TellowKrinkle
28b31b8327
VideoBackends:Vulkan: Make dynamic vertex loader optional
...
Makes it easier to disable in the future if support for VK_EXT_vertex_input_dynamic_state is added
2022-09-19 16:28:24 -05:00
TellowKrinkle
dae56a24b8
VideoBackends:D3D12: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
TellowKrinkle
936b4d5d0d
VideoBackends:Vulkan: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
TellowKrinkle
7edc8b4e79
VideoBackends:Metal: Don't set primitive on ubershaders
2022-09-19 16:28:24 -05:00
TellowKrinkle
99533d2840
VideoCommon: Add separate pipeline usage for UberShaders
2022-09-19 16:28:24 -05:00
TellowKrinkle
d289e9c51c
VideoCommon: Compile a few extra pipelines
2022-09-19 16:28:24 -05:00
TellowKrinkle
d3dae1cd7e
VideoBackends:Metal: Dynamic vertex loader support
2022-09-19 16:28:24 -05:00
TellowKrinkle
4c629c2bee
VideoCommon: Add dynamic vertex loader to ubershaders
2022-09-19 16:28:23 -05:00
TellowKrinkle
1bc133f3ae
CMake: Properly include lzma include directories
2022-08-18 21:06:57 -05:00
TellowKrinkle
048f6fac52
CMake: Properly include zstd include directories
2022-08-18 21:06:57 -05:00
TellowKrinkle
588c4bd635
InputCommon:QuarzKB&M: Use view position instead of window position
2022-08-18 16:29:43 -05:00