Brendan Shanks (@bshanks) commented about dlls/winemac.drv/surface.c:
+ uint32_t surfaceHeight = abs(info->bmiHeader.biHeight); + uint32_t surfaceBytesPerElement = 4; + uint32_t surfacePixelFormat = 'BGRA'; + + values[0] = CFNumberCreate(NULL, kCFNumberSInt32Type, &surfaceWidth); + values[1] = CFNumberCreate(NULL, kCFNumberSInt32Type, &surfaceHeight); + values[2] = CFNumberCreate(NULL, kCFNumberSInt32Type, &surfaceBytesPerElement); + values[3] = CFNumberCreate(NULL, kCFNumberSInt32Type, &surfacePixelFormat); + + properties = CFDictionaryCreate(NULL, (void **)keys, (void **)values, ARRAY_SIZE(keys), &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); + io_surface1 = IOSurfaceCreate(properties); + io_surface2 = IOSurfaceCreate(properties); + CFRelease(properties); + + memset_pattern4(IOSurfaceGetBaseAddress(io_surface1), &window_background, info->bmiHeader.biSizeImage); + memset_pattern4(IOSurfaceGetBaseAddress(io_surface2), &window_background, info->bmiHeader.biSizeImage); You probably need to unlock/lock the IOSurfaces before writing to them here
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7938#note_104280