mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2026-01-06 04:40:35 +01:00
Qt5: fixed multisampling in glqtcontext. issue #36875
git-svn-id: trunk@62895 -
This commit is contained in:
parent
f90371d886
commit
7a087965bc
@ -309,6 +309,9 @@ var
|
||||
AttrList: TContextAttribs;
|
||||
NewQtWidget: TQtGLWidget;
|
||||
direct: boolean;
|
||||
{$IFDEF LCLQt5}
|
||||
AWinFormat: QSurfaceFormatH;
|
||||
{$ENDIF}
|
||||
{$IFDEF VerboseMultiSampling}
|
||||
samp_buf, visual_id, red_size, blue_size, green_size, alpha_size: integer;
|
||||
{$ENDIF}
|
||||
@ -328,7 +331,23 @@ begin
|
||||
DefaultScreen(NewQtWidget.xdisplay), @attrList.AttributeList[0]);
|
||||
direct := false;
|
||||
{$IFDEF LCLQt5}
|
||||
QWindow_setSurfaceType(QWidget_windowHandle(NewQtWidget.Widget), QSurfaceSurfaceTypeOpenGLSurface);
|
||||
|
||||
AWinFormat := QSurfaceFormat_Create();
|
||||
if DoubleBuffered then
|
||||
QSurfaceFormat_setSwapBehavior(AWinFormat, QSurfaceSwapBehaviorDoubleBuffer);
|
||||
QSurfaceFormat_setSamples(AWinFormat, Integer(MultiSampling));
|
||||
QSurfaceFormat_setDepthBufferSize(AWinFormat, DepthBits);
|
||||
QSurfaceFormat_setStencilBufferSize(AWinFormat, Integer(StencilBits));
|
||||
QSurfaceFormat_setRenderableType(AWinFormat, QSurfaceFormatRenderableTypeOpenGL);
|
||||
QSurfaceFormat_setAlphaBufferSize(AWinFormat, AlphaBits);
|
||||
QWindow_destroyPlatformResources(QWidget_windowHandle(NewQtWidget.Widget));
|
||||
QWindow_setFormat(QWidget_windowHandle(NewQtWidget.Widget), AWinFormat);
|
||||
QWindow_createPlatformResources(QWidget_windowHandle(NewQtWidget.Widget));
|
||||
QSurfaceFormat_destroy(AWinFormat);
|
||||
|
||||
NewQtWidget.GetGLXDrawable;
|
||||
|
||||
{$ENDIF}
|
||||
{$IFDEF ModernGL}
|
||||
if GLX_version_1_3(NewQtWidget.xdisplay) then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user