DEADSOFTWARE

gl: do not used max bound texture size automatically
[d2df-sdl.git] / src / game / renders / opengl / r_render.pas
index 0a27c456b8db4a2aff45c27d23771aaea515e24f..76adb8ed193901f5252b8083e80ae280c89da652 100644 (file)
@@ -216,12 +216,16 @@ implementation
 {$ENDIF}
 
   procedure r_Render_LogGLInfo;
+    var size: GLint;
   begin
+    size := 0;
+    glGetIntegerv(GL_MAX_TEXTURE_SIZE, @size);
     e_LogWritefln('GL Vendor: %s', [glGetString(GL_VENDOR)]);
     e_LogWritefln('GL Renderer: %s', [glGetString(GL_RENDERER)]);
     e_LogWritefln('GL Version: %s', [glGetString(GL_VERSION)]);
     e_LogWritefln('GL Shaders: %s', [glGetString(GL_SHADING_LANGUAGE_VERSION)]);
     e_LogWritefln('GL Extensions: %s', [glGetString(GL_EXTENSIONS)]);
+    e_LogWritefln('GL Texture: %s', [size]);
   end;
 
   procedure r_Render_Initialize;
@@ -1110,15 +1114,10 @@ implementation
         InitImage(img);
         if NewImage(gWinSizeX, gWinSizeY, TImageFormat.ifA8R8G8B8, img) then
         begin
-          {$IFDEF ENDIAN_LITTLE}
-            typ := GL_UNSIGNED_INT_8_8_8_8_REV;
-          {$ELSE}
-            typ := GL_UNSIGNED_INT_8_8_8_8;
-          {$ENDIF}
-          glReadPixels(0, 0, gWinSizeX, gWinSizeY, GL_BGRA, typ, img.bits);
+          glReadPixels(0, 0, gWinSizeX, gWinSizeY, GL_RGBA, GL_UNSIGNED_BYTE, img.bits);
           if glGetError() = GL_NO_ERROR then
           begin
-            if FlipImage(img) then
+            if FlipImage(img) and SwapChannels(img, ChannelRed, ChannelBlue) then
             begin
               ok := SaveImageToFile(fname, img);
             end;