mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 20:37:33 +00:00
feat(opengl): переход на LazOpenGLContextEx — GL-рендер в нативном Wayland
Пакет LazOpenGLContext заменён на LazOpenGLContextEx (форк в ../lazOpengl): Qt6-бэкенд работает поверх настоящего QOpenGLWidget (своя C++-либа libqlclglwidget) вместо GLX-контекста на winId(), поэтому --opengl теперь работает в нативной Wayland-сессии, а под ws=qt6 открывается путь на Windows/macOS. - uses OpenGLContext -> OpenGLContextEx (класс TOpenGLControl тот же) - удалена заглушка QtPlatformAllowsOpenGLControls с советом про XWayland: больше не нужна - рантайм-зависимость: libqlclglwidget.so рядом с бинарником (сборка: make -C ../lazOpengl/csrc install-app APPDIR=bin/x86_64-linux) Проверено на живом эфире (QO-100): спектр/водопад через GL под Wayland и xcb, прозрачность FBO-альфы починена в обёртке (forceOpaque). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,6 @@ unit PlatformUtils;
|
||||
|
||||
interface
|
||||
|
||||
function QtPlatformAllowsOpenGLControls: Boolean;
|
||||
function HasOpenGLSpectrumSwitch: Boolean;
|
||||
function CurrentScreenDPI: Integer;
|
||||
// Возвращает каталог для хранения конфигурации (с завершающим разделителем).
|
||||
@@ -24,28 +23,6 @@ implementation
|
||||
uses
|
||||
SysUtils {$IFNDEF HEADLESS}, Forms{$ENDIF};
|
||||
|
||||
function QtPlatformAllowsOpenGLControls: Boolean;
|
||||
var
|
||||
Qpa, FirstQpa, SessionType: string;
|
||||
Sep: Integer;
|
||||
begin
|
||||
Result := True;
|
||||
Qpa := LowerCase(Trim(GetEnvironmentVariable('QT_QPA_PLATFORM')));
|
||||
SessionType := LowerCase(Trim(GetEnvironmentVariable('XDG_SESSION_TYPE')));
|
||||
|
||||
if Qpa <> '' then
|
||||
begin
|
||||
FirstQpa := Qpa;
|
||||
Sep := Pos(';', FirstQpa);
|
||||
if Sep > 0 then
|
||||
FirstQpa := Copy(FirstQpa, 1, Sep - 1);
|
||||
Result := FirstQpa <> 'wayland';
|
||||
Exit;
|
||||
end;
|
||||
|
||||
Result := SessionType <> 'wayland';
|
||||
end;
|
||||
|
||||
function HasOpenGLSpectrumSwitch: Boolean;
|
||||
var
|
||||
I: Integer;
|
||||
|
||||
Reference in New Issue
Block a user