Applying the workaround in #4125 to get the compositor to launch on atomic-kms + gbm-kms, some applications appear to warp when rendered. The warping is fixed it the texture width is a multiple of 8, and increases the further you get from it.
This only occurs if the application is rendered on the intel GPU and is displayed on the nvidia GPU. In this case, the texture data is passed on via DMABUF through a common format texture (RGBA8888), and then uploaded to OpenGL on nvidia display GPU.
Dumping the textures at various points (intel GPU EGLImage, common EGLImage, nvidia EGLImage pre-upload, and nvidia texture post-upload) shows no warping whatsoever. The texture is read via glReadPixels.
One known workaround is to force the width of the common and imported textures to be a multiple of 8.
If the app is rendered on the nvidia GPU, it displays correctly on both monitors.