On Fri Oct 7 15:04:44 2022 +0000, Stefan Dösinger wrote:
glMapBuffer will be very difficult. Did anything come out of the Vulkan discussion? In hangover I solved it by blocking all address space > 4GB, but that is a bad solution. Crossover solves it with a mac-specific remap syscall that creates a second mapping for arbitrary memory. Afaiu the vulkan plan was some vulkan extension to give the caller a way to use a specific address with MMAP_FIXED to force using it even if there are preexisting mappings e.g. due to Wine holding all < 4GB memory. Using the crossover way would mean going through winex11/winemac
Blocking higher allocations defeats a bit the purpose of doing WoW64. Imho the Vk/GL extension, or kernel support for mirrored memory pages, is the right way. I have no idea how it should be done though.
Having one for GL would be nice too but I think it may not be completely required if we have the Vk one: there's already some extensions to share buffers between Vk and Gl, and although a bit convoluted it could perhaps be used.