diff options
author | Alyssa Rosenzweig <[email protected]> | 2020-03-20 12:25:08 -0400 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-03-22 03:32:35 +0000 |
commit | 9458b017a946778ef5d065bfd61c47dafdfe3e94 (patch) | |
tree | 2356f2a3abc3f5e8da13300cbac8ac5b6fe529d6 /src/panfrost/bifrost/bifrost_compile.c | |
parent | 409e4f8a49094a60354656a40cd23e38362e9a67 (diff) |
pan/bi: Flesh out st_vary IR
We need to make the semantics of BI_VECTOR a bit more precise -
vectorize only the first argument, not all of them. This is enough for
current and future users, as far as I know.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4276>
Diffstat (limited to 'src/panfrost/bifrost/bifrost_compile.c')
-rw-r--r-- | src/panfrost/bifrost/bifrost_compile.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index ff1d354b49f..25bb4ab9c58 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -178,22 +178,22 @@ bi_emit_st_vary(bi_context *ctx, nir_intrinsic_instr *instr) address.src_types[2] = nir_type_uint32; address.src_types[3] = nir_intrinsic_type(instr); address.dest = bi_make_temp(ctx); - address.dest_type = nir_type_uint64; - address.writemask = (1 << 8) - 1; + address.dest_type = nir_type_uint32; + address.writemask = (1 << 12) - 1; bi_instruction st = { .type = BI_STORE_VAR, .src = { - address.dest, - bir_src_index(&instr->src[0]) + bir_src_index(&instr->src[0]), + address.dest, address.dest, address.dest, }, .src_types = { - nir_type_uint64, - nir_type_uint32 + nir_type_uint32, + nir_type_uint32, nir_type_uint32, nir_type_uint32, }, .swizzle = { - { 0 }, - { 0, 1, 2, 3 } + { 0, 1, 2, 3 }, + { 0 }, { 1 }, { 2} } }; |