mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-01-18 14:41:40 +00:00
- do not use OpenGL function to clear screen in Cocoa backend
In fullscreen mode there is a white flash (of the default background color) on startup To overcome this an explicit glClear() with flush buffers was used In order to make video mode switch more generic, any backend specific functionality should be avoided here
This commit is contained in:
parent
c00a46043d
commit
250e4ed622
1 changed files with 6 additions and 14 deletions
|
@ -52,10 +52,7 @@
|
|||
#include "version.h"
|
||||
#include "doomerrors.h"
|
||||
|
||||
#include "gl/renderer/gl_renderer.h"
|
||||
#include "gl/system/gl_framebuffer.h"
|
||||
#include "gl/textures/gl_samplers.h"
|
||||
|
||||
#include "vulkan/system/vk_framebuffer.h"
|
||||
|
||||
|
||||
|
@ -182,6 +179,12 @@ namespace
|
|||
|
||||
@implementation OpenGLCocoaView
|
||||
|
||||
- (void)drawRect:(NSRect)dirtyRect
|
||||
{
|
||||
[NSColor.blackColor setFill];
|
||||
NSRectFill(dirtyRect);
|
||||
}
|
||||
|
||||
- (void)resetCursorRects
|
||||
{
|
||||
[super resetCursorRects];
|
||||
|
@ -327,9 +330,6 @@ void SetupOpenGLView(CocoaWindow* window)
|
|||
[[glView openGLContext] makeCurrentContext];
|
||||
|
||||
[window setContentView:glView];
|
||||
|
||||
// To be able to use OpenGL functions in SetMode()
|
||||
ogl_LoadFunctions();
|
||||
}
|
||||
|
||||
} // unnamed namespace
|
||||
|
@ -658,14 +658,6 @@ void SystemGLFrameBuffer::SetMode(const bool fullscreen, const bool hiDPI)
|
|||
SetWindowedMode();
|
||||
}
|
||||
|
||||
const NSSize viewSize = I_GetContentViewSize(m_window);
|
||||
|
||||
glViewport(0, 0, static_cast<GLsizei>(viewSize.width), static_cast<GLsizei>(viewSize.height));
|
||||
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
[[NSOpenGLContext currentContext] flushBuffer];
|
||||
|
||||
[m_window updateTitle];
|
||||
|
||||
if (![m_window isKeyWindow])
|
||||
|
|
Loading…
Reference in a new issue