I have a legacy app that draws using OpenGL, in particular is draws lines using glLineStipple. This is on a Macbook Pro M3, but it also happens on and x86 based Mac.
This causes the following messages to be output to the terminal the app was run from:
FALLBACK (log once): Fallback to SW vertex for line stipple
FALLBACK (log once): Fallback to SW vertex processing, m_disable_code: 2000
FALLBACK (log once): Fallback to SW vertex processing in drawCore, m_disable_code: 2000
Is there a way of suppressing these messages?
General
RSS for tagDelve into the world of graphics and game development. Discuss creating stunning visuals, optimizing game mechanics, and share resources for game developers.
Post
Replies
Boosts
Views
Activity
Hi, I was wondering if we could ever get the Game Porting Toolkit to ever translate Vulkan and Vulkan RT extensions? The reason I ask is because I would like to try something involving RTX Remix which requires Vulkan specific extensions
We are experiencing a crash when selecting text in a PDF and moving the cursor over a QR code. This happens when the QR code at the end of the PDF file with no text following it. [Only on iOS 18]
Steps to Reproduce:
Clone the repository:
git clone https://github.com/aliakhtar49/ios18-pdf-crash/tree/main
cd ios18-pdf-crash
Run the application to load the provided PDF
Select some text and move the cursor over the QR code several times
Observe the crash. You can see the gif in the repo
Expected Behavior: The application should not crash
Actual Behavior: The application crashes:
Environment:
iOS version: 18.0
Device: iPhone 15 Pro, iPhone 12 Pro Max
Additional Context:
This issue occurs when the QR code is at the end of the PDF file with no text following it
StackTrace
`thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x19f3e6ec0)
* frame #0: 0x000000019f3e6ec0 CoreGraphics`void PageLayout::ConvertTextRangesToStringRanges<std::__1::span<CFRange, 18446744073709551615ul>, std::__1::back_insert_iterator<std::__1::vector<CFRange, std::__1::allocator<CFRange>>>>(std::__1::span<CFRange, 18446744073709551615ul>&&, std::__1::back_insert_iterator<std::__1::vector<CFRange, std::__1::allocator<CFRange>>>&&) const + 664
frame #1: 0x000000019f424c5c CoreGraphics`CGPDFPageLayoutGetStringRangeIndexNearestPoint + 100
frame #2: 0x000000022b4c096c PDFKit`-[PDFPage characterIndexNearestPoint:] + 128
frame #3: 0x000000022b450950 PDFKit`-[PDFTextInputView _closestPositionToPoint:withinRange:] + 420
frame #4: 0x00000001a0bd02f0 UIKitCore`-[UITextSelectionInteraction _hasTextAlternativesAtLocation:] + 120
frame #5: 0x00000001a03e3834 UIKitCore`-[_UIRemoteKeyboardsEventObserver _hasTextAlternativesForTouch:] + 256
frame #6: 0x000000019fa4e0f8 UIKitCore`-[_UIRemoteKeyboardsEventObserver _endTrackingForTouch:] + 212
frame #7: 0x000000019fa4ca38 UIKitCore`-[_UIRemoteKeyboardsEventObserver _trackTouch:] + 132
frame #8: 0x000000019fa4c94c UIKitCore`-[_UIRemoteKeyboardsEventObserver peekApplicationEvent:] + 220
frame #9: 0x000000019fa4c304 UIKitCore`-[_UIRemoteKeyboards peekApplicationEvent:] + 84
frame #10: 0x000000019fa35dc4 UIKitCore`__dispatchPreprocessedEventFromEventQueue + 4180
frame #11: 0x000000019fa3ef7c UIKitCore`__processEventQueue + 5696
frame #12: 0x000000019f936df4 UIKitCore`updateCycleEntry + 160
frame #13: 0x000000019f934d28 UIKitCore`_UIUpdateSequenceRun + 84
frame #14: 0x000000019f934978 UIKitCore`schedulerStepScheduledMainSection + 172
frame #15: 0x000000019f93580c UIKitCore`runloopSourceCallback + 92
frame #16: 0x000000019d126f9c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
frame #17: 0x000000019d126f30 CoreFoundation`__CFRunLoopDoSource0 + 176
frame #18: 0x000000019d124a08 CoreFoundation`__CFRunLoopDoSources0 + 244
frame #19: 0x000000019d123c14 CoreFoundation`__CFRunLoopRun + 856
frame #20: 0x000000019d123424 CoreFoundation`CFRunLoopRunSpecific + 608
frame #21: 0x00000001e93211c4 GraphicsServices`GSEventRunModal + 164
frame #22: 0x000000019fc6a130 UIKitCore`-[UIApplication _run] + 816
frame #23: 0x000000019fd1855c UIKitCore`UIApplicationMain + 340
frame #24: 0x0000000105e77c38 MyApp.debug.dylib`main at HSAppDelegate.swift:19:20
frame #25: 0x00000001c3058a74 dyld`start + 2724`
We are building our own Cocoapod file. We have to convert a local DOC file to PDF with any server interaction. It will be in offline mode.
Any suggestion will be appreciated.
Hey folks,
I have a legacy game that is running OpenGL ES - and it no longer works on the simulators that are running Apple Silicon, ie iPhone 15 Pro, or the 13" iPads. And yes, i'm also running on Apple Silicon (M1 Max).
The apps work fine on the actual devices, but the simulator crashes on any glDrawElements with a stack that looks like the following:
I have not yet seen an announcement about this not working but i've seen mention in other apps of stopping to support GL (https://github.com/maplibre/maplibre-native/issues/2351)
Can anyone shed some light? I'm obviously going to try to fix it, or find a recent sample app from which to start to see what might be up. Or move to metal, but i hadn't bargained for that level of effort atm ;)
Any suggestions appreciated!
My MacBook Air M1 has installed Mac OS Sonoma 14.3.1, and I tried to install game-poring-toolkit tonight. After the step which it requires me to input the command "brew -v install apple/apple/game-porting-toolkit", Terminal ran for minutes. But at the end this error appeared: Error: apple/apple/game-porting-toolkit 1.1 did not build.
I don't know anything about coding and software. Could someone please tell me what cause this error and how to fix it after you read my post? I will appreciate your help!
Hi! I am currently trying to upload my iOS app to App Store Connect. Unfortunately, code signing fails with the following error: "Code object is not signed at all.", referencing a binary Metallib (created with metal-tt and an mtlp-json script). I am using Xcode's automatically managed signing and the binary metallib is located inside the "Resources" directory of a framework that I am including with "Embed and sign" in the app. Could anyone give some guidance on what I need to change to make code signing work? Thank you.
I have been using the iOS 18 public beta on my iPhone XR for the past 3-4 days, and I frequently play a popular competitive game called “Free Fire.” I’ve noticed an issue while playing the game. Whenever I switch the game to the background for any reason, such as using another app or attending an incoming call, the game’s sound does not come back when I switch back to it. No matter what I do—whether switching the phone to silent mode and then back to normal or adjusting the volume—the sound won’t return. I have to restart the game, which is frustrating since I play this game a lot. I understand that this is a beta version, and some problems are expected, but I wanted to mention this issue here in case it can be resolved.
and i also tried some stuff like reinstalling the game or restrting the device or checking for new updates and all the small stuff that would fix this but nahhhh none of them worked 😅
Does anyone know why the following call fails?
CGPDFOperatorTableSetCallback(operatorTable, "ID", &callback);
The PDF specification seems to indicate that ID is an operator?
BTW what is the proper topic/subtopic for questions about Quartz? Wasn't sure what topic on the new forums to post this under.
I have a plane that is stereoscopic so represents to the user depth that is beyond the plane.
I would like to have the options to render the depth buffer for the pixels or to not render any information into the depth for the plane.
I cannot see any option in Shader Graph Material to affect the depth buffer during render. I also cannot see any way in RealityKit to not render to the depth buffer for an entity.
I'm open to any suggestions.
I recently found the tinted app icon feature, which I love I think it is such a cool idea. The execution on the other hand is slightly flawed, I tried to set my apps to the light pink color. The feature work well in the editing area but once I clicked done the apps went from a light pink to dark red. I have tried this multiple times with multiple colors and the issues are consistent through all colors except when using the color dropper.
Is MTKView intentionally unavailable on visionOS or is this an issue with the current beta?
Hello, I'm new here, I was developing a screen recording extension for an IOS application, I used the RPSBroadcastSampleHandler livekit as a basis, in tests a few months ago it worked, but after the long wait for publishing authorization the extension stopped working, I noticed which is not just mine but screen sharing from Google Meet, Zoom Mettings and others also don't work, I tested it on iPhone 14 pro and iPhone 6s, nothing worked, the option to select the extension appears but when clicking "start sharing" nothing happens and after a few seconds the sharing button returns to "start sharing", the same behavior in all tested apps, does anyone know what happens? Did you change the way you record and no app has updated? Internal error in IOS? Nothing logs in terminal just doesn't work.
Hi,
we've been developing an iOS game using OpenGL ES, trying running compatible iOS app on Vision Pro Simulator on M1 Mac, but we met a strange EXC_BAD_ACCESS crash in glDrawElements(), while the app run normally on ios or ipad simulators with the same developing environment. The stack like following:
Our Mac is a Mac Studio(2022) with Apple M1 Max and MacOS 14.1.2.
Xcode: Version 15.3 (15E204a)
Simulator OS: Vision OS 1.1
Translated Report (Full Report Below)
Process: Adobe Photoshop 2024 [4860]
Path: /Applications/Adobe Photoshop (Beta)/Adobe Photoshop (Beta).app/Contents/MacOS/Adobe Photoshop 2024
Identifier: com.adobe.Photoshop
Version: 25.11.0 (25.11.0)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2024-07-03 20:14:56.0222 +0200
OS Version: macOS 15.0 (24A5279h)
Report Version: 12
Anonymous UUID: BB272497-0BFA-2A39-D111-605692AACBB4
Time Awake Since Boot: 5300 seconds
System Integrity Protection: enabled
Crashed Thread: 50 Dispatch queue: com.apple.coreml.MLE5ProgramLibrary.lazyInitQueue
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: Adobe Photoshop 2024 [4860]
Thread 0:: Main Thread 25.11.0 20240626.m.2679 509bf35 Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x1930125ac __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x193050894 _pthread_cond_wait + 1204
2 QuartzCore 0x19bf1cc40 CA::DispatchGroup::~DispatchGroup() + 68
3 QuartzCore 0x19beefec8 CA::Layer::display_if_needed(CA::Transaction*) + 724
4 QuartzCore 0x19c07e2b4 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 528
5 QuartzCore 0x19bed2514 CA::Transaction::commit() + 648
6 AppKit 0x196d82a48 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 272
7 AppKit 0x19786cc7c ___NSRunLoopObserverCreateWithHandler_block_invoke + 64
8 CoreFoundation 0x193137a50 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 36
9 CoreFoundation 0x19313793c __CFRunLoopDoObservers + 552
10 CoreFoundation 0x193136f70 __CFRunLoopRun + 804
11 CoreFoundation 0x1931365dc CFRunLoopRunSpecific + 608
12 HIToolbox 0x19ea1e8b8 RunCurrentEventLoopInMode + 292
13 HIToolbox 0x19ea24508 ReceiveNextEventCommon + 220
14 HIToolbox 0x19ea2480c _BlockUntilNextEventMatchingListInModeWithFilter + 76
15 AppKit 0x196c5f6f0 _DPSNextEvent + 660
16 AppKit 0x197563530 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
17 Adobe Photoshop 2024 0x104fa9d74 0x102570000 + 44277108
18 AppKit 0x196c527fc -[NSApplication run] + 480
19 Adobe Photoshop 2024 0x104fab4a4 0x102570000 + 44283044
20 Adobe Photoshop 2024 0x104fad444 0x102570000 + 44291140
21 Adobe Photoshop 2024 0x105006240 0x102570000 + 44655168
22 Adobe Photoshop 2024 0x10786d6e4 0x102570000 + 87021284
23 Adobe Photoshop 2024 0x1025751cc 0x102570000 + 20940
24 dyld 0x192ccf274 start + 2840
The application that I'm working on uses WebKit. I'm facing a strange behavior in the app with MACOS14.5, in which errors are being reported only for this OS version.
I have a macos app that creates a sports scoreboard and streams this out in a third party streaming format. I need to use a library for this, which expects a CVPixelBuffer e.g. every 0.04 secs (25 fps).
The scoreboard is a view with some subviews (scores, timers, etc) in an offscreen window. When a timer triggers to create a new frame, my code does:
• create a bitmap-representation for the view
• make a view.cacheDisplay(...)
• create a CIImage from the bitmap-representation
• create a CVPixelBuffer using CVPixelBufferCreate (kCVPixelFormatType_32BGRA format)
• render the CIImage into the CVPixelBuffer using ciContext.render(ciImage, to: pixelBufferOut)
• and finally hand over the CVPixelBuffer to the video library.
Works, the app is in production.
Now I come to the point where I need someone to tell me in which direction I have to think. The next feature requested is to do some animation for the scoreboard graphics , e.g. a simple "fade in" and "fade out". Later I would like to do more complex things, but let's just look at that.
When I add a CABasicAnimation(keyPath: #keyPath(CALayer.opacity)) for fade in / fade out to the scoreboard base view (all views with layer), I can see it smoothly fading after I moved my offscreen to onscreen, so the animation works on screen. But in the video stream there is no animation, no fading, the content is shown with opacity 0.0 at one frame and in the next frame 1.0 (fade in) and the other way round for fade out. I have a not-animated, always visible text field displaying a timecode in the video screen and that shows every timecode in the video, so the frames are in fact generated, but contains no scoreboard view with an opacity other than 0 or 1.
How can I get the rendered frames from an animation? Is it somehow possible with Core Animation? Do I have to dig into Metal?
I searched for hours to find something, but "animation" leads to discussions about animations on screen, while "video" is always about AVFoundation, but there is this library I have to use.
Thanks for any hints,
Nina
I have worked through the LearnMetalCPP project but it seems that even with the port of AppKit.h to C++ framework, nobody included a method to gain keyboard and mouse inputs in C++. I am under the impression AppKit had a way to manage events with NSEvent and NSResponder, as it mentions in the developer documentation for gaming input systems, but this is excluded from the CPP version of Appkit.h. Can't seem to find a way to handle inputs at all and it's making it seem impossible for anyone to successfully make a game on MacOS in C++.
Usually I would be able to handle it with SFML or SDL, but I am wondering since c++ isn't native to macOS if there is any possible way to handle game inputs with C++ at all.
It is Apple's hardware, shouldn't they be the ones to create a C++ game input framework? They seem to have a game input framework for every language except for C++. I would understand that they just don't want to do it because C++ isn't native to macOS, but with the new release of Metal CPP, It makes no sense that they wouldn't include a hardware input event system and especially if they want us to port games to MacOS.
Hi,
I'm having a small App in the AppleTV-Simulator which is supposed to use the Siri-Remotes Swipe-Gesture.
It works perfect on the real device but on the simulator the Swipe-Gesture is not recognized in the App but it works on the Start-Screen of the Simulator using the simulated Siri-Remote app.
Here is the code which sets up the xAxis ans yAxis value change handlers:
#if targetEnvironment(simulator)
// Simulator
let siriRemote = GCController.controllers().filter { controller in
if controller.vendorName == "Gamepad" {
return true
} else {
return false
}
}
let sController = siriRemote.first!
let inputProfile = sController.physicalInputProfile
let dPad = inputProfile.dpads["Direction Pad"]
self.dPad = dPad
self.dPad!.xAxis.valueChangedHandler = self.directionPadXAxisValueChangeHandler
self.dPad!.yAxis.valueChangedHandler = self.directionPadYAxisValueChangeHandler
}
#else
// Device
if let _ = ( notification.object as? GCController)?.microGamepad {
let microProfileController = notification.object as! GCController
self.microGamePad = microProfileController.microGamepad
self.dPad = self.microGamePad!.dpad
self.dPad!.xAxis.valueChangedHandler = self.directionPadXAxisValueChangeHandler
self.dPad!.yAxis.valueChangedHandler = self.directionPadYAxisValueChangeHandler
}
#endif
Any help is greatly appreciated.
Cheers,
Frank
Hello!
I run into, what seem to be compiler issue. The shader source given to Metal is: https://shader-playground.timjones.io/1bcf3ffbb313878ccd594ddbb27b746e
This shader is generated by spirv-cross, from GLSL source, so for readability here is original source: https://github.com/Try/OpenGothic/blob/master/shader/hiz/hiz_mip.comp
(shader variant uses SSBO counter, not atomic-image)
Here is relevant path of application log:
2024-04-21 16:27:13.621218+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.656559+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.701323+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
2024-04-21 16:27:13.701477+0200 Gothic2Notr[23992:2003969] MTLCompiler: Compilation failed with XPC_ERROR_CONNECTION_INTERRUPTED on 3 try
2024-04-21 16:27:13.701817+0200 Gothic2Notr[23992:2003969] Compiler failed with XPC_ERROR_CONNECTION_INTERRUPTED
iOS version: 15.8.2
MTL::CompileOptions::languageVersion: 2.4 (also tested other version - same result)
Offended part of shader:
void store(int mip, ivec2 uv, float z) {
// NOTE: replacing this function to NOP, avoid the crash
// NOTE2: this switch-case is crude emulation of bindless storage-image
switch(mip) {
case 1:
imageStore(mip1, uv, vec4(z));
break;
case 2:
imageStore(mip2, uv, vec4(z));
break;
case 3:
imageStore(mip3, uv, vec4(z));
break;
case 4:
imageStore(mip4, uv, vec4(z));
break;
case 5:
imageStore(mip5, uv, vec4(z));
break;
case 6:
imageStore(mip6, uv, vec4(z));
break;
case 7:
imageStore(mip7, uv, vec4(z));
break;
case 8:
imageStore(mip8, uv, vec4(z));
break;
}
}
Some extra info:
The shader is simplified single-pass mip-map generator.
The same shader is know to work on mac M1 laptop without any issues
Please have a look and looking forward for driver-fix. Thanks!