iris: Fix SO stride units for DrawTransformFeedback
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 3 Jun 2019 23:52:59 +0000 (16:52 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 4 Jun 2019 05:51:18 +0000 (22:51 -0700)
commit34d3103dee972839f1a1cae696881d0ecff0aa25
treed0bbba8f5f90cbc8cdf298634816566719848cba
parentfea36a8f43ea010ce0581a63b4b5fa1213a35982
iris: Fix SO stride units for DrawTransformFeedback

Mesa measures in DWords.  The hardware also claims to measure in DWords.
Except the SO_WRITE_OFFSET field is actually bits 31:2, with 1:0 MBZ.
Which means that it really measures in bytes.  So, convert to bytes.

Without this, our offset / stride denominator was 1/4th the size it
should be, leading to 4x the vertex count that we should have had.

Fixes GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_two_buffers
src/gallium/drivers/iris/iris_context.h
src/gallium/drivers/iris/iris_program.c