ir3/freedreno: handle non-uniform resinfo

We forgot to handle non-uniform resinfo case.

Fixes vkd3d test "test_bindless_bufinfo_sm51"

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13311>
This commit is contained in:
Danylo Piliaiev 2021-10-12 16:37:07 +03:00 committed by Marge Bot
parent ca6ef505ff
commit f0d469e85f
2 changed files with 2 additions and 0 deletions

View file

@ -359,6 +359,7 @@ emit_intrinsic_image_size(struct ir3_context *ctx, nir_intrinsic_instr *intr,
compile_assert(ctx, intr->num_components <= 3);
resinfo->dsts[0]->wrmask = MASK(3);
ir3_handle_bindless_cat6(resinfo, intr->src[0]);
ir3_handle_nonuniform(resinfo, intr);
ir3_split_dest(b, dst, resinfo, 0, intr->num_components);
}

View file

@ -865,6 +865,7 @@ emit_intrinsic_ssbo_size(struct ir3_context *ctx, nir_intrinsic_instr *intr,
/* resinfo has no writemask and always writes out 3 components */
resinfo->dsts[0]->wrmask = MASK(3);
ir3_handle_bindless_cat6(resinfo, intr->src[0]);
ir3_handle_nonuniform(resinfo, intr);
if (ctx->compiler->gen >= 6) {
ir3_split_dest(b, dst, resinfo, 0, 1);