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