blob: afabeb95aa977d9429c7af8aeb39ff2c8b2d4a1d [file] [log] [blame]
SKIP: FAILED
<dawn>/src/tint/lang/msl/writer/printer/printer.cc:355 internal compiler error: Scene = struct @align(16) {
lightViewProjMatrix:mat4x4<f32> @offset(0)
cameraViewProjMatrix:mat4x4<f32> @offset(64)
lightPos:vec3<f32> @offset(128)
}
FragmentInput = struct @align(16) {
shadowPos:vec3<f32> @offset(0), @location(0)
fragPos:vec3<f32> @offset(16), @location(1)
fragNorm:vec3<f32> @offset(32), @location(2)
}
%b1 = block { # root
%scene:ptr<uniform, Scene, read> = var @binding_point(0, 0)
%shadowMap:ptr<handle, texture_depth_2d, read> = var @binding_point(0, 1)
%shadowSampler:ptr<handle, sampler_comparison, read> = var @binding_point(0, 2)
}
%tint_symbol = @fragment func(%input:FragmentInput):vec4<f32> [@location(0)] -> %b2 {
%b2 = block {
%visibility:ptr<function, f32, read_write> = var, 0.0f
%oneOverShadowDepthTextureSize:f32 = let 0.0009765625f
loop [i: %b3, b: %b4, c: %b5] { # loop_1
%b3 = block { # initializer
%y:ptr<function, i32, read_write> = var, -1i
next_iteration %b4
}
%b4 = block { # body
%9:i32 = load %y
%10:bool = lte %9, 1i
if %10 [t: %b6, f: %b7] { # if_1
%b6 = block { # true
exit_if # if_1
}
%b7 = block { # false
exit_loop # loop_1
}
}
loop [i: %b8, b: %b9, c: %b10] { # loop_2
%b8 = block { # initializer
%x:ptr<function, i32, read_write> = var, -1i
next_iteration %b9
}
%b9 = block { # body
%12:i32 = load %x
%13:bool = lte %12, 1i
if %13 [t: %b11, f: %b12] { # if_2
%b11 = block { # true
exit_if # if_2
}
%b12 = block { # false
exit_loop # loop_2
}
}
%14:i32 = load %x
%15:f32 = convert %14
%16:f32 = mul %15, %oneOverShadowDepthTextureSize
%17:i32 = load %y
%18:f32 = convert %17
%19:f32 = mul %18, %oneOverShadowDepthTextureSize
%offset:vec2<f32> = construct %16, %19
%21:f32 = load %visibility
%22:texture_depth_2d = load %shadowMap
%23:sampler_comparison = load %shadowSampler
%24:vec3<f32> = access %input, 0u
%25:vec2<f32> = swizzle %24, xy
%26:vec2<f32> = add %25, %offset
%27:f32 = access %input, 0u, 2u
%28:f32 = sub %27, 0.00700000021606683731f
%29:f32 = textureSampleCompare %22, %23, %26, %28
%30:f32 = add %21, %29
store %visibility, %30
continue %b10
}
%b10 = block { # continuing
%31:i32 = load %x
%32:i32 = add %31, 1i
store %x, %32
next_iteration %b9
}
}
continue %b5
}
%b5 = block { # continuing
%33:i32 = load %y
%34:i32 = add %33, 1i
store %y, %34
next_iteration %b4
}
}
%35:f32 = load %visibility
%36:f32 = div %35, 9.0f
store %visibility, %36
%37:ptr<uniform, vec3<f32>, read> = access %scene, 2u
%38:vec3<f32> = load %37
%39:vec3<f32> = access %input, 1u
%40:vec3<f32> = sub %38, %39
%41:vec3<f32> = normalize %40
%42:vec3<f32> = access %input, 2u
%43:f32 = dot %41, %42
%lambertFactor:f32 = max %43, 0.0f
%45:f32 = load %visibility
%46:f32 = mul %45, %lambertFactor
%47:f32 = add 0.20000000298023223877f, %46
%lightingFactor:f32 = min %47, 1.0f
%49:vec3<f32> = mul %lightingFactor, vec3<f32>(0.89999997615814208984f)
%50:vec4<f32> = construct %49, 1.0f
ret %50
}
}
unhandled variable address space
********************************************************************
* The tint shader compiler has encountered an unexpected error. *
* *
* Please help us fix this issue by submitting a bug report at *
* crbug.com/tint with the source program that triggered the bug. *
********************************************************************