Shader compilation error with landscape patches on MacOS Sonoma 14.3.1, UE 5.4.4

nevernotnicole
Mon, 04 Nov 2024 01:16:58 +0000
Rendering

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:

1. 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)

2. Enable the “Landscape Patches” plugin and restart editor

3. Create a new actor

4. Add the “Landscape Circle Height Patch” component to the actor, compile/save

5. Attempt to place the new actor in the scene

6. 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.

2 posts - 2 participants