Hello.
I recently encountered some editor crashes when trying to open a level. It took a while to figure out what the issue was, I assumed that some of my materials or something from the marketplace was somehow incompatible with the M1 architecture. That seemed strange, and when looking through the error output I noticed it mentioned ApplyLandscapeCircleHeightPatch_out
. I removed all landscape patches from my actors in the scene and bam, the level will load.
To ensure that this wasn’t still an issue with my project, I reproduced on a brand new blank project. Here are the steps:
- Create a new blank game project from the editor launch screen (this open the open-world template upon startup. if not, create a new landscape in the level first)
- Enable the “Landscape Patches” plugin and restart editor
- Create a new actor
- Add the “Landscape Circle Height Patch” component to the actor, compile/save
- Attempt to place the new actor in the scene
- Observe the error
I understand that this feature is experimental, so some issues should be expected. I have not encountered this problem on my PC.
I’ve already submitted this as a bug report, but also was wondering if anyone else has had this issue/could reproduce it to further rule out environment issues.
I wasn’t able to find anything regarding this by googling parts of the error output, so hopefully if someone else has this problem they’ll be able to find this post.
Here is the full error log:
Error LogMetal Failed to generate a pipeline state object: Error Domain=AGXMetalG13X Code=3 "fragment shader color output does not have enough components for the pixel format (MTLPixelFormatBGRA8Unorm)" UserInfo={NSLocalizedDescription=fragment shader color output does not have enough components for the pixel format (MTLPixelFormatBGRA8Unorm)}
Error LogMetal Vertex shader:
Error LogMetal #include <metal_stdlib>
Error LogMetal #include <simd/simd.h>
Error LogMetal #include <metal_simdgroup>
Error LogMetal using namespace metal;
Error LogMetal struct MainVS_out
Error LogMetal {
Error LogMetal float4 gl_Position [[position, invariant]];
Error LogMetal };
Error LogMetal struct MainVS_in
Error LogMetal {
Error LogMetal float2 in_var_ATTRIBUTE0 [[attribute(0)]];
Error LogMetal };
Error LogMetal vertex MainVS_out Main_00000286_9c8f2e28(MainVS_in in [[stage_in]])
Error LogMetal {
Error LogMetal MainVS_out out = {};
Error LogMetal float _20 = fma(2.0, in.in_var_ATTRIBUTE0.x, -1.0);
Error LogMetal float _22 = fma(-2.0, in.in_var_ATTRIBUTE0.y, 1.0);
Error LogMetal float4 _23 = float4(_20, _22, 0.0, 1.0);
Error LogMetal out.gl_Position = _23;
Error LogMetal return out;
Error LogMetal }
Error LogMetal Pixel shader:
Error LogMetal #include <metal_stdlib>
Error LogMetal #include <simd/simd.h>
Error LogMetal #include <metal_simdgroup>
Error LogMetal using namespace metal;
Error LogMetal struct type_Globals
Error LogMetal {
Error LogMetal packed_float3 InCenter;
Error LogMetal float InRadius;
Error LogMetal float InFalloff;
Error LogMetal };
Error LogMetal struct ApplyLandscapeCircleHeightPatch_out
Error LogMetal {
Error LogMetal float2 out_var_SV_Target0 [[color(0)]];
Error LogMetal };
Error LogMetal fragment ApplyLandscapeCircleHeightPatch_out Main_00000626_f9d6a17d(constant type_Globals& _Globals [[buffer(0)]], texture2d<float> InSourceTexture [[texture(0)]], float4 gl_FragCoord [[position]])
Error LogMetal {
Error LogMetal ApplyLandscapeCircleHeightPatch_out out = {};
Error LogMetal int2 _45 = int2(floor(gl_FragCoord.xy));
Error LogMetal float4 _51 = InSourceTexture.read(uint2(int3(_45, 0).xy), 0);
Error LogMetal float _62 = distance(float2(_45), float2(_Globals.InCenter[0], _Globals.InCenter[1]));
Error LogMetal float _72;
Error LogMetal if (_62 > _Globals.InRadius)
Error LogMetal {
Error LogMetal _72 = 1.0 - precise::min((_62 - _Globals.InRadius) / precise::max(_Globals.InFalloff, 9.9999997473787516355514526367188e-05), 1.0);
Error LogMetal }
Error LogMetal else
Error LogMetal {
Error LogMetal _72 = 1.0;
Error LogMetal }
Error LogMetal uint _76 = uint(fast::clamp(rint(mix(fma(_51.x, 256.0, _51.y) * 255.0, _Globals.InCenter[2], _72)), 0.0, 65535.0));
Error LogMetal out.out_var_SV_Target0 = float2(float(_76 >> 8u) * 0.0039215688593685626983642578125, float(_76 & 255u) * 0.0039215688593685626983642578125);
Error LogMetal return out;
Error LogMetal }
Error LogMetal Descriptor: <MTLRenderPipelineDescriptorInternal: 0x3e93d2470>
Error LogMetal label = Main_00000286_9c8f2e28+Main_00000626_f9d6a17d
Error LogMetal Alpha to Coverage = 0
Error LogMetal Alpha to One = 0
Error LogMetal Rasterization Enabled = 1
Error LogMetal Sample Coverage = 1
Error LogMetal Sample Mask = 0xffffffffffffffff
Error LogMetal Raster Sample Count = 1
Error LogMetal Input Primitive Topology = Triangle
Error LogMetal Depth Attachment Format = MTLPixelFormatInvalid
Error LogMetal Stencil Attachment Format = MTLPixelFormatInvalid
Error LogMetal tessellationPartitionMode = MTLTessellationPartitionModePow2
Error LogMetal maxTessellationFactor = 16
Error LogMetal tessellationFactorScaleEnabled = 0
Error LogMetal tessellationFactorFormat = MTLTessellationFactorFormatHalf
Error LogMetal tessellationControlPointIndexType = MTLTessellationControlPointIndexTypeNone
Error LogMetal tessellationFactorStepFunction = MTLTessellationFactorStepFunctionConstant
Error LogMetal tessellationOutputWindingOrder = MTLWindingClockwise
Error LogMetal Vertex Function = <_MTLFunctionInternal: 0x36ef0c920>
Error LogMetal name = Main_00000286_9c8f2e28
Error LogMetal device = <AGXG13XDevice: 0x13e823200>
Error LogMetal name = Apple M1 Pro
Error LogMetal functionType = MTLFunctionTypeVertex
Error LogMetal attributes: <MTLVertexAttributeInternal: 0x60000362c0c0>
Error LogMetal name = in_var_ATTRIBUTE0
Error LogMetal attributeIndex = 0
Error LogMetal attributeType = MTLDataTypeFloat2
Error LogMetal active = 1
Error LogMetal isPatchData = 0
Error LogMetal isPatchControlPointData = 0
Error LogMetal Fragment Function = <_MTLFunctionInternal: 0x36ef34670>
Error LogMetal name = Main_00000626_f9d6a17d
Error LogMetal device = <AGXG13XDevice: 0x13e823200>
Error LogMetal name = Apple M1 Pro
Error LogMetal functionType = MTLFunctionTypeFragment
Error LogMetal attributes: <none>
Error LogMetal Vertex Array:
Error LogMetal Buffer 30:
Error LogMetal stepFunction = MTLVertexStepFunctionPerVertex
Error LogMetal stride = 32
Error LogMetal Attribute 0:
Error LogMetal offset = 0
Error LogMetal format = MTLAttributeFormatFloat4
Error LogMetal Vertex Amplification Mode = MTLVertexAmplificationModeCount
Error LogMetal Max Vertex Amplification Count = 1
Error LogMetal supportIndirectCommandBuffers = 0
Error LogMetal textureWriteRoundingMode = MTLRoundingModeDefault
Error LogMetal forceResourceIndex = 0
Error LogMetal resourceIndex = 0
Error LogMetal Vertex Depth Compare Clamp Mask = 0x0
Error LogMetal Fragment Depth Compare Clamp Mask = 0x0
Error LogMetal Needs custom border color samplers = 0
Error LogMetal Color Attachments:
Error LogMetal Color Attachment 0:
Error LogMetal pixelFormat = MTLPixelFormatBGRA8Unorm
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 1:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 2:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 3:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 4:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 5:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 6:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Color Attachment 7:
Error LogMetal pixelFormat = MTLPixelFormatInvalid
Error LogMetal blending = NO
Error LogMetal Source blend factors:
Error LogMetal RGB = MTLBlendFactorOne
Error LogMetal Alpha = MTLBlendFactorOne
Error LogMetal Destination blend factors:
Error LogMetal RGB = MTLBlendFactorZero
Error LogMetal Alpha = MTLBlendFactorZero
Error LogMetal Blend operations:
Error LogMetal RGB = MTLBlendOperationAdd
Error LogMetal Alpha = MTLBlendOperationAdd
Error LogMetal writeMask = RGBA
Error LogMetal Vertex Buffer 0:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 1:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 2:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 3:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 4:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 5:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 6:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 7:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 8:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 9:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 10:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 11:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 12:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 13:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 14:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 15:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 16:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 17:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 18:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 19:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 20:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 21:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 22:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 23:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 24:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 25:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 26:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 27:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 28:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 29:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Vertex Buffer 30:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 0:
Error LogMetal mutability = MTLMutabilityImmutable
Error LogMetal Fragment Buffer 1:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 2:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 3:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 4:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 5:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 6:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 7:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 8:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 9:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 10:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 11:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 12:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 13:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 14:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 15:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 16:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 17:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 18:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 19:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 20:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 21:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 22:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 23:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 24:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 25:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 26:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 27:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 28:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 29:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal Fragment Buffer 30:
Error LogMetal mutability = MTLMutabilityDefault
Error LogMetal vertexLinkedFunctions = <MTLLinkedFunctionsInternal: 0x6000037b1a70>
Error LogMetal functions = <null>
Error LogMetal privateFunctions = <null>
Error LogMetal binaryFunctions = <null>
Error LogMetal groups = <null>
Error LogMetal fragmentLinkedFunctions = <MTLLinkedFunctionsInternal: 0x6000037b1620>
Error LogMetal functions = <null>
Error LogMetal privateFunctions = <null>
Error LogMetal binaryFunctions = <null>
Error LogMetal groups = <null>
Error LogMetal supportAddingVertexBinaryFunctions = NO
Error LogMetal maxVertexCallStackDepth = 1
Error LogMetal supportAddingFragmentBinaryFunctions = NO
Error LogMetal maxFragmentCallStackDepth = 1
Error LogMetal explicitVisibilityGroupID = 4294967295
Error LogMetal maxAccelerationStructureTraversalDepth = 0
Error LogMetal Failed to generate a render pipeline state object:
Error LogMetal fragment shader color output does not have enough components for the pixel format (MTLPixelFormatBGRA8Unorm)
Error LogRHI Failed to create graphics pipeline, hashes: Vertex: A683E754A6BF80F312D484CE06A99949C3176C49, Pixel: 226FF313F58A7CE92593166CE7EC3B3545927554, Pipeline: D9A4675AC5F4570173C3B3F82D50DF850E11E42C.
Error LogRHI Vertex: Main_00000286_9c8f2e28
Error LogRHI Pixel: Main_00000626_f9d6a17d
Error LogRHI Render Targets: (8)
Error LogRHI 0x2
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI 0x0
Error LogRHI Depth Stencil Format:
Error LogRHI 0x0
Error LogMac appError called: Fatal error: [File:./Runtime/RHI/Private/PipelineStateCache.cpp] [Line: 419]
Error LogMac Shader compilation failures are Fatal.