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