radeonsi/nir: Correctly handle double TCS/TES varyings
authorConnor Abbott <cwabbott0@gmail.com>
Wed, 29 May 2019 13:48:06 +0000 (15:48 +0200)
committerConnor Abbott <cwabbott0@gmail.com>
Fri, 31 May 2019 09:02:11 +0000 (11:02 +0200)
commit6571032af1d2c00150c4a6699a5fc385dd174ab9
tree0606ec704e3ca84555d64a433a8029d9aea0dcfa
parentca19f7639a0fc1da1e8bc6bb638495af1a6a5798
radeonsi/nir: Correctly handle double TCS/TES varyings

ac expands the store to 32-bit components for us, but we still have to
deal with storing up to 8 components, and when a varying is split across
two vec4 slots we have to calculate the address again for the second
slot, since they aren't adjacent in memory. I didn't do this on the ac
level because we should generate better indexing arithmetic for the lds
store, where slots are contiguous.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/gallium/drivers/radeonsi/si_shader.c