Cameron Gutman
87c3179f77
Fix incorrect failure check
2026-05-15 23:23:36 -05:00
Cameron Gutman
9cbba106ad
Use the Metal renderer by default on all Macs
...
Whatever dGPU/eGPU rendering issues existed at the time I wrote that check seem to no longer happen on my RX 480 eGPU test setup running Ventura (our oldest supported OS).
It seems safe enough to enable now, especially since 7d6ce0b4c should catch broken systems and transparently fall back to AVSampleBufferDisplayLayer.
Fixes #1885
2026-05-14 00:45:57 -05:00
Cameron Gutman
7d6ce0b4cc
Implement testRenderFrame() for the VTMetal renderer
...
This can be used to (hopefully) detect cases where importing the decoded frames onto the target GPU fails.
See #1885
2026-05-14 00:34:32 -05:00
Cameron Gutman
64fea80ac9
Create the SystemProperties test window on the main thread
2026-01-25 17:10:04 -06:00
Cameron Gutman
93dc6d6b60
Convert Metal shaders to FP16
2025-12-29 01:45:49 -06:00
Cameron Gutman
d501a627f0
Test all renderers before use
...
Every renderer except SDL had opted-in for testing due to various
quirks discovered over the years, so just do away with this option
and test all renderers.
2025-12-22 23:58:26 -06:00
Cameron Gutman
7fab5007a8
Switch Metal to the shared functions for CSC matrix generation and chroma co-siting
2025-11-05 23:22:15 -06:00
ns6089
af37002a60
Select correct color matrix for 10-bit SDR
2025-11-05 00:13:25 -06:00
Cameron Gutman
181dba5864
Use correct chroma co-siting offsets in Metal
2025-11-04 23:51:39 -06:00
Cameron Gutman
9b3050514b
Handle chroma co-siting in the Metal shaders
2025-11-01 21:57:13 -05:00
Cameron Gutman
2c12ad297f
Fix accuracy issues in YUV to RGB conversion of 10-bit content in Metal
...
See #1667 for details.
2025-11-01 19:19:19 -05:00
Cameron Gutman
ccaca68570
Don't use CAMetalDisplayLink on Intel Macs
...
When in Direct mode, skipping a frame will cause the display to flash black on Tahoe.
2025-10-23 21:16:53 -05:00
Cameron Gutman
57db20016a
Rewrite frame pacing mechanism for VTMetalRenderer
...
This should hopefully improve performance and avoid performance issues on Tahoe.
2025-10-23 19:43:10 -05:00
Cameron Gutman
200cab9d17
Attach EDR metadata to Metal layer
...
This improves the accuracy of HDR streaming and enables HDR->SDR tonemapping.
2025-10-20 22:28:27 -05:00
Cameron Gutman
bf51577787
Fix macOS build
2025-02-18 19:52:33 -06:00
Cameron Gutman
fd70865026
Avoid retrying renderer init if we know the error was not transient
2025-02-18 19:02:12 -06:00
Cameron Gutman
351aaa6759
Add an enum type for each renderer
2025-02-18 18:58:04 -06:00
Cameron Gutman
4290a54ffa
Log the chosen Metal device
2024-08-29 23:20:52 -05:00
Cameron Gutman
df814fef4a
Implement support for HDR with software decoding on macOS
2024-08-22 00:05:26 -05:00
Cameron Gutman
e2ffeae3f6
Add YUV444 support to VT Metal renderer
2024-07-26 00:39:13 -05:00
Cameron Gutman
eb6d16fdcf
Remove guards for older macOS and SDK versions
2024-07-26 00:38:54 -05:00
Cameron Gutman
e548697a36
Move VT decoding support detection into a single base class
2024-07-26 00:35:32 -05:00
Cameron Gutman
4aa2b8570c
Autorelease the system default Metal device
2024-04-19 00:29:51 -05:00
Cameron Gutman
fe6562e31c
Allow forcing Metal renderer on or off via VT_FORCE_METAL=1 and VT_FORCE_METAL=0 respectively
2024-04-19 00:27:45 -05:00
Cameron Gutman
654e386263
Only pace presentation if display sync is enabled
2024-04-19 00:17:13 -05:00
Cameron Gutman
97bd515b11
Remove leftover preferred Metal device logic
2024-03-26 01:16:57 -05:00
Cameron Gutman
a093a0ae59
Restore AVSampleDisplayLayer renderer for dGPU/eGPU systems
...
These sometimes have issues importing decoded frames for Metal rendering.
2024-03-24 17:47:29 -05:00