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