panfrost: Set custom stride for textures when necessary
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Tue, 14 May 2019 23:18:18 +0000 (23:18 +0000)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Thu, 16 May 2019 01:16:36 +0000 (01:16 +0000)
commit81b1053d9b4f6e39a10ba3db79b4225172a23187
treed38d0c206b08fedc7dd85391da9e2110ddf0be87
parentcea935205919d825a3ff5287acd08f9832381168
panfrost: Set custom stride for textures when necessary

From Gallium (and our) perspective, the stride of a BO is arbitrary. For
internal buffers, we can make it something nice, but for imported linear
buffers (e.g. EGL clients), we don't always have that luxury. To cope,
we calculate the expected stride of a texture, compare it to the BO's
actual reported stride, and if they differ, set the latter as a custom
stride.

Fixes rendering of windows not on tile boundaries (noticeable in Weston
with es2gears_wayland, for instance). Also, this should fix stride
issues with bufer reloading.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
src/gallium/drivers/panfrost/pan_context.c