Kaynağa Gözat

Make sure that SDL_PIXELFORMAT_ARGB8888 is the first texture format for OpenGL

Fixes https://github.com/libsdl-org/SDL/issues/1440
Sam Lantinga 4 ay önce
ebeveyn
işleme
1fb663b429
1 değiştirilmiş dosya ile 2 ekleme ve 2 silme
  1. 2 2
      src/render/opengl/SDL_render_gl.c

+ 2 - 2
src/render/opengl/SDL_render_gl.c

@@ -1926,20 +1926,20 @@ static bool GL_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_Pr
     }
     }
 
 
     // RGBA32 is always supported with OpenGL
     // RGBA32 is always supported with OpenGL
-    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA32);
     if (bgra_supported) {
     if (bgra_supported) {
         SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_BGRA32);
         SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_BGRA32);
     }
     }
+    SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA32);
 
 
     // Check for shader support
     // Check for shader support
     data->shaders = GL_CreateShaderContext();
     data->shaders = GL_CreateShaderContext();
     SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "OpenGL shaders: %s",
     SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "OpenGL shaders: %s",
                 data->shaders ? "ENABLED" : "DISABLED");
                 data->shaders ? "ENABLED" : "DISABLED");
     if (GL_SupportsShader(data->shaders, SHADER_RGB)) {
     if (GL_SupportsShader(data->shaders, SHADER_RGB)) {
-        SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBX32);
         if (bgra_supported) {
         if (bgra_supported) {
             SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_BGRX32);
             SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_BGRX32);
         }
         }
+        SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBX32);
     } else {
     } else {
         SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "OpenGL RGB shaders not supported");
         SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "OpenGL RGB shaders not supported");
     }
     }