Skip to content

Instantly share code, notes, and snippets.

@timdecode
Created June 9, 2017 01:02
Show Gist options
  • Save timdecode/e7551ae504c84f8a27e00a0affcb9fb5 to your computer and use it in GitHub Desktop.
Save timdecode/e7551ae504c84f8a27e00a0affcb9fb5 to your computer and use it in GitHub Desktop.
2017-06-08 19:00:19.601254-0600 UE4Editor[6486:34786] Compiler failed to build request
2017-06-08 19:00:19.602167-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:602][ 2]LogMetal:Error: Failed to generate a pipeline state object: Error Domain=CompilerError Code=1 "Unhandled atom in intrinsic: llvm.bswap.i32" UserInfo={NSLocalizedDescription=Unhandled atom in intrinsic: llvm.bswap.i32}
2017-06-08 19:00:19.602267-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:602][ 2]LogMetal:Error: Vertex shader: // Global/FScreenVS/ScreenVertexShader.usf:Main
#include <metal_stdlib>
using namespace metal;
struct FVSStageIn
{
float2 IN_ATTRIBUTE0 [[ attribute(0) ]];
float2 IN_ATTRIBUTE1 [[ attribute(1) ]];
};
struct FVSOut
{
float2 OUT_TEXCOORD0 [[ user(TEXCOORD0) ]];
float4 Position [[ position ]];
};
struct CB_DrawRectangleParameters
{
float4 DrawRectangleParameters_PosScaleBias;
float4 DrawRectangleParameters_UVScaleBias;
float4 DrawRectangleParameters_InvTargetSizeAndTextureSize;
};
vertex FVSOut Main_00000614_14a2fd7f(FVSStageIn __VSStageIn [[ stage_in ]],
constant CB_DrawRectangleParameters &DrawRectangleParameters [[ buffer(0) ]])
{
float2 v0 = float2(0.0,0.0);
v0.xy = __VSStageIn.IN_ATTRIBUTE0;
float4 v1 = float4(0.0,0.0,0.0,0.0);
v1.zw = float2(0.0,1.0);
v1.xy = v0;
float4 v2 = float4(0.0,0.0,0.0,0.0);
v2.xyzw = v1;
v2.xy = precise::fma((float2(2.0,2.0)*precise::fma(v0,DrawRectangleParameters.DrawRectangleParameters_PosScaleBias.xy,DrawRectangleParameters.DrawRectangleParameters_PosScaleBias.zw)),DrawRectangleParameters.DrawRectangleParameters_InvTargetSizeAndTextureSize.xy,float2(-1.0,-1.0));
v2.xy = (v2.xy*float2(1.0,-1.0));
FVSOut t3;
t3.OUT_TEXCOORD0.xy = (precise::fma(__VSStageIn.IN_ATTRIBUTE1,DrawRectangleParameters.DrawRectangleParameters_UVScaleBias.xy,DrawRectangleParameters.DrawRectangleParameters_UVScaleBias.zw)*DrawRectangleParameters.DrawRectangleParameters_InvTargetSizeAndTextureSize.zw);
t3.Position.xyzw = v2;
return t3;
}
2017-06-08 19:00:19.602808-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:602][ 2]LogMetal:Error: Pixel shader: // Global/TCubeFilterPS<0>/ReflectionEnvironmentShaders.usf:FilterPS
#include <metal_stdlib>
using namespace metal;
struct FPSStageIn
{
float2 IN_TEXCOORD0 [[ user(TEXCOORD0) ]];
};
struct FPSOut
{
float4 FragColor0 [[ color(0) ]];
};
fragment FPSOut Main_00001533_bcb9ca4c(FPSStageIn __PSStageIn [[ stage_in ]],
constant int4 *pu_i [[ buffer(3) ]],
constant uint4 *pu_u [[ buffer(4) ]],
sampler s0 [[ sampler(0) ]], texturecube<float> ps0 [[ texture(0) ]])
{
uint u0 = 0u;
u0 = pu_u[1].x;
uint u1 = 0u;
u1 = pu_u[0].x;
int i2 = 0;
i2 = pu_i[0].x;
float4 v3 = float4(0.0,0.0,0.0,0.0);
float4 v4 = float4(0.0,0.0,0.0,0.0);
float2 v5 = float2(0.0,0.0);
v5.xy = precise::fma(__PSStageIn.IN_TEXCOORD0,float2(2.0,2.0),float2(-1.0,-1.0));
float3 v6 = float3(0.0,0.0,0.0);
if (i2==0)
{
float3 v7 = float3(0.0,0.0,0.0);
v7.x = 1.0;
v7.y = (-v5.y);
v7.z = (-v5.x);
v6.xyz = v7;
}
else
{
if (i2==1)
{
float3 v8 = float3(0.0,0.0,0.0);
v8.x = -1.0;
v8.y = (-v5.y);
v8.z = v5.x;
v6.xyz = v8;
}
else
{
if (i2==2)
{
float3 v9 = float3(0.0,0.0,0.0);
v9.y = 1.0;
v9.x = v5.x;
v9.z = v5.y;
v6.xyz = v9;
}
else
{
if (i2==3)
{
float3 v10 = float3(0.0,0.0,0.0);
v10.y = -1.0;
v10.x = v5.x;
v10.z = (-v5.y);
v6.xyz = v10;
}
else
{
if (i2==4)
{
float3 v11 = float3(0.0,0.0,0.0);
v11.z = 1.0;
v11.x = v5.x;
v11.y = (-v5.y);
v6.xyz = v11;
}
else
{
float3 v12 = float3(0.0,0.0,0.0);
v12.z = -1.0;
v12.x = (-v5.x);
v12.y = (-v5.y);
v6.xyz = v12;
}
}
}
}
}
float3 v13 = float3(0.0,0.0,0.0);
v13.xyz = normalize(v6);
float f14 = 0.0;
f14 = fabs(v13.z);
float3 v15 = float3(0.0,0.0,0.0);
v15.xyz = (f14<9.990000e-01)?(float3(0.0,0.0,1.0)):(float3(1.0,0.0,0.0));
float3 v16 = float3(0.0,0.0,0.0);
v16.xyz = normalize(cross(v15,v13));
float3 v17 = float3(0.0,0.0,0.0);
v17.xyz = cross(v13,v16);
float f18 = 0.0;
f18 = exp2(((1.0+(-((float((u0+4294967295u))+-1.0)+(-float(u1)))))/1.20000005));
if (f18<1.000000e-02)
{
v3.xyzw = ps0.sample(s0, v6, level(0.0));
}
else
{
uint u19 = 0u;
u19 = uint((1<<int((u0+4294967295u))));
float f20 = 0.0;
f20 = ((12.56637096/float(((6u*u19)*u19)))*2.0);
int i21 = 0;
i21 = (f18<1.000000e-01)?(32):(64);
uint u22 = 0u;
u22 = uint(i21);
v4.xyzw = float4(0.0,0.0,0.0,0.0);
if (f18>9.900000e-01)
{
uint u23 = 0u;
u23 = 0u;
for (;;)
{
if (u23>=u22)
{
break;
}
uint u24 = 0u;
u24 = ((u23<<16u)|(u23>>16u));
uint u25 = 0u;
u25 = (((u24&16711935u)<<8u)|((u24&4278255360u)>>8u));
uint u26 = 0u;
u26 = (((u25&252645135u)<<4u)|((u25&4042322160u)>>4u));
uint u27 = 0u;
u27 = (((u26&858993459u)<<2u)|((u26&3435973836u)>>2u));
float3 v28 = float3(0.0,0.0,0.0);
float f29 = 0.0;
f29 = (6.28318548*fract((float(u23)/float(u22))));
float f30 = 0.0;
f30 = precise::sqrt((float(((((u27&1431655765u)<<1u)|((u27&2863311530u)>>1u))^0u))*2.328306e-10));
float f31 = 0.0;
f31 = precise::sqrt((1.0+(-(f30*f30))));
v28.x = (f31*cos(f29));
v28.y = (f31*sin(f29));
v28.z = f30;
v4.xyzw = (v4+ps0.sample(s0, precise::fma(v13,float3(f30),precise::fma(v17,v28.yyy,(v16*v28.xxx))), level((5.000000e-01*log2(((float(1.0) / (float(u22)*(f30/3.14159274)))/f20))))));
u23 = (u23+1u);
}
v3.xyzw = (v4/float4(float(u22)));
}
else
{
float f32 = 0.0;
f32 = 0.0;
uint u33 = 0u;
u33 = 0u;
for (;;)
{
float2 v34 = float2(0.0,0.0);
if (u33>=u22)
{
break;
}
float f35 = 0.0;
f35 = fract((float(u33)/float(u22)));
uint u36 = 0u;
u36 = ((u33<<16u)|(u33>>16u));
uint u37 = 0u;
u37 = (((u36&16711935u)<<8u)|((u36&4278255360u)>>8u));
uint u38 = 0u;
u38 = (((u37&252645135u)<<4u)|((u37&4042322160u)>>4u));
uint u39 = 0u;
u39 = (((u38&858993459u)<<2u)|((u38&3435973836u)>>2u));
float f40 = 0.0;
f40 = (float(((((u39&1431655765u)<<1u)|((u39&2863311530u)>>1u))^0u))*2.328306e-10);
float2 v41 = float2(0.0,0.0);
v41.x = f35;
v41.y = f40;
v34.xy = v41;
v34.y = (f40*9.950000e-01);
float3 v42 = float3(0.0,0.0,0.0);
float f43 = 0.0;
f43 = (f18*f18);
float f44 = 0.0;
f44 = (6.28318548*f35);
float f45 = 0.0;
f45 = precise::sqrt(((1.0+(-v34.y))/precise::fma(precise::fma(f43,f43,-1.0),v34.y,1.0)));
float f46 = 0.0;
f46 = precise::sqrt((1.0+(-(f45*f45))));
v42.x = (f46*cos(f44));
v42.y = (f46*sin(f44));
v42.z = f45;
float3 v47 = float3(0.0,0.0,0.0);
v47.xyz = precise::fma(float3((2.0*f45)),v42,float3(-0.0,-0.0,-1.0));
if (v47.z>0.0)
{
float f48 = 0.0;
f48 = (f18*f18);
float f49 = 0.0;
f49 = (f48*f48);
float f50 = 0.0;
f50 = precise::fma(precise::fma(f45,f49,(-f45)),f45,1.0);
v4.xyzw = precise::fma(ps0.sample(s0, precise::fma(v13,v47.zzz,precise::fma(v17,v47.yyy,(v16*v47.xxx))), level((5.000000e-01*log2(((float(1.0) / (float(u22)*((f49/((3.14159274*f50)*f50))*2.500000e-01)))/f20))))),v47.zzzz,v4);
f32 = (f32+v47.z);
}
u33 = (u33+1u);
}
v3.xyzw = (v4/float4(f32));
}
}
FPSOut t51;
t51.FragColor0.xyzw = v3;
return t51;
}
2017-06-08 19:00:19.604449-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:604][ 2]LogMetal:Error: Hull shader: NULL
2017-06-08 19:00:19.604494-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:604][ 2]LogMetal:Error: Domain shader: NULL
2017-06-08 19:00:19.604652-0600 UE4Editor[6486:35042] [2017.06.09-01.00.19:604][ 2]LogMetal:Error: Descriptor: <MTLRenderPipelineDescriptorInternal: 0x61000018df70>
label = <none>
Alpha to Coverage = 0
Alpha to One = 0
Rasterization Enabled = 1
Sample Coverage = 1
Sample Mask = 0xffffffffffffffff
Sample Count = 1
Input Primitive Topology = Triangle
Depth Attachment Format = MTLPixelFormatInvalid
Stencil Attachment Format = MTLPixelFormatInvalid
tessellationPartitionMode = MTLTessellationPartitionModePow2
maxTessellationFactor = 16
tessellationFactorScaleEnabled = 0
tessellationFactorFormat = MTLTessellationFactorFormatHalf
tessellationControlPointIndexType = MTLTessellationControlPointIndexTypeNone
tessellationFactorStepFunction = MTLTessellationFactorStepFunctionConstant
tessellationOutputWindingOrder = MTLWindingClockwise
Vertex Function = <_MTLFunctionInternal: 0x618000190330>
name = Main_00000614_14a2fd7f
device = <NVMTLDevice: 0x126011600>
name = NVIDIA GeForce GTX 1080
functionType = MTLFunctionTypeVertex
attributes: <MTLVertexAttributeInternal: 0x620000049270>
name = IN_ATTRIBUTE0
attributeIndex = 0
attributeType = MTLDataTypeFloat2
active = 1
isPatchData = 0
isPatchControlPointData = 0 <MTLVertexAttributeInternal: 0x6200000495a0>
name = IN_ATTRIBUTE1
attributeIndex = 1
attributeType = MTLDataTypeFloat2
active = 1
isPatchData = 0
isPatchControlPointData = 0
Fragment Function = <_MTLFunctionInternal: 0x61000018e040>
name = Main_00001533_bcb9ca4c
device = <NVMTLDevice: 0x126011600>
name = NVIDIA GeForce GTX 1080
functionType = MTLFunctionTypeFragment
attributes: <none>
Vertex Array:
Buffer 30:
stepFunction = MTLVertexStepFunctionPerVertex
stride = 32
Attribute 0:
offset = 0
format = MTLAttributeFormatFloat4
Attribute 1:
offset = 16
format = MTLAttributeFormatFloat2
Blend States:
Color Attachment 0:
pixelFormat = MTLPixelFormatRGBA16Float
blending = 0
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 1:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 2:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 3:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 4:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 5:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 6:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
Color Attachment 7:
pixelFormat = MTLPixelFormatInvalid
blending = NO
Source blend factors:
RGB = MTLBlendFactorOne
Alpha = MTLBlendFactorOne
Destination blend factors:
RGB = MTLBlendFactorZero
Alpha = MTLBlendFactorZero
Blend operations:
RGB = MTLBlendOperationAdd
Alpha = MTLBlendOperationAdd
writeMask = RGBA
2017-06-08 19:00:19.609920-0600 UE4Editor[6486:35042] Fatal error: [File:/Users/timothyd/Development/UnrealAR/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalPipeline.cpp] [Line: 714]
Failed to generate a render pipeline state object:
Unhandled atom in intrinsic: llvm.bswap.i32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment