On Mon, 19 Nov 2018 at 22:57, Axel Davy davyaxel0@gmail.com wrote:
Rest assured, we don't use ExtEscape to get winex11's dc_rect (which required specific patches indeed) since sometime around "7 Jan 2017" (date of the patch I can find in the log, but we may have had earlier patches).
We do still use it of course to get the X drawable because we need to present to the screen somehow, and it would be quite inefficient to trigger a copy via opengl for that, while we have support for the X Present interface enabling fine vsync behaviour. I doubt you would be interested we merge our work to winex11, but I may be wrong ?
Not directly, but I think we'd consider exposing an interface that's conceptually similar to Present. (I.e., "replace the contents of this window with the contents of this native drawable"), at least to internal DLLs like d3d9. The d3d9 dll could then pass a callback to Nine using that internal function to actually get things to the screen. There would be some details to work out, but I think that's an approach that may be worth exploring.
Of course I'd also still prefer Nine to be used as a wined3d backend instead of as a replacement for d3d9, but that's a mostly orthogonal issue.