Post

Replies

Boosts

Views

Activity

Need faster Xcode Metal capture button
By the time I background the app, hit the capture button, wait on the UI popup to appear, and then hit the "capture" button in the popup, the even that I was trying to capture has already passed. Can we get a button, or double-click on the slanted M icon to just do the capture instead of verify that I want to. All told, it's about 5s to get a capture to execute and that is too long when running at 60 or 120Hz. I know there's programmatic capture too, but we don't have that hooked up yet.
1
0
774
May ’22
"Network unreachable" error trying to connect socket from iPadOS 16 back to macOS 13
This seems to have broken as of my update from iPadOS 15 to 16. Now our connect returns "Network unreachable" on the connect() call, and the select() call times out after 10 or 30s. I have "Developer Mode" enabled on the device. We are just trying to connect the iPad back to the devhost mac that is running the application. When the mac does the same connect to the same IP, connect returns "Connect in progress", and the select succeeds in setting up the socket. I'm using macOS 14.1 on macOS Intel, and Xcode 14.1.
1
0
1.4k
Dec ’22
Bootcamp not mapping keys properly.
The Windows Keyboard layout tool shows the ~ key as VK_OEM_3, but when it reaches our app, we get VK_OEM_5. And same with the '" and | keys. These all arrive incorrectly as if something in software is remapping them. This is on an Intel MBP 16" 2019 w/Windows 10 Pro latest. These forums don't even have a Bootcamp channel. // hack for bootcamp if ( button == VK_OEM_3 ) button = VK_OEM_7; else if ( button == VK_OEM_5 ) button = VK_OEM_3; else if ( button == VK_OEM_7 ) button = VK_OEM_5;
0
0
1k
Apr ’23
Bootcamp Win10 problems with HDR, keys, and trackpad
I'm on a MBP 16" 2019 with HDR 10. latest Apple/AMD drivers don't enable HDR mode under Windows 10. Is there a monitor profile that Apple can provide/install? trackpad stutters in M2 chip during high cpu usage keyboard keys for VK_OEM3/5/7 are incorrect, mapping to one another static bool useBootcampHack = true; if ( useBootcampHack ) { if ( button == VK_OEM_3 ) button = VK_OEM_7; // '" for US else if ( button == VK_OEM_5 ) button = VK_OEM_3; // `~ for US else if ( button == VK_OEM_7 ) button = VK_OEM_5; // \| for US }
0
0
598
May ’23
CoreVideo + Rosetta still clamps at 60Hz (since macOS 12)
We set the CVDisplayLink on macOS to 0 or 120, and get the following. This then clamps maximum refresh to 60Hz on the 120Hz ProMotion display on a MBP M2 Max laptop. How is this not fixed in 4 macOS releases? CoreVideo: currentVBLDelta returned 200000 for display 1 -- ignoring unreasonable value CoreVideo: [0x7fe2fb816020] Bad CurrentVBLDelta for display 1 is zero. defaulting to 60Hz.
5
0
636
51m
Rosetta2 missing AVX and f16c ops
We can drop our compiles from AVX to SSE4.2, but we also use f16c ops to handle fp16 <-> fp32 conversions. Neon already has similar routines to f16c support, so why are these missing from Rosetta2? Until we can generate universal apps, we need to fallback to running our tools under Rosetta2. Also looks like popcount is missing. These limits should be posted in Apple Rosetta2 documents. Here's my MBP 16" Intel sysctl -a | grep machdep.cpu.features machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C And an M1 comparison: sysctl -a | grep machdep.cpu.features machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTSE64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 AES SEGLIM64
0
1
1.3k
Nov ’21
How do MTKView/CAMetalLayer and extended colorspaces work?
These make no sense. Several of the presentations on wide gamut lack specific example code. I would assume if I have linear rgba16f data, that I could specify srgb, or linearSrgb colorspace and get the same output to the screen but that is not the case. There is no documentation except for the briefest of comments on each color space, but now how MTKView actually transform the colors. There is even less documentation on extended color spaces, and what to do when the fail to display expected results. When we set one of these, the gamma is totally off. And it's unclear what to set so we go from HDR back to EDR. src srgb8 -> srgbColorSpace -> gamma 2.2 -> incorrect, doubly applied srgb?, why can layer just do passthrough rgba16f -> srgbColorSpace -> gamma 2.2 -> correct, seems to apply gamma and composites properly with rest of AppKit rgba16f -> linearSrbColorSpace -> gamma 1.0 -> incorrect, isn't my data linear?
4
1
2.3k
Feb ’23
Xcode Key Bindings has no way to clear a binding?
There used to be a "-" icon on the right side of each key binding, but that's been removed. With no help text on how to clear a key binding. Even in the "conflicts" list, there's no help as to how to clear them. When I highlight a binding, and hit "delete" key (or shift + delete), Xcode just enters that as a conflicting key binding. How about just honoring the "delete" key and clearing the binding?
2
1
859
Feb ’24
dlopen() reloads original instead of new dylib after changes
We have a C++ library that we hotload on macOS. This uses dlopen() and dlclose() and worked up until recent versions of Catalina. We don't use thread_local and don't have Objective-C code in the library. dlopen() succeeds, we use the original dylib. Then for hotloading we dlclose() the original dylib and then dlopen() the new dylib. All this succeeds, and no dlerror occurs. All of the dyld output indicates that the library is being unloaded and loaded back in. But after changing the sources, and building a new dylib, the app returns the original dylib and not the new one. This seems to be a problem in the dyld layer itself, and not our sources. On older macOS builds, the hotloading works correctly. Given the lack of edit+continue in Xcode, this is the only way to iterate quickly on source code changes. How do we fix this? We are not using the hardened runtime. This is failing on macOS 10.15.7 with Xcode 12.2 (and 12.3).
9
0
3.9k
Apr ’21
UIKeyboardHIDUsageKeyboard missing left/right command keys
For keyboard handling on iOS (and iOS on macOS M1), the iOS 13.4 keyboard constants are missing the command keys. We need to be able to detect key up/down on all the modifiers. I realize there's a modifiers field on UIKey, but this seems inconsistent. case UIKeyboardHIDUsageKeyboardLeftShift: b = kButton_Shift; break; case UIKeyboardHIDUsageKeyboardRightShift: b = kButton_Shift; break; case UIKeyboardHIDUsageKeyboardLeftAlt: b = kButton_Alt; break; case UIKeyboardHIDUsageKeyboardRightAlt: b = kButton_Alt; break; // ? case kVK_Command: b = kButton_Command; break; // ? case kVK_RightCommand: b = kButton_Command; break; case UIKeyboardHIDUsageKeyboardLeftControl: b = kButton_Ctrl; break; case UIKeyboardHIDUsageKeyboardRightControl: b = kButton_Ctrl; break;
Topic: UI Frameworks SubTopic: UIKit Tags:
1
0
716
Dec ’21
Any possibility of metal support min/max filter reduction?
We have this on many of our platforms, but Apple doesn't appear to expose this in Metal. Nvidia/AMD have had this for a long time. We can workaround for now, with gather followed by a component min/max on a single channel. For large scale multi-channel downsampling, having access to the sampler setting would be better. This would even work with 3d volumes, etc. VK_EXT_sampler_filter_minmax These are the three modes WeightedAverage - basic nearest/blinear/trilinear Min Max
1
1
838
May ’22