An initiative led by CodeWeavers this year has come to fruition for improving OpenGL support with WoW64 for bettering Windows 32-bit application/game support while using 64-bit system libraries. Back in February the OpenGL MESA_map_buffer_client_pointer extension was proposed for helping out 32-bit Windows applications running on Wine with 64-bit system libraries. Up to now Wine will setup a CPU storage for the buffer from which it copies the contents of glUnmapBuffer or using Vulkan resource sharing for persistent maps. But the need for MESA_map_buffer_client_pointer comes about to support legacy maps with efficient speed. With legacy apps/games relying on buffer upload management from the application side. MESA_map_buffer_client_pointer works to address this problem by allowing Wine to provide 32-bit address ranges to the driver onto which buffer objects can be mapped. The OpenGL extennsion was merged back in March while finally today the Wine-side support was merged. This merge request made it across the finish line for Wine's 32-bit OpenGL code to implement WoW64 OpenGL buffer mapping using this Mesa extension. Look for this support in Friday's release of Wine 11.21. On the OpenGL driver side, Zink merged support for this extension. There is an open merge request for implementing this extension with the RadeonSI Gallium3D driver. No other Mesa drivers have merge requests pending yet for this extension to help with 32-bit OpenGL Wine support in WoW64 environments.
Wine Merges Support For MESA_map_buffer_client_pointer To Improve WoW64 32-bit OpenGL
Full Article
Original Source
Read the full article at Phoronix →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.