Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Invalidating shader binary cache
- ][New Thread 0x7970be0006c0 (LWP 758952)]
- [New Thread 0x7970ada006c0 (LWP 758953)]
- NIR validation failed after nir_inline_functions in ../src/compiler/glsl/gl_nir_linker.c
- 2 errors:
- shader: MESA_SHADER_FRAGMENT
- source_sha1: {0x179b96c4, 0x44f7b871, 0xc2aaa8fb, 0xf1b6d10e, 0x1535f3d3}
- name: GLSL119
- internal: false
- stage: 4
- next_stage: 0
- subgroup_size: 1
- bit_sizes_float: 0x20
- bit_sizes_int: 0x61
- uses_discard: true
- needs_quad_helper_invocations: true
- inputs: 0
- outputs: 0
- uniforms: 0
- decl_var system INTERP_MODE_NONE none vec4 gl_FragCoord (SYSTEM_VALUE_FRAG_COORD)
- decl_var uniform INTERP_MODE_NONE none vec3 u_ViewOrigin (~0, 0, 0)
- decl_var uniform INTERP_MODE_NONE none mat4 u_ModelMatrix (~0, 0, 0)
- decl_var uniform INTERP_MODE_NONE none mat4 u_ModelViewProjectionMatrix (~0, 0, 0)
- decl_var uniform INTERP_MODE_NONE none vec3 u_LightGridOrigin (~0, 0, 0)
- decl_var uniform INTERP_MODE_NONE none vec3 u_LightGridScale (~0, 0, 0)
- decl_var uniform INTERP_MODE_NONE none int u_numLights (~0, 0, 0)
- decl_var shader_in INTERP_MODE_NONE none float[] gl_ClipDistance (VARYING_SLOT_CLIP_DIST0.x, 0, 0)
- decl_var shader_in INTERP_MODE_NONE none float[] gl_CullDistance (VARYING_SLOT_CULL_DIST0.x, 0, 0)
- decl_var shader_in INTERP_MODE_FLAT none int gl_PrimitiveID (VARYING_SLOT_PRIMITIVE_ID.x, 0, 0)
- decl_var shader_in INTERP_MODE_FLAT none int gl_Layer (VARYING_SLOT_LAYER.x, 0, 0)
- decl_var shader_in INTERP_MODE_FLAT none int gl_ViewportIndex (VARYING_SLOT_VIEWPORT.x, 0, 0)
- decl_var shader_in INTERP_MODE_NONE none vec2 gl_PointCoord (VARYING_SLOT_PNTC.xy, 0, 0)
- decl_var ubo INTERP_MODE_NONE none light[1024] lights (~0, 0, 0)
- decl_var ssbo INTERP_MODE_NONE readonly Material[] materials (~0, 0, 0)
- decl_var INTERP_MODE_NONE none int MAX_GLSL_BONES
- decl_var INTERP_MODE_NONE none float r_RimExponent
- decl_var INTERP_MODE_NONE none int lightsPerLayer
- decl_var INTERP_MODE_NONE none int numLayers
- decl_function ReadLightGrid (3 params)
- impl ReadLightGrid {
- decl_var INTERP_MODE_NONE none float directedScale
- decl_var INTERP_MODE_NONE none float ambientScale
- decl_var INTERP_MODE_NONE none float compiler_temp
- decl_var INTERP_MODE_NONE none float const_temp
- decl_var INTERP_MODE_NONE none float compiler_temp#0
- decl_var INTERP_MODE_NONE none float const_temp#1
- con block b0: // preds:
- 32 %29 = deref_var &const_temp (function_temp float)
- 32 %30 = load_const (0x40000000 = 2.000000)
- @store_deref (%29, %30 (2.000000)) (wrmask=x, access=none)
- 32 %31 = deref_var &const_temp#1 (function_temp float)
- 32 %32 = load_const (0x40000000 = 2.000000)
- @store_deref (%31, %32 (2.000000)) (wrmask=x, access=none)
- 32 %0 = deref_var &ambientScale (function_temp float)
- 32 %1 = deref_var &const_temp (function_temp float)
- 32 %2 = @load_deref (%1) (access=none)
- 32 %3 = @load_param (param_idx=0)
- 32 %4 = deref_cast (vec4 *)%3 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %5 = @load_deref (%4) (access=none)
- 32 %6 = mov %5.w
- 32 %7 = fmul %2, %6
- @store_deref (%0, %7) (wrmask=x, access=none)
- 32 %8 = @load_param (param_idx=1)
- 32 %9 = deref_cast (vec3 *)%8 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %10 = deref_var &ambientScale (function_temp float)
- 32 %11 = @load_deref (%10) (access=none)
- 32 %12 = @load_param (param_idx=0)
- 32 %13 = deref_cast (vec4 *)%12 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %14 = @load_deref (%13) (access=none)
- 32x3 %15 = mov %14.xyz
- 32x3 %16 = fmul %11.xxx, %15
- @store_deref (%9, %16) (wrmask=xyz, access=none)
- 32 %17 = @load_param (param_idx=2)
- 32 %18 = deref_cast (vec3 *)%17 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %19 = deref_var &const_temp#1 (function_temp float)
- 32 %20 = @load_deref (%19) (access=none)
- 32 %21 = deref_var &ambientScale (function_temp float)
- 32 %22 = @load_deref (%21) (access=none)
- 32 %23 = fsub %20, %22
- 32 %24 = @load_param (param_idx=0)
- 32 %25 = deref_cast (vec4 *)%24 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %26 = @load_deref (%25) (access=none)
- 32x3 %27 = mov %26.xyz
- 32x3 %28 = fmul %23.xxx, %27
- @store_deref (%18, %28) (wrmask=xyz, access=none)
- // succs: b1
- block b1:
- }
- decl_function computeLight (3 params)
- impl computeLight {
- con block b0: // preds:
- 32 %0 = @load_param (param_idx=2)
- 32 %1 = deref_cast (vec4 *)%0 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %2 = @load_param (param_idx=2)
- 32 %3 = deref_cast (vec4 *)%2 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %4 = @load_deref (%3) (access=none)
- 32x3 %5 = mov %4.xyz
- 32 %6 = @load_param (param_idx=0)
- 32 %7 = deref_cast (vec3 *)%6 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %8 = @load_deref (%7) (access=none)
- 32 %9 = @load_param (param_idx=1)
- 32 %10 = deref_cast (vec4 *)%9 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %11 = @load_deref (%10) (access=none)
- 32x3 %12 = mov %11.xyz
- 32x3 %13 = fmul %8, %12
- 32x3 %14 = fadd %5, %13
- 32x4 %15 = mov %14.xyzx
- 32x3 %16 = mov %15.xyz
- 32x4 %17 = mov %16.xyzx
- @store_deref (%1, %17) (wrmask=xyz, access=none)
- // succs: b1
- block b1:
- }
- decl_function computeDeluxeLight (7 params)
- impl computeDeluxeLight {
- decl_var INTERP_MODE_NONE none float NdotL
- decl_var INTERP_MODE_NONE none float NdotH
- decl_var INTERP_MODE_NONE none vec3 H
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#2
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#3
- decl_var INTERP_MODE_NONE none float compiler_temp#4
- decl_var INTERP_MODE_NONE none float compiler_temp#5
- decl_var INTERP_MODE_NONE none float compiler_temp#6
- decl_var INTERP_MODE_NONE none float compiler_temp#7
- decl_var INTERP_MODE_NONE none float compiler_temp#8
- decl_var INTERP_MODE_NONE none float const_temp#9
- decl_var INTERP_MODE_NONE none float const_temp#10
- decl_var INTERP_MODE_NONE none float compiler_temp#11
- decl_var INTERP_MODE_NONE none float compiler_temp#12
- decl_var INTERP_MODE_NONE none float const_temp#13
- con block b0: // preds:
- 32 %120 = deref_var &const_temp#9 (function_temp float)
- 32 %121 = load_const (0x3f000000 = 0.500000)
- @store_deref (%120, %121 (0.500000)) (wrmask=x, access=none)
- 32 %122 = deref_var &const_temp#10 (function_temp float)
- 32 %123 = load_const (0x3f000000 = 0.500000)
- @store_deref (%122, %123 (0.500000)) (wrmask=x, access=none)
- 32 %124 = deref_var &const_temp#13 (function_temp float)
- 32 %125 = load_const (0x3f800000 = 1.000000)
- @store_deref (%124, %125 (1.000000)) (wrmask=x, access=none)
- 32 %0 = deref_var &NdotL (function_temp float)
- 32 %1 = @load_param (param_idx=1)
- 32 %2 = deref_cast (vec3 *)%1 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %3 = @load_deref (%2) (access=none)
- 32 %4 = @load_param (param_idx=0)
- 32 %5 = deref_cast (vec3 *)%4 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %6 = @load_deref (%5) (access=none)
- 32 %7 = fdot3 %3, %6
- @store_deref (%0, %7) (wrmask=x, access=none)
- 32 %8 = deref_var &NdotL (function_temp float)
- 32 %9 = deref_var &NdotL (function_temp float)
- 32 %10 = @load_deref (%9) (access=none)
- 32 %11 = deref_var &const_temp#9 (function_temp float)
- 32 %12 = @load_deref (%11) (access=none)
- 32 %13 = fmul %10, %12
- 32 %14 = deref_var &const_temp#10 (function_temp float)
- 32 %15 = @load_deref (%14) (access=none)
- 32 %16 = fadd %13, %15
- @store_deref (%8, %16) (wrmask=x, access=none)
- 32 %17 = deref_var &NdotL (function_temp float)
- 32 %18 = deref_var &NdotL (function_temp float)
- 32 %19 = @load_deref (%18) (access=none)
- 32 %20 = deref_var &NdotL (function_temp float)
- 32 %21 = @load_deref (%20) (access=none)
- 32 %22 = fmul %19, %21
- @store_deref (%17, %22) (wrmask=x, access=none)
- 32 %23 = deref_var &NdotL (function_temp float)
- 32 %24 = deref_var &NdotL (function_temp float)
- 32 %25 = @load_deref (%24) (access=none)
- 32 %26 = fsat %25
- @store_deref (%23, %26) (wrmask=x, access=none)
- 32 %27 = @load_param (param_idx=6)
- 32 %28 = deref_cast (vec4 *)%27 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %29 = @load_param (param_idx=6)
- 32 %30 = deref_cast (vec4 *)%29 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %31 = @load_deref (%30) (access=none)
- 32x3 %32 = mov %31.xyz
- 32 %33 = @load_param (param_idx=3)
- 32 %34 = deref_cast (vec3 *)%33 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %35 = @load_deref (%34) (access=none)
- 32 %36 = deref_var &NdotL (function_temp float)
- 32 %37 = @load_deref (%36) (access=none)
- 32x3 %38 = fmul %35, %37.xxx
- 32 %39 = @load_param (param_idx=4)
- 32 %40 = deref_cast (vec4 *)%39 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %41 = @load_deref (%40) (access=none)
- 32x3 %42 = mov %41.xyz
- 32x3 %43 = fmul %38, %42
- 32x3 %44 = fadd %32, %43
- 32x4 %45 = mov %44.xyzx
- 32x3 %46 = mov %45.xyz
- 32x4 %47 = mov %46.xyzx
- @store_deref (%28, %47) (wrmask=xyz, access=none)
- 32 %48 = @load_param (param_idx=6)
- 32 %49 = deref_cast (vec4 *)%48 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %50 = @load_param (param_idx=6)
- 32 %51 = deref_cast (vec4 *)%50 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %52 = @load_deref (%51) (access=none)
- 32x3 %53 = mov %52.xyz
- 32 %54 = @load_param (param_idx=3)
- 32 %55 = deref_cast (vec3 *)%54 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %56 = @load_deref (%55) (access=none)
- 32 %57 = @load_param (param_idx=5)
- 32 %58 = deref_cast (vec4 *)%57 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %59 = @load_deref (%58) (access=none)
- 32x3 %60 = mov %59.xyz
- 32x3 %61 = fmul %56, %60
- 32 %62 = @load_param (param_idx=1)
- 32 %63 = deref_cast (vec3 *)%62 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %64 = @load_deref (%63) (access=none)
- 32 %65 = @load_param (param_idx=0)
- 32 %66 = deref_cast (vec3 *)%65 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %67 = @load_deref (%66) (access=none)
- 32 %68 = @load_param (param_idx=2)
- 32 %69 = deref_cast (vec3 *)%68 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %70 = @load_deref (%69) (access=none)
- 32x3 %71 = fadd %67, %70
- 32 %72 = @load_param (param_idx=0)
- 32 %73 = deref_cast (vec3 *)%72 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %74 = @load_deref (%73) (access=none)
- 32 %75 = @load_param (param_idx=2)
- 32 %76 = deref_cast (vec3 *)%75 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %77 = @load_deref (%76) (access=none)
- 32x3 %78 = fadd %74, %77
- 32 %79 = @load_param (param_idx=0)
- 32 %80 = deref_cast (vec3 *)%79 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %81 = @load_deref (%80) (access=none)
- 32 %82 = @load_param (param_idx=2)
- 32 %83 = deref_cast (vec3 *)%82 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %84 = @load_deref (%83) (access=none)
- 32x3 %85 = fadd %81, %84
- 32 %86 = fdot3 %78, %85
- 32 %87 = frsq %86
- 32x3 %88 = fmul %71, %87.xxx
- 32 %89 = fdot3 %64, %88
- 32 %90 = fsat %89
- 32 %91 = deref_var &in_baseInstance (shader_in int)
- 32 %92 = @load_deref (%91) (access=none)
- 32 %93 = deref_var &materials (ssbo Material[])
- 32 %94 = deref_array &(*%93)[%92] (ssbo Material) // &materials[%92]
- 32 %95 = deref_struct &%94->u_SpecularExponent (ssbo vec2) // &materials[%92].u_SpecularExponent
- 32x2 %96 = @load_deref (%95) (access=readonly)
- 32 %97 = mov %96.x
- 32 %98 = @load_param (param_idx=5)
- 32 %99 = deref_cast (vec4 *)%98 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %100 = @load_deref (%99) (access=none)
- 32 %101 = mov %100.w
- 32 %102 = fmul %97, %101
- 32 %103 = deref_var &in_baseInstance (shader_in int)
- 32 %104 = @load_deref (%103) (access=none)
- 32 %105 = deref_var &materials (ssbo Material[])
- 32 %106 = deref_array &(*%105)[%104] (ssbo Material) // &materials[%104]
- 32 %107 = deref_struct &%106->u_SpecularExponent (ssbo vec2) // &materials[%104].u_SpecularExponent
- 32x2 %108 = @load_deref (%107) (access=readonly)
- 32 %109 = mov %108.y
- 32 %110 = fadd %102, %109
- 32 %111 = fpow %90, %110
- 32x3 %112 = fmul %61, %111.xxx
- 32 %113 = deref_var &const_temp#13 (function_temp float)
- 32 %114 = @load_deref (%113) (access=none)
- 32x3 %115 = fmul %112, %114.xxx
- 32x3 %116 = fadd %53, %115
- 32x4 %117 = mov %116.xyzx
- 32x3 %118 = mov %117.xyz
- 32x4 %119 = mov %118.xyzx
- @store_deref (%49, %119) (wrmask=xyz, access=none)
- // succs: b1
- block b1:
- }
- decl_function fetchIdxs (3 params)
- impl fetchIdxs {
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#14
- con block b0: // preds:
- 32 %0 = deref_var &compiler_temp#14 (function_temp uvec4)
- 32 %1 = @load_param (param_idx=2)
- 32 %2 = deref_cast (usampler3D *)%1 (uniform usampler3D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %3 = @load_param (param_idx=1)
- 32 %4 = deref_cast (vec3 *)%3 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %5 = @load_deref (%4) (access=none)
- 32x4 %6 = (uint32)tex %2 (texture_deref), %2 (sampler_deref), %5 (coord)
- @store_deref (%0, %6) (wrmask=xyzw, access=none)
- 32 %7 = @load_param (param_idx=0)
- 32 %8 = deref_cast (uvec4 *)%7 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %9 = deref_var &compiler_temp#14 (function_temp uvec4)
- 32x4 %10 = @load_deref (%9) (access=none)
- @store_deref (%8, %10) (wrmask=xyzw, access=none)
- // succs: b1
- block b1:
- }
- decl_function nextIdx (2 params)
- impl nextIdx {
- decl_var INTERP_MODE_NONE none uvec4 tmp
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#15
- decl_var INTERP_MODE_NONE none uvec4 const_temp#16
- decl_var INTERP_MODE_NONE none uvec4 const_temp#17
- decl_var INTERP_MODE_NONE none int const_temp#18
- con block b0: // preds:
- 32 %35 = deref_var &const_temp#16 (function_temp uvec4)
- 32x4 %36 = load_const (0x00000003, 0x00000003, 0x00000003, 0x00000003)
- @store_deref (%35, %36 (0x3, 0x3, 0x3, 0x3)) (wrmask=xyzw, access=none)
- 32 %37 = deref_var &const_temp#17 (function_temp uvec4)
- 32x4 %38 = load_const (0x00000040, 0x00000010, 0x00000004, 0x00000001) = (64, 16, 4, 1)
- @store_deref (%37, %38 (0x40, 0x10, 0x4, 0x1)) (wrmask=xyzw, access=none)
- 32 %39 = deref_var &const_temp#18 (function_temp int)
- 32 %40 = load_const (0x00000002)
- @store_deref (%39, %40 (0x2)) (wrmask=x, access=none)
- 32 %0 = deref_var &tmp (function_temp uvec4)
- 32 %1 = @load_param (param_idx=1)
- 32 %2 = deref_cast (uvec4 *)%1 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %3 = @load_deref (%2) (access=none)
- 32 %4 = deref_var &const_temp#16 (function_temp uvec4)
- 32x4 %5 = @load_deref (%4) (access=none)
- 32x4 %6 = iand %3, %5
- 32 %7 = deref_var &const_temp#17 (function_temp uvec4)
- 32x4 %8 = @load_deref (%7) (access=none)
- 32x4 %9 = imul %6, %8
- @store_deref (%0, %9) (wrmask=xyzw, access=none)
- 32 %10 = @load_param (param_idx=1)
- 32 %11 = deref_cast (uvec4 *)%10 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %12 = @load_param (param_idx=1)
- 32 %13 = deref_cast (uvec4 *)%12 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %14 = @load_deref (%13) (access=none)
- 32 %15 = deref_var &const_temp#18 (function_temp int)
- 32 %16 = @load_deref (%15) (access=none)
- 32x4 %17 = ushr %14, %16.xxxx
- @store_deref (%11, %17) (wrmask=xyzw, access=none)
- 32 %18 = @load_param (param_idx=0)
- 32 %19 = deref_cast (int *)%18 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %20 = deref_var &tmp (function_temp uvec4)
- 32x4 %21 = @load_deref (%20) (access=none)
- 32 %22 = mov %21.x
- 32 %23 = deref_var &tmp (function_temp uvec4)
- 32x4 %24 = @load_deref (%23) (access=none)
- 32 %25 = mov %24.y
- 32 %26 = iadd %22, %25
- 32 %27 = deref_var &tmp (function_temp uvec4)
- 32x4 %28 = @load_deref (%27) (access=none)
- 32 %29 = mov %28.z
- 32 %30 = deref_var &tmp (function_temp uvec4)
- 32x4 %31 = @load_deref (%30) (access=none)
- 32 %32 = mov %31.w
- 32 %33 = iadd %29, %32
- 32 %34 = iadd %26, %33
- @store_deref (%19, %34) (wrmask=x, access=none)
- // succs: b1
- block b1:
- }
- decl_function computeDynamicLight (7 params)
- impl computeDynamicLight {
- decl_var INTERP_MODE_NONE none float attenuation
- decl_var INTERP_MODE_NONE none vec3 L
- decl_var INTERP_MODE_NONE none vec4 color_type
- decl_var INTERP_MODE_NONE none vec4 center_radius
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#19
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#20
- decl_var INTERP_MODE_NONE none float const_temp#21
- decl_var INTERP_MODE_NONE none float t
- decl_var INTERP_MODE_NONE none float compiler_temp#22
- decl_var INTERP_MODE_NONE none float compiler_temp#23
- decl_var INTERP_MODE_NONE none float const_temp#24
- decl_var INTERP_MODE_NONE none float const_temp#25
- decl_var INTERP_MODE_NONE none float const_temp#26
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#27
- decl_var INTERP_MODE_NONE none float const_temp#28
- decl_var INTERP_MODE_NONE none float t#29
- decl_var INTERP_MODE_NONE none vec4 direction_angle
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#30
- decl_var INTERP_MODE_NONE none float compiler_temp#31
- decl_var INTERP_MODE_NONE none float compiler_temp#32
- decl_var INTERP_MODE_NONE none float const_temp#33
- decl_var INTERP_MODE_NONE none float const_temp#34
- decl_var INTERP_MODE_NONE none float const_temp#35
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#36
- decl_var INTERP_MODE_NONE none float compiler_temp#37
- decl_var INTERP_MODE_NONE none float const_temp#38
- decl_var INTERP_MODE_NONE none float const_temp#39
- decl_var INTERP_MODE_NONE none float const_temp#40
- decl_var INTERP_MODE_NONE none vec3 param
- decl_var INTERP_MODE_NONE none vec3 param#41
- decl_var INTERP_MODE_NONE none vec3 param#42
- decl_var INTERP_MODE_NONE none vec3 param#43
- decl_var INTERP_MODE_NONE none vec4 param#44
- decl_var INTERP_MODE_NONE none vec4 param#45
- decl_var INTERP_MODE_NONE none vec4 param#46
- decl_var INTERP_MODE_NONE none float NdotL#47
- decl_var INTERP_MODE_NONE none float NdotH#48
- decl_var INTERP_MODE_NONE none vec3 H#49
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#50
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#51
- decl_var INTERP_MODE_NONE none float compiler_temp#52
- decl_var INTERP_MODE_NONE none float compiler_temp#53
- decl_var INTERP_MODE_NONE none float compiler_temp#54
- decl_var INTERP_MODE_NONE none float compiler_temp#55
- decl_var INTERP_MODE_NONE none float compiler_temp#56
- decl_var INTERP_MODE_NONE none float const_temp#57
- decl_var INTERP_MODE_NONE none float const_temp#58
- decl_var INTERP_MODE_NONE none float compiler_temp#59
- decl_var INTERP_MODE_NONE none float compiler_temp#60
- decl_var INTERP_MODE_NONE none float const_temp#61
- con block b0: // preds:
- 32 %0 = deref_var &attenuation (function_temp float)
- 32 %1 = load_const (0x00000000 = 0.000000)
- @store_deref (%0, %1 (0.000000)) (wrmask=x, access=none)
- 32 %2 = deref_var &L (function_temp vec3)
- 32x3 %3 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%2, %3 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %4 = deref_var &const_temp#21 (function_temp float)
- 32 %5 = load_const (0x00000000 = 0.000000)
- @store_deref (%4, %5 (0.000000)) (wrmask=x, access=none)
- 32 %6 = deref_var &const_temp#24 (function_temp float)
- 32 %7 = load_const (0x3f800000 = 1.000000)
- @store_deref (%6, %7 (1.000000)) (wrmask=x, access=none)
- 32 %8 = deref_var &const_temp#25 (function_temp float)
- 32 %9 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%8, %9 (2.570000)) (wrmask=x, access=none)
- 32 %10 = deref_var &const_temp#26 (function_temp float)
- 32 %11 = load_const (0x3f800000 = 1.000000)
- @store_deref (%10, %11 (1.000000)) (wrmask=x, access=none)
- 32 %12 = deref_var &const_temp#28 (function_temp float)
- 32 %13 = load_const (0x3f800000 = 1.000000)
- @store_deref (%12, %13 (1.000000)) (wrmask=x, access=none)
- 32 %14 = deref_var &const_temp#33 (function_temp float)
- 32 %15 = load_const (0x3f800000 = 1.000000)
- @store_deref (%14, %15 (1.000000)) (wrmask=x, access=none)
- 32 %16 = deref_var &const_temp#34 (function_temp float)
- 32 %17 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%16, %17 (2.570000)) (wrmask=x, access=none)
- 32 %18 = deref_var &const_temp#35 (function_temp float)
- 32 %19 = load_const (0x3f800000 = 1.000000)
- @store_deref (%18, %19 (1.000000)) (wrmask=x, access=none)
- 32 %20 = deref_var &const_temp#38 (function_temp float)
- 32 %21 = load_const (0x00000000 = 0.000000)
- @store_deref (%20, %21 (0.000000)) (wrmask=x, access=none)
- 32 %22 = deref_var &const_temp#39 (function_temp float)
- 32 %23 = load_const (0x40000000 = 2.000000)
- @store_deref (%22, %23 (2.000000)) (wrmask=x, access=none)
- 32 %24 = deref_var &const_temp#40 (function_temp float)
- 32 %25 = load_const (0x3f800000 = 1.000000)
- @store_deref (%24, %25 (1.000000)) (wrmask=x, access=none)
- 32 %26 = deref_var ¢er_radius (function_temp vec4)
- 32 %27 = @load_param (param_idx=0)
- 32 %28 = deref_cast (int *)%27 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %29 = @load_deref (%28) (access=none)
- 32 %30 = deref_var &lights (ubo light[1024])
- 32 %31 = deref_array &(*%30)[%29] (ubo light) // &lights[%29]
- 32 %32 = deref_struct &%31->center_radius (ubo vec4) // &lights[%29].center_radius
- @copy_deref (%26, %32) (dst_access=0, src_access=0)
- 32 %33 = deref_var &color_type (function_temp vec4)
- 32 %34 = @load_param (param_idx=0)
- 32 %35 = deref_cast (int *)%34 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %36 = @load_deref (%35) (access=none)
- 32 %37 = deref_var &lights (ubo light[1024])
- 32 %38 = deref_array &(*%37)[%36] (ubo light) // &lights[%36]
- 32 %39 = deref_struct &%38->color_type (ubo vec4) // &lights[%36].color_type
- @copy_deref (%33, %39) (dst_access=0, src_access=0)
- 32 %40 = deref_var &color_type (function_temp vec4)
- 32x4 %41 = @load_deref (%40) (access=none)
- 32 %42 = mov %41.w
- 32 %43 = deref_var &const_temp#21 (function_temp float)
- 32 %44 = @load_deref (%43) (access=none)
- 1 %45 = feq %42, %44
- // succs: b1 b2
- if %45 {
- con block b1: // preds: b0
- 32 %46 = deref_var &L (function_temp vec3)
- 32 %47 = deref_var ¢er_radius (function_temp vec4)
- 32x4 %48 = @load_deref (%47) (access=none)
- 32x3 %49 = mov %48.xyz
- 32 %50 = @load_param (param_idx=1)
- 32 %51 = deref_cast (vec3 *)%50 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %52 = @load_deref (%51) (access=none)
- 32x3 %53 = fsub %49, %52
- @store_deref (%46, %53) (wrmask=xyz, access=none)
- 32 %54 = deref_var &t (function_temp float)
- 32 %55 = deref_var &const_temp#24 (function_temp float)
- 32 %56 = @load_deref (%55) (access=none)
- 32 %57 = deref_var &const_temp#25 (function_temp float)
- 32 %58 = @load_deref (%57) (access=none)
- 32 %59 = deref_var &L (function_temp vec3)
- 32x3 %60 = @load_deref (%59) (access=none)
- 32 %61 = deref_var &L (function_temp vec3)
- 32x3 %62 = @load_deref (%61) (access=none)
- 32 %63 = fdot3 %60, %62
- 32 %64 = fsqrt %63
- 32 %65 = fmul %58, %64
- 32 %66 = deref_var ¢er_radius (function_temp vec4)
- 32x4 %67 = @load_deref (%66) (access=none)
- 32 %68 = mov %67.w
- 32 %69 = fdiv %65, %68
- 32 %70 = fadd %56, %69
- @store_deref (%54, %70) (wrmask=x, access=none)
- 32 %71 = deref_var &attenuation (function_temp float)
- 32 %72 = deref_var &const_temp#26 (function_temp float)
- 32 %73 = @load_deref (%72) (access=none)
- 32 %74 = deref_var &t (function_temp float)
- 32 %75 = @load_deref (%74) (access=none)
- 32 %76 = deref_var &t (function_temp float)
- 32 %77 = @load_deref (%76) (access=none)
- 32 %78 = fmul %75, %77
- 32 %79 = fdiv %73, %78
- @store_deref (%71, %79) (wrmask=x, access=none)
- 32 %80 = deref_var &L (function_temp vec3)
- 32 %81 = deref_var &L (function_temp vec3)
- 32x3 %82 = @load_deref (%81) (access=none)
- 32 %83 = deref_var &L (function_temp vec3)
- 32x3 %84 = @load_deref (%83) (access=none)
- 32 %85 = deref_var &L (function_temp vec3)
- 32x3 %86 = @load_deref (%85) (access=none)
- 32 %87 = fdot3 %84, %86
- 32 %88 = frsq %87
- 32x3 %89 = fmul %82, %88.xxx
- @store_deref (%80, %89) (wrmask=xyz, access=none)
- // succs: b12
- } else {
- con block b2: // preds: b0
- 32 %90 = deref_var &color_type (function_temp vec4)
- 32x4 %91 = @load_deref (%90) (access=none)
- 32 %92 = mov %91.w
- 32 %93 = deref_var &const_temp#28 (function_temp float)
- 32 %94 = @load_deref (%93) (access=none)
- 1 %95 = feq %92, %94
- // succs: b3 b7
- if %95 {
- con block b3: // preds: b2
- 32 %96 = deref_var &direction_angle (function_temp vec4)
- 32 %97 = @load_param (param_idx=0)
- 32 %98 = deref_cast (int *)%97 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %99 = @load_deref (%98) (access=none)
- 32 %100 = deref_var &lights (ubo light[1024])
- 32 %101 = deref_array &(*%100)[%99] (ubo light) // &lights[%99]
- 32 %102 = deref_struct &%101->direction_angle (ubo vec4) // &lights[%99].direction_angle
- @copy_deref (%96, %102) (dst_access=0, src_access=0)
- 32 %103 = deref_var &L (function_temp vec3)
- 32 %104 = deref_var ¢er_radius (function_temp vec4)
- 32x4 %105 = @load_deref (%104) (access=none)
- 32x3 %106 = mov %105.xyz
- 32 %107 = @load_param (param_idx=1)
- 32 %108 = deref_cast (vec3 *)%107 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %109 = @load_deref (%108) (access=none)
- 32x3 %110 = fsub %106, %109
- @store_deref (%103, %110) (wrmask=xyz, access=none)
- 32 %111 = deref_var &t#29 (function_temp float)
- 32 %112 = deref_var &const_temp#33 (function_temp float)
- 32 %113 = @load_deref (%112) (access=none)
- 32 %114 = deref_var &const_temp#34 (function_temp float)
- 32 %115 = @load_deref (%114) (access=none)
- 32 %116 = deref_var &L (function_temp vec3)
- 32x3 %117 = @load_deref (%116) (access=none)
- 32 %118 = deref_var &L (function_temp vec3)
- 32x3 %119 = @load_deref (%118) (access=none)
- 32 %120 = fdot3 %117, %119
- 32 %121 = fsqrt %120
- 32 %122 = fmul %115, %121
- 32 %123 = deref_var ¢er_radius (function_temp vec4)
- 32x4 %124 = @load_deref (%123) (access=none)
- 32 %125 = mov %124.w
- 32 %126 = fdiv %122, %125
- 32 %127 = fadd %113, %126
- @store_deref (%111, %127) (wrmask=x, access=none)
- 32 %128 = deref_var &attenuation (function_temp float)
- 32 %129 = deref_var &const_temp#35 (function_temp float)
- 32 %130 = @load_deref (%129) (access=none)
- 32 %131 = deref_var &t#29 (function_temp float)
- 32 %132 = @load_deref (%131) (access=none)
- 32 %133 = deref_var &t#29 (function_temp float)
- 32 %134 = @load_deref (%133) (access=none)
- 32 %135 = fmul %132, %134
- 32 %136 = fdiv %130, %135
- @store_deref (%128, %136) (wrmask=x, access=none)
- 32 %137 = deref_var &L (function_temp vec3)
- 32 %138 = deref_var &L (function_temp vec3)
- 32x3 %139 = @load_deref (%138) (access=none)
- 32 %140 = deref_var &L (function_temp vec3)
- 32x3 %141 = @load_deref (%140) (access=none)
- 32 %142 = deref_var &L (function_temp vec3)
- 32x3 %143 = @load_deref (%142) (access=none)
- 32 %144 = fdot3 %141, %143
- 32 %145 = frsq %144
- 32x3 %146 = fmul %139, %145.xxx
- @store_deref (%137, %146) (wrmask=xyz, access=none)
- 32 %147 = deref_var &compiler_temp#37 (function_temp float)
- 32 %148 = deref_var &L (function_temp vec3)
- 32x3 %149 = @load_deref (%148) (access=none)
- 32 %150 = deref_var &direction_angle (function_temp vec4)
- 32x4 %151 = @load_deref (%150) (access=none)
- 32x3 %152 = mov %151.xyz
- 32 %153 = fdot3 %149, %152
- @store_deref (%147, %153) (wrmask=x, access=none)
- 32 %154 = deref_var &direction_angle (function_temp vec4)
- 32x4 %155 = @load_deref (%154) (access=none)
- 32 %156 = mov %155.w
- 32 %157 = deref_var &compiler_temp#37 (function_temp float)
- 32 %158 = @load_deref (%157) (access=none)
- 1 %159 = fge %156, %158
- // succs: b4 b5
- if %159 {
- con block b4: // preds: b3
- 32 %160 = deref_var &attenuation (function_temp float)
- 32 %161 = deref_var &const_temp#38 (function_temp float)
- @copy_deref (%160, %161) (dst_access=0, src_access=0)
- // succs: b6
- } else {
- con block b5: // preds: b3, succs: b6
- }
- con block b6: // preds: b4 b5, succs: b11
- } else {
- con block b7: // preds: b2
- 32 %162 = deref_var &color_type (function_temp vec4)
- 32x4 %163 = @load_deref (%162) (access=none)
- 32 %164 = mov %163.w
- 32 %165 = deref_var &const_temp#39 (function_temp float)
- 32 %166 = @load_deref (%165) (access=none)
- 1 %167 = feq %164, %166
- // succs: b8 b9
- if %167 {
- con block b8: // preds: b7
- 32 %168 = deref_var &L (function_temp vec3)
- 32 %169 = @load_param (param_idx=0)
- 32 %170 = deref_cast (int *)%169 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %171 = @load_deref (%170) (access=none)
- 32 %172 = deref_var &lights (ubo light[1024])
- 32 %173 = deref_array &(*%172)[%171] (ubo light) // &lights[%171]
- 32 %174 = deref_struct &%173->direction_angle (ubo vec4) // &lights[%171].direction_angle
- 32x4 %175 = @load_deref (%174) (access=none)
- 32x3 %176 = mov %175.xyz
- @store_deref (%168, %176) (wrmask=xyz, access=none)
- 32 %177 = deref_var &attenuation (function_temp float)
- 32 %178 = deref_var &const_temp#40 (function_temp float)
- @copy_deref (%177, %178) (dst_access=0, src_access=0)
- // succs: b10
- } else {
- con block b9: // preds: b7, succs: b10
- }
- con block b10: // preds: b8 b9, succs: b11
- }
- con block b11: // preds: b6 b10, succs: b12
- }
- con block b12: // preds: b1 b11
- 32 %179 = deref_var ¶m (function_temp vec3)
- 32 %180 = deref_var &L (function_temp vec3)
- 32x3 %181 = @load_deref (%180) (access=none)
- @store_deref (%179, %181) (wrmask=xyz, access=none)
- 32 %182 = deref_var ¶m#41 (function_temp vec3)
- 32 %183 = @load_param (param_idx=2)
- 32 %184 = deref_cast (vec3 *)%183 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %185 = @load_deref (%184) (access=none)
- @store_deref (%182, %185) (wrmask=xyz, access=none)
- 32 %186 = deref_var ¶m#42 (function_temp vec3)
- 32 %187 = @load_param (param_idx=3)
- 32 %188 = deref_cast (vec3 *)%187 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %189 = @load_deref (%188) (access=none)
- @store_deref (%186, %189) (wrmask=xyz, access=none)
- 32 %190 = deref_var ¶m#43 (function_temp vec3)
- 32 %191 = deref_var &attenuation (function_temp float)
- 32 %192 = @load_deref (%191) (access=none)
- 32 %193 = deref_var &attenuation (function_temp float)
- 32 %194 = @load_deref (%193) (access=none)
- 32 %195 = fmul %192, %194
- 32 %196 = deref_var &color_type (function_temp vec4)
- 32x4 %197 = @load_deref (%196) (access=none)
- 32x3 %198 = mov %197.xyz
- 32x3 %199 = fmul %195.xxx, %198
- @store_deref (%190, %199) (wrmask=xyz, access=none)
- 32 %200 = deref_var ¶m#44 (function_temp vec4)
- 32 %201 = @load_param (param_idx=4)
- 32 %202 = deref_cast (vec4 *)%201 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %203 = @load_deref (%202) (access=none)
- @store_deref (%200, %203) (wrmask=xyzw, access=none)
- 32 %204 = deref_var ¶m#45 (function_temp vec4)
- 32 %205 = @load_param (param_idx=5)
- 32 %206 = deref_cast (vec4 *)%205 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %207 = @load_deref (%206) (access=none)
- @store_deref (%204, %207) (wrmask=xyzw, access=none)
- 32 %208 = deref_var ¶m#46 (function_temp vec4)
- 32 %209 = @load_param (param_idx=6)
- 32 %210 = deref_cast (vec4 *)%209 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %211 = @load_deref (%210) (access=none)
- @store_deref (%208, %211) (wrmask=xyzw, access=none)
- 32 %212 = deref_var &const_temp#57 (function_temp float)
- 32 %213 = load_const (0x3f000000 = 0.500000)
- @store_deref (%212, %213 (0.500000)) (wrmask=x, access=none)
- 32 %214 = deref_var &const_temp#58 (function_temp float)
- 32 %215 = load_const (0x3f000000 = 0.500000)
- @store_deref (%214, %215 (0.500000)) (wrmask=x, access=none)
- 32 %216 = deref_var &const_temp#61 (function_temp float)
- 32 %217 = load_const (0x3f800000 = 1.000000)
- @store_deref (%216, %217 (1.000000)) (wrmask=x, access=none)
- 32 %218 = deref_var &NdotL#47 (function_temp float)
- 32 %219 = deref_cast (vec3 *)%182 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %220 = @load_deref (%219) (access=none)
- 32 %221 = deref_cast (vec3 *)%179 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %222 = @load_deref (%221) (access=none)
- 32 %223 = fdot3 %220, %222
- @store_deref (%218, %223) (wrmask=x, access=none)
- 32 %224 = deref_var &NdotL#47 (function_temp float)
- 32 %225 = deref_var &NdotL#47 (function_temp float)
- 32 %226 = @load_deref (%225) (access=none)
- 32 %227 = deref_var &const_temp#57 (function_temp float)
- 32 %228 = @load_deref (%227) (access=none)
- 32 %229 = fmul %226, %228
- 32 %230 = deref_var &const_temp#58 (function_temp float)
- 32 %231 = @load_deref (%230) (access=none)
- 32 %232 = fadd %229, %231
- @store_deref (%224, %232) (wrmask=x, access=none)
- 32 %233 = deref_var &NdotL#47 (function_temp float)
- 32 %234 = deref_var &NdotL#47 (function_temp float)
- 32 %235 = @load_deref (%234) (access=none)
- 32 %236 = deref_var &NdotL#47 (function_temp float)
- 32 %237 = @load_deref (%236) (access=none)
- 32 %238 = fmul %235, %237
- @store_deref (%233, %238) (wrmask=x, access=none)
- 32 %239 = deref_var &NdotL#47 (function_temp float)
- 32 %240 = deref_var &NdotL#47 (function_temp float)
- 32 %241 = @load_deref (%240) (access=none)
- 32 %242 = fsat %241
- @store_deref (%239, %242) (wrmask=x, access=none)
- 32 %243 = deref_cast (vec4 *)%208 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %244 = deref_cast (vec4 *)%208 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %245 = @load_deref (%244) (access=none)
- 32x3 %246 = mov %245.xyz
- 32 %247 = deref_cast (vec3 *)%190 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %248 = @load_deref (%247) (access=none)
- 32 %249 = deref_var &NdotL#47 (function_temp float)
- 32 %250 = @load_deref (%249) (access=none)
- 32x3 %251 = fmul %248, %250.xxx
- 32 %252 = deref_cast (vec4 *)%200 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %253 = @load_deref (%252) (access=none)
- 32x3 %254 = mov %253.xyz
- 32x3 %255 = fmul %251, %254
- 32x3 %256 = fadd %246, %255
- 32x4 %257 = mov %256.xyzx
- 32x3 %258 = mov %257.xyz
- 32x4 %259 = mov %258.xyzx
- @store_deref (%243, %259) (wrmask=xyz, access=none)
- 32 %260 = deref_cast (vec4 *)%208 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %261 = deref_cast (vec4 *)%208 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %262 = @load_deref (%261) (access=none)
- 32x3 %263 = mov %262.xyz
- 32 %264 = deref_cast (vec3 *)%190 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %265 = @load_deref (%264) (access=none)
- 32 %266 = deref_cast (vec4 *)%204 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %267 = @load_deref (%266) (access=none)
- 32x3 %268 = mov %267.xyz
- 32x3 %269 = fmul %265, %268
- 32 %270 = deref_cast (vec3 *)%182 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %271 = @load_deref (%270) (access=none)
- 32 %272 = deref_cast (vec3 *)%179 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %273 = @load_deref (%272) (access=none)
- 32 %274 = deref_cast (vec3 *)%186 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %275 = @load_deref (%274) (access=none)
- 32x3 %276 = fadd %273, %275
- 32 %277 = deref_cast (vec3 *)%179 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %278 = @load_deref (%277) (access=none)
- 32 %279 = deref_cast (vec3 *)%186 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %280 = @load_deref (%279) (access=none)
- 32x3 %281 = fadd %278, %280
- 32 %282 = deref_cast (vec3 *)%179 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %283 = @load_deref (%282) (access=none)
- 32 %284 = deref_cast (vec3 *)%186 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %285 = @load_deref (%284) (access=none)
- 32x3 %286 = fadd %283, %285
- 32 %287 = fdot3 %281, %286
- 32 %288 = frsq %287
- 32x3 %289 = fmul %276, %288.xxx
- 32 %290 = fdot3 %271, %289
- 32 %291 = fsat %290
- 32 %292 = deref_var &in_baseInstance (shader_in int)
- 32 %293 = @load_deref (%292) (access=none)
- 32 %294 = deref_var &materials (ssbo Material[])
- 32 %295 = deref_array &(*%294)[%293] (ssbo Material) // &materials[%293]
- 32 %296 = deref_struct &%295->u_SpecularExponent (ssbo vec2) // &materials[%293].u_SpecularExponent
- 32x2 %297 = @load_deref (%296) (access=readonly)
- 32 %298 = mov %297.x
- 32 %299 = deref_cast (vec4 *)%204 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %300 = @load_deref (%299) (access=none)
- 32 %301 = mov %300.w
- 32 %302 = fmul %298, %301
- 32 %303 = deref_var &in_baseInstance (shader_in int)
- 32 %304 = @load_deref (%303) (access=none)
- 32 %305 = deref_var &materials (ssbo Material[])
- 32 %306 = deref_array &(*%305)[%304] (ssbo Material) // &materials[%304]
- 32 %307 = deref_struct &%306->u_SpecularExponent (ssbo vec2) // &materials[%304].u_SpecularExponent
- 32x2 %308 = @load_deref (%307) (access=readonly)
- 32 %309 = mov %308.y
- 32 %310 = fadd %302, %309
- 32 %311 = fpow %291, %310
- 32x3 %312 = fmul %269, %311.xxx
- 32 %313 = deref_var &const_temp#61 (function_temp float)
- 32 %314 = @load_deref (%313) (access=none)
- 32x3 %315 = fmul %312, %314.xxx
- 32x3 %316 = fadd %263, %315
- 32x4 %317 = mov %316.xyzx
- 32x3 %318 = mov %317.xyz
- 32x4 %319 = mov %318.xyzx
- @store_deref (%260, %319) (wrmask=xyz, access=none)
- 32x4 %320 = @load_deref (%208) (access=none)
- 32 %321 = @load_param (param_idx=6)
- 32 %322 = deref_cast (vec4 *)%321 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- @store_deref (%322, %320) (wrmask=xyzw, access=none)
- // succs: b13
- block b13:
- }
- decl_function computeDynamicLights (7 params)
- impl computeDynamicLights {
- decl_var INTERP_MODE_NONE none int layer
- decl_var INTERP_MODE_NONE none vec3 tileScale
- decl_var INTERP_MODE_NONE none vec2 tile
- decl_var INTERP_MODE_NONE none vec2 compiler_temp#62
- decl_var INTERP_MODE_NONE none vec2 compiler_temp#63
- decl_var INTERP_MODE_NONE none float const_temp#64
- decl_var INTERP_MODE_NONE none float const_temp#65
- decl_var INTERP_MODE_NONE none float const_temp#66
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#67
- decl_var INTERP_MODE_NONE none vec3 const_temp#68
- decl_var INTERP_MODE_NONE none int compiler_temp#69
- decl_var INTERP_MODE_NONE none int const_temp#70
- decl_var INTERP_MODE_NONE none int i
- decl_var INTERP_MODE_NONE none uvec4 idxs
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#71
- decl_var INTERP_MODE_NONE none float const_temp#72
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#73
- decl_var INTERP_MODE_NONE none uvec4 return_tmp
- decl_var INTERP_MODE_NONE none vec3 param#74
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#75
- decl_var INTERP_MODE_NONE none int compiler_temp#76
- decl_var INTERP_MODE_NONE none int const_temp#77
- decl_var INTERP_MODE_NONE none int idx
- decl_var INTERP_MODE_NONE none int compiler_temp#78
- decl_var INTERP_MODE_NONE none int return_tmp#79
- decl_var INTERP_MODE_NONE none uvec4 param#80
- decl_var INTERP_MODE_NONE none int compiler_temp#81
- decl_var INTERP_MODE_NONE none int param#82
- decl_var INTERP_MODE_NONE none vec3 param#83
- decl_var INTERP_MODE_NONE none vec3 param#84
- decl_var INTERP_MODE_NONE none vec3 param#85
- decl_var INTERP_MODE_NONE none vec4 param#86
- decl_var INTERP_MODE_NONE none vec4 param#87
- decl_var INTERP_MODE_NONE none vec4 param#88
- decl_var INTERP_MODE_NONE none int const_temp#89
- decl_var INTERP_MODE_NONE none int const_temp#90
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#91
- decl_var INTERP_MODE_NONE none uvec4 tmp#92
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#93
- decl_var INTERP_MODE_NONE none uvec4 const_temp#94
- decl_var INTERP_MODE_NONE none uvec4 const_temp#95
- decl_var INTERP_MODE_NONE none int const_temp#96
- decl_var INTERP_MODE_NONE none float attenuation#97
- decl_var INTERP_MODE_NONE none vec3 L#98
- decl_var INTERP_MODE_NONE none vec4 color_type#99
- decl_var INTERP_MODE_NONE none vec4 center_radius#100
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#101
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#102
- decl_var INTERP_MODE_NONE none float const_temp#103
- decl_var INTERP_MODE_NONE none float t#104
- decl_var INTERP_MODE_NONE none float compiler_temp#105
- decl_var INTERP_MODE_NONE none float compiler_temp#106
- decl_var INTERP_MODE_NONE none float const_temp#107
- decl_var INTERP_MODE_NONE none float const_temp#108
- decl_var INTERP_MODE_NONE none float const_temp#109
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#110
- decl_var INTERP_MODE_NONE none float const_temp#111
- decl_var INTERP_MODE_NONE none float t#112
- decl_var INTERP_MODE_NONE none vec4 direction_angle#113
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#114
- decl_var INTERP_MODE_NONE none float compiler_temp#115
- decl_var INTERP_MODE_NONE none float compiler_temp#116
- decl_var INTERP_MODE_NONE none float const_temp#117
- decl_var INTERP_MODE_NONE none float const_temp#118
- decl_var INTERP_MODE_NONE none float const_temp#119
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#120
- decl_var INTERP_MODE_NONE none float compiler_temp#121
- decl_var INTERP_MODE_NONE none float const_temp#122
- decl_var INTERP_MODE_NONE none float const_temp#123
- decl_var INTERP_MODE_NONE none float const_temp#124
- decl_var INTERP_MODE_NONE none vec3 param#125
- decl_var INTERP_MODE_NONE none vec3 param#126
- decl_var INTERP_MODE_NONE none vec3 param#127
- decl_var INTERP_MODE_NONE none vec3 param#128
- decl_var INTERP_MODE_NONE none vec4 param#129
- decl_var INTERP_MODE_NONE none vec4 param#130
- decl_var INTERP_MODE_NONE none vec4 param#131
- decl_var INTERP_MODE_NONE none float NdotL#132
- decl_var INTERP_MODE_NONE none float NdotH#133
- decl_var INTERP_MODE_NONE none vec3 H#134
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#135
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#136
- decl_var INTERP_MODE_NONE none float compiler_temp#137
- decl_var INTERP_MODE_NONE none float compiler_temp#138
- decl_var INTERP_MODE_NONE none float compiler_temp#139
- decl_var INTERP_MODE_NONE none float compiler_temp#140
- decl_var INTERP_MODE_NONE none float compiler_temp#141
- decl_var INTERP_MODE_NONE none float const_temp#142
- decl_var INTERP_MODE_NONE none float const_temp#143
- decl_var INTERP_MODE_NONE none float compiler_temp#144
- decl_var INTERP_MODE_NONE none float compiler_temp#145
- decl_var INTERP_MODE_NONE none float const_temp#146
- con block b0: // preds:
- 32 %0 = deref_var &layer (function_temp int)
- 32 %1 = load_const (0x00000000)
- @store_deref (%0, %1 (0x0)) (wrmask=x, access=none)
- 32 %2 = deref_var &tileScale (function_temp vec3)
- 32x3 %3 = load_const (0x3bcccccc, 0x3c360b61, 0x3e800000) = (0.006250, 0.011111, 0.250000)
- @store_deref (%2, %3 (0.006250, 0.011111, 0.250000)) (wrmask=xyz, access=none)
- 32 %4 = deref_var &const_temp#64 (function_temp float)
- 32 %5 = load_const (0x3f800000 = 1.000000)
- @store_deref (%4, %5 (1.000000)) (wrmask=x, access=none)
- 32 %6 = deref_var &const_temp#65 (function_temp float)
- 32 %7 = load_const (0x41800000 = 16.000000)
- @store_deref (%6, %7 (16.000000)) (wrmask=x, access=none)
- 32 %8 = deref_var &const_temp#66 (function_temp float)
- 32 %9 = load_const (0x3f000000 = 0.500000)
- @store_deref (%8, %9 (0.500000)) (wrmask=x, access=none)
- 32 %10 = deref_var &const_temp#68 (function_temp vec3)
- 32x3 %11 = load_const (0x3bcccccc, 0x3c360b61, 0x3e800000) = (0.006250, 0.011111, 0.250000)
- @store_deref (%10, %11 (0.006250, 0.011111, 0.250000)) (wrmask=xyz, access=none)
- 32 %12 = deref_var &const_temp#70 (function_temp int)
- 32 %13 = load_const (0x00000000)
- @store_deref (%12, %13 (0x0)) (wrmask=x, access=none)
- 32 %14 = deref_var &i (function_temp int)
- 32 %15 = load_const (0x00000000)
- @store_deref (%14, %15 (0x0)) (wrmask=x, access=none)
- 32 %16 = deref_var &const_temp#72 (function_temp float)
- 32 %17 = load_const (0x3f000000 = 0.500000)
- @store_deref (%16, %17 (0.500000)) (wrmask=x, access=none)
- 32 %18 = deref_var &const_temp#77 (function_temp int)
- 32 %19 = load_const (0x00000000)
- @store_deref (%18, %19 (0x0)) (wrmask=x, access=none)
- 32 %20 = deref_var &const_temp#89 (function_temp int)
- 32 %21 = load_const (0x00000001)
- @store_deref (%20, %21 (0x1)) (wrmask=x, access=none)
- 32 %22 = deref_var &const_temp#90 (function_temp int)
- 32 %23 = load_const (0x00000001)
- @store_deref (%22, %23 (0x1)) (wrmask=x, access=none)
- 32 %24 = deref_var &tile (function_temp vec2)
- 32 %25 = deref_var &gl_FragCoord (system vec4)
- 32x4 %26 = @load_deref (%25) (access=none)
- 32x2 %27 = mov %26.xy
- 32 %28 = deref_var &const_temp#64 (function_temp float)
- 32 %29 = @load_deref (%28) (access=none)
- 32 %30 = deref_var &const_temp#65 (function_temp float)
- 32 %31 = @load_deref (%30) (access=none)
- 32 %32 = fdiv %29, %31
- 32x2 %33 = fmul %27, %32.xx
- 32x2 %34 = ffloor %33
- 32 %35 = deref_var &const_temp#66 (function_temp float)
- 32 %36 = @load_deref (%35) (access=none)
- 32x2 %37 = fadd %34, %36.xx
- @store_deref (%24, %37) (wrmask=xy, access=none)
- 32 %38 = deref_var &tileScale (function_temp vec3)
- 32 %39 = deref_var &const_temp#68 (function_temp vec3)
- @copy_deref (%38, %39) (dst_access=0, src_access=0)
- 32 %40 = deref_var &layer (function_temp int)
- 32 %41 = deref_var &const_temp#70 (function_temp int)
- @copy_deref (%40, %41) (dst_access=0, src_access=0)
- // succs: b1
- loop {
- con block b1: // preds: b0 b24
- 32 %42 = deref_var &layer (function_temp int)
- 32 %43 = @load_deref (%42) (access=none)
- 32 %44 = deref_var &numLayers (shader_temp int)
- 32 %45 = @load_deref (%44) (access=none)
- 1 %46 = ilt %43, %45
- 1 %47 = inot %46
- // succs: b2 b3
- if %47 {
- con block b2:// preds: b1
- break
- // succs: b25
- } else {
- con block b3: // preds: b1, succs: b4
- }
- con block b4: // preds: b3
- 32 %48 = deref_var &compiler_temp#71 (function_temp vec3)
- 32 %49 = deref_var &tile (function_temp vec2)
- 32x2 %50 = @load_deref (%49) (access=none)
- 32x3 %51 = mov %50.xyx
- @store_deref (%48, %51) (wrmask=xy, access=none)
- 32 %52 = deref_var &compiler_temp#71 (function_temp vec3)
- 32 %53 = deref_var &layer (function_temp int)
- 32 %54 = @load_deref (%53) (access=none)
- 32 %55 = i2f32 %54
- 32 %56 = deref_var &const_temp#72 (function_temp float)
- 32 %57 = @load_deref (%56) (access=none)
- 32 %58 = fadd %55, %57
- 32x3 %59 = mov %58.xxx
- @store_deref (%52, %59) (wrmask=z, access=none)
- 32 %60 = deref_var &return_tmp (function_temp uvec4)
- 32 %61 = deref_var ¶m#74 (function_temp vec3)
- 32 %62 = deref_var &tileScale (function_temp vec3)
- 32x3 %63 = @load_deref (%62) (access=none)
- 32 %64 = deref_var &compiler_temp#71 (function_temp vec3)
- 32x3 %65 = @load_deref (%64) (access=none)
- 32x3 %66 = fmul %63, %65
- @store_deref (%61, %66) (wrmask=xyz, access=none)
- 32 %67 = @load_param (param_idx=6)
- 32 %68 = deref_cast (usampler3D *)%67 (uniform usampler3D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %69 = deref_var &compiler_temp#91 (function_temp uvec4)
- 32 %70 = deref_cast (usampler3D *)%68 (uniform usampler3D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %71 = deref_cast (vec3 *)%61 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %72 = @load_deref (%71) (access=none)
- 32x4 %73 = (uint32)tex %70 (texture_deref), %70 (sampler_deref), %72 (coord)
- @store_deref (%69, %73) (wrmask=xyzw, access=none)
- 32 %74 = deref_cast (uvec4 *)%60 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %75 = deref_var &compiler_temp#91 (function_temp uvec4)
- 32x4 %76 = @load_deref (%75) (access=none)
- @store_deref (%74, %76) (wrmask=xyzw, access=none)
- 32x4 %77 = @load_deref (%60) (access=none)
- 32 %78 = deref_var &compiler_temp#73 (function_temp uvec4)
- @store_deref (%78, %77) (wrmask=xyzw, access=none)
- 32 %79 = deref_var &idxs (function_temp uvec4)
- 32 %80 = deref_var &compiler_temp#73 (function_temp uvec4)
- @copy_deref (%79, %80) (dst_access=0, src_access=0)
- 32 %81 = deref_var &i (function_temp int)
- 32 %82 = deref_var &const_temp#77 (function_temp int)
- @copy_deref (%81, %82) (dst_access=0, src_access=0)
- // succs: b5
- loop {
- con block b5: // preds: b4 b23
- 32 %83 = deref_var &i (function_temp int)
- 32 %84 = @load_deref (%83) (access=none)
- 32 %85 = deref_var &lightsPerLayer (shader_temp int)
- 32 %86 = @load_deref (%85) (access=none)
- 1 %87 = ilt %84, %86
- 1 %88 = inot %87
- // succs: b6 b7
- if %88 {
- con block b6:// preds: b5
- break
- // succs: b24
- } else {
- con block b7: // preds: b5, succs: b8
- }
- con block b8: // preds: b7
- 32 %89 = deref_var &return_tmp#79 (function_temp int)
- 32 %90 = deref_var ¶m#80 (function_temp uvec4)
- 32 %91 = deref_var &idxs (function_temp uvec4)
- 32x4 %92 = @load_deref (%91) (access=none)
- @store_deref (%90, %92) (wrmask=xyzw, access=none)
- 32 %93 = deref_var &const_temp#94 (function_temp uvec4)
- 32x4 %94 = load_const (0x00000003, 0x00000003, 0x00000003, 0x00000003)
- @store_deref (%93, %94 (0x3, 0x3, 0x3, 0x3)) (wrmask=xyzw, access=none)
- 32 %95 = deref_var &const_temp#95 (function_temp uvec4)
- 32x4 %96 = load_const (0x00000040, 0x00000010, 0x00000004, 0x00000001) = (64, 16, 4, 1)
- @store_deref (%95, %96 (0x40, 0x10, 0x4, 0x1)) (wrmask=xyzw, access=none)
- 32 %97 = deref_var &const_temp#96 (function_temp int)
- 32 %98 = load_const (0x00000002)
- @store_deref (%97, %98 (0x2)) (wrmask=x, access=none)
- 32 %99 = deref_var &tmp#92 (function_temp uvec4)
- 32 %100 = deref_cast (uvec4 *)%90 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %101 = @load_deref (%100) (access=none)
- 32 %102 = deref_var &const_temp#94 (function_temp uvec4)
- 32x4 %103 = @load_deref (%102) (access=none)
- 32x4 %104 = iand %101, %103
- 32 %105 = deref_var &const_temp#95 (function_temp uvec4)
- 32x4 %106 = @load_deref (%105) (access=none)
- 32x4 %107 = imul %104, %106
- @store_deref (%99, %107) (wrmask=xyzw, access=none)
- 32 %108 = deref_cast (uvec4 *)%90 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %109 = deref_cast (uvec4 *)%90 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %110 = @load_deref (%109) (access=none)
- 32 %111 = deref_var &const_temp#96 (function_temp int)
- 32 %112 = @load_deref (%111) (access=none)
- 32x4 %113 = ushr %110, %112.xxxx
- @store_deref (%108, %113) (wrmask=xyzw, access=none)
- 32 %114 = deref_cast (int *)%89 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %115 = deref_var &tmp#92 (function_temp uvec4)
- 32x4 %116 = @load_deref (%115) (access=none)
- 32 %117 = mov %116.x
- 32 %118 = deref_var &tmp#92 (function_temp uvec4)
- 32x4 %119 = @load_deref (%118) (access=none)
- 32 %120 = mov %119.y
- 32 %121 = iadd %117, %120
- 32 %122 = deref_var &tmp#92 (function_temp uvec4)
- 32x4 %123 = @load_deref (%122) (access=none)
- 32 %124 = mov %123.z
- 32 %125 = deref_var &tmp#92 (function_temp uvec4)
- 32x4 %126 = @load_deref (%125) (access=none)
- 32 %127 = mov %126.w
- 32 %128 = iadd %124, %127
- 32 %129 = iadd %121, %128
- @store_deref (%114, %129) (wrmask=x, access=none)
- 32x4 %130 = @load_deref (%90) (access=none)
- 32 %131 = deref_var &idxs (function_temp uvec4)
- @store_deref (%131, %130) (wrmask=xyzw, access=none)
- 32 %132 = @load_deref (%89) (access=none)
- 32 %133 = deref_var &compiler_temp#78 (function_temp int)
- @store_deref (%133, %132) (wrmask=x, access=none)
- 32 %134 = deref_var &idx (function_temp int)
- 32 %135 = deref_var &numLayers (shader_temp int)
- 32 %136 = @load_deref (%135) (access=none)
- 32 %137 = deref_var &compiler_temp#78 (function_temp int)
- 32 %138 = @load_deref (%137) (access=none)
- 32 %139 = imul %136, %138
- 32 %140 = deref_var &layer (function_temp int)
- 32 %141 = @load_deref (%140) (access=none)
- 32 %142 = iadd %139, %141
- @store_deref (%134, %142) (wrmask=x, access=none)
- 32 %143 = deref_var &idx (function_temp int)
- 32 %144 = @load_deref (%143) (access=none)
- 32 %145 = deref_var &u_numLights (uniform int)
- 32 %146 = @load_deref (%145) (access=none)
- 1 %147 = ige %144, %146
- // succs: b9 b10
- if %147 {
- con block b9:// preds: b8
- break
- // succs: b24
- } else {
- con block b10: // preds: b8, succs: b11
- }
- con block b11: // preds: b10
- 32 %148 = deref_var ¶m#82 (function_temp int)
- 32 %149 = deref_var &idx (function_temp int)
- 32 %150 = @load_deref (%149) (access=none)
- @store_deref (%148, %150) (wrmask=x, access=none)
- 32 %151 = deref_var ¶m#83 (function_temp vec3)
- 32 %152 = @load_param (param_idx=0)
- 32 %153 = deref_cast (vec3 *)%152 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %154 = @load_deref (%153) (access=none)
- @store_deref (%151, %154) (wrmask=xyz, access=none)
- 32 %155 = deref_var ¶m#84 (function_temp vec3)
- 32 %156 = @load_param (param_idx=1)
- 32 %157 = deref_cast (vec3 *)%156 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %158 = @load_deref (%157) (access=none)
- @store_deref (%155, %158) (wrmask=xyz, access=none)
- 32 %159 = deref_var ¶m#85 (function_temp vec3)
- 32 %160 = @load_param (param_idx=2)
- 32 %161 = deref_cast (vec3 *)%160 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %162 = @load_deref (%161) (access=none)
- @store_deref (%159, %162) (wrmask=xyz, access=none)
- 32 %163 = deref_var ¶m#86 (function_temp vec4)
- 32 %164 = @load_param (param_idx=3)
- 32 %165 = deref_cast (vec4 *)%164 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %166 = @load_deref (%165) (access=none)
- @store_deref (%163, %166) (wrmask=xyzw, access=none)
- 32 %167 = deref_var ¶m#87 (function_temp vec4)
- 32 %168 = @load_param (param_idx=4)
- 32 %169 = deref_cast (vec4 *)%168 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %170 = @load_deref (%169) (access=none)
- @store_deref (%167, %170) (wrmask=xyzw, access=none)
- 32 %171 = deref_var ¶m#88 (function_temp vec4)
- 32 %172 = @load_param (param_idx=5)
- 32 %173 = deref_cast (vec4 *)%172 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %174 = @load_deref (%173) (access=none)
- @store_deref (%171, %174) (wrmask=xyzw, access=none)
- 32 %175 = deref_var &attenuation#97 (function_temp float)
- 32 %176 = load_const (0x00000000 = 0.000000)
- @store_deref (%175, %176 (0.000000)) (wrmask=x, access=none)
- 32 %177 = deref_var &L#98 (function_temp vec3)
- 32x3 %178 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%177, %178 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %179 = deref_var &const_temp#103 (function_temp float)
- 32 %180 = load_const (0x00000000 = 0.000000)
- @store_deref (%179, %180 (0.000000)) (wrmask=x, access=none)
- 32 %181 = deref_var &const_temp#107 (function_temp float)
- 32 %182 = load_const (0x3f800000 = 1.000000)
- @store_deref (%181, %182 (1.000000)) (wrmask=x, access=none)
- 32 %183 = deref_var &const_temp#108 (function_temp float)
- 32 %184 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%183, %184 (2.570000)) (wrmask=x, access=none)
- 32 %185 = deref_var &const_temp#109 (function_temp float)
- 32 %186 = load_const (0x3f800000 = 1.000000)
- @store_deref (%185, %186 (1.000000)) (wrmask=x, access=none)
- 32 %187 = deref_var &const_temp#111 (function_temp float)
- 32 %188 = load_const (0x3f800000 = 1.000000)
- @store_deref (%187, %188 (1.000000)) (wrmask=x, access=none)
- 32 %189 = deref_var &const_temp#117 (function_temp float)
- 32 %190 = load_const (0x3f800000 = 1.000000)
- @store_deref (%189, %190 (1.000000)) (wrmask=x, access=none)
- 32 %191 = deref_var &const_temp#118 (function_temp float)
- 32 %192 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%191, %192 (2.570000)) (wrmask=x, access=none)
- 32 %193 = deref_var &const_temp#119 (function_temp float)
- 32 %194 = load_const (0x3f800000 = 1.000000)
- @store_deref (%193, %194 (1.000000)) (wrmask=x, access=none)
- 32 %195 = deref_var &const_temp#122 (function_temp float)
- 32 %196 = load_const (0x00000000 = 0.000000)
- @store_deref (%195, %196 (0.000000)) (wrmask=x, access=none)
- 32 %197 = deref_var &const_temp#123 (function_temp float)
- 32 %198 = load_const (0x40000000 = 2.000000)
- @store_deref (%197, %198 (2.000000)) (wrmask=x, access=none)
- 32 %199 = deref_var &const_temp#124 (function_temp float)
- 32 %200 = load_const (0x3f800000 = 1.000000)
- @store_deref (%199, %200 (1.000000)) (wrmask=x, access=none)
- 32 %201 = deref_var ¢er_radius#100 (function_temp vec4)
- 32 %202 = deref_cast (int *)%148 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %203 = @load_deref (%202) (access=none)
- 32 %204 = deref_var &lights (ubo light[1024])
- 32 %205 = deref_array &(*%204)[%203] (ubo light) // &lights[%203]
- 32 %206 = deref_struct &%205->center_radius (ubo vec4) // &lights[%203].center_radius
- @copy_deref (%201, %206) (dst_access=0, src_access=0)
- 32 %207 = deref_var &color_type#99 (function_temp vec4)
- 32 %208 = deref_cast (int *)%148 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %209 = @load_deref (%208) (access=none)
- 32 %210 = deref_var &lights (ubo light[1024])
- 32 %211 = deref_array &(*%210)[%209] (ubo light) // &lights[%209]
- 32 %212 = deref_struct &%211->color_type (ubo vec4) // &lights[%209].color_type
- @copy_deref (%207, %212) (dst_access=0, src_access=0)
- 32 %213 = deref_var &color_type#99 (function_temp vec4)
- 32x4 %214 = @load_deref (%213) (access=none)
- 32 %215 = mov %214.w
- 32 %216 = deref_var &const_temp#103 (function_temp float)
- 32 %217 = @load_deref (%216) (access=none)
- 1 %218 = feq %215, %217
- // succs: b12 b13
- if %218 {
- con block b12: // preds: b11
- 32 %219 = deref_var &L#98 (function_temp vec3)
- 32 %220 = deref_var ¢er_radius#100 (function_temp vec4)
- 32x4 %221 = @load_deref (%220) (access=none)
- 32x3 %222 = mov %221.xyz
- 32 %223 = deref_cast (vec3 *)%151 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %224 = @load_deref (%223) (access=none)
- 32x3 %225 = fsub %222, %224
- @store_deref (%219, %225) (wrmask=xyz, access=none)
- 32 %226 = deref_var &t#104 (function_temp float)
- 32 %227 = deref_var &const_temp#107 (function_temp float)
- 32 %228 = @load_deref (%227) (access=none)
- 32 %229 = deref_var &const_temp#108 (function_temp float)
- 32 %230 = @load_deref (%229) (access=none)
- 32 %231 = deref_var &L#98 (function_temp vec3)
- 32x3 %232 = @load_deref (%231) (access=none)
- 32 %233 = deref_var &L#98 (function_temp vec3)
- 32x3 %234 = @load_deref (%233) (access=none)
- 32 %235 = fdot3 %232, %234
- 32 %236 = fsqrt %235
- 32 %237 = fmul %230, %236
- 32 %238 = deref_var ¢er_radius#100 (function_temp vec4)
- 32x4 %239 = @load_deref (%238) (access=none)
- 32 %240 = mov %239.w
- 32 %241 = fdiv %237, %240
- 32 %242 = fadd %228, %241
- @store_deref (%226, %242) (wrmask=x, access=none)
- 32 %243 = deref_var &attenuation#97 (function_temp float)
- 32 %244 = deref_var &const_temp#109 (function_temp float)
- 32 %245 = @load_deref (%244) (access=none)
- 32 %246 = deref_var &t#104 (function_temp float)
- 32 %247 = @load_deref (%246) (access=none)
- 32 %248 = deref_var &t#104 (function_temp float)
- 32 %249 = @load_deref (%248) (access=none)
- 32 %250 = fmul %247, %249
- 32 %251 = fdiv %245, %250
- @store_deref (%243, %251) (wrmask=x, access=none)
- 32 %252 = deref_var &L#98 (function_temp vec3)
- 32 %253 = deref_var &L#98 (function_temp vec3)
- 32x3 %254 = @load_deref (%253) (access=none)
- 32 %255 = deref_var &L#98 (function_temp vec3)
- 32x3 %256 = @load_deref (%255) (access=none)
- 32 %257 = deref_var &L#98 (function_temp vec3)
- 32x3 %258 = @load_deref (%257) (access=none)
- 32 %259 = fdot3 %256, %258
- 32 %260 = frsq %259
- 32x3 %261 = fmul %254, %260.xxx
- @store_deref (%252, %261) (wrmask=xyz, access=none)
- // succs: b23
- } else {
- con block b13: // preds: b11
- 32 %262 = deref_var &color_type#99 (function_temp vec4)
- 32x4 %263 = @load_deref (%262) (access=none)
- 32 %264 = mov %263.w
- 32 %265 = deref_var &const_temp#111 (function_temp float)
- 32 %266 = @load_deref (%265) (access=none)
- 1 %267 = feq %264, %266
- // succs: b14 b18
- if %267 {
- con block b14: // preds: b13
- 32 %268 = deref_var &direction_angle#113 (function_temp vec4)
- 32 %269 = deref_cast (int *)%148 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %270 = @load_deref (%269) (access=none)
- 32 %271 = deref_var &lights (ubo light[1024])
- 32 %272 = deref_array &(*%271)[%270] (ubo light) // &lights[%270]
- 32 %273 = deref_struct &%272->direction_angle (ubo vec4) // &lights[%270].direction_angle
- @copy_deref (%268, %273) (dst_access=0, src_access=0)
- 32 %274 = deref_var &L#98 (function_temp vec3)
- 32 %275 = deref_var ¢er_radius#100 (function_temp vec4)
- 32x4 %276 = @load_deref (%275) (access=none)
- 32x3 %277 = mov %276.xyz
- 32 %278 = deref_cast (vec3 *)%151 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %279 = @load_deref (%278) (access=none)
- 32x3 %280 = fsub %277, %279
- @store_deref (%274, %280) (wrmask=xyz, access=none)
- 32 %281 = deref_var &t#112 (function_temp float)
- 32 %282 = deref_var &const_temp#117 (function_temp float)
- 32 %283 = @load_deref (%282) (access=none)
- 32 %284 = deref_var &const_temp#118 (function_temp float)
- 32 %285 = @load_deref (%284) (access=none)
- 32 %286 = deref_var &L#98 (function_temp vec3)
- 32x3 %287 = @load_deref (%286) (access=none)
- 32 %288 = deref_var &L#98 (function_temp vec3)
- 32x3 %289 = @load_deref (%288) (access=none)
- 32 %290 = fdot3 %287, %289
- 32 %291 = fsqrt %290
- 32 %292 = fmul %285, %291
- 32 %293 = deref_var ¢er_radius#100 (function_temp vec4)
- 32x4 %294 = @load_deref (%293) (access=none)
- 32 %295 = mov %294.w
- 32 %296 = fdiv %292, %295
- 32 %297 = fadd %283, %296
- @store_deref (%281, %297) (wrmask=x, access=none)
- 32 %298 = deref_var &attenuation#97 (function_temp float)
- 32 %299 = deref_var &const_temp#119 (function_temp float)
- 32 %300 = @load_deref (%299) (access=none)
- 32 %301 = deref_var &t#112 (function_temp float)
- 32 %302 = @load_deref (%301) (access=none)
- 32 %303 = deref_var &t#112 (function_temp float)
- 32 %304 = @load_deref (%303) (access=none)
- 32 %305 = fmul %302, %304
- 32 %306 = fdiv %300, %305
- @store_deref (%298, %306) (wrmask=x, access=none)
- 32 %307 = deref_var &L#98 (function_temp vec3)
- 32 %308 = deref_var &L#98 (function_temp vec3)
- 32x3 %309 = @load_deref (%308) (access=none)
- 32 %310 = deref_var &L#98 (function_temp vec3)
- 32x3 %311 = @load_deref (%310) (access=none)
- 32 %312 = deref_var &L#98 (function_temp vec3)
- 32x3 %313 = @load_deref (%312) (access=none)
- 32 %314 = fdot3 %311, %313
- 32 %315 = frsq %314
- 32x3 %316 = fmul %309, %315.xxx
- @store_deref (%307, %316) (wrmask=xyz, access=none)
- 32 %317 = deref_var &compiler_temp#121 (function_temp float)
- 32 %318 = deref_var &L#98 (function_temp vec3)
- 32x3 %319 = @load_deref (%318) (access=none)
- 32 %320 = deref_var &direction_angle#113 (function_temp vec4)
- 32x4 %321 = @load_deref (%320) (access=none)
- 32x3 %322 = mov %321.xyz
- 32 %323 = fdot3 %319, %322
- @store_deref (%317, %323) (wrmask=x, access=none)
- 32 %324 = deref_var &direction_angle#113 (function_temp vec4)
- 32x4 %325 = @load_deref (%324) (access=none)
- 32 %326 = mov %325.w
- 32 %327 = deref_var &compiler_temp#121 (function_temp float)
- 32 %328 = @load_deref (%327) (access=none)
- 1 %329 = fge %326, %328
- // succs: b15 b16
- if %329 {
- con block b15: // preds: b14
- 32 %330 = deref_var &attenuation#97 (function_temp float)
- 32 %331 = deref_var &const_temp#122 (function_temp float)
- @copy_deref (%330, %331) (dst_access=0, src_access=0)
- // succs: b17
- } else {
- con block b16: // preds: b14, succs: b17
- }
- con block b17: // preds: b15 b16, succs: b22
- } else {
- con block b18: // preds: b13
- 32 %332 = deref_var &color_type#99 (function_temp vec4)
- 32x4 %333 = @load_deref (%332) (access=none)
- 32 %334 = mov %333.w
- 32 %335 = deref_var &const_temp#123 (function_temp float)
- 32 %336 = @load_deref (%335) (access=none)
- 1 %337 = feq %334, %336
- // succs: b19 b20
- if %337 {
- con block b19: // preds: b18
- 32 %338 = deref_var &L#98 (function_temp vec3)
- 32 %339 = deref_cast (int *)%148 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %340 = @load_deref (%339) (access=none)
- 32 %341 = deref_var &lights (ubo light[1024])
- 32 %342 = deref_array &(*%341)[%340] (ubo light) // &lights[%340]
- 32 %343 = deref_struct &%342->direction_angle (ubo vec4) // &lights[%340].direction_angle
- 32x4 %344 = @load_deref (%343) (access=none)
- 32x3 %345 = mov %344.xyz
- @store_deref (%338, %345) (wrmask=xyz, access=none)
- 32 %346 = deref_var &attenuation#97 (function_temp float)
- 32 %347 = deref_var &const_temp#124 (function_temp float)
- @copy_deref (%346, %347) (dst_access=0, src_access=0)
- // succs: b21
- } else {
- con block b20: // preds: b18, succs: b21
- }
- con block b21: // preds: b19 b20, succs: b22
- }
- con block b22: // preds: b17 b21, succs: b23
- }
- con block b23: // preds: b12 b22
- 32 %348 = deref_var ¶m#125 (function_temp vec3)
- 32 %349 = deref_var &L#98 (function_temp vec3)
- 32x3 %350 = @load_deref (%349) (access=none)
- @store_deref (%348, %350) (wrmask=xyz, access=none)
- 32 %351 = deref_var ¶m#126 (function_temp vec3)
- 32 %352 = deref_cast (vec3 *)%155 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %353 = @load_deref (%352) (access=none)
- @store_deref (%351, %353) (wrmask=xyz, access=none)
- 32 %354 = deref_var ¶m#127 (function_temp vec3)
- 32 %355 = deref_cast (vec3 *)%159 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %356 = @load_deref (%355) (access=none)
- @store_deref (%354, %356) (wrmask=xyz, access=none)
- 32 %357 = deref_var ¶m#128 (function_temp vec3)
- 32 %358 = deref_var &attenuation#97 (function_temp float)
- 32 %359 = @load_deref (%358) (access=none)
- 32 %360 = deref_var &attenuation#97 (function_temp float)
- 32 %361 = @load_deref (%360) (access=none)
- 32 %362 = fmul %359, %361
- 32 %363 = deref_var &color_type#99 (function_temp vec4)
- 32x4 %364 = @load_deref (%363) (access=none)
- 32x3 %365 = mov %364.xyz
- 32x3 %366 = fmul %362.xxx, %365
- @store_deref (%357, %366) (wrmask=xyz, access=none)
- 32 %367 = deref_var ¶m#129 (function_temp vec4)
- 32 %368 = deref_cast (vec4 *)%163 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %369 = @load_deref (%368) (access=none)
- @store_deref (%367, %369) (wrmask=xyzw, access=none)
- 32 %370 = deref_var ¶m#130 (function_temp vec4)
- 32 %371 = deref_cast (vec4 *)%167 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %372 = @load_deref (%371) (access=none)
- @store_deref (%370, %372) (wrmask=xyzw, access=none)
- 32 %373 = deref_var ¶m#131 (function_temp vec4)
- 32 %374 = deref_cast (vec4 *)%171 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %375 = @load_deref (%374) (access=none)
- @store_deref (%373, %375) (wrmask=xyzw, access=none)
- 32 %376 = deref_var &const_temp#142 (function_temp float)
- 32 %377 = load_const (0x3f000000 = 0.500000)
- @store_deref (%376, %377 (0.500000)) (wrmask=x, access=none)
- 32 %378 = deref_var &const_temp#143 (function_temp float)
- 32 %379 = load_const (0x3f000000 = 0.500000)
- @store_deref (%378, %379 (0.500000)) (wrmask=x, access=none)
- 32 %380 = deref_var &const_temp#146 (function_temp float)
- 32 %381 = load_const (0x3f800000 = 1.000000)
- @store_deref (%380, %381 (1.000000)) (wrmask=x, access=none)
- 32 %382 = deref_var &NdotL#132 (function_temp float)
- 32 %383 = deref_cast (vec3 *)%351 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %384 = @load_deref (%383) (access=none)
- 32 %385 = deref_cast (vec3 *)%348 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %386 = @load_deref (%385) (access=none)
- 32 %387 = fdot3 %384, %386
- @store_deref (%382, %387) (wrmask=x, access=none)
- 32 %388 = deref_var &NdotL#132 (function_temp float)
- 32 %389 = deref_var &NdotL#132 (function_temp float)
- 32 %390 = @load_deref (%389) (access=none)
- 32 %391 = deref_var &const_temp#142 (function_temp float)
- 32 %392 = @load_deref (%391) (access=none)
- 32 %393 = fmul %390, %392
- 32 %394 = deref_var &const_temp#143 (function_temp float)
- 32 %395 = @load_deref (%394) (access=none)
- 32 %396 = fadd %393, %395
- @store_deref (%388, %396) (wrmask=x, access=none)
- 32 %397 = deref_var &NdotL#132 (function_temp float)
- 32 %398 = deref_var &NdotL#132 (function_temp float)
- 32 %399 = @load_deref (%398) (access=none)
- 32 %400 = deref_var &NdotL#132 (function_temp float)
- 32 %401 = @load_deref (%400) (access=none)
- 32 %402 = fmul %399, %401
- @store_deref (%397, %402) (wrmask=x, access=none)
- 32 %403 = deref_var &NdotL#132 (function_temp float)
- 32 %404 = deref_var &NdotL#132 (function_temp float)
- 32 %405 = @load_deref (%404) (access=none)
- 32 %406 = fsat %405
- @store_deref (%403, %406) (wrmask=x, access=none)
- 32 %407 = deref_cast (vec4 *)%373 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %408 = deref_cast (vec4 *)%373 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %409 = @load_deref (%408) (access=none)
- 32x3 %410 = mov %409.xyz
- 32 %411 = deref_cast (vec3 *)%357 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %412 = @load_deref (%411) (access=none)
- 32 %413 = deref_var &NdotL#132 (function_temp float)
- 32 %414 = @load_deref (%413) (access=none)
- 32x3 %415 = fmul %412, %414.xxx
- 32 %416 = deref_cast (vec4 *)%367 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %417 = @load_deref (%416) (access=none)
- 32x3 %418 = mov %417.xyz
- 32x3 %419 = fmul %415, %418
- 32x3 %420 = fadd %410, %419
- 32x4 %421 = mov %420.xyzx
- 32x3 %422 = mov %421.xyz
- 32x4 %423 = mov %422.xyzx
- @store_deref (%407, %423) (wrmask=xyz, access=none)
- 32 %424 = deref_cast (vec4 *)%373 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %425 = deref_cast (vec4 *)%373 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %426 = @load_deref (%425) (access=none)
- 32x3 %427 = mov %426.xyz
- 32 %428 = deref_cast (vec3 *)%357 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %429 = @load_deref (%428) (access=none)
- 32 %430 = deref_cast (vec4 *)%370 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %431 = @load_deref (%430) (access=none)
- 32x3 %432 = mov %431.xyz
- 32x3 %433 = fmul %429, %432
- 32 %434 = deref_cast (vec3 *)%351 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %435 = @load_deref (%434) (access=none)
- 32 %436 = deref_cast (vec3 *)%348 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %437 = @load_deref (%436) (access=none)
- 32 %438 = deref_cast (vec3 *)%354 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %439 = @load_deref (%438) (access=none)
- 32x3 %440 = fadd %437, %439
- 32 %441 = deref_cast (vec3 *)%348 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %442 = @load_deref (%441) (access=none)
- 32 %443 = deref_cast (vec3 *)%354 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %444 = @load_deref (%443) (access=none)
- 32x3 %445 = fadd %442, %444
- 32 %446 = deref_cast (vec3 *)%348 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %447 = @load_deref (%446) (access=none)
- 32 %448 = deref_cast (vec3 *)%354 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %449 = @load_deref (%448) (access=none)
- 32x3 %450 = fadd %447, %449
- 32 %451 = fdot3 %445, %450
- 32 %452 = frsq %451
- 32x3 %453 = fmul %440, %452.xxx
- 32 %454 = fdot3 %435, %453
- 32 %455 = fsat %454
- 32 %456 = deref_var &in_baseInstance (shader_in int)
- 32 %457 = @load_deref (%456) (access=none)
- 32 %458 = deref_var &materials (ssbo Material[])
- 32 %459 = deref_array &(*%458)[%457] (ssbo Material) // &materials[%457]
- 32 %460 = deref_struct &%459->u_SpecularExponent (ssbo vec2) // &materials[%457].u_SpecularExponent
- 32x2 %461 = @load_deref (%460) (access=readonly)
- 32 %462 = mov %461.x
- 32 %463 = deref_cast (vec4 *)%370 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %464 = @load_deref (%463) (access=none)
- 32 %465 = mov %464.w
- 32 %466 = fmul %462, %465
- 32 %467 = deref_var &in_baseInstance (shader_in int)
- 32 %468 = @load_deref (%467) (access=none)
- 32 %469 = deref_var &materials (ssbo Material[])
- 32 %470 = deref_array &(*%469)[%468] (ssbo Material) // &materials[%468]
- 32 %471 = deref_struct &%470->u_SpecularExponent (ssbo vec2) // &materials[%468].u_SpecularExponent
- 32x2 %472 = @load_deref (%471) (access=readonly)
- 32 %473 = mov %472.y
- 32 %474 = fadd %466, %473
- 32 %475 = fpow %455, %474
- 32x3 %476 = fmul %433, %475.xxx
- 32 %477 = deref_var &const_temp#146 (function_temp float)
- 32 %478 = @load_deref (%477) (access=none)
- 32x3 %479 = fmul %476, %478.xxx
- 32x3 %480 = fadd %427, %479
- 32x4 %481 = mov %480.xyzx
- 32x3 %482 = mov %481.xyz
- 32x4 %483 = mov %482.xyzx
- @store_deref (%424, %483) (wrmask=xyz, access=none)
- 32x4 %484 = @load_deref (%373) (access=none)
- 32 %485 = deref_cast (vec4 *)%171 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- @store_deref (%485, %484) (wrmask=xyzw, access=none)
- 32x4 %486 = @load_deref (%171) (access=none)
- 32 %487 = @load_param (param_idx=5)
- 32 %488 = deref_cast (vec4 *)%487 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- @store_deref (%488, %486) (wrmask=xyzw, access=none)
- 32 %489 = deref_var &i (function_temp int)
- 32 %490 = deref_var &i (function_temp int)
- 32 %491 = @load_deref (%490) (access=none)
- 32 %492 = deref_var &const_temp#89 (function_temp int)
- 32 %493 = @load_deref (%492) (access=none)
- 32 %494 = iadd %491, %493
- @store_deref (%489, %494) (wrmask=x, access=none)
- // succs: b5
- }
- con block b24: // preds: b6 b9
- 32 %495 = deref_var &layer (function_temp int)
- 32 %496 = deref_var &layer (function_temp int)
- 32 %497 = @load_deref (%496) (access=none)
- 32 %498 = deref_var &const_temp#90 (function_temp int)
- 32 %499 = @load_deref (%498) (access=none)
- 32 %500 = iadd %497, %499
- @store_deref (%495, %500) (wrmask=x, access=none)
- // succs: b1
- }
- con block b25: // preds: b2, succs: b26
- block b26:
- }
- decl_function NormalInTangentSpace (3 params)
- impl NormalInTangentSpace {
- decl_var INTERP_MODE_NONE none vec3 normal
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#147
- decl_var INTERP_MODE_NONE none float const_temp#148
- decl_var INTERP_MODE_NONE none float const_temp#149
- decl_var INTERP_MODE_NONE none float compiler_temp#150
- decl_var INTERP_MODE_NONE none float compiler_temp#151
- decl_var INTERP_MODE_NONE none float compiler_temp#152
- decl_var INTERP_MODE_NONE none float const_temp#153
- decl_var INTERP_MODE_NONE none float const_temp#154
- decl_var INTERP_MODE_NONE none int const_temp#155
- decl_var INTERP_MODE_NONE none int const_temp#156
- con block b0: // preds:
- 32 %87 = deref_var &normal (function_temp vec3)
- 32x3 %88 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%87, %88 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %89 = deref_var &const_temp#148 (function_temp float)
- 32 %90 = load_const (0x40000000 = 2.000000)
- @store_deref (%89, %90 (2.000000)) (wrmask=x, access=none)
- 32 %91 = deref_var &const_temp#149 (function_temp float)
- 32 %92 = load_const (0x3f800000 = 1.000000)
- @store_deref (%91, %92 (1.000000)) (wrmask=x, access=none)
- 32 %93 = deref_var &const_temp#153 (function_temp float)
- 32 %94 = load_const (0x00000000 = 0.000000)
- @store_deref (%93, %94 (0.000000)) (wrmask=x, access=none)
- 32 %95 = deref_var &const_temp#154 (function_temp float)
- 32 %96 = load_const (0x3f800000 = 1.000000)
- @store_deref (%95, %96 (1.000000)) (wrmask=x, access=none)
- 32 %97 = deref_var &const_temp#155 (function_temp int)
- 32 %98 = load_const (0x00000000)
- @store_deref (%97, %98 (0x0)) (wrmask=x, access=none)
- 32 %99 = deref_var &const_temp#156 (function_temp int)
- 32 %100 = load_const (0x00000001)
- @store_deref (%99, %100 (0x1)) (wrmask=x, access=none)
- 32 %0 = deref_var &normal (function_temp vec3)
- 32 %1 = @load_param (param_idx=2)
- 32 %2 = deref_cast (sampler2D *)%1 (uniform sampler2D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %3 = @load_param (param_idx=1)
- 32 %4 = deref_cast (vec2 *)%3 (function_temp vec2) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x2 %5 = @load_deref (%4) (access=none)
- 32x4 %6 = (float32)tex %2 (texture_deref), %2 (sampler_deref), %5 (coord)
- 32x3 %7 = mov %6.xyw
- @store_deref (%0, %7) (wrmask=xyz, access=none)
- 32 %8 = deref_var &normal (function_temp vec3)
- 32 %9 = deref_var &normal (function_temp vec3)
- 32x3 %10 = @load_deref (%9) (access=none)
- 32 %11 = mov %10.x
- 32 %12 = deref_var &normal (function_temp vec3)
- 32x3 %13 = @load_deref (%12) (access=none)
- 32 %14 = mov %13.z
- 32 %15 = fmul %11, %14
- 32x3 %16 = mov %15.xxx
- 32 %17 = mov %16.x
- 32x3 %18 = mov %17.xxx
- @store_deref (%8, %18) (wrmask=x, access=none)
- 32 %19 = deref_var &normal (function_temp vec3)
- 32 %20 = deref_var &const_temp#148 (function_temp float)
- 32 %21 = @load_deref (%20) (access=none)
- 32 %22 = deref_var &normal (function_temp vec3)
- 32x3 %23 = @load_deref (%22) (access=none)
- 32x2 %24 = mov %23.xy
- 32x2 %25 = fmul %21.xx, %24
- 32 %26 = deref_var &const_temp#149 (function_temp float)
- 32 %27 = @load_deref (%26) (access=none)
- 32x2 %28 = fsub %25, %27.xx
- 32x3 %29 = mov %28.xyx
- 32x2 %30 = mov %29.xy
- 32x3 %31 = mov %30.xyx
- @store_deref (%19, %31) (wrmask=xy, access=none)
- 32 %32 = deref_var &normal (function_temp vec3)
- 32 %33 = deref_var &const_temp#153 (function_temp float)
- 32 %34 = @load_deref (%33) (access=none)
- 32 %35 = deref_var &const_temp#154 (function_temp float)
- 32 %36 = @load_deref (%35) (access=none)
- 32 %37 = deref_var &normal (function_temp vec3)
- 32x3 %38 = @load_deref (%37) (access=none)
- 32x2 %39 = mov %38.xy
- 32 %40 = deref_var &normal (function_temp vec3)
- 32x3 %41 = @load_deref (%40) (access=none)
- 32x2 %42 = mov %41.xy
- 32 %43 = fdot2 %39, %42
- 32 %44 = fsub %36, %43
- 32 %45 = fmax %34, %44
- 32 %46 = fsqrt %45
- 32x3 %47 = mov %46.xxx
- 32 %48 = mov %47.z
- 32x3 %49 = mov %48.xxx
- @store_deref (%32, %49) (wrmask=z, access=none)
- 32 %50 = deref_var &in_baseInstance (shader_in int)
- 32 %51 = @load_deref (%50) (access=none)
- 32 %52 = deref_var &materials (ssbo Material[])
- 32 %53 = deref_array &(*%52)[%51] (ssbo Material) // &materials[%51]
- 32 %54 = deref_struct &%53->u_NormalScale (ssbo vec3) // &materials[%51].u_NormalScale
- 32x3 %55 = @load_deref (%54) (access=readonly)
- 32 %56 = mov %55.z
- 32 %57 = deref_var &const_temp#155 (function_temp int)
- 32 %58 = @load_deref (%57) (access=none)
- 32 %59 = i2f32 %58
- 1 %60 = fneu %56, %59
- // succs: b1 b2
- if %60 {
- con block b1: // preds: b0
- 32 %61 = deref_var &normal (function_temp vec3)
- 32 %62 = deref_var &normal (function_temp vec3)
- 32x3 %63 = @load_deref (%62) (access=none)
- 32 %64 = deref_var &in_baseInstance (shader_in int)
- 32 %65 = @load_deref (%64) (access=none)
- 32 %66 = deref_var &materials (ssbo Material[])
- 32 %67 = deref_array &(*%66)[%65] (ssbo Material) // &materials[%65]
- 32 %68 = deref_struct &%67->u_NormalScale (ssbo vec3) // &materials[%65].u_NormalScale
- 32x3 %69 = @load_deref (%68) (access=readonly)
- 32x3 %70 = fmul %63, %69
- @store_deref (%61, %70) (wrmask=xyz, access=none)
- // succs: b3
- } else {
- con block b2: // preds: b0, succs: b3
- }
- con block b3: // preds: b1 b2
- 32 %71 = deref_var &normal (function_temp vec3)
- 32 %72 = deref_var &normal (function_temp vec3)
- 32x3 %73 = @load_deref (%72) (access=none)
- 32 %74 = mov %73.y
- 32 %75 = deref_var &const_temp#156 (function_temp int)
- 32 %76 = @load_deref (%75) (access=none)
- 32 %77 = ineg %76
- 32 %78 = i2f32 %77
- 32 %79 = fmul %74, %78
- 32x3 %80 = mov %79.xxx
- 32 %81 = mov %80.y
- 32x3 %82 = mov %81.xxx
- @store_deref (%71, %82) (wrmask=y, access=none)
- 32 %83 = @load_param (param_idx=0)
- 32 %84 = deref_cast (vec3 *)%83 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %85 = deref_var &normal (function_temp vec3)
- 32x3 %86 = @load_deref (%85) (access=none)
- @store_deref (%84, %86) (wrmask=xyz, access=none)
- // succs: b4
- block b4:
- }
- decl_function NormalInWorldSpace (4 params)
- impl NormalInWorldSpace {
- decl_var INTERP_MODE_NONE none vec3 normal#157
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#158
- decl_var INTERP_MODE_NONE none vec3 return_tmp#159
- decl_var INTERP_MODE_NONE none vec2 param#160
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#161
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#162
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#163
- decl_var INTERP_MODE_NONE none int const_temp#164
- decl_var INTERP_MODE_NONE none int const_temp#165
- decl_var INTERP_MODE_NONE none int const_temp#166
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#167
- decl_var INTERP_MODE_NONE none int const_temp#168
- decl_var INTERP_MODE_NONE none int const_temp#169
- decl_var INTERP_MODE_NONE none int const_temp#170
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#171
- decl_var INTERP_MODE_NONE none int const_temp#172
- decl_var INTERP_MODE_NONE none int const_temp#173
- decl_var INTERP_MODE_NONE none int const_temp#174
- decl_var INTERP_MODE_NONE none vec3 normal#175
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#176
- decl_var INTERP_MODE_NONE none float const_temp#177
- decl_var INTERP_MODE_NONE none float const_temp#178
- decl_var INTERP_MODE_NONE none float compiler_temp#179
- decl_var INTERP_MODE_NONE none float compiler_temp#180
- decl_var INTERP_MODE_NONE none float compiler_temp#181
- decl_var INTERP_MODE_NONE none float const_temp#182
- decl_var INTERP_MODE_NONE none float const_temp#183
- decl_var INTERP_MODE_NONE none int const_temp#184
- decl_var INTERP_MODE_NONE none int const_temp#185
- con block b0: // preds:
- 32 %0 = deref_var &const_temp#164 (function_temp int)
- 32 %1 = load_const (0x00000000)
- @store_deref (%0, %1 (0x0)) (wrmask=x, access=none)
- 32 %2 = deref_var &const_temp#165 (function_temp int)
- 32 %3 = load_const (0x00000001)
- @store_deref (%2, %3 (0x1)) (wrmask=x, access=none)
- 32 %4 = deref_var &const_temp#166 (function_temp int)
- 32 %5 = load_const (0x00000002)
- @store_deref (%4, %5 (0x2)) (wrmask=x, access=none)
- 32 %6 = deref_var &const_temp#168 (function_temp int)
- 32 %7 = load_const (0x00000000)
- @store_deref (%6, %7 (0x0)) (wrmask=x, access=none)
- 32 %8 = deref_var &const_temp#169 (function_temp int)
- 32 %9 = load_const (0x00000001)
- @store_deref (%8, %9 (0x1)) (wrmask=x, access=none)
- 32 %10 = deref_var &const_temp#170 (function_temp int)
- 32 %11 = load_const (0x00000002)
- @store_deref (%10, %11 (0x2)) (wrmask=x, access=none)
- 32 %12 = deref_var &const_temp#172 (function_temp int)
- 32 %13 = load_const (0x00000000)
- @store_deref (%12, %13 (0x0)) (wrmask=x, access=none)
- 32 %14 = deref_var &const_temp#173 (function_temp int)
- 32 %15 = load_const (0x00000001)
- @store_deref (%14, %15 (0x1)) (wrmask=x, access=none)
- 32 %16 = deref_var &const_temp#174 (function_temp int)
- 32 %17 = load_const (0x00000002)
- @store_deref (%16, %17 (0x2)) (wrmask=x, access=none)
- 32 %18 = deref_var &return_tmp#159 (function_temp vec3)
- 32 %19 = deref_var ¶m#160 (function_temp vec2)
- 32 %20 = @load_param (param_idx=1)
- 32 %21 = deref_cast (vec2 *)%20 (function_temp vec2) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x2 %22 = @load_deref (%21) (access=none)
- @store_deref (%19, %22) (wrmask=xy, access=none)
- 32 %23 = @load_param (param_idx=3)
- 32 %24 = deref_cast (sampler2D *)%23 (uniform sampler2D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %25 = deref_var &normal#175 (function_temp vec3)
- 32x3 %26 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%25, %26 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %27 = deref_var &const_temp#177 (function_temp float)
- 32 %28 = load_const (0x40000000 = 2.000000)
- @store_deref (%27, %28 (2.000000)) (wrmask=x, access=none)
- 32 %29 = deref_var &const_temp#178 (function_temp float)
- 32 %30 = load_const (0x3f800000 = 1.000000)
- @store_deref (%29, %30 (1.000000)) (wrmask=x, access=none)
- 32 %31 = deref_var &const_temp#182 (function_temp float)
- 32 %32 = load_const (0x00000000 = 0.000000)
- @store_deref (%31, %32 (0.000000)) (wrmask=x, access=none)
- 32 %33 = deref_var &const_temp#183 (function_temp float)
- 32 %34 = load_const (0x3f800000 = 1.000000)
- @store_deref (%33, %34 (1.000000)) (wrmask=x, access=none)
- 32 %35 = deref_var &const_temp#184 (function_temp int)
- 32 %36 = load_const (0x00000000)
- @store_deref (%35, %36 (0x0)) (wrmask=x, access=none)
- 32 %37 = deref_var &const_temp#185 (function_temp int)
- 32 %38 = load_const (0x00000001)
- @store_deref (%37, %38 (0x1)) (wrmask=x, access=none)
- 32 %39 = deref_var &normal#175 (function_temp vec3)
- 32 %40 = deref_cast (sampler2D *)%24 (uniform sampler2D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %41 = deref_cast (vec2 *)%19 (function_temp vec2) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x2 %42 = @load_deref (%41) (access=none)
- 32x4 %43 = (float32)tex %40 (texture_deref), %40 (sampler_deref), %42 (coord)
- 32x3 %44 = mov %43.xyw
- @store_deref (%39, %44) (wrmask=xyz, access=none)
- 32 %45 = deref_var &normal#175 (function_temp vec3)
- 32 %46 = deref_var &normal#175 (function_temp vec3)
- 32x3 %47 = @load_deref (%46) (access=none)
- 32 %48 = mov %47.x
- 32 %49 = deref_var &normal#175 (function_temp vec3)
- 32x3 %50 = @load_deref (%49) (access=none)
- 32 %51 = mov %50.z
- 32 %52 = fmul %48, %51
- 32x3 %53 = mov %52.xxx
- 32 %54 = mov %53.x
- 32x3 %55 = mov %54.xxx
- @store_deref (%45, %55) (wrmask=x, access=none)
- 32 %56 = deref_var &normal#175 (function_temp vec3)
- 32 %57 = deref_var &const_temp#177 (function_temp float)
- 32 %58 = @load_deref (%57) (access=none)
- 32 %59 = deref_var &normal#175 (function_temp vec3)
- 32x3 %60 = @load_deref (%59) (access=none)
- 32x2 %61 = mov %60.xy
- 32x2 %62 = fmul %58.xx, %61
- 32 %63 = deref_var &const_temp#178 (function_temp float)
- 32 %64 = @load_deref (%63) (access=none)
- 32x2 %65 = fsub %62, %64.xx
- 32x3 %66 = mov %65.xyx
- 32x2 %67 = mov %66.xy
- 32x3 %68 = mov %67.xyx
- @store_deref (%56, %68) (wrmask=xy, access=none)
- 32 %69 = deref_var &normal#175 (function_temp vec3)
- 32 %70 = deref_var &const_temp#182 (function_temp float)
- 32 %71 = @load_deref (%70) (access=none)
- 32 %72 = deref_var &const_temp#183 (function_temp float)
- 32 %73 = @load_deref (%72) (access=none)
- 32 %74 = deref_var &normal#175 (function_temp vec3)
- 32x3 %75 = @load_deref (%74) (access=none)
- 32x2 %76 = mov %75.xy
- 32 %77 = deref_var &normal#175 (function_temp vec3)
- 32x3 %78 = @load_deref (%77) (access=none)
- 32x2 %79 = mov %78.xy
- 32 %80 = fdot2 %76, %79
- 32 %81 = fsub %73, %80
- 32 %82 = fmax %71, %81
- 32 %83 = fsqrt %82
- 32x3 %84 = mov %83.xxx
- 32 %85 = mov %84.z
- 32x3 %86 = mov %85.xxx
- @store_deref (%69, %86) (wrmask=z, access=none)
- 32 %87 = deref_var &in_baseInstance (shader_in int)
- 32 %88 = @load_deref (%87) (access=none)
- 32 %89 = deref_var &materials (ssbo Material[])
- 32 %90 = deref_array &(*%89)[%88] (ssbo Material) // &materials[%88]
- 32 %91 = deref_struct &%90->u_NormalScale (ssbo vec3) // &materials[%88].u_NormalScale
- 32x3 %92 = @load_deref (%91) (access=readonly)
- 32 %93 = mov %92.z
- 32 %94 = deref_var &const_temp#184 (function_temp int)
- 32 %95 = @load_deref (%94) (access=none)
- 32 %96 = i2f32 %95
- 1 %97 = fneu %93, %96
- // succs: b1 b2
- if %97 {
- con block b1: // preds: b0
- 32 %98 = deref_var &normal#175 (function_temp vec3)
- 32 %99 = deref_var &normal#175 (function_temp vec3)
- 32x3 %100 = @load_deref (%99) (access=none)
- 32 %101 = deref_var &in_baseInstance (shader_in int)
- 32 %102 = @load_deref (%101) (access=none)
- 32 %103 = deref_var &materials (ssbo Material[])
- 32 %104 = deref_array &(*%103)[%102] (ssbo Material) // &materials[%102]
- 32 %105 = deref_struct &%104->u_NormalScale (ssbo vec3) // &materials[%102].u_NormalScale
- 32x3 %106 = @load_deref (%105) (access=readonly)
- 32x3 %107 = fmul %100, %106
- @store_deref (%98, %107) (wrmask=xyz, access=none)
- // succs: b3
- } else {
- con block b2: // preds: b0, succs: b3
- }
- con block b3: // preds: b1 b2
- 32 %108 = deref_var &normal#175 (function_temp vec3)
- 32 %109 = deref_var &normal#175 (function_temp vec3)
- 32x3 %110 = @load_deref (%109) (access=none)
- 32 %111 = mov %110.y
- 32 %112 = deref_var &const_temp#185 (function_temp int)
- 32 %113 = @load_deref (%112) (access=none)
- 32 %114 = ineg %113
- 32 %115 = i2f32 %114
- 32 %116 = fmul %111, %115
- 32x3 %117 = mov %116.xxx
- 32 %118 = mov %117.y
- 32x3 %119 = mov %118.xxx
- @store_deref (%108, %119) (wrmask=y, access=none)
- 32 %120 = deref_cast (vec3 *)%18 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %121 = deref_var &normal#175 (function_temp vec3)
- 32x3 %122 = @load_deref (%121) (access=none)
- @store_deref (%120, %122) (wrmask=xyz, access=none)
- 32x3 %123 = @load_deref (%18) (access=none)
- 32 %124 = deref_var &compiler_temp#158 (function_temp vec3)
- @store_deref (%124, %123) (wrmask=xyz, access=none)
- 32 %125 = deref_var &normal#157 (function_temp vec3)
- 32 %126 = deref_var &compiler_temp#158 (function_temp vec3)
- @copy_deref (%125, %126) (dst_access=0, src_access=0)
- 32 %127 = deref_var &compiler_temp#163 (function_temp vec3)
- 32 %128 = deref_var &const_temp#164 (function_temp int)
- 32 %129 = @load_deref (%128) (access=none)
- 32 %130 = @load_param (param_idx=2)
- 32 %131 = deref_cast (mat3 *)%130 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %132 = deref_array &(*%131)[%129] (function_temp vec3) // &(*(mat3 *)%130)[%129]
- 32x3 %133 = @load_deref (%132) (access=none)
- 32 %134 = deref_var &normal#157 (function_temp vec3)
- 32x3 %135 = @load_deref (%134) (access=none)
- 32 %136 = mov %135.x
- 32x3 %137 = fmul %133, %136.xxx
- 32 %138 = deref_var &const_temp#165 (function_temp int)
- 32 %139 = @load_deref (%138) (access=none)
- 32 %140 = @load_param (param_idx=2)
- 32 %141 = deref_cast (mat3 *)%140 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %142 = deref_array &(*%141)[%139] (function_temp vec3) // &(*(mat3 *)%140)[%139]
- 32x3 %143 = @load_deref (%142) (access=none)
- 32 %144 = deref_var &normal#157 (function_temp vec3)
- 32x3 %145 = @load_deref (%144) (access=none)
- 32 %146 = mov %145.y
- 32x3 %147 = fmul %143, %146.xxx
- 32x3 %148 = fadd %137, %147
- 32 %149 = deref_var &const_temp#166 (function_temp int)
- 32 %150 = @load_deref (%149) (access=none)
- 32 %151 = @load_param (param_idx=2)
- 32 %152 = deref_cast (mat3 *)%151 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %153 = deref_array &(*%152)[%150] (function_temp vec3) // &(*(mat3 *)%151)[%150]
- 32x3 %154 = @load_deref (%153) (access=none)
- 32 %155 = deref_var &normal#157 (function_temp vec3)
- 32x3 %156 = @load_deref (%155) (access=none)
- 32 %157 = mov %156.z
- 32x3 %158 = fmul %154, %157.xxx
- 32x3 %159 = fadd %148, %158
- @store_deref (%127, %159) (wrmask=xyz, access=none)
- 32 %160 = deref_var &compiler_temp#167 (function_temp vec3)
- 32 %161 = deref_var &const_temp#168 (function_temp int)
- 32 %162 = @load_deref (%161) (access=none)
- 32 %163 = @load_param (param_idx=2)
- 32 %164 = deref_cast (mat3 *)%163 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %165 = deref_array &(*%164)[%162] (function_temp vec3) // &(*(mat3 *)%163)[%162]
- 32x3 %166 = @load_deref (%165) (access=none)
- 32 %167 = deref_var &normal#157 (function_temp vec3)
- 32x3 %168 = @load_deref (%167) (access=none)
- 32 %169 = mov %168.x
- 32x3 %170 = fmul %166, %169.xxx
- 32 %171 = deref_var &const_temp#169 (function_temp int)
- 32 %172 = @load_deref (%171) (access=none)
- 32 %173 = @load_param (param_idx=2)
- 32 %174 = deref_cast (mat3 *)%173 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %175 = deref_array &(*%174)[%172] (function_temp vec3) // &(*(mat3 *)%173)[%172]
- 32x3 %176 = @load_deref (%175) (access=none)
- 32 %177 = deref_var &normal#157 (function_temp vec3)
- 32x3 %178 = @load_deref (%177) (access=none)
- 32 %179 = mov %178.y
- 32x3 %180 = fmul %176, %179.xxx
- 32x3 %181 = fadd %170, %180
- 32 %182 = deref_var &const_temp#170 (function_temp int)
- 32 %183 = @load_deref (%182) (access=none)
- 32 %184 = @load_param (param_idx=2)
- 32 %185 = deref_cast (mat3 *)%184 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %186 = deref_array &(*%185)[%183] (function_temp vec3) // &(*(mat3 *)%184)[%183]
- 32x3 %187 = @load_deref (%186) (access=none)
- 32 %188 = deref_var &normal#157 (function_temp vec3)
- 32x3 %189 = @load_deref (%188) (access=none)
- 32 %190 = mov %189.z
- 32x3 %191 = fmul %187, %190.xxx
- 32x3 %192 = fadd %181, %191
- @store_deref (%160, %192) (wrmask=xyz, access=none)
- 32 %193 = deref_var &compiler_temp#171 (function_temp vec3)
- 32 %194 = deref_var &const_temp#172 (function_temp int)
- 32 %195 = @load_deref (%194) (access=none)
- 32 %196 = @load_param (param_idx=2)
- 32 %197 = deref_cast (mat3 *)%196 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %198 = deref_array &(*%197)[%195] (function_temp vec3) // &(*(mat3 *)%196)[%195]
- 32x3 %199 = @load_deref (%198) (access=none)
- 32 %200 = deref_var &normal#157 (function_temp vec3)
- 32x3 %201 = @load_deref (%200) (access=none)
- 32 %202 = mov %201.x
- 32x3 %203 = fmul %199, %202.xxx
- 32 %204 = deref_var &const_temp#173 (function_temp int)
- 32 %205 = @load_deref (%204) (access=none)
- 32 %206 = @load_param (param_idx=2)
- 32 %207 = deref_cast (mat3 *)%206 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %208 = deref_array &(*%207)[%205] (function_temp vec3) // &(*(mat3 *)%206)[%205]
- 32x3 %209 = @load_deref (%208) (access=none)
- 32 %210 = deref_var &normal#157 (function_temp vec3)
- 32x3 %211 = @load_deref (%210) (access=none)
- 32 %212 = mov %211.y
- 32x3 %213 = fmul %209, %212.xxx
- 32x3 %214 = fadd %203, %213
- 32 %215 = deref_var &const_temp#174 (function_temp int)
- 32 %216 = @load_deref (%215) (access=none)
- 32 %217 = @load_param (param_idx=2)
- 32 %218 = deref_cast (mat3 *)%217 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %219 = deref_array &(*%218)[%216] (function_temp vec3) // &(*(mat3 *)%217)[%216]
- 32x3 %220 = @load_deref (%219) (access=none)
- 32 %221 = deref_var &normal#157 (function_temp vec3)
- 32x3 %222 = @load_deref (%221) (access=none)
- 32 %223 = mov %222.z
- 32x3 %224 = fmul %220, %223.xxx
- 32x3 %225 = fadd %214, %224
- @store_deref (%193, %225) (wrmask=xyz, access=none)
- 32 %226 = deref_var &compiler_temp#162 (function_temp vec3)
- 32 %227 = deref_var &compiler_temp#171 (function_temp vec3)
- 32x3 %228 = @load_deref (%227) (access=none)
- 32 %229 = deref_var &compiler_temp#163 (function_temp vec3)
- 32x3 %230 = @load_deref (%229) (access=none)
- 32 %231 = deref_var &compiler_temp#167 (function_temp vec3)
- 32x3 %232 = @load_deref (%231) (access=none)
- 32 %233 = fdot3 %230, %232
- 32 %234 = frsq %233
- 32x3 %235 = fmul %228, %234.xxx
- @store_deref (%226, %235) (wrmask=xyz, access=none)
- 32 %236 = @load_param (param_idx=0)
- 32 %237 = deref_cast (vec3 *)%236 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %238 = deref_var &compiler_temp#162 (function_temp vec3)
- 32x3 %239 = @load_deref (%238) (access=none)
- @store_deref (%237, %239) (wrmask=xyz, access=none)
- // succs: b4
- block b4:
- }
- decl_function main (0 params)
- impl main {
- decl_var INTERP_MODE_NONE none int compiler_temp#186
- decl_var INTERP_MODE_NONE none int compiler_temp#187
- decl_var INTERP_MODE_NONE none float compiler_temp#188
- decl_var INTERP_MODE_NONE none int compiler_temp#189
- decl_var INTERP_MODE_NONE none int const_temp#190
- decl_var INTERP_MODE_NONE none float const_temp#191
- decl_var INTERP_MODE_NONE none int const_temp#192
- decl_var INTERP_MODE_NONE none int const_temp#193
- decl_var INTERP_MODE_NONE none bool compiler_temp#194
- decl_var INTERP_MODE_NONE none bool const_temp#195
- decl_var INTERP_MODE_NONE none bool compiler_temp#196
- decl_var INTERP_MODE_NONE none bool const_temp#197
- decl_var INTERP_MODE_NONE none vec3 glow
- decl_var INTERP_MODE_NONE none vec3 lightColor
- decl_var INTERP_MODE_NONE none vec4 color
- decl_var INTERP_MODE_NONE none vec4 material
- decl_var INTERP_MODE_NONE none vec3 normal#198
- decl_var INTERP_MODE_NONE none vec4 diffuse
- decl_var INTERP_MODE_NONE none mat3 tangentToWorldMatrix
- decl_var INTERP_MODE_NONE none vec2 texCoords
- decl_var INTERP_MODE_NONE none vec3 viewDir
- decl_var bindless INTERP_MODE_NONE none sampler2D u_NormalMap
- decl_var bindless INTERP_MODE_NONE none sampler2D u_LightMap
- decl_var bindless INTERP_MODE_NONE none sampler2D u_GlowMap
- decl_var bindless INTERP_MODE_NONE none sampler2D u_MaterialMap
- decl_var bindless INTERP_MODE_NONE none sampler2D u_DiffuseMap
- decl_var bindless INTERP_MODE_NONE none usampler3D u_LightTilesInt
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#199
- decl_var INTERP_MODE_NONE none usampler3D compiler_temp#200
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#201
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#202
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#203
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#204
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#205
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#206
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#207
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#208
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#209
- decl_var INTERP_MODE_NONE none sampler3D compiler_temp#210
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#211
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#212
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#213
- decl_var INTERP_MODE_NONE none sampler3D compiler_temp#214
- decl_var INTERP_MODE_NONE none uvec2 compiler_temp#215
- decl_var INTERP_MODE_NONE none sampler2D compiler_temp#216
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#217
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#218
- decl_var INTERP_MODE_NONE none vec2 compiler_temp#219
- decl_var INTERP_MODE_NONE none mat3 compiler_temp#220
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#221
- decl_var INTERP_MODE_NONE none uint const_temp#222
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#223
- decl_var INTERP_MODE_NONE none uint const_temp#224
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#225
- decl_var INTERP_MODE_NONE none uint const_temp#226
- decl_var INTERP_MODE_NONE none mat3 compiler_temp#227
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#228
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#229
- decl_var INTERP_MODE_NONE none float compiler_temp#230
- decl_var INTERP_MODE_NONE none float const_temp#231
- decl_var INTERP_MODE_NONE none bool const_temp#232
- decl_var INTERP_MODE_NONE none bool const_temp#233
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#234
- decl_var INTERP_MODE_NONE none vec3 return_tmp#235
- decl_var INTERP_MODE_NONE none vec2 param#236
- decl_var INTERP_MODE_NONE none mat3 param#237
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#238
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#239
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#240
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#241
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#242
- decl_var INTERP_MODE_NONE none vec3 const_temp#243
- decl_var INTERP_MODE_NONE none vec3 param#244
- decl_var INTERP_MODE_NONE none vec4 param#245
- decl_var INTERP_MODE_NONE none vec4 param#246
- decl_var INTERP_MODE_NONE none vec3 param#247
- decl_var INTERP_MODE_NONE none vec3 param#248
- decl_var INTERP_MODE_NONE none vec3 param#249
- decl_var INTERP_MODE_NONE none vec4 param#250
- decl_var INTERP_MODE_NONE none vec4 param#251
- decl_var INTERP_MODE_NONE none vec4 param#252
- decl_var INTERP_MODE_NONE none int const_temp#253
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#254
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#255
- decl_var INTERP_MODE_NONE none int const_temp#256
- decl_var INTERP_MODE_NONE none vec3 normal#257
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#258
- decl_var INTERP_MODE_NONE none vec3 return_tmp#259
- decl_var INTERP_MODE_NONE none vec2 param#260
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#261
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#262
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#263
- decl_var INTERP_MODE_NONE none int const_temp#264
- decl_var INTERP_MODE_NONE none int const_temp#265
- decl_var INTERP_MODE_NONE none int const_temp#266
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#267
- decl_var INTERP_MODE_NONE none int const_temp#268
- decl_var INTERP_MODE_NONE none int const_temp#269
- decl_var INTERP_MODE_NONE none int const_temp#270
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#271
- decl_var INTERP_MODE_NONE none int const_temp#272
- decl_var INTERP_MODE_NONE none int const_temp#273
- decl_var INTERP_MODE_NONE none int const_temp#274
- decl_var INTERP_MODE_NONE none vec3 normal#275
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#276
- decl_var INTERP_MODE_NONE none float const_temp#277
- decl_var INTERP_MODE_NONE none float const_temp#278
- decl_var INTERP_MODE_NONE none float compiler_temp#279
- decl_var INTERP_MODE_NONE none float compiler_temp#280
- decl_var INTERP_MODE_NONE none float compiler_temp#281
- decl_var INTERP_MODE_NONE none float const_temp#282
- decl_var INTERP_MODE_NONE none float const_temp#283
- decl_var INTERP_MODE_NONE none int const_temp#284
- decl_var INTERP_MODE_NONE none int const_temp#285
- decl_var INTERP_MODE_NONE none int layer#286
- decl_var INTERP_MODE_NONE none vec3 tileScale#287
- decl_var INTERP_MODE_NONE none vec2 tile#288
- decl_var INTERP_MODE_NONE none vec2 compiler_temp#289
- decl_var INTERP_MODE_NONE none vec2 compiler_temp#290
- decl_var INTERP_MODE_NONE none float const_temp#291
- decl_var INTERP_MODE_NONE none float const_temp#292
- decl_var INTERP_MODE_NONE none float const_temp#293
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#294
- decl_var INTERP_MODE_NONE none vec3 const_temp#295
- decl_var INTERP_MODE_NONE none int compiler_temp#296
- decl_var INTERP_MODE_NONE none int const_temp#297
- decl_var INTERP_MODE_NONE none int i#298
- decl_var INTERP_MODE_NONE none uvec4 idxs#299
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#300
- decl_var INTERP_MODE_NONE none float const_temp#301
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#302
- decl_var INTERP_MODE_NONE none uvec4 return_tmp#303
- decl_var INTERP_MODE_NONE none vec3 param#304
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#305
- decl_var INTERP_MODE_NONE none int compiler_temp#306
- decl_var INTERP_MODE_NONE none int const_temp#307
- decl_var INTERP_MODE_NONE none int idx#308
- decl_var INTERP_MODE_NONE none int compiler_temp#309
- decl_var INTERP_MODE_NONE none int return_tmp#310
- decl_var INTERP_MODE_NONE none uvec4 param#311
- decl_var INTERP_MODE_NONE none int compiler_temp#312
- decl_var INTERP_MODE_NONE none int param#313
- decl_var INTERP_MODE_NONE none vec3 param#314
- decl_var INTERP_MODE_NONE none vec3 param#315
- decl_var INTERP_MODE_NONE none vec3 param#316
- decl_var INTERP_MODE_NONE none vec4 param#317
- decl_var INTERP_MODE_NONE none vec4 param#318
- decl_var INTERP_MODE_NONE none vec4 param#319
- decl_var INTERP_MODE_NONE none int const_temp#320
- decl_var INTERP_MODE_NONE none int const_temp#321
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#322
- decl_var INTERP_MODE_NONE none uvec4 tmp#323
- decl_var INTERP_MODE_NONE none uvec4 compiler_temp#324
- decl_var INTERP_MODE_NONE none uvec4 const_temp#325
- decl_var INTERP_MODE_NONE none uvec4 const_temp#326
- decl_var INTERP_MODE_NONE none int const_temp#327
- decl_var INTERP_MODE_NONE none float attenuation#328
- decl_var INTERP_MODE_NONE none vec3 L#329
- decl_var INTERP_MODE_NONE none vec4 color_type#330
- decl_var INTERP_MODE_NONE none vec4 center_radius#331
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#332
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#333
- decl_var INTERP_MODE_NONE none float const_temp#334
- decl_var INTERP_MODE_NONE none float t#335
- decl_var INTERP_MODE_NONE none float compiler_temp#336
- decl_var INTERP_MODE_NONE none float compiler_temp#337
- decl_var INTERP_MODE_NONE none float const_temp#338
- decl_var INTERP_MODE_NONE none float const_temp#339
- decl_var INTERP_MODE_NONE none float const_temp#340
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#341
- decl_var INTERP_MODE_NONE none float const_temp#342
- decl_var INTERP_MODE_NONE none float t#343
- decl_var INTERP_MODE_NONE none vec4 direction_angle#344
- decl_var INTERP_MODE_NONE none vec4 compiler_temp#345
- decl_var INTERP_MODE_NONE none float compiler_temp#346
- decl_var INTERP_MODE_NONE none float compiler_temp#347
- decl_var INTERP_MODE_NONE none float const_temp#348
- decl_var INTERP_MODE_NONE none float const_temp#349
- decl_var INTERP_MODE_NONE none float const_temp#350
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#351
- decl_var INTERP_MODE_NONE none float compiler_temp#352
- decl_var INTERP_MODE_NONE none float const_temp#353
- decl_var INTERP_MODE_NONE none float const_temp#354
- decl_var INTERP_MODE_NONE none float const_temp#355
- decl_var INTERP_MODE_NONE none vec3 param#356
- decl_var INTERP_MODE_NONE none vec3 param#357
- decl_var INTERP_MODE_NONE none vec3 param#358
- decl_var INTERP_MODE_NONE none vec3 param#359
- decl_var INTERP_MODE_NONE none vec4 param#360
- decl_var INTERP_MODE_NONE none vec4 param#361
- decl_var INTERP_MODE_NONE none vec4 param#362
- decl_var INTERP_MODE_NONE none float NdotL#363
- decl_var INTERP_MODE_NONE none float NdotH#364
- decl_var INTERP_MODE_NONE none vec3 H#365
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#366
- decl_var INTERP_MODE_NONE none vec3 compiler_temp#367
- decl_var INTERP_MODE_NONE none float compiler_temp#368
- decl_var INTERP_MODE_NONE none float compiler_temp#369
- decl_var INTERP_MODE_NONE none float compiler_temp#370
- decl_var INTERP_MODE_NONE none float compiler_temp#371
- decl_var INTERP_MODE_NONE none float compiler_temp#372
- decl_var INTERP_MODE_NONE none float const_temp#373
- decl_var INTERP_MODE_NONE none float const_temp#374
- decl_var INTERP_MODE_NONE none float compiler_temp#375
- decl_var INTERP_MODE_NONE none float compiler_temp#376
- decl_var INTERP_MODE_NONE none float const_temp#377
- con block b0: // preds:
- 32 %0 = deref_var &const_temp#190 (function_temp int)
- 32 %1 = load_const (0x00000100 = 256)
- @store_deref (%0, %1 (0x100)) (wrmask=x, access=none)
- 32 %2 = deref_var &const_temp#191 (function_temp float)
- 32 %3 = load_const (0x40400000 = 3.000000)
- @store_deref (%2, %3 (3.000000)) (wrmask=x, access=none)
- 32 %4 = deref_var &const_temp#192 (function_temp int)
- 32 %5 = load_const (0x00000010 = 16)
- @store_deref (%4, %5 (0x10)) (wrmask=x, access=none)
- 32 %6 = deref_var &const_temp#193 (function_temp int)
- 32 %7 = load_const (0x00000004)
- @store_deref (%6, %7 (0x4)) (wrmask=x, access=none)
- 32 %8 = deref_var &const_temp#195 (function_temp bool)
- 1 %9 = load_const (true)
- @store_deref (%8, %9 (true)) (wrmask=x, access=none)
- 32 %10 = deref_var &const_temp#197 (function_temp bool)
- 1 %11 = load_const (false)
- @store_deref (%10, %11 (false)) (wrmask=x, access=none)
- 32 %12 = deref_var &color (function_temp vec4)
- 32x4 %13 = load_const (0x00000000, 0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000, 0.000000)
- @store_deref (%12, %13 (0.000000, 0.000000, 0.000000, 0.000000)) (wrmask=xyzw, access=none)
- 32 %14 = deref_var &const_temp#222 (function_temp uint)
- 32 %15 = load_const (0x00000000)
- @store_deref (%14, %15 (0x0)) (wrmask=x, access=none)
- 32 %16 = deref_var &const_temp#224 (function_temp uint)
- 32 %17 = load_const (0x00000001)
- @store_deref (%16, %17 (0x1)) (wrmask=x, access=none)
- 32 %18 = deref_var &const_temp#226 (function_temp uint)
- 32 %19 = load_const (0x00000002)
- @store_deref (%18, %19 (0x2)) (wrmask=x, access=none)
- 32 %20 = deref_var &const_temp#231 (function_temp float)
- 32 %21 = load_const (0x3f800000 = 1.000000)
- @store_deref (%20, %21 (1.000000)) (wrmask=x, access=none)
- 32 %22 = deref_var &const_temp#232 (function_temp bool)
- 1 %23 = load_const (true)
- @store_deref (%22, %23 (true)) (wrmask=x, access=none)
- 32 %24 = deref_var &const_temp#233 (function_temp bool)
- 1 %25 = load_const (false)
- @store_deref (%24, %25 (false)) (wrmask=x, access=none)
- 32 %26 = deref_var &const_temp#243 (function_temp vec3)
- 32x3 %27 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%26, %27 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %28 = deref_var &const_temp#253 (function_temp int)
- 32 %29 = load_const (0x00000000)
- @store_deref (%28, %29 (0x0)) (wrmask=x, access=none)
- 32 %30 = deref_var &const_temp#256 (function_temp int)
- 32 %31 = load_const (0x00000000)
- @store_deref (%30, %31 (0x0)) (wrmask=x, access=none)
- 32 %32 = deref_var &MAX_GLSL_BONES (shader_temp int)
- 32 %33 = load_const (0x00000100 = 256)
- @store_deref (%32, %33 (0x100)) (wrmask=x, access=none)
- 32 %34 = deref_var &r_RimExponent (shader_temp float)
- 32 %35 = load_const (0x40400000 = 3.000000)
- @store_deref (%34, %35 (3.000000)) (wrmask=x, access=none)
- 32 %36 = deref_var &lightsPerLayer (shader_temp int)
- 32 %37 = load_const (0x00000010 = 16)
- @store_deref (%36, %37 (0x10)) (wrmask=x, access=none)
- 32 %38 = deref_var &numLayers (shader_temp int)
- 32 %39 = load_const (0x00000004)
- @store_deref (%38, %39 (0x4)) (wrmask=x, access=none)
- 32 %40 = deref_var &compiler_temp#189 (function_temp int)
- 32 %41 = deref_var &const_temp#190 (function_temp int)
- @copy_deref (%40, %41) (dst_access=0, src_access=0)
- 32 %42 = deref_var &MAX_GLSL_BONES (shader_temp int)
- 32 %43 = deref_var &compiler_temp#189 (function_temp int)
- @copy_deref (%42, %43) (dst_access=0, src_access=0)
- 32 %44 = deref_var &compiler_temp#188 (function_temp float)
- 32 %45 = deref_var &const_temp#191 (function_temp float)
- @copy_deref (%44, %45) (dst_access=0, src_access=0)
- 32 %46 = deref_var &r_RimExponent (shader_temp float)
- 32 %47 = deref_var &compiler_temp#188 (function_temp float)
- @copy_deref (%46, %47) (dst_access=0, src_access=0)
- 32 %48 = deref_var &compiler_temp#187 (function_temp int)
- 32 %49 = deref_var &const_temp#192 (function_temp int)
- @copy_deref (%48, %49) (dst_access=0, src_access=0)
- 32 %50 = deref_var &lightsPerLayer (shader_temp int)
- 32 %51 = deref_var &compiler_temp#187 (function_temp int)
- @copy_deref (%50, %51) (dst_access=0, src_access=0)
- 32 %52 = deref_var &compiler_temp#186 (function_temp int)
- 32 %53 = deref_var &const_temp#193 (function_temp int)
- @copy_deref (%52, %53) (dst_access=0, src_access=0)
- 32 %54 = deref_var &numLayers (shader_temp int)
- 32 %55 = deref_var &compiler_temp#186 (function_temp int)
- @copy_deref (%54, %55) (dst_access=0, src_access=0)
- 32 %56 = deref_var &compiler_temp#194 (function_temp bool)
- 32 %57 = deref_var &const_temp#195 (function_temp bool)
- @copy_deref (%56, %57) (dst_access=0, src_access=0)
- 32 %58 = deref_var &compiler_temp#196 (function_temp bool)
- 32 %59 = deref_var &const_temp#197 (function_temp bool)
- @copy_deref (%58, %59) (dst_access=0, src_access=0)
- 32 %60 = deref_var &compiler_temp#200 (function_temp usampler3D)
- 32 %61 = deref_var &in_baseInstance (shader_in int)
- 32 %62 = @load_deref (%61) (access=none)
- 32 %63 = deref_var &materials (ssbo Material[])
- 32 %64 = deref_array &(*%63)[%62] (ssbo Material) // &materials[%62]
- 32 %65 = deref_struct &%64->u_LightTilesInt (ssbo uvec2) // &materials[%62].u_LightTilesInt
- 32x2 %66 = @load_deref (%65) (access=readonly)
- 64 %67 = pack_64_2x32 %66
- @store_deref (%60, %67) (wrmask=x, access=none)
- 32 %68 = deref_var &u_LightTilesInt (function_temp usampler3D)
- 32 %69 = deref_var &compiler_temp#200 (function_temp usampler3D)
- @copy_deref (%68, %69) (dst_access=0, src_access=0)
- 32 %70 = deref_var &compiler_temp#202 (function_temp sampler2D)
- 32 %71 = deref_var &in_baseInstance (shader_in int)
- 32 %72 = @load_deref (%71) (access=none)
- 32 %73 = deref_var &materials (ssbo Material[])
- 32 %74 = deref_array &(*%73)[%72] (ssbo Material) // &materials[%72]
- 32 %75 = deref_struct &%74->u_DiffuseMap (ssbo uvec2) // &materials[%72].u_DiffuseMap
- 32x2 %76 = @load_deref (%75) (access=readonly)
- 64 %77 = pack_64_2x32 %76
- @store_deref (%70, %77) (wrmask=x, access=none)
- 32 %78 = deref_var &u_DiffuseMap (function_temp sampler2D)
- 32 %79 = deref_var &compiler_temp#202 (function_temp sampler2D)
- @copy_deref (%78, %79) (dst_access=0, src_access=0)
- 32 %80 = deref_var &compiler_temp#204 (function_temp sampler2D)
- 32 %81 = deref_var &in_baseInstance (shader_in int)
- 32 %82 = @load_deref (%81) (access=none)
- 32 %83 = deref_var &materials (ssbo Material[])
- 32 %84 = deref_array &(*%83)[%82] (ssbo Material) // &materials[%82]
- 32 %85 = deref_struct &%84->u_MaterialMap (ssbo uvec2) // &materials[%82].u_MaterialMap
- 32x2 %86 = @load_deref (%85) (access=readonly)
- 64 %87 = pack_64_2x32 %86
- @store_deref (%80, %87) (wrmask=x, access=none)
- 32 %88 = deref_var &u_MaterialMap (function_temp sampler2D)
- 32 %89 = deref_var &compiler_temp#204 (function_temp sampler2D)
- @copy_deref (%88, %89) (dst_access=0, src_access=0)
- 32 %90 = deref_var &compiler_temp#206 (function_temp sampler2D)
- 32 %91 = deref_var &in_baseInstance (shader_in int)
- 32 %92 = @load_deref (%91) (access=none)
- 32 %93 = deref_var &materials (ssbo Material[])
- 32 %94 = deref_array &(*%93)[%92] (ssbo Material) // &materials[%92]
- 32 %95 = deref_struct &%94->u_GlowMap (ssbo uvec2) // &materials[%92].u_GlowMap
- 32x2 %96 = @load_deref (%95) (access=readonly)
- 64 %97 = pack_64_2x32 %96
- @store_deref (%90, %97) (wrmask=x, access=none)
- 32 %98 = deref_var &u_GlowMap (function_temp sampler2D)
- 32 %99 = deref_var &compiler_temp#206 (function_temp sampler2D)
- @copy_deref (%98, %99) (dst_access=0, src_access=0)
- 32 %100 = deref_var &compiler_temp#208 (function_temp sampler2D)
- 32 %101 = deref_var &in_baseInstance (shader_in int)
- 32 %102 = @load_deref (%101) (access=none)
- 32 %103 = deref_var &materials (ssbo Material[])
- 32 %104 = deref_array &(*%103)[%102] (ssbo Material) // &materials[%102]
- 32 %105 = deref_struct &%104->u_LightMap (ssbo uvec2) // &materials[%102].u_LightMap
- 32x2 %106 = @load_deref (%105) (access=readonly)
- 64 %107 = pack_64_2x32 %106
- @store_deref (%100, %107) (wrmask=x, access=none)
- 32 %108 = deref_var &u_LightMap (function_temp sampler2D)
- 32 %109 = deref_var &compiler_temp#208 (function_temp sampler2D)
- @copy_deref (%108, %109) (dst_access=0, src_access=0)
- 32 %110 = deref_var &compiler_temp#210 (function_temp sampler3D)
- 32 %111 = deref_var &in_baseInstance (shader_in int)
- 32 %112 = @load_deref (%111) (access=none)
- 32 %113 = deref_var &materials (ssbo Material[])
- 32 %114 = deref_array &(*%113)[%112] (ssbo Material) // &materials[%112]
- 32 %115 = deref_struct &%114->u_LightGrid1 (ssbo uvec2) // &materials[%112].u_LightGrid1
- 32x2 %116 = @load_deref (%115) (access=readonly)
- 64 %117 = pack_64_2x32 %116
- @store_deref (%110, %117) (wrmask=x, access=none)
- 32 %118 = deref_var &compiler_temp#212 (function_temp sampler2D)
- 32 %119 = deref_var &in_baseInstance (shader_in int)
- 32 %120 = @load_deref (%119) (access=none)
- 32 %121 = deref_var &materials (ssbo Material[])
- 32 %122 = deref_array &(*%121)[%120] (ssbo Material) // &materials[%120]
- 32 %123 = deref_struct &%122->u_DeluxeMap (ssbo uvec2) // &materials[%120].u_DeluxeMap
- 32x2 %124 = @load_deref (%123) (access=readonly)
- 64 %125 = pack_64_2x32 %124
- @store_deref (%118, %125) (wrmask=x, access=none)
- 32 %126 = deref_var &compiler_temp#214 (function_temp sampler3D)
- 32 %127 = deref_var &in_baseInstance (shader_in int)
- 32 %128 = @load_deref (%127) (access=none)
- 32 %129 = deref_var &materials (ssbo Material[])
- 32 %130 = deref_array &(*%129)[%128] (ssbo Material) // &materials[%128]
- 32 %131 = deref_struct &%130->u_LightGrid2 (ssbo uvec2) // &materials[%128].u_LightGrid2
- 32x2 %132 = @load_deref (%131) (access=readonly)
- 64 %133 = pack_64_2x32 %132
- @store_deref (%126, %133) (wrmask=x, access=none)
- 32 %134 = deref_var &compiler_temp#216 (function_temp sampler2D)
- 32 %135 = deref_var &in_baseInstance (shader_in int)
- 32 %136 = @load_deref (%135) (access=none)
- 32 %137 = deref_var &materials (ssbo Material[])
- 32 %138 = deref_array &(*%137)[%136] (ssbo Material) // &materials[%136]
- 32 %139 = deref_struct &%138->u_NormalMap (ssbo uvec2) // &materials[%136].u_NormalMap
- 32x2 %140 = @load_deref (%139) (access=readonly)
- 64 %141 = pack_64_2x32 %140
- @store_deref (%134, %141) (wrmask=x, access=none)
- 32 %142 = deref_var &u_NormalMap (function_temp sampler2D)
- 32 %143 = deref_var &compiler_temp#216 (function_temp sampler2D)
- @copy_deref (%142, %143) (dst_access=0, src_access=0)
- 32 %144 = deref_var &viewDir (function_temp vec3)
- 32 %145 = deref_var &u_ViewOrigin (uniform vec3)
- 32x3 %146 = @load_deref (%145) (access=none)
- 32 %147 = deref_var &var_Position (shader_in vec3)
- 32x3 %148 = @load_deref (%147) (access=none)
- 32x3 %149 = fsub %146, %148
- 32 %150 = deref_var &u_ViewOrigin (uniform vec3)
- 32x3 %151 = @load_deref (%150) (access=none)
- 32 %152 = deref_var &var_Position (shader_in vec3)
- 32x3 %153 = @load_deref (%152) (access=none)
- 32x3 %154 = fsub %151, %153
- 32 %155 = deref_var &u_ViewOrigin (uniform vec3)
- 32x3 %156 = @load_deref (%155) (access=none)
- 32 %157 = deref_var &var_Position (shader_in vec3)
- 32x3 %158 = @load_deref (%157) (access=none)
- 32x3 %159 = fsub %156, %158
- 32 %160 = fdot3 %154, %159
- 32 %161 = frsq %160
- 32x3 %162 = fmul %149, %161.xxx
- @store_deref (%144, %162) (wrmask=xyz, access=none)
- 32 %163 = deref_var &texCoords (function_temp vec2)
- 32 %164 = deref_var &var_TexCoords (shader_in vec2)
- @copy_deref (%163, %164) (dst_access=0, src_access=0)
- 32 %165 = deref_var &const_temp#222 (function_temp uint)
- 32 %166 = @load_deref (%165) (access=none)
- 32 %167 = deref_var &compiler_temp#220 (function_temp mat3)
- 32 %168 = deref_array &(*%167)[%166] (function_temp vec3) // &compiler_temp#220[%166]
- 32 %169 = deref_var &var_Tangent (shader_in vec3)
- 32x3 %170 = @load_deref (%169) (access=none)
- @store_deref (%168, %170) (wrmask=xyz, access=none)
- 32 %171 = deref_var &const_temp#224 (function_temp uint)
- 32 %172 = @load_deref (%171) (access=none)
- 32 %173 = deref_var &compiler_temp#220 (function_temp mat3)
- 32 %174 = deref_array &(*%173)[%172] (function_temp vec3) // &compiler_temp#220[%172]
- 32 %175 = deref_var &var_Binormal (shader_in vec3)
- 32x3 %176 = @load_deref (%175) (access=none)
- @store_deref (%174, %176) (wrmask=xyz, access=none)
- 32 %177 = deref_var &const_temp#226 (function_temp uint)
- 32 %178 = @load_deref (%177) (access=none)
- 32 %179 = deref_var &compiler_temp#220 (function_temp mat3)
- 32 %180 = deref_array &(*%179)[%178] (function_temp vec3) // &compiler_temp#220[%178]
- 32 %181 = deref_var &var_Normal (shader_in vec3)
- 32x3 %182 = @load_deref (%181) (access=none)
- @store_deref (%180, %182) (wrmask=xyz, access=none)
- 32 %183 = deref_var &tangentToWorldMatrix (function_temp mat3)
- 32 %184 = deref_var &compiler_temp#220 (function_temp mat3)
- @copy_deref (%183, %184) (dst_access=0, src_access=0)
- 32 %185 = deref_var &diffuse (function_temp vec4)
- 32 %186 = deref_var &u_DiffuseMap (function_temp sampler2D)
- 64 %187 = @load_deref (%186) (access=none)
- 32 %188 = deref_var &texCoords (function_temp vec2)
- 32x2 %189 = @load_deref (%188) (access=none)
- 32x4 %190 = (float32)tex %187 (texture_handle), %187 (sampler_handle), %189 (coord), 0 (texture), 0 (sampler)
- @store_deref (%185, %190) (wrmask=xyzw, access=none)
- 32 %191 = deref_var &diffuse (function_temp vec4)
- 32 %192 = deref_var &diffuse (function_temp vec4)
- 32x4 %193 = @load_deref (%192) (access=none)
- 32 %194 = deref_var &var_Color (shader_in vec4)
- 32x4 %195 = @load_deref (%194) (access=none)
- 32x4 %196 = fmul %193, %195
- @store_deref (%191, %196) (wrmask=xyzw, access=none)
- 32 %197 = deref_var &compiler_temp#230 (function_temp float)
- 32 %198 = deref_var &diffuse (function_temp vec4)
- 32x4 %199 = @load_deref (%198) (access=none)
- 32 %200 = mov %199.w
- 32 %201 = deref_var &in_baseInstance (shader_in int)
- 32 %202 = @load_deref (%201) (access=none)
- 32 %203 = deref_var &materials (ssbo Material[])
- 32 %204 = deref_array &(*%203)[%202] (ssbo Material) // &materials[%202]
- 32 %205 = deref_struct &%204->u_AlphaThreshold (ssbo float) // &materials[%202].u_AlphaThreshold
- 32 %206 = @load_deref (%205) (access=readonly)
- 32 %207 = fadd %200, %206
- 32 %208 = fabs %207
- @store_deref (%197, %208) (wrmask=x, access=none)
- 32 %209 = deref_var &const_temp#231 (function_temp float)
- 32 %210 = @load_deref (%209) (access=none)
- 32 %211 = deref_var &compiler_temp#230 (function_temp float)
- 32 %212 = @load_deref (%211) (access=none)
- 1 %213 = fge %210, %212
- // succs: b1 b2
- if %213 {
- con block b1: // preds: b0
- @discard
- 32 %214 = deref_var &compiler_temp#196 (function_temp bool)
- 32 %215 = deref_var &const_temp#232 (function_temp bool)
- @copy_deref (%214, %215) (dst_access=0, src_access=0)
- 32 %216 = deref_var &compiler_temp#194 (function_temp bool)
- 32 %217 = deref_var &const_temp#233 (function_temp bool)
- @copy_deref (%216, %217) (dst_access=0, src_access=0)
- // succs: b37
- } else {
- con block b2: // preds: b0
- 32 %218 = deref_var &return_tmp#235 (function_temp vec3)
- 32 %219 = deref_var ¶m#236 (function_temp vec2)
- 32 %220 = deref_var &texCoords (function_temp vec2)
- 32x2 %221 = @load_deref (%220) (access=none)
- @store_deref (%219, %221) (wrmask=xy, access=none)
- 32 %222 = deref_var ¶m#237 (function_temp mat3)
- 32 %223 = deref_var &tangentToWorldMatrix (function_temp mat3)
- @copy_deref (%222, %223) (dst_access=0, src_access=0)
- 32 %224 = deref_var &u_NormalMap (function_temp sampler2D)
- 32 %225 = deref_var &const_temp#264 (function_temp int)
- 32 %226 = load_const (0x00000000)
- @store_deref (%225, %226 (0x0)) (wrmask=x, access=none)
- 32 %227 = deref_var &const_temp#265 (function_temp int)
- 32 %228 = load_const (0x00000001)
- @store_deref (%227, %228 (0x1)) (wrmask=x, access=none)
- 32 %229 = deref_var &const_temp#266 (function_temp int)
- 32 %230 = load_const (0x00000002)
- @store_deref (%229, %230 (0x2)) (wrmask=x, access=none)
- 32 %231 = deref_var &const_temp#268 (function_temp int)
- 32 %232 = load_const (0x00000000)
- @store_deref (%231, %232 (0x0)) (wrmask=x, access=none)
- 32 %233 = deref_var &const_temp#269 (function_temp int)
- 32 %234 = load_const (0x00000001)
- @store_deref (%233, %234 (0x1)) (wrmask=x, access=none)
- 32 %235 = deref_var &const_temp#270 (function_temp int)
- 32 %236 = load_const (0x00000002)
- @store_deref (%235, %236 (0x2)) (wrmask=x, access=none)
- 32 %237 = deref_var &const_temp#272 (function_temp int)
- 32 %238 = load_const (0x00000000)
- @store_deref (%237, %238 (0x0)) (wrmask=x, access=none)
- 32 %239 = deref_var &const_temp#273 (function_temp int)
- 32 %240 = load_const (0x00000001)
- @store_deref (%239, %240 (0x1)) (wrmask=x, access=none)
- 32 %241 = deref_var &const_temp#274 (function_temp int)
- 32 %242 = load_const (0x00000002)
- @store_deref (%241, %242 (0x2)) (wrmask=x, access=none)
- 32 %243 = deref_var &return_tmp#259 (function_temp vec3)
- 32 %244 = deref_var ¶m#260 (function_temp vec2)
- 32 %245 = deref_cast (vec2 *)%219 (function_temp vec2) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x2 %246 = @load_deref (%245) (access=none)
- @store_deref (%244, %246) (wrmask=xy, access=none)
- 32 %247 = deref_cast (sampler2D *)%224 (uniform sampler2D) (ptr_stride=0, align_mul=0, align_offset=0)
- error: instr->modes & parent->modes (../src/compiler/nir/nir_validate.c:334)
- 32 %248 = deref_var &normal#275 (function_temp vec3)
- 32x3 %249 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%248, %249 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %250 = deref_var &const_temp#277 (function_temp float)
- 32 %251 = load_const (0x40000000 = 2.000000)
- @store_deref (%250, %251 (2.000000)) (wrmask=x, access=none)
- 32 %252 = deref_var &const_temp#278 (function_temp float)
- 32 %253 = load_const (0x3f800000 = 1.000000)
- @store_deref (%252, %253 (1.000000)) (wrmask=x, access=none)
- 32 %254 = deref_var &const_temp#282 (function_temp float)
- 32 %255 = load_const (0x00000000 = 0.000000)
- @store_deref (%254, %255 (0.000000)) (wrmask=x, access=none)
- 32 %256 = deref_var &const_temp#283 (function_temp float)
- 32 %257 = load_const (0x3f800000 = 1.000000)
- @store_deref (%256, %257 (1.000000)) (wrmask=x, access=none)
- 32 %258 = deref_var &const_temp#284 (function_temp int)
- 32 %259 = load_const (0x00000000)
- @store_deref (%258, %259 (0x0)) (wrmask=x, access=none)
- 32 %260 = deref_var &const_temp#285 (function_temp int)
- 32 %261 = load_const (0x00000001)
- @store_deref (%260, %261 (0x1)) (wrmask=x, access=none)
- 32 %262 = deref_var &normal#275 (function_temp vec3)
- 32 %263 = deref_cast (sampler2D *)%247 (uniform sampler2D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %264 = deref_cast (vec2 *)%244 (function_temp vec2) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x2 %265 = @load_deref (%264) (access=none)
- 32x4 %266 = (float32)tex %263 (texture_deref), %263 (sampler_deref), %265 (coord)
- 32x3 %267 = mov %266.xyw
- @store_deref (%262, %267) (wrmask=xyz, access=none)
- 32 %268 = deref_var &normal#275 (function_temp vec3)
- 32 %269 = deref_var &normal#275 (function_temp vec3)
- 32x3 %270 = @load_deref (%269) (access=none)
- 32 %271 = mov %270.x
- 32 %272 = deref_var &normal#275 (function_temp vec3)
- 32x3 %273 = @load_deref (%272) (access=none)
- 32 %274 = mov %273.z
- 32 %275 = fmul %271, %274
- 32x3 %276 = mov %275.xxx
- 32 %277 = mov %276.x
- 32x3 %278 = mov %277.xxx
- @store_deref (%268, %278) (wrmask=x, access=none)
- 32 %279 = deref_var &normal#275 (function_temp vec3)
- 32 %280 = deref_var &const_temp#277 (function_temp float)
- 32 %281 = @load_deref (%280) (access=none)
- 32 %282 = deref_var &normal#275 (function_temp vec3)
- 32x3 %283 = @load_deref (%282) (access=none)
- 32x2 %284 = mov %283.xy
- 32x2 %285 = fmul %281.xx, %284
- 32 %286 = deref_var &const_temp#278 (function_temp float)
- 32 %287 = @load_deref (%286) (access=none)
- 32x2 %288 = fsub %285, %287.xx
- 32x3 %289 = mov %288.xyx
- 32x2 %290 = mov %289.xy
- 32x3 %291 = mov %290.xyx
- @store_deref (%279, %291) (wrmask=xy, access=none)
- 32 %292 = deref_var &normal#275 (function_temp vec3)
- 32 %293 = deref_var &const_temp#282 (function_temp float)
- 32 %294 = @load_deref (%293) (access=none)
- 32 %295 = deref_var &const_temp#283 (function_temp float)
- 32 %296 = @load_deref (%295) (access=none)
- 32 %297 = deref_var &normal#275 (function_temp vec3)
- 32x3 %298 = @load_deref (%297) (access=none)
- 32x2 %299 = mov %298.xy
- 32 %300 = deref_var &normal#275 (function_temp vec3)
- 32x3 %301 = @load_deref (%300) (access=none)
- 32x2 %302 = mov %301.xy
- 32 %303 = fdot2 %299, %302
- 32 %304 = fsub %296, %303
- 32 %305 = fmax %294, %304
- 32 %306 = fsqrt %305
- 32x3 %307 = mov %306.xxx
- 32 %308 = mov %307.z
- 32x3 %309 = mov %308.xxx
- @store_deref (%292, %309) (wrmask=z, access=none)
- 32 %310 = deref_var &in_baseInstance (shader_in int)
- 32 %311 = @load_deref (%310) (access=none)
- 32 %312 = deref_var &materials (ssbo Material[])
- 32 %313 = deref_array &(*%312)[%311] (ssbo Material) // &materials[%311]
- 32 %314 = deref_struct &%313->u_NormalScale (ssbo vec3) // &materials[%311].u_NormalScale
- 32x3 %315 = @load_deref (%314) (access=readonly)
- 32 %316 = mov %315.z
- 32 %317 = deref_var &const_temp#284 (function_temp int)
- 32 %318 = @load_deref (%317) (access=none)
- 32 %319 = i2f32 %318
- 1 %320 = fneu %316, %319
- // succs: b3 b4
- if %320 {
- con block b3: // preds: b2
- 32 %321 = deref_var &normal#275 (function_temp vec3)
- 32 %322 = deref_var &normal#275 (function_temp vec3)
- 32x3 %323 = @load_deref (%322) (access=none)
- 32 %324 = deref_var &in_baseInstance (shader_in int)
- 32 %325 = @load_deref (%324) (access=none)
- 32 %326 = deref_var &materials (ssbo Material[])
- 32 %327 = deref_array &(*%326)[%325] (ssbo Material) // &materials[%325]
- 32 %328 = deref_struct &%327->u_NormalScale (ssbo vec3) // &materials[%325].u_NormalScale
- 32x3 %329 = @load_deref (%328) (access=readonly)
- 32x3 %330 = fmul %323, %329
- @store_deref (%321, %330) (wrmask=xyz, access=none)
- // succs: b5
- } else {
- con block b4: // preds: b2, succs: b5
- }
- con block b5: // preds: b3 b4
- 32 %331 = deref_var &normal#275 (function_temp vec3)
- 32 %332 = deref_var &normal#275 (function_temp vec3)
- 32x3 %333 = @load_deref (%332) (access=none)
- 32 %334 = mov %333.y
- 32 %335 = deref_var &const_temp#285 (function_temp int)
- 32 %336 = @load_deref (%335) (access=none)
- 32 %337 = ineg %336
- 32 %338 = i2f32 %337
- 32 %339 = fmul %334, %338
- 32x3 %340 = mov %339.xxx
- 32 %341 = mov %340.y
- 32x3 %342 = mov %341.xxx
- @store_deref (%331, %342) (wrmask=y, access=none)
- 32 %343 = deref_cast (vec3 *)%243 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %344 = deref_var &normal#275 (function_temp vec3)
- 32x3 %345 = @load_deref (%344) (access=none)
- @store_deref (%343, %345) (wrmask=xyz, access=none)
- 32x3 %346 = @load_deref (%243) (access=none)
- 32 %347 = deref_var &compiler_temp#258 (function_temp vec3)
- @store_deref (%347, %346) (wrmask=xyz, access=none)
- 32 %348 = deref_var &normal#257 (function_temp vec3)
- 32 %349 = deref_var &compiler_temp#258 (function_temp vec3)
- @copy_deref (%348, %349) (dst_access=0, src_access=0)
- 32 %350 = deref_var &compiler_temp#263 (function_temp vec3)
- 32 %351 = deref_var &const_temp#264 (function_temp int)
- 32 %352 = @load_deref (%351) (access=none)
- 32 %353 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %354 = deref_array &(*%353)[%352] (function_temp vec3) // &(*(mat3 *)%222)[%352]
- 32x3 %355 = @load_deref (%354) (access=none)
- 32 %356 = deref_var &normal#257 (function_temp vec3)
- 32x3 %357 = @load_deref (%356) (access=none)
- 32 %358 = mov %357.x
- 32x3 %359 = fmul %355, %358.xxx
- 32 %360 = deref_var &const_temp#265 (function_temp int)
- 32 %361 = @load_deref (%360) (access=none)
- 32 %362 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %363 = deref_array &(*%362)[%361] (function_temp vec3) // &(*(mat3 *)%222)[%361]
- 32x3 %364 = @load_deref (%363) (access=none)
- 32 %365 = deref_var &normal#257 (function_temp vec3)
- 32x3 %366 = @load_deref (%365) (access=none)
- 32 %367 = mov %366.y
- 32x3 %368 = fmul %364, %367.xxx
- 32x3 %369 = fadd %359, %368
- 32 %370 = deref_var &const_temp#266 (function_temp int)
- 32 %371 = @load_deref (%370) (access=none)
- 32 %372 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %373 = deref_array &(*%372)[%371] (function_temp vec3) // &(*(mat3 *)%222)[%371]
- 32x3 %374 = @load_deref (%373) (access=none)
- 32 %375 = deref_var &normal#257 (function_temp vec3)
- 32x3 %376 = @load_deref (%375) (access=none)
- 32 %377 = mov %376.z
- 32x3 %378 = fmul %374, %377.xxx
- 32x3 %379 = fadd %369, %378
- @store_deref (%350, %379) (wrmask=xyz, access=none)
- 32 %380 = deref_var &compiler_temp#267 (function_temp vec3)
- 32 %381 = deref_var &const_temp#268 (function_temp int)
- 32 %382 = @load_deref (%381) (access=none)
- 32 %383 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %384 = deref_array &(*%383)[%382] (function_temp vec3) // &(*(mat3 *)%222)[%382]
- 32x3 %385 = @load_deref (%384) (access=none)
- 32 %386 = deref_var &normal#257 (function_temp vec3)
- 32x3 %387 = @load_deref (%386) (access=none)
- 32 %388 = mov %387.x
- 32x3 %389 = fmul %385, %388.xxx
- 32 %390 = deref_var &const_temp#269 (function_temp int)
- 32 %391 = @load_deref (%390) (access=none)
- 32 %392 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %393 = deref_array &(*%392)[%391] (function_temp vec3) // &(*(mat3 *)%222)[%391]
- 32x3 %394 = @load_deref (%393) (access=none)
- 32 %395 = deref_var &normal#257 (function_temp vec3)
- 32x3 %396 = @load_deref (%395) (access=none)
- 32 %397 = mov %396.y
- 32x3 %398 = fmul %394, %397.xxx
- 32x3 %399 = fadd %389, %398
- 32 %400 = deref_var &const_temp#270 (function_temp int)
- 32 %401 = @load_deref (%400) (access=none)
- 32 %402 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %403 = deref_array &(*%402)[%401] (function_temp vec3) // &(*(mat3 *)%222)[%401]
- 32x3 %404 = @load_deref (%403) (access=none)
- 32 %405 = deref_var &normal#257 (function_temp vec3)
- 32x3 %406 = @load_deref (%405) (access=none)
- 32 %407 = mov %406.z
- 32x3 %408 = fmul %404, %407.xxx
- 32x3 %409 = fadd %399, %408
- @store_deref (%380, %409) (wrmask=xyz, access=none)
- 32 %410 = deref_var &compiler_temp#271 (function_temp vec3)
- 32 %411 = deref_var &const_temp#272 (function_temp int)
- 32 %412 = @load_deref (%411) (access=none)
- 32 %413 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %414 = deref_array &(*%413)[%412] (function_temp vec3) // &(*(mat3 *)%222)[%412]
- 32x3 %415 = @load_deref (%414) (access=none)
- 32 %416 = deref_var &normal#257 (function_temp vec3)
- 32x3 %417 = @load_deref (%416) (access=none)
- 32 %418 = mov %417.x
- 32x3 %419 = fmul %415, %418.xxx
- 32 %420 = deref_var &const_temp#273 (function_temp int)
- 32 %421 = @load_deref (%420) (access=none)
- 32 %422 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %423 = deref_array &(*%422)[%421] (function_temp vec3) // &(*(mat3 *)%222)[%421]
- 32x3 %424 = @load_deref (%423) (access=none)
- 32 %425 = deref_var &normal#257 (function_temp vec3)
- 32x3 %426 = @load_deref (%425) (access=none)
- 32 %427 = mov %426.y
- 32x3 %428 = fmul %424, %427.xxx
- 32x3 %429 = fadd %419, %428
- 32 %430 = deref_var &const_temp#274 (function_temp int)
- 32 %431 = @load_deref (%430) (access=none)
- 32 %432 = deref_cast (mat3 *)%222 (function_temp mat3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %433 = deref_array &(*%432)[%431] (function_temp vec3) // &(*(mat3 *)%222)[%431]
- 32x3 %434 = @load_deref (%433) (access=none)
- 32 %435 = deref_var &normal#257 (function_temp vec3)
- 32x3 %436 = @load_deref (%435) (access=none)
- 32 %437 = mov %436.z
- 32x3 %438 = fmul %434, %437.xxx
- 32x3 %439 = fadd %429, %438
- @store_deref (%410, %439) (wrmask=xyz, access=none)
- 32 %440 = deref_var &compiler_temp#262 (function_temp vec3)
- 32 %441 = deref_var &compiler_temp#271 (function_temp vec3)
- 32x3 %442 = @load_deref (%441) (access=none)
- 32 %443 = deref_var &compiler_temp#263 (function_temp vec3)
- 32x3 %444 = @load_deref (%443) (access=none)
- 32 %445 = deref_var &compiler_temp#267 (function_temp vec3)
- 32x3 %446 = @load_deref (%445) (access=none)
- 32 %447 = fdot3 %444, %446
- 32 %448 = frsq %447
- 32x3 %449 = fmul %442, %448.xxx
- @store_deref (%440, %449) (wrmask=xyz, access=none)
- 32 %450 = deref_cast (vec3 *)%218 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %451 = deref_var &compiler_temp#262 (function_temp vec3)
- 32x3 %452 = @load_deref (%451) (access=none)
- @store_deref (%450, %452) (wrmask=xyz, access=none)
- 32x3 %453 = @load_deref (%218) (access=none)
- 32 %454 = deref_var &compiler_temp#234 (function_temp vec3)
- @store_deref (%454, %453) (wrmask=xyz, access=none)
- 32 %455 = deref_var &normal#198 (function_temp vec3)
- 32 %456 = deref_var &compiler_temp#234 (function_temp vec3)
- @copy_deref (%455, %456) (dst_access=0, src_access=0)
- 32 %457 = deref_var &material (function_temp vec4)
- 32 %458 = deref_var &u_MaterialMap (function_temp sampler2D)
- 64 %459 = @load_deref (%458) (access=none)
- 32 %460 = deref_var &texCoords (function_temp vec2)
- 32x2 %461 = @load_deref (%460) (access=none)
- 32x4 %462 = (float32)tex %459 (texture_handle), %459 (sampler_handle), %461 (coord), 0 (texture), 0 (sampler)
- @store_deref (%457, %462) (wrmask=xyzw, access=none)
- 32 %463 = deref_var &color (function_temp vec4)
- 32 %464 = deref_var &diffuse (function_temp vec4)
- 32x4 %465 = @load_deref (%464) (access=none)
- 32 %466 = mov %465.w
- 32x4 %467 = mov %466.xxxx
- 32 %468 = mov %467.w
- 32x4 %469 = mov %468.xxxx
- @store_deref (%463, %469) (wrmask=w, access=none)
- 32 %470 = deref_var &color (function_temp vec4)
- 32 %471 = deref_var &const_temp#243 (function_temp vec3)
- 32x3 %472 = @load_deref (%471) (access=none)
- 32x4 %473 = mov %472.xyzx
- 32x3 %474 = mov %473.xyz
- 32x4 %475 = mov %474.xyzx
- @store_deref (%470, %475) (wrmask=xyz, access=none)
- 32 %476 = deref_var ¶m#244 (function_temp vec3)
- 32 %477 = deref_var &u_LightMap (function_temp sampler2D)
- 64 %478 = @load_deref (%477) (access=none)
- 32 %479 = deref_var &var_TexLight (shader_in vec2)
- 32x2 %480 = @load_deref (%479) (access=none)
- 32x4 %481 = (float32)tex %478 (texture_handle), %478 (sampler_handle), %480 (coord), 0 (texture), 0 (sampler)
- 32x3 %482 = mov %481.xyz
- @store_deref (%476, %482) (wrmask=xyz, access=none)
- 32 %483 = deref_var ¶m#245 (function_temp vec4)
- 32 %484 = deref_var &diffuse (function_temp vec4)
- 32x4 %485 = @load_deref (%484) (access=none)
- @store_deref (%483, %485) (wrmask=xyzw, access=none)
- 32 %486 = deref_var ¶m#246 (function_temp vec4)
- 32 %487 = deref_var &color (function_temp vec4)
- 32x4 %488 = @load_deref (%487) (access=none)
- @store_deref (%486, %488) (wrmask=xyzw, access=none)
- 32 %489 = deref_cast (vec4 *)%486 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %490 = deref_cast (vec4 *)%486 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %491 = @load_deref (%490) (access=none)
- 32x3 %492 = mov %491.xyz
- 32 %493 = deref_cast (vec3 *)%476 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %494 = @load_deref (%493) (access=none)
- 32 %495 = deref_cast (vec4 *)%483 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %496 = @load_deref (%495) (access=none)
- 32x3 %497 = mov %496.xyz
- 32x3 %498 = fmul %494, %497
- 32x3 %499 = fadd %492, %498
- 32x4 %500 = mov %499.xyzx
- 32x3 %501 = mov %500.xyz
- 32x4 %502 = mov %501.xyzx
- @store_deref (%489, %502) (wrmask=xyz, access=none)
- 32x4 %503 = @load_deref (%486) (access=none)
- 32 %504 = deref_var &color (function_temp vec4)
- @store_deref (%504, %503) (wrmask=xyzw, access=none)
- 32 %505 = deref_var ¶m#247 (function_temp vec3)
- 32 %506 = deref_var &var_Position (shader_in vec3)
- 32x3 %507 = @load_deref (%506) (access=none)
- @store_deref (%505, %507) (wrmask=xyz, access=none)
- 32 %508 = deref_var ¶m#248 (function_temp vec3)
- 32 %509 = deref_var &normal#198 (function_temp vec3)
- 32x3 %510 = @load_deref (%509) (access=none)
- @store_deref (%508, %510) (wrmask=xyz, access=none)
- 32 %511 = deref_var ¶m#249 (function_temp vec3)
- 32 %512 = deref_var &viewDir (function_temp vec3)
- 32x3 %513 = @load_deref (%512) (access=none)
- @store_deref (%511, %513) (wrmask=xyz, access=none)
- 32 %514 = deref_var ¶m#250 (function_temp vec4)
- 32 %515 = deref_var &diffuse (function_temp vec4)
- 32x4 %516 = @load_deref (%515) (access=none)
- @store_deref (%514, %516) (wrmask=xyzw, access=none)
- 32 %517 = deref_var ¶m#251 (function_temp vec4)
- 32 %518 = deref_var &material (function_temp vec4)
- 32x4 %519 = @load_deref (%518) (access=none)
- @store_deref (%517, %519) (wrmask=xyzw, access=none)
- 32 %520 = deref_var ¶m#252 (function_temp vec4)
- 32 %521 = deref_var &color (function_temp vec4)
- 32x4 %522 = @load_deref (%521) (access=none)
- @store_deref (%520, %522) (wrmask=xyzw, access=none)
- 32 %523 = deref_var &u_LightTilesInt (function_temp usampler3D)
- 32 %524 = deref_var &layer#286 (function_temp int)
- 32 %525 = load_const (0x00000000)
- @store_deref (%524, %525 (0x0)) (wrmask=x, access=none)
- 32 %526 = deref_var &tileScale#287 (function_temp vec3)
- 32x3 %527 = load_const (0x3bcccccc, 0x3c360b61, 0x3e800000) = (0.006250, 0.011111, 0.250000)
- @store_deref (%526, %527 (0.006250, 0.011111, 0.250000)) (wrmask=xyz, access=none)
- 32 %528 = deref_var &const_temp#291 (function_temp float)
- 32 %529 = load_const (0x3f800000 = 1.000000)
- @store_deref (%528, %529 (1.000000)) (wrmask=x, access=none)
- 32 %530 = deref_var &const_temp#292 (function_temp float)
- 32 %531 = load_const (0x41800000 = 16.000000)
- @store_deref (%530, %531 (16.000000)) (wrmask=x, access=none)
- 32 %532 = deref_var &const_temp#293 (function_temp float)
- 32 %533 = load_const (0x3f000000 = 0.500000)
- @store_deref (%532, %533 (0.500000)) (wrmask=x, access=none)
- 32 %534 = deref_var &const_temp#295 (function_temp vec3)
- 32x3 %535 = load_const (0x3bcccccc, 0x3c360b61, 0x3e800000) = (0.006250, 0.011111, 0.250000)
- @store_deref (%534, %535 (0.006250, 0.011111, 0.250000)) (wrmask=xyz, access=none)
- 32 %536 = deref_var &const_temp#297 (function_temp int)
- 32 %537 = load_const (0x00000000)
- @store_deref (%536, %537 (0x0)) (wrmask=x, access=none)
- 32 %538 = deref_var &i#298 (function_temp int)
- 32 %539 = load_const (0x00000000)
- @store_deref (%538, %539 (0x0)) (wrmask=x, access=none)
- 32 %540 = deref_var &const_temp#301 (function_temp float)
- 32 %541 = load_const (0x3f000000 = 0.500000)
- @store_deref (%540, %541 (0.500000)) (wrmask=x, access=none)
- 32 %542 = deref_var &const_temp#307 (function_temp int)
- 32 %543 = load_const (0x00000000)
- @store_deref (%542, %543 (0x0)) (wrmask=x, access=none)
- 32 %544 = deref_var &const_temp#320 (function_temp int)
- 32 %545 = load_const (0x00000001)
- @store_deref (%544, %545 (0x1)) (wrmask=x, access=none)
- 32 %546 = deref_var &const_temp#321 (function_temp int)
- 32 %547 = load_const (0x00000001)
- @store_deref (%546, %547 (0x1)) (wrmask=x, access=none)
- 32 %548 = deref_var &tile#288 (function_temp vec2)
- 32 %549 = deref_var &gl_FragCoord (system vec4)
- 32x4 %550 = @load_deref (%549) (access=none)
- 32x2 %551 = mov %550.xy
- 32 %552 = deref_var &const_temp#291 (function_temp float)
- 32 %553 = @load_deref (%552) (access=none)
- 32 %554 = deref_var &const_temp#292 (function_temp float)
- 32 %555 = @load_deref (%554) (access=none)
- 32 %556 = fdiv %553, %555
- 32x2 %557 = fmul %551, %556.xx
- 32x2 %558 = ffloor %557
- 32 %559 = deref_var &const_temp#293 (function_temp float)
- 32 %560 = @load_deref (%559) (access=none)
- 32x2 %561 = fadd %558, %560.xx
- @store_deref (%548, %561) (wrmask=xy, access=none)
- 32 %562 = deref_var &tileScale#287 (function_temp vec3)
- 32 %563 = deref_var &const_temp#295 (function_temp vec3)
- @copy_deref (%562, %563) (dst_access=0, src_access=0)
- 32 %564 = deref_var &layer#286 (function_temp int)
- 32 %565 = deref_var &const_temp#297 (function_temp int)
- @copy_deref (%564, %565) (dst_access=0, src_access=0)
- // succs: b6
- loop {
- con block b6: // preds: b5 b29
- 32 %566 = deref_var &layer#286 (function_temp int)
- 32 %567 = @load_deref (%566) (access=none)
- 32 %568 = deref_var &numLayers (shader_temp int)
- 32 %569 = @load_deref (%568) (access=none)
- 1 %570 = ilt %567, %569
- 1 %571 = inot %570
- // succs: b7 b8
- if %571 {
- con block b7:// preds: b6
- break
- // succs: b30
- } else {
- con block b8: // preds: b6, succs: b9
- }
- con block b9: // preds: b8
- 32 %572 = deref_var &compiler_temp#300 (function_temp vec3)
- 32 %573 = deref_var &tile#288 (function_temp vec2)
- 32x2 %574 = @load_deref (%573) (access=none)
- 32x3 %575 = mov %574.xyx
- @store_deref (%572, %575) (wrmask=xy, access=none)
- 32 %576 = deref_var &compiler_temp#300 (function_temp vec3)
- 32 %577 = deref_var &layer#286 (function_temp int)
- 32 %578 = @load_deref (%577) (access=none)
- 32 %579 = i2f32 %578
- 32 %580 = deref_var &const_temp#301 (function_temp float)
- 32 %581 = @load_deref (%580) (access=none)
- 32 %582 = fadd %579, %581
- 32x3 %583 = mov %582.xxx
- @store_deref (%576, %583) (wrmask=z, access=none)
- 32 %584 = deref_var &return_tmp#303 (function_temp uvec4)
- 32 %585 = deref_var ¶m#304 (function_temp vec3)
- 32 %586 = deref_var &tileScale#287 (function_temp vec3)
- 32x3 %587 = @load_deref (%586) (access=none)
- 32 %588 = deref_var &compiler_temp#300 (function_temp vec3)
- 32x3 %589 = @load_deref (%588) (access=none)
- 32x3 %590 = fmul %587, %589
- @store_deref (%585, %590) (wrmask=xyz, access=none)
- 32 %591 = deref_cast (usampler3D *)%523 (uniform usampler3D) (ptr_stride=0, align_mul=0, align_offset=0)
- error: instr->modes & parent->modes (../src/compiler/nir/nir_validate.c:334)
- 32 %592 = deref_var &compiler_temp#322 (function_temp uvec4)
- 32 %593 = deref_cast (usampler3D *)%591 (uniform usampler3D) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %594 = deref_cast (vec3 *)%585 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %595 = @load_deref (%594) (access=none)
- 32x4 %596 = (uint32)tex %593 (texture_deref), %593 (sampler_deref), %595 (coord)
- @store_deref (%592, %596) (wrmask=xyzw, access=none)
- 32 %597 = deref_cast (uvec4 *)%584 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %598 = deref_var &compiler_temp#322 (function_temp uvec4)
- 32x4 %599 = @load_deref (%598) (access=none)
- @store_deref (%597, %599) (wrmask=xyzw, access=none)
- 32x4 %600 = @load_deref (%584) (access=none)
- 32 %601 = deref_var &compiler_temp#302 (function_temp uvec4)
- @store_deref (%601, %600) (wrmask=xyzw, access=none)
- 32 %602 = deref_var &idxs#299 (function_temp uvec4)
- 32 %603 = deref_var &compiler_temp#302 (function_temp uvec4)
- @copy_deref (%602, %603) (dst_access=0, src_access=0)
- 32 %604 = deref_var &i#298 (function_temp int)
- 32 %605 = deref_var &const_temp#307 (function_temp int)
- @copy_deref (%604, %605) (dst_access=0, src_access=0)
- // succs: b10
- loop {
- con block b10: // preds: b9 b28
- 32 %606 = deref_var &i#298 (function_temp int)
- 32 %607 = @load_deref (%606) (access=none)
- 32 %608 = deref_var &lightsPerLayer (shader_temp int)
- 32 %609 = @load_deref (%608) (access=none)
- 1 %610 = ilt %607, %609
- 1 %611 = inot %610
- // succs: b11 b12
- if %611 {
- con block b11:// preds: b10
- break
- // succs: b29
- } else {
- con block b12: // preds: b10, succs: b13
- }
- con block b13: // preds: b12
- 32 %612 = deref_var &return_tmp#310 (function_temp int)
- 32 %613 = deref_var ¶m#311 (function_temp uvec4)
- 32 %614 = deref_var &idxs#299 (function_temp uvec4)
- 32x4 %615 = @load_deref (%614) (access=none)
- @store_deref (%613, %615) (wrmask=xyzw, access=none)
- 32 %616 = deref_var &const_temp#325 (function_temp uvec4)
- 32x4 %617 = load_const (0x00000003, 0x00000003, 0x00000003, 0x00000003)
- @store_deref (%616, %617 (0x3, 0x3, 0x3, 0x3)) (wrmask=xyzw, access=none)
- 32 %618 = deref_var &const_temp#326 (function_temp uvec4)
- 32x4 %619 = load_const (0x00000040, 0x00000010, 0x00000004, 0x00000001) = (64, 16, 4, 1)
- @store_deref (%618, %619 (0x40, 0x10, 0x4, 0x1)) (wrmask=xyzw, access=none)
- 32 %620 = deref_var &const_temp#327 (function_temp int)
- 32 %621 = load_const (0x00000002)
- @store_deref (%620, %621 (0x2)) (wrmask=x, access=none)
- 32 %622 = deref_var &tmp#323 (function_temp uvec4)
- 32 %623 = deref_cast (uvec4 *)%613 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %624 = @load_deref (%623) (access=none)
- 32 %625 = deref_var &const_temp#325 (function_temp uvec4)
- 32x4 %626 = @load_deref (%625) (access=none)
- 32x4 %627 = iand %624, %626
- 32 %628 = deref_var &const_temp#326 (function_temp uvec4)
- 32x4 %629 = @load_deref (%628) (access=none)
- 32x4 %630 = imul %627, %629
- @store_deref (%622, %630) (wrmask=xyzw, access=none)
- 32 %631 = deref_cast (uvec4 *)%613 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %632 = deref_cast (uvec4 *)%613 (function_temp uvec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %633 = @load_deref (%632) (access=none)
- 32 %634 = deref_var &const_temp#327 (function_temp int)
- 32 %635 = @load_deref (%634) (access=none)
- 32x4 %636 = ushr %633, %635.xxxx
- @store_deref (%631, %636) (wrmask=xyzw, access=none)
- 32 %637 = deref_cast (int *)%612 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %638 = deref_var &tmp#323 (function_temp uvec4)
- 32x4 %639 = @load_deref (%638) (access=none)
- 32 %640 = mov %639.x
- 32 %641 = deref_var &tmp#323 (function_temp uvec4)
- 32x4 %642 = @load_deref (%641) (access=none)
- 32 %643 = mov %642.y
- 32 %644 = iadd %640, %643
- 32 %645 = deref_var &tmp#323 (function_temp uvec4)
- 32x4 %646 = @load_deref (%645) (access=none)
- 32 %647 = mov %646.z
- 32 %648 = deref_var &tmp#323 (function_temp uvec4)
- 32x4 %649 = @load_deref (%648) (access=none)
- 32 %650 = mov %649.w
- 32 %651 = iadd %647, %650
- 32 %652 = iadd %644, %651
- @store_deref (%637, %652) (wrmask=x, access=none)
- 32x4 %653 = @load_deref (%613) (access=none)
- 32 %654 = deref_var &idxs#299 (function_temp uvec4)
- @store_deref (%654, %653) (wrmask=xyzw, access=none)
- 32 %655 = @load_deref (%612) (access=none)
- 32 %656 = deref_var &compiler_temp#309 (function_temp int)
- @store_deref (%656, %655) (wrmask=x, access=none)
- 32 %657 = deref_var &idx#308 (function_temp int)
- 32 %658 = deref_var &numLayers (shader_temp int)
- 32 %659 = @load_deref (%658) (access=none)
- 32 %660 = deref_var &compiler_temp#309 (function_temp int)
- 32 %661 = @load_deref (%660) (access=none)
- 32 %662 = imul %659, %661
- 32 %663 = deref_var &layer#286 (function_temp int)
- 32 %664 = @load_deref (%663) (access=none)
- 32 %665 = iadd %662, %664
- @store_deref (%657, %665) (wrmask=x, access=none)
- 32 %666 = deref_var &idx#308 (function_temp int)
- 32 %667 = @load_deref (%666) (access=none)
- 32 %668 = deref_var &u_numLights (uniform int)
- 32 %669 = @load_deref (%668) (access=none)
- 1 %670 = ige %667, %669
- // succs: b14 b15
- if %670 {
- con block b14:// preds: b13
- break
- // succs: b29
- } else {
- con block b15: // preds: b13, succs: b16
- }
- con block b16: // preds: b15
- 32 %671 = deref_var ¶m#313 (function_temp int)
- 32 %672 = deref_var &idx#308 (function_temp int)
- 32 %673 = @load_deref (%672) (access=none)
- @store_deref (%671, %673) (wrmask=x, access=none)
- 32 %674 = deref_var ¶m#314 (function_temp vec3)
- 32 %675 = deref_cast (vec3 *)%505 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %676 = @load_deref (%675) (access=none)
- @store_deref (%674, %676) (wrmask=xyz, access=none)
- 32 %677 = deref_var ¶m#315 (function_temp vec3)
- 32 %678 = deref_cast (vec3 *)%508 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %679 = @load_deref (%678) (access=none)
- @store_deref (%677, %679) (wrmask=xyz, access=none)
- 32 %680 = deref_var ¶m#316 (function_temp vec3)
- 32 %681 = deref_cast (vec3 *)%511 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %682 = @load_deref (%681) (access=none)
- @store_deref (%680, %682) (wrmask=xyz, access=none)
- 32 %683 = deref_var ¶m#317 (function_temp vec4)
- 32 %684 = deref_cast (vec4 *)%514 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %685 = @load_deref (%684) (access=none)
- @store_deref (%683, %685) (wrmask=xyzw, access=none)
- 32 %686 = deref_var ¶m#318 (function_temp vec4)
- 32 %687 = deref_cast (vec4 *)%517 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %688 = @load_deref (%687) (access=none)
- @store_deref (%686, %688) (wrmask=xyzw, access=none)
- 32 %689 = deref_var ¶m#319 (function_temp vec4)
- 32 %690 = deref_cast (vec4 *)%520 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %691 = @load_deref (%690) (access=none)
- @store_deref (%689, %691) (wrmask=xyzw, access=none)
- 32 %692 = deref_var &attenuation#328 (function_temp float)
- 32 %693 = load_const (0x00000000 = 0.000000)
- @store_deref (%692, %693 (0.000000)) (wrmask=x, access=none)
- 32 %694 = deref_var &L#329 (function_temp vec3)
- 32x3 %695 = load_const (0x00000000, 0x00000000, 0x00000000) = (0.000000, 0.000000, 0.000000)
- @store_deref (%694, %695 (0.000000, 0.000000, 0.000000)) (wrmask=xyz, access=none)
- 32 %696 = deref_var &const_temp#334 (function_temp float)
- 32 %697 = load_const (0x00000000 = 0.000000)
- @store_deref (%696, %697 (0.000000)) (wrmask=x, access=none)
- 32 %698 = deref_var &const_temp#338 (function_temp float)
- 32 %699 = load_const (0x3f800000 = 1.000000)
- @store_deref (%698, %699 (1.000000)) (wrmask=x, access=none)
- 32 %700 = deref_var &const_temp#339 (function_temp float)
- 32 %701 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%700, %701 (2.570000)) (wrmask=x, access=none)
- 32 %702 = deref_var &const_temp#340 (function_temp float)
- 32 %703 = load_const (0x3f800000 = 1.000000)
- @store_deref (%702, %703 (1.000000)) (wrmask=x, access=none)
- 32 %704 = deref_var &const_temp#342 (function_temp float)
- 32 %705 = load_const (0x3f800000 = 1.000000)
- @store_deref (%704, %705 (1.000000)) (wrmask=x, access=none)
- 32 %706 = deref_var &const_temp#348 (function_temp float)
- 32 %707 = load_const (0x3f800000 = 1.000000)
- @store_deref (%706, %707 (1.000000)) (wrmask=x, access=none)
- 32 %708 = deref_var &const_temp#349 (function_temp float)
- 32 %709 = load_const (0x40247ae1 = 2.570000)
- @store_deref (%708, %709 (2.570000)) (wrmask=x, access=none)
- 32 %710 = deref_var &const_temp#350 (function_temp float)
- 32 %711 = load_const (0x3f800000 = 1.000000)
- @store_deref (%710, %711 (1.000000)) (wrmask=x, access=none)
- 32 %712 = deref_var &const_temp#353 (function_temp float)
- 32 %713 = load_const (0x00000000 = 0.000000)
- @store_deref (%712, %713 (0.000000)) (wrmask=x, access=none)
- 32 %714 = deref_var &const_temp#354 (function_temp float)
- 32 %715 = load_const (0x40000000 = 2.000000)
- @store_deref (%714, %715 (2.000000)) (wrmask=x, access=none)
- 32 %716 = deref_var &const_temp#355 (function_temp float)
- 32 %717 = load_const (0x3f800000 = 1.000000)
- @store_deref (%716, %717 (1.000000)) (wrmask=x, access=none)
- 32 %718 = deref_var ¢er_radius#331 (function_temp vec4)
- 32 %719 = deref_cast (int *)%671 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %720 = @load_deref (%719) (access=none)
- 32 %721 = deref_var &lights (ubo light[1024])
- 32 %722 = deref_array &(*%721)[%720] (ubo light) // &lights[%720]
- 32 %723 = deref_struct &%722->center_radius (ubo vec4) // &lights[%720].center_radius
- @copy_deref (%718, %723) (dst_access=0, src_access=0)
- 32 %724 = deref_var &color_type#330 (function_temp vec4)
- 32 %725 = deref_cast (int *)%671 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %726 = @load_deref (%725) (access=none)
- 32 %727 = deref_var &lights (ubo light[1024])
- 32 %728 = deref_array &(*%727)[%726] (ubo light) // &lights[%726]
- 32 %729 = deref_struct &%728->color_type (ubo vec4) // &lights[%726].color_type
- @copy_deref (%724, %729) (dst_access=0, src_access=0)
- 32 %730 = deref_var &color_type#330 (function_temp vec4)
- 32x4 %731 = @load_deref (%730) (access=none)
- 32 %732 = mov %731.w
- 32 %733 = deref_var &const_temp#334 (function_temp float)
- 32 %734 = @load_deref (%733) (access=none)
- 1 %735 = feq %732, %734
- // succs: b17 b18
- if %735 {
- con block b17: // preds: b16
- 32 %736 = deref_var &L#329 (function_temp vec3)
- 32 %737 = deref_var ¢er_radius#331 (function_temp vec4)
- 32x4 %738 = @load_deref (%737) (access=none)
- 32x3 %739 = mov %738.xyz
- 32 %740 = deref_cast (vec3 *)%674 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %741 = @load_deref (%740) (access=none)
- 32x3 %742 = fsub %739, %741
- @store_deref (%736, %742) (wrmask=xyz, access=none)
- 32 %743 = deref_var &t#335 (function_temp float)
- 32 %744 = deref_var &const_temp#338 (function_temp float)
- 32 %745 = @load_deref (%744) (access=none)
- 32 %746 = deref_var &const_temp#339 (function_temp float)
- 32 %747 = @load_deref (%746) (access=none)
- 32 %748 = deref_var &L#329 (function_temp vec3)
- 32x3 %749 = @load_deref (%748) (access=none)
- 32 %750 = deref_var &L#329 (function_temp vec3)
- 32x3 %751 = @load_deref (%750) (access=none)
- 32 %752 = fdot3 %749, %751
- 32 %753 = fsqrt %752
- 32 %754 = fmul %747, %753
- 32 %755 = deref_var ¢er_radius#331 (function_temp vec4)
- 32x4 %756 = @load_deref (%755) (access=none)
- 32 %757 = mov %756.w
- 32 %758 = fdiv %754, %757
- 32 %759 = fadd %745, %758
- @store_deref (%743, %759) (wrmask=x, access=none)
- 32 %760 = deref_var &attenuation#328 (function_temp float)
- 32 %761 = deref_var &const_temp#340 (function_temp float)
- 32 %762 = @load_deref (%761) (access=none)
- 32 %763 = deref_var &t#335 (function_temp float)
- 32 %764 = @load_deref (%763) (access=none)
- 32 %765 = deref_var &t#335 (function_temp float)
- 32 %766 = @load_deref (%765) (access=none)
- 32 %767 = fmul %764, %766
- 32 %768 = fdiv %762, %767
- @store_deref (%760, %768) (wrmask=x, access=none)
- 32 %769 = deref_var &L#329 (function_temp vec3)
- 32 %770 = deref_var &L#329 (function_temp vec3)
- 32x3 %771 = @load_deref (%770) (access=none)
- 32 %772 = deref_var &L#329 (function_temp vec3)
- 32x3 %773 = @load_deref (%772) (access=none)
- 32 %774 = deref_var &L#329 (function_temp vec3)
- 32x3 %775 = @load_deref (%774) (access=none)
- 32 %776 = fdot3 %773, %775
- 32 %777 = frsq %776
- 32x3 %778 = fmul %771, %777.xxx
- @store_deref (%769, %778) (wrmask=xyz, access=none)
- // succs: b28
- } else {
- con block b18: // preds: b16
- 32 %779 = deref_var &color_type#330 (function_temp vec4)
- 32x4 %780 = @load_deref (%779) (access=none)
- 32 %781 = mov %780.w
- 32 %782 = deref_var &const_temp#342 (function_temp float)
- 32 %783 = @load_deref (%782) (access=none)
- 1 %784 = feq %781, %783
- // succs: b19 b23
- if %784 {
- con block b19: // preds: b18
- 32 %785 = deref_var &direction_angle#344 (function_temp vec4)
- 32 %786 = deref_cast (int *)%671 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %787 = @load_deref (%786) (access=none)
- 32 %788 = deref_var &lights (ubo light[1024])
- 32 %789 = deref_array &(*%788)[%787] (ubo light) // &lights[%787]
- 32 %790 = deref_struct &%789->direction_angle (ubo vec4) // &lights[%787].direction_angle
- @copy_deref (%785, %790) (dst_access=0, src_access=0)
- 32 %791 = deref_var &L#329 (function_temp vec3)
- 32 %792 = deref_var ¢er_radius#331 (function_temp vec4)
- 32x4 %793 = @load_deref (%792) (access=none)
- 32x3 %794 = mov %793.xyz
- 32 %795 = deref_cast (vec3 *)%674 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %796 = @load_deref (%795) (access=none)
- 32x3 %797 = fsub %794, %796
- @store_deref (%791, %797) (wrmask=xyz, access=none)
- 32 %798 = deref_var &t#343 (function_temp float)
- 32 %799 = deref_var &const_temp#348 (function_temp float)
- 32 %800 = @load_deref (%799) (access=none)
- 32 %801 = deref_var &const_temp#349 (function_temp float)
- 32 %802 = @load_deref (%801) (access=none)
- 32 %803 = deref_var &L#329 (function_temp vec3)
- 32x3 %804 = @load_deref (%803) (access=none)
- 32 %805 = deref_var &L#329 (function_temp vec3)
- 32x3 %806 = @load_deref (%805) (access=none)
- 32 %807 = fdot3 %804, %806
- 32 %808 = fsqrt %807
- 32 %809 = fmul %802, %808
- 32 %810 = deref_var ¢er_radius#331 (function_temp vec4)
- 32x4 %811 = @load_deref (%810) (access=none)
- 32 %812 = mov %811.w
- 32 %813 = fdiv %809, %812
- 32 %814 = fadd %800, %813
- @store_deref (%798, %814) (wrmask=x, access=none)
- 32 %815 = deref_var &attenuation#328 (function_temp float)
- 32 %816 = deref_var &const_temp#350 (function_temp float)
- 32 %817 = @load_deref (%816) (access=none)
- 32 %818 = deref_var &t#343 (function_temp float)
- 32 %819 = @load_deref (%818) (access=none)
- 32 %820 = deref_var &t#343 (function_temp float)
- 32 %821 = @load_deref (%820) (access=none)
- 32 %822 = fmul %819, %821
- 32 %823 = fdiv %817, %822
- @store_deref (%815, %823) (wrmask=x, access=none)
- 32 %824 = deref_var &L#329 (function_temp vec3)
- 32 %825 = deref_var &L#329 (function_temp vec3)
- 32x3 %826 = @load_deref (%825) (access=none)
- 32 %827 = deref_var &L#329 (function_temp vec3)
- 32x3 %828 = @load_deref (%827) (access=none)
- 32 %829 = deref_var &L#329 (function_temp vec3)
- 32x3 %830 = @load_deref (%829) (access=none)
- 32 %831 = fdot3 %828, %830
- 32 %832 = frsq %831
- 32x3 %833 = fmul %826, %832.xxx
- @store_deref (%824, %833) (wrmask=xyz, access=none)
- 32 %834 = deref_var &compiler_temp#352 (function_temp float)
- 32 %835 = deref_var &L#329 (function_temp vec3)
- 32x3 %836 = @load_deref (%835) (access=none)
- 32 %837 = deref_var &direction_angle#344 (function_temp vec4)
- 32x4 %838 = @load_deref (%837) (access=none)
- 32x3 %839 = mov %838.xyz
- 32 %840 = fdot3 %836, %839
- @store_deref (%834, %840) (wrmask=x, access=none)
- 32 %841 = deref_var &direction_angle#344 (function_temp vec4)
- 32x4 %842 = @load_deref (%841) (access=none)
- 32 %843 = mov %842.w
- 32 %844 = deref_var &compiler_temp#352 (function_temp float)
- 32 %845 = @load_deref (%844) (access=none)
- 1 %846 = fge %843, %845
- // succs: b20 b21
- if %846 {
- con block b20: // preds: b19
- 32 %847 = deref_var &attenuation#328 (function_temp float)
- 32 %848 = deref_var &const_temp#353 (function_temp float)
- @copy_deref (%847, %848) (dst_access=0, src_access=0)
- // succs: b22
- } else {
- con block b21: // preds: b19, succs: b22
- }
- con block b22: // preds: b20 b21, succs: b27
- } else {
- con block b23: // preds: b18
- 32 %849 = deref_var &color_type#330 (function_temp vec4)
- 32x4 %850 = @load_deref (%849) (access=none)
- 32 %851 = mov %850.w
- 32 %852 = deref_var &const_temp#354 (function_temp float)
- 32 %853 = @load_deref (%852) (access=none)
- 1 %854 = feq %851, %853
- // succs: b24 b25
- if %854 {
- con block b24: // preds: b23
- 32 %855 = deref_var &L#329 (function_temp vec3)
- 32 %856 = deref_cast (int *)%671 (function_temp int) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %857 = @load_deref (%856) (access=none)
- 32 %858 = deref_var &lights (ubo light[1024])
- 32 %859 = deref_array &(*%858)[%857] (ubo light) // &lights[%857]
- 32 %860 = deref_struct &%859->direction_angle (ubo vec4) // &lights[%857].direction_angle
- 32x4 %861 = @load_deref (%860) (access=none)
- 32x3 %862 = mov %861.xyz
- @store_deref (%855, %862) (wrmask=xyz, access=none)
- 32 %863 = deref_var &attenuation#328 (function_temp float)
- 32 %864 = deref_var &const_temp#355 (function_temp float)
- @copy_deref (%863, %864) (dst_access=0, src_access=0)
- // succs: b26
- } else {
- con block b25: // preds: b23, succs: b26
- }
- con block b26: // preds: b24 b25, succs: b27
- }
- con block b27: // preds: b22 b26, succs: b28
- }
- con block b28: // preds: b17 b27
- 32 %865 = deref_var ¶m#356 (function_temp vec3)
- 32 %866 = deref_var &L#329 (function_temp vec3)
- 32x3 %867 = @load_deref (%866) (access=none)
- @store_deref (%865, %867) (wrmask=xyz, access=none)
- 32 %868 = deref_var ¶m#357 (function_temp vec3)
- 32 %869 = deref_cast (vec3 *)%677 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %870 = @load_deref (%869) (access=none)
- @store_deref (%868, %870) (wrmask=xyz, access=none)
- 32 %871 = deref_var ¶m#358 (function_temp vec3)
- 32 %872 = deref_cast (vec3 *)%680 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %873 = @load_deref (%872) (access=none)
- @store_deref (%871, %873) (wrmask=xyz, access=none)
- 32 %874 = deref_var ¶m#359 (function_temp vec3)
- 32 %875 = deref_var &attenuation#328 (function_temp float)
- 32 %876 = @load_deref (%875) (access=none)
- 32 %877 = deref_var &attenuation#328 (function_temp float)
- 32 %878 = @load_deref (%877) (access=none)
- 32 %879 = fmul %876, %878
- 32 %880 = deref_var &color_type#330 (function_temp vec4)
- 32x4 %881 = @load_deref (%880) (access=none)
- 32x3 %882 = mov %881.xyz
- 32x3 %883 = fmul %879.xxx, %882
- @store_deref (%874, %883) (wrmask=xyz, access=none)
- 32 %884 = deref_var ¶m#360 (function_temp vec4)
- 32 %885 = deref_cast (vec4 *)%683 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %886 = @load_deref (%885) (access=none)
- @store_deref (%884, %886) (wrmask=xyzw, access=none)
- 32 %887 = deref_var ¶m#361 (function_temp vec4)
- 32 %888 = deref_cast (vec4 *)%686 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %889 = @load_deref (%888) (access=none)
- @store_deref (%887, %889) (wrmask=xyzw, access=none)
- 32 %890 = deref_var ¶m#362 (function_temp vec4)
- 32 %891 = deref_cast (vec4 *)%689 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %892 = @load_deref (%891) (access=none)
- @store_deref (%890, %892) (wrmask=xyzw, access=none)
- 32 %893 = deref_var &const_temp#373 (function_temp float)
- 32 %894 = load_const (0x3f000000 = 0.500000)
- @store_deref (%893, %894 (0.500000)) (wrmask=x, access=none)
- 32 %895 = deref_var &const_temp#374 (function_temp float)
- 32 %896 = load_const (0x3f000000 = 0.500000)
- @store_deref (%895, %896 (0.500000)) (wrmask=x, access=none)
- 32 %897 = deref_var &const_temp#377 (function_temp float)
- 32 %898 = load_const (0x3f800000 = 1.000000)
- @store_deref (%897, %898 (1.000000)) (wrmask=x, access=none)
- 32 %899 = deref_var &NdotL#363 (function_temp float)
- 32 %900 = deref_cast (vec3 *)%868 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %901 = @load_deref (%900) (access=none)
- 32 %902 = deref_cast (vec3 *)%865 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %903 = @load_deref (%902) (access=none)
- 32 %904 = fdot3 %901, %903
- @store_deref (%899, %904) (wrmask=x, access=none)
- 32 %905 = deref_var &NdotL#363 (function_temp float)
- 32 %906 = deref_var &NdotL#363 (function_temp float)
- 32 %907 = @load_deref (%906) (access=none)
- 32 %908 = deref_var &const_temp#373 (function_temp float)
- 32 %909 = @load_deref (%908) (access=none)
- 32 %910 = fmul %907, %909
- 32 %911 = deref_var &const_temp#374 (function_temp float)
- 32 %912 = @load_deref (%911) (access=none)
- 32 %913 = fadd %910, %912
- @store_deref (%905, %913) (wrmask=x, access=none)
- 32 %914 = deref_var &NdotL#363 (function_temp float)
- 32 %915 = deref_var &NdotL#363 (function_temp float)
- 32 %916 = @load_deref (%915) (access=none)
- 32 %917 = deref_var &NdotL#363 (function_temp float)
- 32 %918 = @load_deref (%917) (access=none)
- 32 %919 = fmul %916, %918
- @store_deref (%914, %919) (wrmask=x, access=none)
- 32 %920 = deref_var &NdotL#363 (function_temp float)
- 32 %921 = deref_var &NdotL#363 (function_temp float)
- 32 %922 = @load_deref (%921) (access=none)
- 32 %923 = fsat %922
- @store_deref (%920, %923) (wrmask=x, access=none)
- 32 %924 = deref_cast (vec4 *)%890 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %925 = deref_cast (vec4 *)%890 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %926 = @load_deref (%925) (access=none)
- 32x3 %927 = mov %926.xyz
- 32 %928 = deref_cast (vec3 *)%874 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %929 = @load_deref (%928) (access=none)
- 32 %930 = deref_var &NdotL#363 (function_temp float)
- 32 %931 = @load_deref (%930) (access=none)
- 32x3 %932 = fmul %929, %931.xxx
- 32 %933 = deref_cast (vec4 *)%884 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %934 = @load_deref (%933) (access=none)
- 32x3 %935 = mov %934.xyz
- 32x3 %936 = fmul %932, %935
- 32x3 %937 = fadd %927, %936
- 32x4 %938 = mov %937.xyzx
- 32x3 %939 = mov %938.xyz
- 32x4 %940 = mov %939.xyzx
- @store_deref (%924, %940) (wrmask=xyz, access=none)
- 32 %941 = deref_cast (vec4 *)%890 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32 %942 = deref_cast (vec4 *)%890 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %943 = @load_deref (%942) (access=none)
- 32x3 %944 = mov %943.xyz
- 32 %945 = deref_cast (vec3 *)%874 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %946 = @load_deref (%945) (access=none)
- 32 %947 = deref_cast (vec4 *)%887 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %948 = @load_deref (%947) (access=none)
- 32x3 %949 = mov %948.xyz
- 32x3 %950 = fmul %946, %949
- 32 %951 = deref_cast (vec3 *)%868 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %952 = @load_deref (%951) (access=none)
- 32 %953 = deref_cast (vec3 *)%865 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %954 = @load_deref (%953) (access=none)
- 32 %955 = deref_cast (vec3 *)%871 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %956 = @load_deref (%955) (access=none)
- 32x3 %957 = fadd %954, %956
- 32 %958 = deref_cast (vec3 *)%865 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %959 = @load_deref (%958) (access=none)
- 32 %960 = deref_cast (vec3 *)%871 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %961 = @load_deref (%960) (access=none)
- 32x3 %962 = fadd %959, %961
- 32 %963 = deref_cast (vec3 *)%865 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %964 = @load_deref (%963) (access=none)
- 32 %965 = deref_cast (vec3 *)%871 (function_temp vec3) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x3 %966 = @load_deref (%965) (access=none)
- 32x3 %967 = fadd %964, %966
- 32 %968 = fdot3 %962, %967
- 32 %969 = frsq %968
- 32x3 %970 = fmul %957, %969.xxx
- 32 %971 = fdot3 %952, %970
- 32 %972 = fsat %971
- 32 %973 = deref_var &in_baseInstance (shader_in int)
- 32 %974 = @load_deref (%973) (access=none)
- 32 %975 = deref_var &materials (ssbo Material[])
- 32 %976 = deref_array &(*%975)[%974] (ssbo Material) // &materials[%974]
- 32 %977 = deref_struct &%976->u_SpecularExponent (ssbo vec2) // &materials[%974].u_SpecularExponent
- 32x2 %978 = @load_deref (%977) (access=readonly)
- 32 %979 = mov %978.x
- 32 %980 = deref_cast (vec4 *)%887 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- 32x4 %981 = @load_deref (%980) (access=none)
- 32 %982 = mov %981.w
- 32 %983 = fmul %979, %982
- 32 %984 = deref_var &in_baseInstance (shader_in int)
- 32 %985 = @load_deref (%984) (access=none)
- 32 %986 = deref_var &materials (ssbo Material[])
- 32 %987 = deref_array &(*%986)[%985] (ssbo Material) // &materials[%985]
- 32 %988 = deref_struct &%987->u_SpecularExponent (ssbo vec2) // &materials[%985].u_SpecularExponent
- 32x2 %989 = @load_deref (%988) (access=readonly)
- 32 %990 = mov %989.y
- 32 %991 = fadd %983, %990
- 32 %992 = fpow %972, %991
- 32x3 %993 = fmul %950, %992.xxx
- 32 %994 = deref_var &const_temp#377 (function_temp float)
- 32 %995 = @load_deref (%994) (access=none)
- 32x3 %996 = fmul %993, %995.xxx
- 32x3 %997 = fadd %944, %996
- 32x4 %998 = mov %997.xyzx
- 32x3 %999 = mov %998.xyz
- 32x4 %1000 = mov %999.xyzx
- @store_deref (%941, %1000) (wrmask=xyz, access=none)
- 32x4 %1001 = @load_deref (%890) (access=none)
- 32 %1002 = deref_cast (vec4 *)%689 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- @store_deref (%1002, %1001) (wrmask=xyzw, access=none)
- 32x4 %1003 = @load_deref (%689) (access=none)
- 32 %1004 = deref_cast (vec4 *)%520 (function_temp vec4) (ptr_stride=0, align_mul=0, align_offset=0)
- @store_deref (%1004, %1003) (wrmask=xyzw, access=none)
- 32 %1005 = deref_var &i#298 (function_temp int)
- 32 %1006 = deref_var &i#298 (function_temp int)
- 32 %1007 = @load_deref (%1006) (access=none)
- 32 %1008 = deref_var &const_temp#320 (function_temp int)
- 32 %1009 = @load_deref (%1008) (access=none)
- 32 %1010 = iadd %1007, %1009
- @store_deref (%1005, %1010) (wrmask=x, access=none)
- // succs: b10
- }
- con block b29: // preds: b11 b14
- 32 %1011 = deref_var &layer#286 (function_temp int)
- 32 %1012 = deref_var &layer#286 (function_temp int)
- 32 %1013 = @load_deref (%1012) (access=none)
- 32 %1014 = deref_var &const_temp#321 (function_temp int)
- 32 %1015 = @load_deref (%1014) (access=none)
- 32 %1016 = iadd %1013, %1015
- @store_deref (%1011, %1016) (wrmask=x, access=none)
- // succs: b6
- }
- con block b30: // preds: b7
- 32x4 %1017 = @load_deref (%520) (access=none)
- 32 %1018 = deref_var &color (function_temp vec4)
- @store_deref (%1018, %1017) (wrmask=xyzw, access=none)
- 32 %1019 = deref_var &const_temp#253 (function_temp int)
- 32 %1020 = @load_deref (%1019) (access=none)
- 32 %1021 = i2f32 %1020
- 32 %1022 = deref_var &in_baseInstance (shader_in int)
- 32 %1023 = @load_deref (%1022) (access=none)
- 32 %1024 = deref_var &materials (ssbo Material[])
- 32 %1025 = deref_array &(*%1024)[%1023] (ssbo Material) // &materials[%1023]
- 32 %1026 = deref_struct &%1025->u_InverseLightFactor (ssbo float) // &materials[%1023].u_InverseLightFactor
- 32 %1027 = @load_deref (%1026) (access=readonly)
- 1 %1028 = flt %1021, %1027
- // succs: b31 b32
- if %1028 {
- con block b31: // preds: b30
- 32 %1029 = deref_var &color (function_temp vec4)
- 32 %1030 = deref_var &color (function_temp vec4)
- 32x4 %1031 = @load_deref (%1030) (access=none)
- 32x3 %1032 = mov %1031.xyz
- 32 %1033 = deref_var &in_baseInstance (shader_in int)
- 32 %1034 = @load_deref (%1033) (access=none)
- 32 %1035 = deref_var &materials (ssbo Material[])
- 32 %1036 = deref_array &(*%1035)[%1034] (ssbo Material) // &materials[%1034]
- 32 %1037 = deref_struct &%1036->u_InverseLightFactor (ssbo float) // &materials[%1034].u_InverseLightFactor
- 32 %1038 = @load_deref (%1037) (access=readonly)
- 32x3 %1039 = fmul %1032, %1038.xxx
- 32x4 %1040 = mov %1039.xyzx
- 32x3 %1041 = mov %1040.xyz
- 32x4 %1042 = mov %1041.xyzx
- @store_deref (%1029, %1042) (wrmask=xyz, access=none)
- // succs: b33
- } else {
- con block b32: // preds: b30, succs: b33
- }
- con block b33: // preds: b31 b32
- 32 %1043 = deref_var &glow (function_temp vec3)
- 32 %1044 = deref_var &u_GlowMap (function_temp sampler2D)
- 64 %1045 = @load_deref (%1044) (access=none)
- 32 %1046 = deref_var &texCoords (function_temp vec2)
- 32x2 %1047 = @load_deref (%1046) (access=none)
- 32x4 %1048 = (float32)tex %1045 (texture_handle), %1045 (sampler_handle), %1047 (coord), 0 (texture), 0 (sampler)
- 32x3 %1049 = mov %1048.xyz
- @store_deref (%1043, %1049) (wrmask=xyz, access=none)
- 32 %1050 = deref_var &in_baseInstance (shader_in int)
- 32 %1051 = @load_deref (%1050) (access=none)
- 32 %1052 = deref_var &materials (ssbo Material[])
- 32 %1053 = deref_array &(*%1052)[%1051] (ssbo Material) // &materials[%1051]
- 32 %1054 = deref_struct &%1053->u_InverseLightFactor (ssbo float) // &materials[%1051].u_InverseLightFactor
- 32 %1055 = @load_deref (%1054) (access=readonly)
- 32 %1056 = deref_var &const_temp#256 (function_temp int)
- 32 %1057 = @load_deref (%1056) (access=none)
- 32 %1058 = i2f32 %1057
- 1 %1059 = flt %1055, %1058
- // succs: b34 b35
- if %1059 {
- con block b34: // preds: b33
- 32 %1060 = deref_var &glow (function_temp vec3)
- 32 %1061 = deref_var &glow (function_temp vec3)
- 32x3 %1062 = @load_deref (%1061) (access=none)
- 32 %1063 = deref_var &in_baseInstance (shader_in int)
- 32 %1064 = @load_deref (%1063) (access=none)
- 32 %1065 = deref_var &materials (ssbo Material[])
- 32 %1066 = deref_array &(*%1065)[%1064] (ssbo Material) // &materials[%1064]
- 32 %1067 = deref_struct &%1066->u_InverseLightFactor (ssbo float) // &materials[%1064].u_InverseLightFactor
- 32 %1068 = @load_deref (%1067) (access=readonly)
- 32 %1069 = fneg %1068
- 32x3 %1070 = fmul %1062, %1069.xxx
- @store_deref (%1060, %1070) (wrmask=xyz, access=none)
- // succs: b36
- } else {
- con block b35: // preds: b33, succs: b36
- }
- con block b36: // preds: b34 b35
- 32 %1071 = deref_var &color (function_temp vec4)
- 32 %1072 = deref_var &color (function_temp vec4)
- 32x4 %1073 = @load_deref (%1072) (access=none)
- 32x3 %1074 = mov %1073.xyz
- 32 %1075 = deref_var &glow (function_temp vec3)
- 32x3 %1076 = @load_deref (%1075) (access=none)
- 32x3 %1077 = fadd %1074, %1076
- 32x4 %1078 = mov %1077.xyzx
- 32x3 %1079 = mov %1078.xyz
- 32x4 %1080 = mov %1079.xyzx
- @store_deref (%1071, %1080) (wrmask=xyz, access=none)
- 32 %1081 = deref_var &outputColor (shader_out vec4)
- 32 %1082 = deref_var &color (function_temp vec4)
- @copy_deref (%1081, %1082) (dst_access=0, src_access=0)
- // succs: b37
- }
- con block b37: // preds: b1 b36, succs: b38
- block b38:
- }
- Thread 101 "daemon:gl0" received signal SIGABRT, Aborted.
- [Switching to Thread 0x7970ee0006c0 (LWP 758631)]
- Download failed: Argument invalide. Continuing without source file ./nptl/./nptl/pthread_kill.c.
- __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
- warning: 44 ./nptl/pthread_kill.c: Aucun fichier ou dossier de ce type
- Thread 104 (Thread 0x7970ada006c0 (LWP 758953) "daemon:sh2"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669eef644e8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669eef64490, cond=0x5669eef644c0) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669eef644c0, mutex=0x5669eef64490) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 103 (Thread 0x7970be0006c0 (LWP 758952) "daemon:sh1"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669eef644e8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669eef64490, cond=0x5669eef644c0) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669eef644c0, mutex=0x5669eef64490) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 102 (Thread 0x7970d64006c0 (LWP 758632) "daemon"):
- #0 0x0000797123f2be3b in __recvmsg_syscall (flags=0, msg=0x7970d63ff580, fd=42) at ../sysdeps/unix/sysv/linux/recvmsg.c:27
- #1 __libc_recvmsg (fd=42, msg=0x7970d63ff580, flags=0) at ../sysdeps/unix/sysv/linux/recvmsg.c:41
- #2 0x00007970ae9735d5 in NaClReceiveDatagram (handle=42, message=0x7970d63ff650, flags=0) at Unvanquished/daemon/libs/nacl/native_client/src/shared/imc/linux/nacl_imc.cc:168
- #3 0x00007970ae7951b6 in IPC::InternalRecvMsg (handle=42, reader=...) at Unvanquished/daemon/src/common/IPC/Primitives.cpp:384
- #4 0x00007970ae795bb3 in IPC::Socket::RecvMsg (this=this@entry=0x7970b39c2240 <VM::rootChannel>) at Unvanquished/daemon/src/common/IPC/Primitives.cpp:474
- #5 0x00007970ae77f14b in IPC::Channel::RecvMsg (this=0x7970b39c2240 <VM::rootChannel>) at Unvanquished/daemon/src/common/IPC/Channel.h:111
- #6 CommonInit (rootSocket=rootSocket@entry=42) at Unvanquished/daemon/src/shared/VMMain.cpp:65
- #7 0x00007970ae77f8f2 in vmMain (rootSocket=42) at Unvanquished/daemon/src/shared/VMMain.cpp:124
- #8 0x00005669eb19eda3 in operator() (__closure=0x5669f44dc2f8) at Unvanquished/daemon/src/engine/framework/VirtualMachine.cpp:362
- #9 std::__invoke_impl<void, VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > (__f=...) at /usr/include/c++/13/bits/invoke.h:61
- #10 std::__invoke<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
- #11 std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > >::_M_invoke<0> (this=0x5669f44dc2f8) at /usr/include/c++/13/bits/std_thread.h:292
- #12 std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > >::operator() (this=0x5669f44dc2f8) at /usr/include/c++/13/bits/std_thread.h:299
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > > >::_M_run(void) (this=0x5669f44dc2f0) at /usr/include/c++/13/bits/std_thread.h:244
- #14 0x00007971242eabb4 in std::execute_native_thread_routine (__p=0x5669f44dc2f0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
- #15 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #16 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 101 (Thread 0x7970ee0006c0 (LWP 758631) "daemon:gl0"):
- #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
- #1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
- #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
- #3 0x0000797123e4526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
- #4 0x0000797123e288ff in __GI_abort () at ./stdlib/abort.c:79
- #5 0x00007970fd898bc8 in dump_errors[cold] () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fe0187c4 in nir_validate_shader () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fde4e5cf in gl_nir_inline_functions () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x00007970fde545c4 in gl_nir_link_glsl () from user-mesa/install/lib/dri/radeonsi_dri.so
- #9 0x00007970fddc4207 in st_link_shader () from user-mesa/install/lib/dri/radeonsi_dri.so
- #10 0x00007970fdd58e3b in link_program_error.part () from user-mesa/install/lib/dri/radeonsi_dri.so
- #11 0x00007970fdb8f51b in _mesa_unmarshal_LinkProgram () from user-mesa/install/lib/dri/radeonsi_dri.so
- #12 0x00007970fda1971a in glthread_unmarshal_batch () from user-mesa/install/lib/dri/radeonsi_dri.so
- #13 0x00007970fd9ad9b1 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #14 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #15 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #16 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 100 (Thread 0x7970eea006c0 (LWP 758630) "daemon:gdrv0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=-1, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669fcd20014) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=-1, abstime=0x0, clockid=0, expected=0, futex_word=0x5669fcd20014) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669fcd20014, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669fcd1ffb8, cond=0x5669fcd1ffe8) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669fcd1ffe8, mutex=0x5669fcd1ffb8) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 99 (Thread 0x7970ef4006c0 (LWP 758629) "daemon:traceq0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669f49ddf40) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669f49ddf40) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669f49ddf40, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669f49ddee8, cond=0x5669f49ddf18) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669f49ddf18, mutex=0x5669f49ddee8) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 95 (Thread 0x7970efe006c0 (LWP 758625) "daemon:traceq0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669fc8ef720) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669fc8ef720) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669fc8ef720, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669fc8ef6c8, cond=0x5669fc8ef6f8) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669fc8ef6f8, mutex=0x5669fc8ef6c8) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 94 (Thread 0x7970f60006c0 (LWP 758624) "daemon:traceq0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669fd037ac0) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669fd037ac0) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669fd037ac0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669fd037a68, cond=0x5669fd037a98) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669fd037a98, mutex=0x5669fd037a68) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 93 (Thread 0x7970f6a006c0 (LWP 758623) "daemon:sh_opt0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669eef6469c) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669eef6469c) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669eef6469c, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669eef64640, cond=0x5669eef64670) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669eef64670, mutex=0x5669eef64640) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 92 (Thread 0x7970f52006c0 (LWP 758622) "daemon:sh0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669eef644e8) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669eef644e8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669eef64490, cond=0x5669eef644c0) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669eef644c0, mutex=0x5669eef64490) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 91 (Thread 0x7970ae4006c0 (LWP 758621) "daemon:disk$0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=21052, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x79700c1860bc) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=21052, abstime=0x0, clockid=0, expected=0, futex_word=0x79700c1860bc) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x79700c1860bc, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x79700c186060, cond=0x79700c186090) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x79700c186090, mutex=0x79700c186060) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 90 (Thread 0x7970f7e006c0 (LWP 758620) "daemon:cs0"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669f32f578c) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5669f32f578c) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669f32f578c, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
- #3 0x0000797123e9b7dd in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5669f32f5730, cond=0x5669f32f5760) at ./nptl/pthread_cond_wait.c:503
- #4 ___pthread_cond_wait (cond=0x5669f32f5760, mutex=0x5669f32f5730) at ./nptl/pthread_cond_wait.c:627
- #5 0x00007970fda001a7 in cnd_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #6 0x00007970fd9ad8f3 in util_queue_thread_func () from user-mesa/install/lib/dri/radeonsi_dri.so
- #7 0x00007970fd9fffcb in impl_thrd_routine () from user-mesa/install/lib/dri/radeonsi_dri.so
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 25 (Thread 0x7970d7e006c0 (LWP 746643) "daemon"):
- #0 0x0000797123f2be3b in __recvmsg_syscall (flags=0, msg=0x7970d7dff580, fd=51) at ../sysdeps/unix/sysv/linux/recvmsg.c:27
- #1 __libc_recvmsg (fd=51, msg=0x7970d7dff580, flags=0) at ../sysdeps/unix/sysv/linux/recvmsg.c:41
- #2 0x00007970e17c7305 in NaClReceiveDatagram (handle=51, message=0x7970d7dff650, flags=0) at Unvanquished/daemon/libs/nacl/native_client/src/shared/imc/linux/nacl_imc.cc:168
- #3 0x00007970e1784e36 in IPC::InternalRecvMsg (handle=51, reader=...) at Unvanquished/daemon/src/common/IPC/Primitives.cpp:384
- #4 0x00007970e1785833 in IPC::Socket::RecvMsg (this=0x7970e1952720 <VM::rootChannel>) at Unvanquished/daemon/src/common/IPC/Primitives.cpp:474
- #5 0x00007970e176ea0b in IPC::Channel::RecvMsg (this=0x7970e1952720 <VM::rootChannel>) at Unvanquished/daemon/src/common/IPC/Channel.h:111
- #6 CommonInit (rootSocket=rootSocket@entry=51) at Unvanquished/daemon/src/shared/VMMain.cpp:65
- #7 0x00007970e176f1b2 in vmMain (rootSocket=51) at Unvanquished/daemon/src/shared/VMMain.cpp:124
- #8 0x00005669eb19eda3 in operator() (__closure=0x5669efa937e8) at Unvanquished/daemon/src/engine/framework/VirtualMachine.cpp:362
- #9 std::__invoke_impl<void, VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > (__f=...) at /usr/include/c++/13/bits/invoke.h:61
- #10 std::__invoke<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > (__fn=...) at /usr/include/c++/13/bits/invoke.h:96
- #11 std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > >::_M_invoke<0> (this=0x5669efa937e8) at /usr/include/c++/13/bits/std_thread.h:292
- #12 std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > >::operator() (this=0x5669efa937e8) at /usr/include/c++/13/bits/std_thread.h:299
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<VM::CreateInProcessNativeVM(std::pair<IPC::Socket, IPC::Socket>, Str::StringRef, VMBase::InProcessInfo&)::<lambda()> > > >::_M_run(void) (this=0x5669efa937e0) at /usr/include/c++/13/bits/std_thread.h:244
- #14 0x00007971242eabb4 in std::execute_native_thread_routine (__p=0x5669efa937e0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
- #15 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #16 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 23 (Thread 0x7970cb4006c0 (LWP 746494) "daemon"):
- #0 0x0000797123e98d61 in __futex_abstimed_wait_common64 (private=<optimized out>, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5669eeb63680) at ./nptl/futex-internal.c:57
- #1 __futex_abstimed_wait_common (cancel=true, private=<optimized out>, abstime=0x0, clockid=0, expected=0, futex_word=0x5669eeb63680) at ./nptl/futex-internal.c:87
- #2 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5669eeb63680, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=<optimized out>) at ./nptl/futex-internal.c:139
- #3 0x0000797123ea4f0f in do_futex_wait (sem=sem@entry=0x5669eeb63680, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:111
- #4 0x0000797123ea4fa8 in __new_sem_wait_slow64 (sem=0x5669eeb63680, abstime=0x0, clockid=0) at ./nptl/sem_waitcommon.c:183
- #5 0x00007971248a005d in al::semaphore::wait (this=<optimized out>) at /usr/src/openal-soft-1:1.23.1-4build1/common/threads.cpp:186
- #6 EventThread (context=0x5669eeb63580) at /usr/src/openal-soft-1:1.23.1-4build1/al/event.cpp:43
- #7 0x00007971242eabb4 in std::execute_native_thread_routine (__p=0x5669ef059c20) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
- #8 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #9 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 22 (Thread 0x7970cbe006c0 (LWP 746492) "pw-data-loop"):
- #0 0x0000797123f2a042 in epoll_wait (epfd=30, events=events@entry=0x7970cbdff6c0, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
- #1 0x000079712144c138 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7970cbdff890, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:137
- #2 0x000079712143dc59 in loop_iterate (object=object@entry=0x5669ef0115d8, timeout=timeout@entry=-1) at ../spa/plugins/support/loop.c:471
- #3 0x00007970f75657b6 in do_loop (user_data=0x5669eefd90d0) at ../src/pipewire/data-loop.c:65
- #4 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #5 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 21 (Thread 0x7970d4e006c0 (LWP 746491) "ALSoftP0"):
- #0 0x0000797123f2a042 in epoll_wait (epfd=26, events=events@entry=0x7970d4dff740, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
- #1 0x000079712144c138 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7970d4dff910, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:137
- #2 0x000079712143dc59 in loop_iterate (object=0x5669ef009468, timeout=-1) at ../spa/plugins/support/loop.c:471
- #3 0x00007970f75b1c67 in do_loop (user_data=0x5669eefd6a90) at ../src/pipewire/thread-loop.c:295
- #4 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #5 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 20 (Thread 0x7970d6e006c0 (LWP 746490) "PWEventThread"):
- #0 0x0000797123f2a042 in epoll_wait (epfd=17, events=events@entry=0x7970d6dff740, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
- #1 0x000079712144c138 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7970d6dff910, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:137
- #2 0x000079712143dc59 in loop_iterate (object=0x5669eef45b08, timeout=-1) at ../spa/plugins/support/loop.c:471
- #3 0x00007970f75b1c67 in do_loop (user_data=0x5669eeea46f0) at ../src/pipewire/thread-loop.c:295
- #4 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #5 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 19 (Thread 0x7970e0e006c0 (LWP 746489) "pw-data-loop"):
- #0 0x0000797123f2a042 in epoll_wait (epfd=21, events=events@entry=0x7970e0dff6c0, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
- #1 0x000079712144c138 in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7970e0dff890, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:137
- #2 0x000079712143dc59 in loop_iterate (object=object@entry=0x5669eef4e4d8, timeout=timeout@entry=-1) at ../spa/plugins/support/loop.c:471
- #3 0x00007970f75657b6 in do_loop (user_data=0x5669eef4e370) at ../src/pipewire/data-loop.c:65
- #4 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #5 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 3 (Thread 0x7971214006c0 (LWP 746198) "daemon"):
- #0 0x0000797123f2b83d in __libc_accept (fd=4, addr=..., len=0x0) at ../sysdeps/unix/sysv/linux/accept.c:26
- #1 0x00005669eb19b98d in Sys::ReadSingletonSocket () at Unvanquished/daemon/src/engine/framework/System.cpp:246
- #2 0x00007971242eabb4 in std::execute_native_thread_routine (__p=0x5669edea1870) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
- #3 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #4 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 2 (Thread 0x7971224006c0 (LWP 746197) "daemon"):
- #0 0x0000797123eecadf in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7971223ff9c0, rem=rem@entry=0x7971223ff9c0) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:78
- #1 0x0000797123ef9a27 in __GI___nanosleep (req=req@entry=0x7971223ff9c0, rem=rem@entry=0x7971223ff9c0) at ../sysdeps/unix/sysv/linux/nanosleep.c:25
- #2 0x0000797123f0ec63 in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
- #3 0x00005669eb19abfa in Sys::SignalThread () at Unvanquished/daemon/src/engine/framework/System.cpp:389
- #4 0x00007971242eabb4 in std::execute_native_thread_routine (__p=0x5669eded0e60) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
- #5 0x0000797123e9ca94 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
- #6 0x0000797123f29c3c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
- Thread 1 (Thread 0x7971224e5a80 (LWP 746079) "daemon"):
- #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
- #1 0x00007970fd9a2b96 in futex_wait () from user-mesa/install/lib/dri/radeonsi_dri.so
- #2 0x00007970fd9ad76b in do_futex_fence_wait.constprop.1.isra () from user-mesa/install/lib/dri/radeonsi_dri.so
- #3 0x00007970fda19d9d in _mesa_glthread_finish.part.0 () from user-mesa/install/lib/dri/radeonsi_dri.so
- #4 0x00007970fdb86d0f in _mesa_marshal_GetProgramiv () from user-mesa/install/lib/dri/radeonsi_dri.so
- #5 0x00005669eb053d14 in GLShaderManager::LinkProgram (this=0x5669ebaf1180 <gl_shaderManager>, program=119) at Unvanquished/daemon/src/engine/renderer/gl_shader.cpp:1555
- #6 0x00005669eb054e9e in GLShaderManager::buildPermutation (this=this@entry=0x5669ebaf1180 <gl_shaderManager>, shader=shader@entry=0x5669f7552660, macroIndex=macroIndex@entry=0, deformIndex=deformIndex@entry=0) at /usr/include/c++/13/bits/basic_string.h:1071
- #7 0x00005669eb054f6f in GLShaderManager::buildAll (this=0x5669ebaf1180 <gl_shaderManager>) at Unvanquished/daemon/src/engine/renderer/gl_shader.cpp:996
- #8 0x00005669eaff278d in CL_InitCGame () at Unvanquished/daemon/src/engine/client/cl_cgame.cpp:640
- #9 0x00005669eb179787 in Cmd::ExecuteCommand (command=..., parseCvars=<optimized out>, env=0x0) at Unvanquished/daemon/src/engine/framework/CommandSystem.cpp:215
- #10 0x00005669eb179e8c in Cmd::ExecuteCommandBuffer () at /usr/include/c++/13/bits/basic_string.h:1071
- #11 0x00005669eaf9c850 in Com_Frame () at Unvanquished/daemon/src/engine/qcommon/common.cpp:935
- #12 0x00005669eaf95e7d in Application::ClientApplication::Frame (this=0x5669eb297e40 <Application::GetApp()::app>) at Unvanquished/daemon/src/engine/client/ClientApplication.cpp:96
- #13 0x00005669eaf957a5 in main (argc=<optimized out>, argv=<optimized out>) at Unvanquished/daemon/src/engine/framework/System.cpp:784
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement