Browse Source

A small fix in PasImGui.Renderer.OpenGL3

hasExt has better handling for checking extensions on older OpenGL versions
Coldzer0 1 year ago
parent
commit
0c52e6e086
2 changed files with 5 additions and 16 deletions
  1. 2 15
      impl/PasImGui.Renderer.OpenGL3.pas
  2. 3 1
      impl/glad_gl.pas

+ 2 - 15
impl/PasImGui.Renderer.OpenGL3.pas

@@ -161,6 +161,7 @@ begin
   glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
   glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
   {$EndIf}
   {$EndIf}
 
 
+  clip_origin_lower_left := False;
   // Support for GL 4.5 rarely used glClipControl(GL_UPPER_LEFT)
   // Support for GL 4.5 rarely used glClipControl(GL_UPPER_LEFT)
   if GLAD_GL_VERSION_4_5 then
   if GLAD_GL_VERSION_4_5 then
   begin
   begin
@@ -662,21 +663,7 @@ Begin
   // Detect extensions we support
   // Detect extensions we support
   bd^.HasClipOrigin := (bd^.GlVersion >= 450);
   bd^.HasClipOrigin := (bd^.GlVersion >= 450);
   {$IfDef IMGUI_OPENGL_MAY_HAVE_EXTENSIONS}
   {$IfDef IMGUI_OPENGL_MAY_HAVE_EXTENSIONS}
-  {$IfDef IMGUI_LOG}
-    if IsConsole then
-      WriteLn('EXTENSIONS :');
-  {$EndIf}
-  glGetIntegerv(GL_NUM_EXTENSIONS, @num_extensions);
-  for i := 0 to num_extensions - 1 do
-  begin
-    extension := PAnsiChar(glGetStringi(GL_EXTENSIONS, i));
-    {$IfDef IMGUI_LOG}
-      if IsConsole then
-        WriteLn(' [+] ', extension);
-    {$EndIf}
-    if (extension <> nil) and (StrComp(extension, 'GL_ARB_clip_control') = 0) then
-      bd^.HasClipOrigin := True;
-  end;
+  bd^.HasClipOrigin := hasExt('GL_ARB_clip_control');
   {$EndIf}
   {$EndIf}
 
 
   If (io^.ConfigFlags And ImGuiConfigFlags_ViewportsEnable) <> 0 Then
   If (io^.ConfigFlags And ImGuiConfigFlags_ViewportsEnable) <> 0 Then

+ 3 - 1
impl/glad_gl.pas

@@ -3085,10 +3085,12 @@ function gladLoadGL(load: TLoadProc): boolean;
 function gladLoadGLES2(load: TLoadProc): boolean;
 function gladLoadGLES2(load: TLoadProc): boolean;
 function gladLoadGLSC2(load: TLoadProc): boolean;
 function gladLoadGLSC2(load: TLoadProc): boolean;
 
 
+function hasExt(const extname: string): Boolean;
 
 
 implementation
 implementation
 
 
-{$DEFINE HAS_GL_NUM_EXTENSIONS}function hasExt(const extname: string): Boolean;
+{$DEFINE HAS_GL_NUM_EXTENSIONS}
+function hasExt(const extname: string): Boolean;
 var
 var
   extensions: PChar;
   extensions: PChar;
   loc, terminator: Pchar;
   loc, terminator: Pchar;