Open Jack-Clark opened 2 years ago
When running the amber file in the attached archive, I get the following error:
NIR validation failed after nir_opt_if 3 errors: shader: MESA_SHADER_COMPUTE source_sha1: {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000} workgroup-size: 1, 1, 1 shared-size: 0 inputs: 0 outputs: 0 uniforms: 0 shared: 0 ray queries: 0 decl_var ssbo INTERP_MODE_NONE restrict readonly block @0 (~0, 0, 2) decl_var ssbo INTERP_MODE_NONE restrict readonly block @1 (~0, 0, 1) decl_var ssbo INTERP_MODE_NONE restrict writeonly block @2 (~0, 0, 4) decl_function main (0 params) impl main { decl_var INTERP_MODE_NONE uint @3 decl_var INTERP_MODE_NONE uint @4 decl_var INTERP_MODE_NONE uint @5 decl_var INTERP_MODE_NONE bool cont block block_0: /* preds: */ vec1 32 ssa_64 = load_const (0x00000000 = 0.000000) vec1 32 ssa_52 = load_const (0x00000001 = 0.000000) vec1 32 ssa_51 = load_const (0x0000000e = 0.000000) vec1 32 ssa_38 = load_const (0x0000000f = 0.000000) /* succs: block_1 */ loop { block block_1: /* preds: block_0 block_6 block_7 */ vec1 32 ssa_106 = phi block_0: ssa_64, block_6: ssa_106, block_7: ssa_53 vec1 32 ssa_105 = phi block_0: ssa_64, block_6: ssa_14, block_7: ssa_14 vec1 32 ssa_104 = phi block_0: ssa_64, block_6: ssa_28, block_7: ssa_28 vec4 32 ssa_5 = intrinsic vulkan_resource_index (ssa_64) (desc_set=0, binding=1, desc_type=SSBO /*7*/) vec4 32 ssa_6 = intrinsic load_vulkan_descriptor (ssa_5) (desc_type=SSBO /*7*/) vec4 32 ssa_7 = deref_cast (block *)ssa_6 (ssbo block) /* ptr_stride=0, align_mul=0, align_offset=0 */ vec4 32 ssa_8 = deref_struct &ssa_7->field0 (ssbo uint[2]) /* &((block *)ssa_6)->field0 */ vec4 32 ssa_9 = deref_array &(*ssa_8)[ssa_105] (ssbo uint) /* &((block *)ssa_6)->field0[ssa_105] */ vec1 32 ssa_10 = intrinsic load_deref (ssa_9) (access=80) vec1 1 ssa_12 = ieq ssa_10, ssa_52 vec1 1 ssa_107 = inot ssa_12 vec1 32 ssa_14 = iadd ssa_105, ssa_52 /* succs: block_2 block_3 */ if ssa_107 { block block_2: /* preds: block_1 */ break /* succs: block_8 */ } else { block block_3: /* preds: block_1 */ /* succs: block_4 */ } block block_4: /* preds: block_3 */ vec4 32 ssa_19 = intrinsic vulkan_resource_index (ssa_64) (desc_set=0, binding=2, desc_type=SSBO /*7*/) vec4 32 ssa_20 = intrinsic load_vulkan_descriptor (ssa_19) (desc_type=SSBO /*7*/) vec4 32 ssa_21 = deref_cast (block *)ssa_20 (ssbo block) /* ptr_stride=0, align_mul=0, align_offset=0 */ vec4 32 ssa_22 = deref_struct &ssa_21->field0 (ssbo uint[1]) /* &((block *)ssa_20)->field0 */ vec4 32 ssa_23 = deref_array &(*ssa_22)[ssa_104] (ssbo uint) /* &((block *)ssa_20)->field0[ssa_104] */ vec1 32 ssa_24 = intrinsic load_deref (ssa_23) (access=80) vec1 1 ssa_26 = ieq ssa_24, ssa_52 vec1 32 ssa_28 = iadd ssa_104, ssa_52 /* succs: block_5 block_6 */ if ssa_26 { block block_5: /* preds: block_4 */ vec4 32 ssa_33 = intrinsic vulkan_resource_index (ssa_64) (desc_set=0, binding=4, desc_type=SSBO /*7*/) vec4 32 ssa_34 = intrinsic load_vulkan_descriptor (ssa_33) (desc_type=SSBO /*7*/) vec4 32 ssa_35 = deref_cast (block *)ssa_34 (ssbo block) /* ptr_stride=0, align_mul=0, align_offset=0 */ vec4 32 ssa_36 = deref_struct &ssa_35->field0 (ssbo uint[14]) /* &((block *)ssa_34)->field0 */ vec4 32 ssa_37 = deref_array &(*ssa_36)[ssa_106] (ssbo uint) /* &((block *)ssa_34)->field0[ssa_106] */ intrinsic store_deref (ssa_37, ssa_38) (wrmask=x /*1*/, access=8) vec1 32 ssa_40 = iadd ssa_106, ssa_52 vec4 32 ssa_46 = intrinsic vulkan_resource_index (ssa_64) (desc_set=0, binding=4, desc_type=SSBO /*7*/) vec4 32 ssa_47 = intrinsic load_vulkan_descriptor (ssa_46) (desc_type=SSBO /*7*/) vec4 32 ssa_48 = deref_cast (block *)ssa_47 (ssbo block) /* ptr_stride=0, align_mul=0, align_offset=0 */ vec4 32 ssa_49 = deref_struct &ssa_48->field0 (ssbo uint[14]) /* &((block *)ssa_47)->field0 */ vec4 32 ssa_50 = deref_array &(*ssa_49)[ssa_76] (ssbo uint) /* &((block *)ssa_47)->field0[ssa_76] */ error: entry (../src/compiler/nir/nir_validate.c:205) intrinsic store_deref (ssa_50, ssa_51) (wrmask=x /*1*/, access=8) vec1 32 ssa_53 = iadd ssa_76, ssa_52 error: entry (../src/compiler/nir/nir_validate.c:205) /* succs: block_7 */ } else { block block_6: /* preds: block_4 */ continue /* succs: block_1 */ } block block_7: /* preds: block_5 */ vec1 32 ssa_76 = phi block_5: ssa_40 /* succs: block_1 */ } block block_8: /* preds: block_2 */ /* succs: block_9 */ block block_9: } 1 additional errors: error: state->ssa_srcs->entries == 0 (../src/compiler/nir/nir_validate.c:1667) Aborted (core dumped)
I can reproduce this on branch 21.3 (commit 813ee839be2), 22.0 (commit 4a8d3189fdb) and on main (e11bedb9f5d).
$ glxinfo | grep Mesa client glx vendor string: Mesa Project and SGI Device: Mesa Intel(R) Xe Graphics (TGL GT2) (0x9a49) OpenGL renderer string: Mesa Intel(R) Xe Graphics (TGL GT2) OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.1.0-devel (git-e11bedb9f5) OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.1.0-devel (git-e11bedb9f5) OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.1.0-devel (git-e11bedb9f5)
When running the amber file in the attached archive, I get the following error:
I can reproduce this on branch 21.3 (commit 813ee839be2), 22.0 (commit 4a8d3189fdb) and on main (e11bedb9f5d).