diff --git a/.pick_status.json b/.pick_status.json index 766fce40954..cd05fa14d04 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1474,7 +1474,7 @@ "description": "nir/gather_info: Add support for panfrost tile load/store intrinsics", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "6fc1030e4fe7efb7b76ca07db1ab2efe727d6291", "notes": null diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 81f407e9bf8..07bddf4d17d 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -850,6 +850,23 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader) shader->info.outputs_written |= BITFIELD64_BIT(FRAG_RESULT_SAMPLE_MASK); break; + case nir_intrinsic_load_tile_pan: + case nir_intrinsic_load_tile_res_pan: { + const nir_io_semantics io = nir_intrinsic_io_semantics(instr); + shader->info.outputs_read |= + BITFIELD64_RANGE(io.location, io.num_slots); + break; + } + + case nir_intrinsic_blend_pan: + case nir_intrinsic_blend2_pan: + case nir_intrinsic_store_tile_pan: { + const nir_io_semantics io = nir_intrinsic_io_semantics(instr); + shader->info.outputs_written |= + BITFIELD64_RANGE(io.location, io.num_slots); + break; + } + case nir_intrinsic_demote_samples: shader->info.fs.uses_discard = true; break;