turnip: zink xfb fails
I'm seeing KHR-Single-GL46.enhanced_layouts.xfb_explicit_location
crash due to some kind of ir3 compiler assert:
MESA: error: shader: MESA_SHADER_VERTEX
MESA: error: source_sha1: {0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000}
MESA: error: inputs: 0
MESA: error: outputs: 3
MESA: error: uniforms: 8
MESA: error: ubos: 1
MESA: error: shared: 0
MESA: error: ray queries: 0
MESA: error: decl_var push_const INTERP_MODE_NONE block vs_pushconst
MESA: error: decl_var shader_out INTERP_MODE_NONE float gl_PointSizeMESA (VARYING_SLOT_PSIZ.x, 0, 0)
MESA: error: decl_var shader_out INTERP_MODE_FLAT dvec2 goku (VARYING_SLOT_VAR0.xy, 1, 0)
MESA: error: decl_var shader_out INTERP_MODE_FLAT dvec2 goku@0 (VARYING_SLOT_VAR1.xy, 2, 0)
MESA: error: decl_function main (0 params)
MESA: error:
MESA: error: impl main {
MESA: error: block block_0:
MESA: error: /* preds: */
MESA: error: vec1 1 ssa_0 = intrinsic preamble_start_ir3 () ()
MESA: error: /* succs: block_1 block_5 */
MESA: error: if ssa_0 {
MESA: error: block block_1:
MESA: error: /* preds: block_0 */
MESA: error: vec1 1 ssa_1 = intrinsic elect () ()
MESA: error: /* succs: block_2 block_3 */
MESA: error: if ssa_1 {
MESA: error: block block_2:
MESA: error: /* preds: block_1 */
MESA: error: vec1 32 ssa_2 = load_const (0x00000000 = 0.000000)
MESA: error: vec1 32 ssa_3 = intrinsic bindless_resource_ir3 (ssa_2) (desc_set=1)
MESA: error: vec4 32 ssa_4 = intrinsic load_ubo_vec4 (ssa_3, ssa_2) (access=0, base=0, component=0)
MESA: error: vec1 32 ssa_5 = load_const (0x00000001 = 0.000000)
MESA: error: vec1 32 ssa_6 = intrinsic load_ubo_vec4 (ssa_3, ssa_5) (access=0, base=0, component=0)
MESA: error: vec2 32 ssa_7 = vec2 ssa_4.x, ssa_4.y
MESA: error: intrinsic store_uniform_ir3 (ssa_7) (base=0)
MESA: error: vec2 32 ssa_8 = vec2 ssa_4.y, ssa_4.z
MESA: error: intrinsic store_uniform_ir3 (ssa_8) (base=2)
MESA: error: vec2 32 ssa_9 = vec2 ssa_4.z, ssa_4.w
MESA: error: intrinsic store_uniform_ir3 (ssa_9) (base=4)
MESA: error: vec2 32 ssa_10 = vec2 ssa_4.w, ssa_6
MESA: error: intrinsic store_uniform_ir3 (ssa_10) (base=6)
MESA: error: intrinsic preamble_end_ir3 () ()
MESA: error: /* succs: block_4 */
MESA: error: } else {
MESA: error: block block_3:
MESA: error: /* preds: block_1 */
MESA: error: /* succs: block_4 */
MESA: error: }
MESA: error: block block_4:
MESA: error: /* preds: block_2 block_3 */
MESA: error: /* succs: block_6 */
MESA: error: } else {
MESA: error: block block_5:
MESA: error: /* preds: block_0 */
MESA: error: /* succs: block_6 */
MESA: error: }
MESA: error: block block_6:
MESA: error: /* preds: block_4 block_5 */
MESA: error: vec1 32 ssa_11 = load_const (0x3f800000 = 1.000000)
MESA: error: vec1 32 ssa_12 = load_const (0x00000000 = 0.000000)
MESA: error: intrinsic store_output (ssa_11, ssa_12) (base=0, wrmask=x /*1*/, component=0, src_type=float32 /*160*/, io location=12 slots=1 /*140*/, xfb() /*0*/, xfb2() /*0*/) /* gl_PointSizeMESA */
MESA: error: vec2 32 ssa_13 = intrinsic load_uniform (ssa_12) (base=0, range=0, dest_type=invalid /*0*/)
MESA: error: intrinsic store_output (ssa_13, ssa_12) (base=1, wrmask=xy /*3*/, component=0, src_type=float64 /*192*/, io location=32 slots=1 /*160*/, xfb() /*0*/, xfb2() /*0*/) /* goku */
MESA: error: vec1 32 ssa_14 = load_const (0x00000008 = 0.000000)
MESA: error: vec2 32 ssa_15 = intrinsic load_uniform (ssa_12) (base=2, range=0, dest_type=invalid /*0*/)
MESA: error: intrinsic store_output (ssa_15, ssa_14) (base=1, wrmask=xy /*3*/, component=0, src_type=float64 /*192*/, io location=32 slots=1 /*160*/, xfb() /*0*/, xfb2() /*0*/) /* goku */
MESA: error: failed assert: idx < ctx->noutputs
MESA: error:
MESA: error:
MESA: error: vec2 32 ssa_16 = intrinsic load_uniform (ssa_12) (base=4, range=0, dest_type=invalid /*0*/)
MESA: error: intrinsic store_output (ssa_16, ssa_12) (base=2, wrmask=xy /*3*/, component=0, src_type=float64 /*192*/, io location=33 slots=1 /*161*/, xfb() /*0*/, xfb2() /*0*/) /* goku */
MESA: error: vec2 32 ssa_17 = intrinsic load_uniform (ssa_12) (base=6, range=0, dest_type=invalid /*0*/)
MESA: error: intrinsic store_output (ssa_17, ssa_14) (base=2, wrmask=xy /*3*/, component=0, src_type=float64 /*192*/, io location=33 slots=1 /*161*/, xfb() /*0*/, xfb2() /*0*/) /* goku */
MESA: error: /* succs: block_7 */
MESA: error: block block_7:
MESA: error: }
MESA: error:
glcts: ../src/freedreno/ir3/ir3_context.c:412: ir3_context_error: Assertion `!""' failed.