wine/dlls/winemac.drv/cocoa_opengl.h
Zhiyi Zhang 1581af4793 winemac.drv: Remove the clear OpenGL views to black hack.
Fix black screen issues for Active Trader Pro and Assetto Corsa. This reverts commit 4124478b.

For Active Trader Pro, the hack ends up clearing a context that was previously drawn to to black,
possibly because multiple OpenGL contexts are involved according to Henri's investigation.

Assetto Corsa creates a D3D device for a window but doesn't actually do any rendering with it. After
ceefcca7, having an OpenGL context for a window clears its OpenGL surface to black after its view
becomes visible. The OpenGL surface is on top of other layers for the window so the window becomes
black after that. The blackness is originally from glDrawBuffer(GL_FRONT_AND_BACK), which presumably
prepares a zero-initialized OpenGL front draw buffer. This also suggests that 4124478b is no longer
necessary. I could delay the clearToBlackIfNeeded() call so it uses the behavior before ceefcca7,
but now that it seems the hack is no longer necessary and might cause more errors. CrossOver has
disabled the hack for a while and it seems fine. I think it's time to remove the hack.
2024-07-04 21:07:06 +02:00

36 lines
1.1 KiB
Objective-C

/*
* MACDRV Cocoa OpenGL declarations
*
* Copyright 2012, 2013 Ken Thomases for CodeWeavers Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#import <AppKit/AppKit.h>
@interface WineOpenGLContext : NSOpenGLContext
{
NSView* latentView;
BOOL needsUpdate;
BOOL needsReattach;
GLint backing_size[2];
}
@property BOOL needsUpdate;
@property BOOL needsReattach;
@end