maplibre / maplibre-native

MapLibre Native - Interactive vector tile maps for iOS, Android and other platforms.
https://maplibre.org
BSD 2-Clause "Simplified" License
1.03k stars 299 forks source link

Metal API Validation issue in -[MTLDebugRenderCommandEncoder setRenderPipelineState:] #2840

Open JesseCrocker opened 1 week ago

JesseCrocker commented 1 week ago

Describe the bug

-[MTLDebugRenderCommandEncoder setRenderPipelineState:]:1615: failed assertion `Set Render Pipeline State Validation
For depth attachment, the render pipeline's pixelFormat (MTLPixelFormatInvalid) does not match the framebuffer's pixelFormat (MTLPixelFormatDepth32Float_Stencil8).
For stencil attachment, the render pipeline's pixelFormat (MTLPixelFormatInvalid) does not match the framebuffer's pixelFormat (MTLPixelFormatDepth32Float_Stencil8).

I am seeing this crash when animating a second map onto the screen in a sheet, but im not actually sure if that has anything to do with it.

Platform information (please complete the following information):

I dont yet have a test case for this, but will work on one.

JesseCrocker commented 1 week ago

Im having a hard time reproducing this outside of my App, and I dont know how to attach the debugger to maplibre source from my app since the switch to bazel. But i did realize that this is not maplibre crashing, it's because I have Metal API Validation turned on.

louwers commented 1 week ago

@JesseCrocker Still would be good to fix!