zink: correctly set xfb packed output offsets
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 16 Feb 2022 20:15:55 +0000 (15:15 -0500)
committerMarge Bot <emma+marge@anholt.net>
Wed, 9 Mar 2022 04:39:52 +0000 (04:39 +0000)
cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15224>

src/gallium/drivers/zink/zink_compiler.c

index 0dc3e12..aa7a9ab 100644 (file)
@@ -566,7 +566,7 @@ update_so_info(struct zink_shader *zs, const struct pipe_stream_output_info *so_
             packed_streams[slot] |= BITFIELD_BIT(output->stream);
             packed_buffers[slot] |= BITFIELD_BIT(output->output_buffer);
             for (unsigned j = 0; j < output->num_components; j++)
-               packed_offsets[output->register_index][j + output->start_component] = output->dst_offset;
+               packed_offsets[output->register_index][j + output->start_component] = output->dst_offset + j;
          }
       }
    }