On Sat, Aug 11, 2012 at 09:25:09AM +0800, Meowthink wrote: > Hello all, > > So long FreeBSD's DRI implementation lacks of i386/amd64 > interoperability, as discussed [0] [1]. This breaks wine, linuxulator > etc. drawing using DRI-based OpenGL. > Paul Mackerras et al. actually did that part for Linux implementation, > so I simply translated their work to FreeBSD. Due to my poor > programming skills, there's some limitations: > 0. I tried to split compatible codes into separate files, like under > Linux. But as a result of the difference between FreeBSD and Linux, > the code is integrated in a "#include ...ioc32.c" form which is not > so elegant. > 1. For same reason, struct drm_driver_info has to be changed. I fixed 0 and 1 to my liking and committed the patch.
Thank you. > 2. There should be some assertions if a 64-bit pointer failed to fit > in a 32-bit space. Linux implementation didn't do this either, but > they're guaranteed by user-space ioctl structures. This may result > unstable under heavy load. I am not sure what do you mean exactly. Can you elaborate, please ?
pgp59DR1VVIP2.pgp
Description: PGP signature
