Post

Replies

Boosts

Views

Activity

Reply to Potential Metal Shader Compiler/Driver Bug
I have a minimal reproducible sample available. Install and run this app on a newer device. The device I'm testing on is an iPad Pro 11 in. 2018 (A1980). Notice that there is a sliver of a yellow sphere rendering on the right side of the frame, against a red background. Use XCode to capture the GPU workflow. Select the draw command (6144 indices). Inspect the geometry output. Notice that the geometry output draws the sphere in the exact middle of the screen. The geometry output is correct, which is corroborated by inspecting the vertex shader output (the NDCs are centered around x and y coordinates of 0 and 0). The rendered output is incorrect, with the sphere being drawn off to the side. If I run this on an older iPhone (iPhone 6s, A1633), the rendered output is correct. This version of the shader actually fails for all deployment targets, but the failure is different based on the deployment target. If you change the deployment target to iOS 12, the sphere doesn't appear anywhere on screen. The sample project is too large to upload here, so I created a Feedback Assistant bug. https://feedbackassistant.apple.com/feedback/9915115 Please keep me updated on this. After adjusting the way I send uniforms (grouping them into structs instead of sending them all separately), my workaround of rolling back the deployment target stopped functioning. The shaders are broken on new devices no matter what. I can't move forward with development of my app until this issue is resolved. Thank you!
Feb ’22