Maybe it is possible to introduce KMT adapter list and implement enumeration purely on win32u (adding some field to gdi driver gpu data and win32u caches on the way if that turns out to be necessary)? Then probably existing functions which go to gdi driver can be moved to win32u on top of that later.